Изучаю 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 на медицинских задачах.
Ещё
- Reasoning with Large Language Models
- Retrieval Augmented Generation (RAG) and Beyond: A Comprehensive Survey on How to Make your LLMs use External Data More Wisely
Видео
Карпатый
Живая классика от мэтра 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:
- LLM Training: RLHF and Its Alternatives
- Instruction Pretraining LLMs
- Tips for LLM Pretraining and Evaluating Reward Models
- How Good Are the Latest Open LLMs? And Is DPO Better than PPO?
Гайды и мануалы
Конечно же, в интернете полно мануалов по самым разным темам:
- В документации библиотек полно хороших примеров их использования - например, тот же LlamaIndex
- Replacing my best friends with an LLM trained on 500,000 group chat messages - рабочая инструкция для тех, кто хочет научить LLM пародировать групповые дружеские чаты
- The Novice's LLM Training Guide - гайд с полезными базовыми советами по обучению LLM