Pull to refresh
4
1
Send message

Как учить большие языковые модели (теоретический туториал)

Level of difficultyMedium
Reading time1 min
Views275

Обзорное видео с доклада об особенностях обучения LLM для тех, кто в теме ML/DL, но хочет расширить кругозор в области работы с большими языковыми моделями. На основе личного опыта и обзора множества научных статей и инструментов. Ссылка на презентацию прилагается.

Смотреть
Total votes 1: ↑0 and ↓1-1
Comments0

Введение в нейросети: что, зачем и как?

Level of difficultyMedium
Reading time25 min
Views32K

Это модное слово всё чаще используется в разговорной речи: обывателей плотнее окутывают угрозами бунта искусственного интеллекта и войны с роботами — с одной стороны, и рекламой нейросетевых продуктов — с другой. Отдельный котёл в аду — для тех, кто впаривает «курсы дата‑саентистов». А когда бедный юзернейм в поисках истины обращается к Гуглу своему любимому поисковику — то вместо простого ответа на простой вопрос, получает ещё больше вопросов — таких как тензорфлоу, сигмоида и, не дай Бог, линейная алгебра.

Как же нейросети рисуют картинки?
Total votes 58: ↑56 and ↓2+54
Comments25

Шардирование (sharding). Эпизод 1: Начало и шардирование по идентификатору

Level of difficultyMedium
Reading time11 min
Views5.7K

Divide et impera (разделяй и властвуй) – древний принцип для управления чем-то большим и сложным.

Многие из нас программируют. Многие из нас делают системы, сложные системы. Но некоторым повезло работать в ситуации, когда объёмы по-настоящему огромны и требования кажутся невыполнимыми. Шардировние – один из излюбленных счастливчиками, которых зовут приключения, приемов.

Что-нибудь разбить на кусочки – это круто! Переходите на сторону шардирования у нас есть печеньки!

За кусочками!!!
Total votes 22: ↑22 and ↓0+22
Comments7

Галактика Андромеды

Level of difficultyMedium
Reading time21 min
Views27K

Галактика, расположенная в созвездии Андромеды, является ближайшей к нам крупной галактикой, и ярчайшей из спиральных галактик, после Млечного пути (который тоже является спиральной галактикой, и тоже виден на нашем небе). Есть еще Магеллановы облака, которые по яркости соперничают с Галактикой Андромеды, но они — галактики не самостоятельные, а их спиральные структуры уже сильно разрушены приливным влиянием Млечного пути, в гравитационном плену которого они находятся уже несколько миллиардов лет. Они — наши спутники. А галактика Андромеды — это полноценный и очень крупный звёздный город, являющийся одновременно и центром влияния на другие звездные города — меньшего размера, объединивший их вокруг себя в количестве нескольких десятков.

Будет справедливым утверждение, что Галактика Андромеды возглавляет Местную Группу галактик. Не Мы! — Не Млечный путь, а именно галактика Андромеды здесь главная.

Читать далее
Total votes 113: ↑112 and ↓1+111
Comments46

Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM

Reading time9 min
Views4.1K

Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотрудников на выполнение рабочих задач с помощью агентов больших языковых моделей (LLM).

В данной статье мы вкратце рассмотрим, кто такие агенты, как они могут автоматизировать рабочие процессы, и обсудим ключевые вызовы, с которыми мы столкнулись при разработке сервиса. Сразу хочется отметить, что данная статья, скорее, служит обзором нашего решения проблемы и тех задач, над которыми мы работали, нежели преследует цель предоставить подробное руководство по применению агентов или проектированию архитектуры сервиса.

Предлагаем начинать!

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments3

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Level of difficultyEasy
Reading time8 min
Views284K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее
Total votes 290: ↑266 and ↓24+242
Comments288

Хранение паролей: работа над ошибками

Level of difficultyEasy
Reading time9 min
Views12K

В предыдущей статье, я описал свой сетап хранения авторотационных данных (паролей). Многие эксперты изучили её и дали свои комментарии, - о том, где могут быть проблемы, о том, что можно упростить, и о том, что можно делать по другому.

Но начнём мы с небольшого объяснения, почему система такая сложная. Вспомним суть:

1) Для логина на "не значимые" сайты (например в аккаунт очередного AI-продукта) мы используем уникальный пароль, который храним в программе хранения паролей (парольном менеджере)

2) Для логина на "более важные ресурсы" (например в аккаунт на github), мы используем уникальный пароль, который храним в парольном менеджере, плюс одноразовый пароль (TOTP - Time-based One-Time Password) который нам покажет специальное приложение на телефоне.

Вот и всё. Это вся суть повседневного использования всей системы. Но почему она тогда казалась такой сложной? Вероятно из-за дополнительных слоёв защиты от самого себя или любых непредвиденных факторов.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments9

Способы монетизации телеграм-бота: как зарабатывать с помощью своего бота

