Большие языковые модели (LLM)
Кратко
Большая языковая модель (large language model, LLM) — трансформерная нейросеть с миллиардами параметров, предобученная на огромных корпусах текста предсказывать следующее слово. Из этой простой задачи вырастает неожиданно общая способность: начиная с GPT-3 такие модели решают новые задачи прямо по текстовой инструкции с парой примеров, без дообучения. На LLM построены современные чат-ассистенты.
Для чего используется
- диалоговые ассистенты, ответы на вопросы, поиск по документам;
- генерация и анализ текста: суммаризация, перевод, редактирование;
- генерация кода и помощь программисту;
- «мозг» для мультимодальных моделей и голосовых интерфейсов;
- в робототехнике — основа VLA-моделей, превращающих команды на естественном языке в действия.
Как работает
Архитектура. Основа — трансформер (Vaswani et al., 2017): модель, построенная целиком на механизме внимания, без рекуррентности и свёрток. Языковые модели используют три его варианта: encoder-only (BERT — понимание входа: классификация, извлечение сущностей), decoder-only (GPT — генерация текста) и encoder-decoder (T5 — перевод, суммаризация). GPT — это декодер с маскированием будущих токенов: модель видит только левый контекст и учится продолжать текст; BERT — энкодер с двунаправленным вниманием, предобучаемый восстановлением замаскированных слов.
Предобучение + дообучение. Модель сначала предобучается самообучением (self-supervised) на неразмеченных корпусах — разметка не нужна, «учителем» служит сам текст. Затем её переносят на конкретную задачу дообучением (fine-tuning), которое требует на порядки меньше данных. BERT (Google, 2018) так дал state-of-the-art сразу на 11 задачах NLP.
Масштаб и обучение в контексте. GPT-3 (OpenAI, 2020) — 175 млрд параметров, в 10 раз больше любой прежней неразреженной языковой модели — показал новое свойство: обучение в контексте (in-context / few-shot learning). Задача и несколько примеров задаются прямо текстом запроса, веса не меняются — тогда как раньше под каждую задачу собирали тысячи примеров для дообучения. При этом авторы GPT-3 прямо отмечали датасеты, где few-shot режим оставался слабым.
Выравнивание (RLHF). «Сырая» языковая модель продолжает текст, но плохо следует инструкциям. InstructGPT (OpenAI, 2022) ввёл трёхшаговый рецепт: супервизированное дообучение на демонстрациях желаемого поведения → обучение модели вознаграждения на ранжированиях ответов людьми → обучение с подкреплением по этой модели (RLHF, reinforcement learning from human feedback). Результат показателен: ответы InstructGPT с 1,3 млрд параметров люди предпочитали ответам GPT-3 со 175 млрд — выравнивание оказалось важнее размера; попутно выросла правдивость и снизилась токсичность.
Основные компоненты
- токенизатор — переводит текст в числа: режет его на токены (в современных моделях — субсловные фрагменты, BPE/WordPiece) и сопоставляет каждому номер словаря;
- декодер трансформера — стопка слоёв внимания и полносвязных блоков;
- этапы обучения — предобучение, дообучение/инструктивное дообучение, RLHF;
- контекстное окно — сколько токенов модель видит за раз.
Примеры
Хронология по учебному курсу Hugging Face: GPT (июнь 2018) — первая предобученная трансформерная модель; BERT (октябрь 2018); T5 (октябрь 2019); GPT-3 (май 2020) — с него начинается счёт «больших» языковых моделей и обучение в контексте.
Связанные темы
Источники
- Hugging Face LLM Course — варианты архитектуры, предобучение и перенос, хронология.
- Attention Is All You Need (Vaswani et al., 2017) — архитектура трансформера.
- GPT-3 (Brown et al., 2020) — масштаб, обучение в контексте.
- InstructGPT (Ouyang et al., 2022) — RLHF, выравнивание против размера.
- BERT (Devlin et al., 2018) — masked language modeling, перенос на 11 задач.
- Учебник по машинному обучению (ШАД, Яндекс) — GPT как декодер, BERT как энкодер.
- Hugging Face LLM Course — Tokenizers — назначение и виды токенизации.