В рамках учебного курса CME295 Стэнфордского университета состоялась третья лекция, посвященная архитектурам больших языковых моделей (LLM) и механизмам их работы. Преподаватели Афшин и Шервин разобрали эволюцию трансформеров от BERT до современных моделей с архитектурой Mixture of Experts (MoE), методы генерации текста и стратегии оптимизации инференса, такие как KV-кэширование и спекулятивное декодирование.
🏗️ Что делает языковую модель «большой»? 0:05
Современное определение LLM (Large Language Model) опирается на три ключевых фактора масштабирования: количество параметров, объем обучающих данных и вычислительные мощности .
- Количество параметров: Обычно LLM считаются модели, имеющие более 1 миллиарда параметров. Современные флагманы достигают сотен миллиардов и даже триллионов параметров .
- Объем данных: Обучение проводится на наборах данных объемом от сотен миллиардов до десятков триллионов токенов .
- Вычислительные ресурсы (Compute): Для работы и обучения требуются массивы GPU, хотя современные методы оптимизации позволяют запускать некоторые модели на потребительском оборудовании .
По мнению лекторов, терминология со временем изменилась: если в 2018–2019 годах к LLM могли относить BERT (encoder-only), то по современным стандартам LLM — это преимущественно декодерные (decoder-only) модели, способные генерировать текст . К ним относятся семейства GPT, LLaMA от Meta, Gemma от Google, а также Mistral, DeepSeek и Qwen .
🧩 Mixture of Experts (MoE): Масштабирование без потери скорости 8:21
Главная проблема огромных моделей — высокая вычислительная сложность при каждом проходе. Идея «Смеси экспертов» (Mixture of Experts) заключается в том, чтобы задействовать для обработки конкретного токена только часть параметров модели .
Механика работы экспертов
Вместо того чтобы прогонять входной сигнал x через все слои, используется специальная сеть — роутер (router) или гейт (gate) .
- Dense MoE: Все эксперты задействованы, но с разными весами (вероятностное распределение) .
- Sparse MoE: Активируется только подмножество из
kэкспертов (обычно k=1 или k=2) .
Математически выход y представляет собой сумму выходов выбранных экспертов, взвешенную вероятностями роутера . Эксперты в LLM обычно заменяют стандартные полносвязные слои (FFN), так как именно на них приходится основная масса параметров и вычислений (FLOPS) .
Проблема «коллапса роутера»
При обучении возникает риск routing collapse, когда роутер привыкает использовать только 1–2 экспертов, а остальные остаются неактивными . Для борьбы с этим в функцию потерь (loss function) добавляется дополнительный член (load balancing loss), который штрафует модель за неравномерное распределение токенов между экспертами .
По словам Афшина, MoE-модели (например, Switch Transformer) могут масштабироваться до триллионов параметров, оставаясь эффективными по количеству «активных» параметров при инференсе .
🎲 Стратегии декодирования: Как модель выбирает следующее слово 36:36
На выходе LLM выдает распределение вероятностей для всех токенов словаря . Существует несколько подходов к выбору конкретного токена:
- Greedy Decoding (Жадный поиск): Выбор токена с максимальной вероятностью . Главный минус — отсутствие разнообразия и риск получения локально оптимальной, но глобально бессмысленной последовательности .
- Beam Search (Лучевой поиск): Отслеживание
kнаиболее вероятных путей (лучей). Метод лучше находит оптимальные фразы, но часто приводит к сухим, повторяющимся ответам. Популярен в машинном переводе . - Sampling (Сэмплирование): Случайный выбор токена на основе распределения вероятностей. Это добавляет модели «креативности» .
Гиперпараметры управления текстом
Для контроля качества сэмплирования используются:
- Temperature (T): Параметр в функции Softmax. Низкая температура (T < 1) делает распределение «острым» (модель становится более уверенной и детерминированной). Высокая температура делает его равномерным (модель становится более непредсказуемой) .
- Top-k: Ограничение выбора только из
kсамых вероятных токенов . - Top-p (Nucleus Sampling): Выбор из минимального набора токенов, суммарная вероятность которых превышает порог
p.
Лектор отмечает важный технический нюанс: хотя архитектура трансформера детерминирована, на практике GPU могут выдавать разные результаты при одинаковых вводных из-за особенностей параллельных вычислений и точности чисел с плавающей запятой .
💡 Промпт-инжиниринг и «гниение контекста» 1:07:11
Шервин ввел понятие Context Length — это максимальное количество токенов, которое модель может обработать за один раз . Современные модели поддерживают контекст от десятков тысяч до миллионов токенов (например, Gemini) .
Однако исследователи обнаружили эффект Context Rot (гниение контекста) или проблему «иголки в стоге сена» (needle in a haystack). Модели часто теряют информацию, находящуюся в середине длинного текста, и их способность извлекать факты снижается при росте объема входных данных .
Структура идеального промпта
Шервин предложил ментальную модель промпта из четырех измерений :
- Контекст (Context): Окружение или роль модели (например, «Ты — ассистент по программированию»).
- Инструкции (Instructions): Что именно нужно сделать.
- Входные данные (Inputs): Непосредственный текст для обработки.
- Ограничения (Constraints): Формат ответа, стиль или правила безопасности.
🧠 Методы улучшения рассуждений (Reasoning) 1:18:44
Для решения сложных задач используются специальные техники обучения в контексте (In-context learning):
- Chain of Thought (CoT): Модель заставляют прописывать логические шаги перед выдачей окончательного ответа . Это значительно улучшает результаты в математике и логике.
- Self-Consistency: Модель генерирует несколько вариантов рассуждений параллельно, а затем выбирает наиболее частый ответ путем голосования (majority voting) .
- Zero-shot vs Few-shot: В первом случае модель получает только инструкцию, во втором — примеры «вопрос-ответ» . По мнению Шервина, современные мощные модели иногда работают лучше в режиме zero-shot с детальной инструкцией, чем с примерами, которые могут излишне ограничивать их логику .
⚡ Оптимизация инференса: Как ускорить нейросеть 1:25:04
Для снижения задержек и стоимости работы моделей применяются инженерные хитрости:
- KV Cache (Кэширование ключей и значений): Чтобы не пересчитывать математические представления всех предыдущих слов при генерации каждого нового токена, результаты вычислений (Key и Value) сохраняются в памяти .
- PagedAttention: Технология, реализованная в библиотеке vLLM. Она управляет памятью GPU подобно операционной системе, разбивая KV-кэш на блоки и устраняя фрагментацию памяти .
- Multi-Latent Attention (MLA): Решение от команды DeepSeek, использующее низкоранговое сжатие (low-rank compression) для уменьшения размера KV-кэша при сохранении качества .
- Speculative Decoding: Использование маленькой («черновой») модели для быстрой генерации нескольких токенов, которые затем проверяются большой («целевой») моделью за один проход . Если большая модель согласна с предсказаниями маленькой, генерация ускоряется в несколько раз.
- Multi-token Prediction (MTP): Обучение модели предсказывать сразу несколько следующих токенов вместо одного .