Проект ЦИТадель
Учебник посвящён большим языковым моделям (large language models, LLM) — технологии, лежащей в основе современных ИИ-ассистентов и ставшей одним из ключевых направлений искусственного интеллекта. Цель учебника — дать читателю-практику цельное понимание того, как эти модели устроены, как их обучают и, главное, как строить на них работающие системы: от грамотного промпта до RAG, агентов и запуска моделей на собственном оборудовании.
Учебник рассчитан на разработчиков, системных администраторов и технических руководителей. Предполагается знакомство с программированием (примеры кода даются на Python) и математикой в объёме технического вуза: мы не боимся формул, но каждую сопровождаем интуитивным объяснением, а математический аппарат используем в той мере, в какой он нужен для понимания, — без выводов и доказательств.
Справочным дополнением к учебнику служат обзорная статья о технологиях ИИ и глоссарий; актуальный обзор конкретных моделей и провайдеров вынесен в отдельную обновляемую статью.
Глава 1. Токенизация: язык как
последовательность токенов
Почему модели не работают ни с символами, ни со словами. Алгоритм BPE и его
реализация. Байтовый BPE и Юникод. Токенизация русского текста и её цена.
Специальные токены и шаблоны диалога. Странности поведения моделей,
объясняемые токенизацией.
Глава 2. Эмбеддинги: смысл как вектор
Векторные представления слов и текстов. Близость векторов и близость
смыслов. Матрица эмбеддингов в языковой модели. Эмбеддинги предложений и
документов, их применение в поиске и классификации.
Глава 3. Механизм внимания и архитектура
трансформера
Ограничения рекуррентных сетей. Внимание: запросы, ключи, значения.
Многоголовое внимание. Устройство блока трансформера. Позиционное
кодирование. Почему трансформер так хорошо масштабируется.
Глава 4. Предобучение: как модель учится
предсказывать следующий токен
Языковое моделирование как задача. Функция потерь и перплексия. Данные для
предобучения и их подготовка. Законы масштабирования. Стоимость обучения и
инженерия распределённых вычислений.
Глава 5. Дообучение: SFT, RLHF и DPO
Почему предобученная модель — ещё не ассистент. Дообучение на
инструкциях. Обучение на человеческих предпочтениях: модель вознаграждения,
RLHF, DPO. Рассуждающие модели и обучение с верифицируемым
вознаграждением.
Глава 6. Генерация текста: сэмплирование и его
параметры
От вероятностей к тексту: жадная генерация, температура, top-k и top-p.
Штрафы за повторы. Природа галлюцинаций. Структурированный вывод и
ограниченная генерация.
Глава 7. Контекстное окно
Что помещается в контекст и что происходит с остальным. Цена длинного
контекста: квадратичность внимания, KV-кэш. Кэширование промптов.
Эффективное использование контекста на практике.
Глава 8. Промптинг
Системный промпт и роли. Принципы составления промптов. Few-shot-примеры.
Приёмы для сложных задач и проверяемых ответов. Типичные ошибки. Промпт как артефакт разработки:
версионирование и тестирование.
Глава 9. Работа через API
Современные стили API. Потоковая генерация. Структурированный вывод и
вызов функций с примерами на Python. Обработка ошибок, повторы, лимиты.
Батч-обработка. Выбор провайдера.
Глава 10. RAG: генерация с подключением
поиска
Зачем модели внешние знания. Чанкинг, индексация, векторный и гибридный
поиск, переранжирование. Сборка промпта из найденного. Оценка качества
RAG-системы. Типичные причины плохих ответов и их диагностика.
Глава 11. Агенты
Цикл «решение — действие — наблюдение». Инструменты и
вызов функций. Протокол MCP. Планирование и декомпозиция задач.
Надёжность агентов: где они ломаются и как это ограничивать.
Глава 12. Дообучение своих моделей
Когда дообучение оправдано, а когда достаточно промптинга и RAG. Подготовка
данных. LoRA и QLoRA на практике. Оценка результата. Типичные разочарования
и как их избежать.
Глава 13. Оценка качества
Почему «вроде работает» — не оценка. Бенчмарки и их ограничения.
Построение собственных evals. LLM в роли судьи. Регрессионное тестирование
промптов и систем.
Глава 14. Локальный запуск моделей
Зачем запускать модели у себя. Квантизация: форматы и потери качества.
llama.cpp, vLLM, Ollama. Требования к оборудованию. Выбор модели под
имеющееся железо.
Глава 15. Безопасность систем на основе
LLM
Prompt injection, утечки данных и отравление контекста. Безопасная обработка
вывода. Архитектурные меры защиты: разграничение доступа, изоляция,
ограничение ресурсов и прав инструментов, человек в контуре.
Глава 16. Экономика LLM-систем
Токеномика: из чего складывается стоимость. Приёмы удешевления: кэширование,
маршрутизация по моделям, дистилляция. API против собственной
инфраструктуры: расчёт точки безубыточности.