Изучаю LLM

Изучаю LLM

Evgenii Nikitin

Раньше я следил за миром LLM больше из любопытства - почитывал ключевые и заинтересовавшие статейки, игрался со свежими модельками, читал срачи в Твиттере. Сейчас по работе понадобилось серьёзнее углубиться в эту пропасть, поэтому я как настоящий 32-летний дед решил взяться за книжки и статьи. Сегодня расскажу про материалы, которые изучил, для чего они хороши, а для чего - не очень. Книжки можно купить на Manning, скачать на каких-нибудь твирпиксах или на худой конец написать мне в личку =)

Книги

LLMs in Production

Большое внимание уделяется инфраструктурному компоненту инференса

Для меня это была самая полезная книжка из всех прочитанных. Она не даёт какой-то безумной глубины, зато проводит по всем основным аспектам обучения, файнтюнинга и инференса LLM. После прочтения сложится общее впечатление о более-менее актуальном состоянии самых разных тем (в случайном порядке) - токенизация, квантизация, параллелизация, векторные БД, текстовые метрики, промптинг, PEFT, инференс, мониторинг, RAG, автоскейлинг, фронтенд для LLM. В общем, очень хорошо подходит для старта в мире LLM или в качестве рефрешера.

Building LLMs for Production

Пример пайплайна, который разбирается в книжке

Книга со значительно большим количеством кода, в основном она посвящена созданию разных ИИ-систем на основе LLM. На примере библиотек Langchain и LlamaIndex разбирается как:

  • создавать сложные промпты и их цепочки
  • получать ответ от LLM в нужном формате
  • использовать сторонние инструменты типа поиска
  • чанковать и индексировать документы, прикручивать RAG и улучшать качество query для получения более релевантных документов
  • создавать сложных агентов, которые сами могут вызывать разные тулы, "размышлять" и совершать какие-то действия
  • файнтюнить модели с помощью LoRA и QLoRA и заводить свой RLHF

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

Build a LLM from Scratch

Книга от моего любимого Себастьяна Рашки. Она совсем про другое - разбираем верхнеуровнево, как устроена архитектура языковых моделей, как они обучаются, какие используются лоссы и техники. А главное - пишем всё это на ванильном Пайторче. Если прочитать, а ещё лучше покодить вместе с автором, то точно хорошо разберётесь во всех этих этеншнах, энкодерах, декодерах, маскингах, нормализациях, токенизациях и лоссах. А ещё в книге очень красивые схемы с пояснениями.

Surveys

Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond и репозиторий

Сама папира не так чтобы очень, но в репозитории лежит много ссылок на знаковые LLM-папиры по разным темам. Она не обновляется, так что свежак можно найти, например, в этой репе.

A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models

Довольно подробный обзор разных RAG-техник - как простейших, так и более сложных - например, с использованием реранкеров или с поиском новых документов уже по ходу генерации токенов.

А здесь можно почитать про разные стратегии чанкинга документов для индексации. И библиотека с простыми и продвинутыми способами имплементации RAG.

Siren's Song in the AI Ocean: A Survey on Hallucination in Large Language Models и A Comprehensive Survey of Hallucination Mitigation Techniques in Large Language Models

Термин "галлюцинации" давно выплыл из мира ML-щиков и знаком всем, кто когда-либо имел дело с LLM. Эти статьи позволяют разобраться с видами галлюцинаций (противоречия с инпутом, противоречия внутри аутпута, фактические ошибки), а также пройтись по методам их минимизации - как с дообучением модели, так и без него (промпты, RAG, тюнинг гиперпараметров инференса).

A Survey on Medical Large Language Models: Technology, Application, Trustworthiness, and Future Directions

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

Ещё

Видео

Карпатый

Живая классика от мэтра DL - мини-курс Neural Networks: Zero to Hero. Идея простая - если мы закодим всё с нуля - свой автоград, свой GPT, то явно круто разберёмся в том, как это всё работает. Вот видосы непосредственно про LLM:

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

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

LLaMA explained: KV-Cache, Rotary Positional Embedding, RMS Norm, Grouped Query Attention, SwiGLU

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

Прочее

Galileo Blog

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

Ahead of AI

Блог всё того же Себастьяна Рашки, где он регулярно пишет об LLM со ссылками на последние папиры и их кратким обзором, а также даёт много практических советов по обучению моделек. Например, можно достаточно подробно изучить тему instruction tuning:

Гайды и мануалы

Конечно же, в интернете полно мануалов по самым разным темам:

Report Page