Reading time7 min
Views26K

Телеграм-боты стали неотъемлемой частью мессенджера Telegram, предоставляя пользователем широкий спектр услуг и развлечений. Однако, помимо удовлетворения потребностей пользователей, телеграм-боты могут стать источником дохода для их создателей.

В этой статье я предлагаю обсудить различные варианты монетизации и определить варианты наиболее приемлемы для сторон.

Я все это примеряю на своего бота World_for_life_bot, который набрал уже несколько тысяч подписчиков и при этом является полностью бесплатным. Но мне будет очень интересен ваш опыт в старте монетизации.

Читать далее
Total votes 63: ↑31 and ↓32-1
Comments15

Для размышлений и решения задач мозг не нужен – с этим справляются и простые клетки

Reading time17 min
Views32K

Планарию никто не считает гением. Извивающегося плоского червя, по форме напоминающего запятую, можно встретить в грязи озёр и прудов по всему миру. В его голове размером с булавку находится микроскопическая структура, играющая роль мозга. Два глазных яблока расположены близко друг к другу, что делает его вид карикатурно растерянным. У него в жизни нет больших амбиций, чем кормиться тем, что он находит на дне водоёма.

Но червь овладел одной задачей, которая до сих пор не удавалась величайшим умам человечества: идеальной регенерацией. Если разорвать его пополам, из головы вырастет новый хвост, а из хвоста — новая голова. Через неделю два здоровых червяка уплывут.

Выращивание новой головы — хитрый трюк. Но биолога Майкла Левина из Университета Тафтса интригует именно хвостовая часть червя. Он изучает, в частности, как организм развивается из отдельных клеток, и его исследования заставляют его подозревать, что разум живых существ, как ни странно, находится за пределами их мозга. Например, в клетках задней части тела червя может находиться довольно развитый «интеллект». «Любой интеллект — это коллективный интеллект, потому что любая когнитивная система состоит из каких-то частей», — говорит Левин. Животное, способное пережить полную потерю головы, стало для Левина идеальным подопытным.

Читать далее
Total votes 91: ↑86 and ↓5+81
Comments45

Как мы в Just AI создавали и тестировали собственную LLM JustGPT — третью большую языковую модель в России

Level of difficultyMedium
Reading time8 min
Views9.6K

Хабр, привет! Это Just AI, и мы создали JustGPT – третью большую языковую модель, сопоставимую по качеству ответов с известными LLM для русского языка (GigaChat, YandexGPT). Наша история – про работу над моделью, ее обучение и тестирование по своей методике. Но в конечном итоге она о том, как получить свою LLM на русском языке без космических мощностей и огромных команд.

Читать далее
Total votes 17: ↑14 and ↓3+11
Comments15

Снежинка, Data Vault, Anchor Modeling. Какая методология проектирования DWH подойдет для вашего бизнеса?

Reading time6 min
Views5.8K

Зачем тратить время на выбор методологии построения DWH? Крайне важно правильно выбрать методологию моделирования данных для хранилища еще на этапе проектирования, это поможет обеспечить необходимый уровень гибкости и масштабируемости, а также позволит синхронизоваться с поставленными бизнес-задачами.

Сравниваем Снежинку, Data Vault и Anchor Modeling и предлагаем алгоритм выбора методологии построения DWH.

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments8

Да кто такой этот ваш impl Trait

Level of difficultyMedium
Reading time4 min
Views4.7K

В преддверии выхода Rust 1.75.0, наполненным async trait-ами и return-position impl Trait in trait, надо разобраться, что такое impl Trait и с чем его едят.

После прочтения статьи вы сможете битбоксить с помощью новых акронимов понимать, что за наборы символов RPIT, RPITIT и т.д. используют в Rust сообществе.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments6

Увлекательный лексический анализ языка Rust

Reading time7 min
Views6.4K

Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока лексическим анализом.

Эта статья ориентирована на читателей, только начинающих пробовать свои силы в лексическом анализе Rust. Поэтому, пожалуйста, помните о целевой аудитории, прежде, чем сетовать: «хм, да я тут на коленке набросал поиск в таблице, и он работает в десять раз лучше, чем это недоразумение» и «с такими временами жизни я сам до завершения программы не доживу».

Но конструктивные комментарии и подсказки, как действительно можно было бы сделать лучше, всегда приветствуются.

Длинновато для вводного дисклеймера. Надеюсь, дочитав до этого места, вы уже хотя бы разок вздрогнули.

Довольно слов, приступим.

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments6

PostgreSQL Antipatterns: ходим по JSON-граблям

Level of difficultyEasy
Reading time3 min
Views14K

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

множество чтений из CTE (хоть и единственной записи, но все же);

извлечение по каждому ключу текста с раскастовкой в jsonb;

извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

"ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments13

Введение в Чистую архитектуру через 6 кругов рефакторинга

Level of difficultyMedium
Reading time15 min
Views43K

Разделяй и влавствуй, или как провести клининг легаси-кода GoLang.

Этот пост является частью большого цикла статей, в которых мы демонстрируем, как создавать приложения на Go, которые легко разрабатывать, поддерживать и с которыми приятно работать в долгосрочной перспективе. Мы делаем это, делясь проверенными методами, основанными на множестве экспериментов с командами, которыми мы руководили, и научных исследованиях («при съёмках фильма ни одно животное не пострадало»).

Мы убеждены, что для решения некоторых задач читов не существует. Поэтому, если вы хотите создавать сложные приложения быстро и эффективно, вам придётся потратить кусочек своей жизни на обучение этому. Будь это просто, в мире бы не было такого количества устаревшего кода.

Что касается подхода к «чистой» архитектуре, описываемого далее, то это симбиоз двух идей: разделение Ports и Adapters, а также контроль за тем, как пакеты ссылаются друг на друга...

Оставь надежду, всяк сюда входящий
Total votes 19: ↑15 and ↓4+11
Comments4

Мнение три года спустя: стоил ли того переход с JavaScript на Rust?

Level of difficultyMedium
Reading time7 min
Views38K

Несколько лет назад я отказался от всего и полностью сосредоточился на WebAssembly. В то время Rust имел наилучшую поддержку компиляции в WebAssembly, а самые полнофункциональные среды исполнения WebAssembly были основаны на Rust. Rust был лучшим из вариантов. С места в карьер я нетерпеливо начал разбираться, чем же вызван такой ажиотаж.

С тех пор мы с потрясающими разработчиками создали Wick, — фреймворк приложений и среду исполнения, использующие в качестве системы основного модуля WebAssembly.

Спустя три года, выполнив несколько развёртываний в продакшен, написав электронную книгу и выпустив примерно сто пакетов на crates.io, я решил, что настало время поделиться своими мыслями о Rust.

Читать далее
Total votes 55: ↑54 and ↓1+53
Comments63

Правильный мониторинг API: метрики и лучшие практики

Reading time7 min
Views5.8K

Применение API в разработке ПО сыграло большую роль в создании современных приложений и повлияло на их общую оценку и опыт конечных пользователей. В этой статье Екатерина Саяпина, Product Owner личного кабинета платформы МТС Exolve, рассказывает про правильные подходы при отслеживании работы API. Подробности — под катом.

Читать далее
Total votes 16: ↑16 and ↓0+16
Comments6

Стань героем мемов! Делаем гифки со своим лицом с помощью нейросетей

Level of difficultyMedium
Reading time5 min
Views16K

Друзья, всем привет, сегодня я научу вас как создавать шикарные мемные гифки с вашим лицом с помощью дипфейк нейросети FaceFusion.

Читать далее
Total votes 32: ↑29 and ↓3+26
Comments6

Самый маленький Docker образ Rust приложения

Level of difficultyMedium
Reading time5 min
Views9.2K

Привет %username%, эта статья про то, как поместить Rust приложение в Docker и получить образ размером с бинарный файл (6 Мб). А также про причины, которые привели к переходу с NodeJS на Rust. Отдельная пара слов о проблемах вначале, переходе на Go, и том, как команда Rust устранила эти проблемы за пол года.

TL;DR Dockerfile в конце статьи и ссылка на example репозиторий

Читать далее
Total votes 45: ↑44 and ↓1+43
Comments16

Идиоматическая обработка ошибок в Rust

Reading time7 min
Views4.3K

Вы забудете о необработанных исключениях, если научитесь обращаться с ошибками, как это принято в Rust


Обработка ошибок – важнейшая часть любого языка программирования, а в Rust предлагается для этого уникальный мощный подход. Rust, в отличие от многих других языков программирования, не предлагает исключений, а предоставляет перечисление Result. У разработчика нет иного выхода, кроме как обрабатывать все ошибки согласованно и предсказуемо. Поэтому ошибки становится проще идентифицировать и диагностировать.

Поскольку в Rust не предусмотрены исключения, любая функция обязана возвращать либо значение, либо "панику". Когда функция паникует, процесс сразу же завершается и предоставляет вызывающей стороне конкретную обратную связь. Чисто технически можно отлавливать случаи паники в Rust при помощи catch_unwind, но постоянно так делать не рекомендуется. Вместо этого в Rust предлагается перечисление Result; пользуясь им, разработчик вынужден обрабатывать все ошибки сам.

В этом посте будут рассмотрены применяемые в Rust идиоматические паттерны обработки ошибок, и вы в общих чертах поймёте, как это делается. Мы разберём перечисление Result, посмотрим, как с его помощью обрабатываются ошибки в программах Rust, и какие крейты чаще всего используются, чтобы упростить этот процесс.

image
Читать дальше →
Total votes 23: ↑20 and ↓3+17
Comments6
1
23 ...

Information

Rating
1,282-nd
Registered
Activity