Архитектуры LLM
Архитектуры больших языковых моделей (LLM) — это фундаментальные принципы и структуры, которые определяют, как строятся, обучаются и функционируют большие языковые модели. Современные LLM, способные понимать и генерировать человеческий язык, почти полностью основаны на архитектуре Трансформер[1], но включают в себя множество усовершенствований и различных подходов, направленных на повышение эффективности, масштабируемости и возможностей.
Семейства архитектур LLM (трансформеры)
Современные большие языковые модели базируются на архитектуре трансформера[1], но используют её по‑разному в зависимости от цели: понять текст, сгенерировать продолжение или преобразовать один текст в другой. На практике выделяют три семейства при сохранении базовых принципов трансформера[2][3][4].
1. Encoder‑only (только кодировщик, только энкодер)
Модель использует только стек кодировщиков и рассматривает весь входной текст двунаправленно. Предобучение обычно строится как masked‑language modeling (MLM, языковое моделирование со скрытием): часть токенов скрывается, а модель учится восстанавливать их по окружению. Благодаря двунаправленному контексту такие модели сильны в задачах понимания и скоринга: классификация, выделение сущностей, переранжирование документов и экстрактивный QA. Для авторегрессивной генерации «с нуля» они не предназначены.
Дополнительно на практике применяются и альтернативные цели предобучения для encoder‑only‑семейства: replaced token detection (RTD) в ELECTRA (модель‑дискриминатор распознаёт подменённые токены) и контрастивное обучение би‑энкодеров для семантического поиска/ретривера (InfoNCE/softmax‑loss на парах «запрос‑документ», как в Dense Passage Retrieval). При использовании в RAG encoder‑only выступают либо как би‑энкодер (раздельное кодирование запроса и документа для быстрого ANN‑поиска), либо как кросс‑энкодер (совместное кодирование пары для точного переранжирования).
Преимущества:
- Высокое качество понимания текста за счёт двунаправленного контекста: классификация, NER, извлечение фактов, переранжирование, экстрактивный QA.
- Параллельная обработка и высокая пропускная способность: один прямой проход без авто‑регрессии; удобно батчировать массовый скоринг.
- Естественная интеграция с поиском и RAG: в роли би‑энкодера — быстрый семантический поиск; в роли кросс‑энкодера — точное переранжирование.
- Эффективная адаптация: относительно компактные варианты (≈100–300 млн параметров; BERT‑base ≈110 млн) после целевого дообучения дают высокое качество.
- Стабильная латентность, не зависящая от длины генерируемого ответа (нет пошагового декодирования); хорошо подходят для оффлайн‑скоринга больших коллекций.
- Возможность увеличения окна контекста у энкодеров за счёт относительных/ротационных позиций и/или локально‑разрежённого внимания (напр., Longformer/BigBird), что полезно для длинных документов.
Недостатки:
- Нет собственных генеративных возможностей: для диалогов и развёрнутых ответов нужен декодер или внешний генеративный модуль.
- Ограниченность в интерактивных сценариях: нет поэтапной генерации со сохранением состояния.
- Несоответствие цели предобучения задачам свободной генерации: MLM хуже согласуется с генерацией по сравнению с каузальным моделированием.
- Исторически ограниченное окно контекста (часто 512 токенов в базовых конфигурациях абсолютных позиций); расширение требует специальных схем позиций/внимания и/или дообучения.
- Для задач ретривала требуется отдельное контрастивное дообучение би‑энкодера и/или кросс‑энкодера; без этого качество поиска/переранжирования обычно ниже, чем у специально обученных моделей.
Представительные модели: BERT и производные, а также RoBERTa и DeBERTa (расширенные варианты encoder‑only); из альтернативных целей предобучения — ELECTRA (RTD). [5][6][7][8][9][10]
2. Decoder‑only (только декодировщик, только декодер)
Задействован только стек декодеров с каузальным (лево‑направленным) вниманием: модель предсказывает очередной токен по уже заданному префиксу. Такой режим обучения — causal language modeling (CLM) — делает эти модели естественным выбором для генерации: диалоги, развёрнутые ответы, креативный текст, программный код. Компромисс — рост задержки и объёма KV‑кэша при длинных промптах. На практике для decoder‑only широко применяются инженерные приёмы: уменьшение KV‑кэша за счёт MQA и GQA, ускорение вывода через спекулятивное декодирование и серверные оптимизации (PagedAttention/vLLM, continuous batching, chunked prefill).[11][12][13][14][15]
Преимущества:
- Естественная генерация текста (CLM): сильные zero‑shot и few‑shot способности; хорошо масштабируется.[16]
- Универсальность применения: одна модель решает множество задач инструкциями и примерами в промпте; естественно сочетается с RAG и вызовом инструментов (tool use).
- Зрелая экосистема: практики инструкционного дообучения и выравнивания поведения (RLHF, DPO); доступны открытые и коммерческие реализации.[17][18]
- Богатый стек оптимизаций инференса: MQA/GQA уменьшают объём KV‑кэша и повышают пропускную способность; спекулятивное декодирование ускоряет вывод без изменения распределения; PagedAttention/vLLM с continuous batching и chunked prefill повышают сквозную утилизацию GPU.[19][20][21][22][23]
- Поддержка структурированной генерации для строгих форматов ответов (JSON/SQL/DSL), что упрощает интеграцию с ИС и API.[24][25]
Недостатки:
- Повышенная задержка генерации: последовательный вывод; стоимость нового токена растёт с длиной уже «прочитанного» контекста (KV‑кэш).
- Менее выгоден при профиле «длинный вход – короткий выход» (суммаризация, перевод) по сравнению с encoder–decoder, где вход кодируется один раз.
- Ограничение однонаправленным контекстом: в задачах понимания иногда уступает моделям с двунаправленным представлением (encoder‑only / encoder–decoder).
- Память под KV‑кэш может быть «бутылочным горлышком» на длинных промптах и больших батчах; [26]
- Квантование активаций/KV (INT8/FP8) ускоряет вывод, но может ухудшать качество на длинных контекстах/коде; требует тщательной валидации (особенно при жёстких SLA).
Представительные модели: GPT‑3, GPT‑4 (детали архитектуры и набора данных не раскрыты публично), LLaMA и Llama 3 (8B/70B, 2024).[27][28][29][30]
3. Encoder–decoder (кодировщик–декодировщик, энкодер-декодер)
Архитектура совмещает оба компонента. Энкодер работает в двунаправленном режиме, а декодер — каузально. Энкодер один раз анализирует вход и формирует его представление; декодер генерирует выход, обращаясь к этому представлению через cross‑attention. Такой раздельный подход особенно полезен там, где требуется преобразовать длинный входной текст в короткий выход: машинный перевод, суммаризация, ответы на основе документов. Хотя метод требует больших совокупных вычислительных затрат (два стека и кросс‑внимание), его преимущество — контролируемая генерация на базе полного анализа исходного текста; при этом кодирование выполняется однократно и переиспользуется на протяжении всего процесса вывода.
Преимущества:
- Условная генерация: декодер использует cross‑attention к представлению входа. [31]
- Эффективен в сценарии «длинный вход → короткий выход»: вход кодируется один раз.
- Удобен для формата «text‑to‑text» и контролируемого вывода (задачные префиксы, спец. инструкции). [32]
- Стабильность и эффективность при длинном источнике: в фазе декодирования растёт только self‑attention по выходу, а cross‑attention переиспользует фиксированные ключи/значения от энкодера (вход не «перечитывается» на каждом шаге).
Недостатки:
- Два стека увеличивают требования к памяти и вычислениям при обучении и применении.
- На сверхдлинных последовательностях итоговая задержка сопоставима с decoder‑only; авто‑регрессия остаётся узким местом.
- Меньше универсальных чат‑моделей, чем среди decoder‑only; чаще используются как высококачественный seq2seq‑движок под конкретные задачи.
- При очень длинном входе возрастает память под ключи/значения cross‑attention в каждом слое декодера (по всему источнику), что требует аккуратного планирования сервинга.
Представительные модели: T5 (включая T5 v1.1 и практику инструкционного дообучения во FLAN‑T5) и BART. [33][34][35]
Плотные (dense) трансформеры
Классическая и наиболее распространённая архитектура LLM: при обработке каждого токена участвует практически весь набор параметров модели. В отличие от разрежённых подходов (например, Mixture‑of‑Experts), селективной активации подсетей нет — каждый блок работает для каждого токена. [1]
Принцип работы и архитектура
Базовая структура. Модель — стек из N однотипных трансформерных блоков. Каждый блок включает:
- Многоголовое самовнимание (Multi‑Head Self‑Attention). Для каждого токена вычисляются три вектора: Q (query), K (key), V (value); внимание определяется как , где — маска (каузальная и/или паддинг‑маска), исключающая недопустимые позиции. Несколько «голов» внимания параллельно учитывают разные аспекты контекста (H голов, обычно ); их число растёт с масштабом модели. [1]
- Полносвязную сеть (Feed‑Forward Network, FFN). Два линейных слоя с нелинейностью между ними (обычно GELU/SiLU; в ряде современных моделей — SwiGLU). Промежуточная размерность обычно ; при использовании SwiGLU часто берут для сохранения сопоставимого числа параметров. FFN содержит значительную долю параметров. [1][36]
Дополнительные компоненты. Используются резидуальные (residual) соединения и нормализация слоёв; в современных LLM чаще применяется Pre‑LN (нормализация перед подблоками) — это улучшает стабильность обучения на больших глубинах. Помимо классической LayerNorm всё шире используется RMSNorm (уменьшает вычислительные расходы и хорошо работает в больших моделях); также в некоторых семействах применяется нормализация в пространстве внимания (напр., нормализация Q/K перед softmax). Позиционные представления могут быть абсолютными или относительными; для длинного контекста де‑факто стандартом стал RoPE.
Примеры моделей и масштаб
- BERT‑Large: 24 слоя, размерность 1024, 16 голов внимания, ≈340 млн параметров. [37]
- GPT‑3 (175B): 96 слоёв, размерность 12288, 96 голов внимания, ≈175 млрд параметров. [38]
- LLaMA‑65B: 80 слоёв, размерность 8192, 64 головы внимания, ≈65 млрд параметров. [39]
- PaLM‑540B: 118 слоёв, размерность порядка 18432, ≈540 млрд параметров. [40]
Преимущества
- Единообразные блоки, хорошо изученные режимы обучения и предсказуемое поведение при масштабировании.
- Качество улучшается степенным образом при росте параметров и данных; compute‑optimal режим предполагает совместное увеличение размера модели и объёма обучающих токенов. [41][42]
- Одна и та же архитектура после дообучения покрывает широкий спектр задач без изменений на уровне слоёв.
Недостатки
- Полное самовнимание имеет квадратичную сложность по длине последовательности (), что ограничивает окно контекста. [1]
- Полная активация параметров на шаге генерации: в декодере без MoE стоимость вывода на токен растёт примерно пропорционально числу параметров.
- Узкое место — пропускная способность памяти (memory‑bound): загрузка весов из HBM часто лимитирует скорость инференса.
Ограничения масштабирования и контекста
- Память под параметры растёт линейно с размером модели; тренировочная память увеличивается из‑за градиентов и состояний оптимизатора.
- Базовые конфигурации исторически ограничивались 2–4 тыс. токенов. Современные позиционные схемы (RoPE) и техники расширения (Position Interpolation, YaRN и др.) позволяют увеличивать окно на порядок и более, но ценой дополнительной вычислительной/памятной нагрузки. [43][44]
Современные оптимизации
- FlashAttention. Точное внимание с учётом иерархии памяти GPU; снижает затраты памяти и ускоряет обучение/инференс при длинных последовательностях. [45]
- Сокращение и управление KV‑кэшем. Multi‑Query Attention и Grouped‑Query Attention уменьшают объём кэша и трафик памяти; на уровне сервера PagedAttention (vLLM) повышает пропускную способность за счёт страничного менеджмента кэша. [46][47][48]
- Спекулятивное декодирование. Черновая (draft) модель предлагает продолжение, а основная быстро его проверяет; достигается ускорение без изменения распределения вывода. [49]
Разрежённые модели (Sparse Models) и Mixture‑of‑Experts (MoE)
MoE — способ увеличить ёмкость модели без пропорционального роста вычислений на токен. Вместо одного большого FFN‑блока в слое используется набор параллельных «экспертов» (несколько независимых FFN), а обучаемый маршрутизатор (gating network) для каждого токена выбирает top‑k наиболее релевантных экспертов (обычно k=1–2; в ряде моделей k=4). Активируются лишь выбранные эксперты; их выходы взвешиваются и суммируются. Так общих параметров может быть сотни миллиардов и даже триллионы, но на каждом шаге задействуется лишь малая доля. [50][51]
Примеры моделей и масштаб
- Switch Transformer (Google): до ~1.6T параметров; top‑1 маршрутизация (один эксперт на токен). Показал, что MoE позволяет резко нарастить ёмкость при сопоставимых затратах на токен. [50]
- GLaM (Google): 1.2T параметров, 64 эксперта в слое, top‑2; на каждый токен активируется ≈96.6B параметров (≈8%). [51]
- Mixtral 8×7B (Mistral AI): ~46.7B параметров всего, ≈12.9B активных на токен, top‑2. [52][53]
- Mixtral 8×22B: ~141B параметров всего, ≈39B активных на токен, top‑2. [54]
- DBRX (Databricks): 132B параметров всего, ≈36B активных на токен; 16 экспертов и top‑4 маршрутизация (fine‑grained MoE). [55]
Преимущества
- Стоимость вычислений определяется числом активных экспертов k, а не суммарным числом параметров: можно обучать и использовать модели триллионного масштаба при затратах, сопоставимых с плотными моделями заметно меньшего размера. [51]
- Специализация: эксперты автоматически «подстраиваются» под языки/домены/паттерны, улучшая качество в мультидоменных задачах.
- Гибкое развёртывание: можно держать в памяти часто используемые эксперты и подгружать редкие (при соответствующей инфраструктуре).
Ограничения
- Балансировка нагрузки: без регуляризации маршрутизатор может «залипать» на части экспертов (router collapse). Нужны auxiliary losses (load‑balancing) и улучшенные схемы маршрутизации. [50]
- Сложность распределённых вычислений: требуется expert parallelism и обмен all‑to‑all; коммуникационные издержки и управление памятью становятся узким местом. [56]
- Стабильность обучения: важны настройки роутера и ограничений вместимости (capacity), иначе возможны деградации качества/сходимости.
Современные улучшения
- Expert‑Choice routing: эксперты «выбирают» токены, что улучшает балансировку и сходимость при сопоставимых затратах. [57]
- Fine‑grained MoE: большее число более мелких экспертов (как в DBRX) даёт тонкую гранулярность специализации. [55]
- Sparse Upcycling: перевод плотной модели в MoE из её чекпойнта позволяет существенно поднять качество при умеренных затратах. [58]
Целесообразность применения MoE
- Крупные мультидоменные ассистенты при ограниченном compute‑бюджете.
- Обучение на обширных корпусах, где специализация даёт выигрыш.
- Сценарии с развитой распределённой инфраструктурой (много GPU/TPU и быстрые сети).
Когда лучше плотные модели: ограниченная инфраструктура (1–2 GPU), жёсткие требования к предсказуемой латентности и простоте развёртывания.
Retrieval‑Augmented Generation (RAG)
RAG — это архитектурный паттерн системы вокруг LLM, а не внутренняя архитектура самой модели. Он объединяет LLM (генеративный компонент) с внешней базой знаний (компонент извлечения), что позволяет компенсировать ограниченность «параметрической памяти» модели.
- Принцип работы: Перед генерацией LLM извлекает релевантные документы из внешнего источника (вики, корпоративная БЗ, веб) и опирается на них при формировании ответа. [59]
- Преимущества:
- Применение: Стандарт де‑факто для корпоративных ассистентов и систем, где требуются проверяемые факты и работа с частными/узкоспециализированными данными. [59]
Механизмы внимания и работа с контекстом
Базовое самовнимание имеет квадратичную сложность по длине последовательности (), поэтому появились оптимизации.
- Разреженное внимание (Sparse Attention): Ограничение внимания локальными окнами/паттернами. Примеры: Longformer[61], BigBird[62].
- FlashAttention: Перестройка порядка вычислений с учётом иерархии памяти GPU; даёт существенный выигрыш по времени и памяти и стала стандартом де‑факто при обучении LLM с длинным контекстом[63][64][65].
- MQA/GQA (ускорение декодирования): Multi‑Query Attention (общие ключи/значения для всех голов) уменьшает трафик KV‑кэша[66]. Grouped‑Query Attention балансирует качество/скорость[67].
- Улучшенные позиционные представления:
- ALiBi (Attention with Linear Biases): Линейные смещения к оценкам внимания улучшают обобщение на большие длины. [68]
- RoPE (Rotary Position Embeddings): Относительная позиционная информация через вращение Q/K; широко используется в современных моделях (например, LLaMA). [69][70]
- Расширение контекста для RoPE‑моделей: Position Interpolation [71], YaRN [72], а также NTK‑aware модификации позволяют эффективно увеличивать окно контекста без изменения архитектуры.
- Другие подходы к длинным последовательностям:
- Transformer‑XL: рекуррентная память между сегментами для моделирования дальних зависимостей. [73]
- Reformer: LSH‑attention и обратимые резидуальные блоки для экономии памяти. [74]
- Performer: линейная аппроксимация softmax‑attention (FAVOR+). [75]
- Linformer: низкоранговая аппроксимация матрицы внимания. [76]
Оптимизации моделей и инфраструктура обучения
Для обучения и развёртывания LLM используются специализированные техники и фреймворки.
- Квантование (Quantization): Снижение разрядности весов уменьшает память и ускоряет инференс. QLoRA позволяет эффективно дообучать 4‑битные модели (в т.ч. 65B) при близком к полноточному качестве[77].
- Дистилляция знаний (Knowledge Distillation): Teacher→Student‑обучение для компактных моделей[78]; пример — DistilBERT[79].
- Распределённое обучение:
- Экосистема и инструменты: Hugging Face Transformers и Accelerate предоставляют стандартные реализации моделей и интеграцию с DeepSpeed/FSDP для обучения и инференса[82][83].
Законы масштабирования и compute‑optimal обучение
Эмпирические законы масштабирования показывают, что кросс‑энтропийная ошибка убывает степенным законом при росте параметров, данных и вычислений. [84] Работа Chinchilla уточнила режимы compute‑optimal: для оптимальной эффективности размер модели и число обучающих токенов следует масштабировать совместно (пример — 70B модель, обученная на ~1.4T токенов, превосходящая более крупные недообученные модели). [85]
Модели с пространством состояний (State Space Models, SSM)
State Space Models (SSM) — альтернативная к трансформерам архитектура для работы с длинными последовательностями. Она заимствует идеи из теории управления и цифровой обработки сигналов и решает главную проблему self‑attention: квадратичный рост вычислений по мере увеличения длины текста.
Основная проблема и решение
Проблема трансформеров. Главная проблема традиционных трансформеров — квадратичная сложность внимания: текст в 10 раз длиннее требует примерно в 100 раз больше вычислений.
Подход SSM. Вместо «одновременного внимания ко всем словам» модель идёт по тексту последовательно и поддерживает компактное внутреннее состояние памяти, которое обновляется на каждом шаге. В результате время и потребление памяти растут примерно линейно с длиной текста. При этом обучение может выполняться параллельно — через свёрточное представление ядра (высокая пропускная способность на длинных последовательностях). [86]
Принцип работы
Дискретная SSM описывается уравнениями состояния и выхода:
где — состояние памяти, — вход (токен), — выход. В глубоких SSM матрицы параметризуют так, чтобы обеспечить устойчивость и эффективные вычисления на длинных последовательностях. Тот же слой можно считать:
- рекуррентным (сканирование по шагам) — экономный по памяти инференс без KV‑кэша;
- свёрточным — параллельное обучение с предвычисленным ядром. [86]
Основные архитектуры и гибриды
- S4 (Structured State Spaces). Базовая линия SSM с устойчивой параметризацией матрицы состояния; демонстрирует эффективность на очень длинных последовательностях. [86]
- Mamba. Селективные SSM: правила обновления памяти зависят от текущего входа (модель сама решает, что «держать в памяти», а что «забывать»). Реализация ориентирована на иерархию памяти GPU; по данным авторов, достигается кратный прирост пропускной способности инференса при линейной сложности по длине. [87]
- RetNet. Механизм retention с тремя режимами: параллельное обучение, рекуррентный и блочно‑рекуррентный инференс. Цель — совместить быстрые тренировки (как у трансформеров) с экономичным потоком на выводе (O(1) память на токен). [88]
- Гибриды Attention+SSM. Пример — Jamba (чередование слоёв Transformer и Mamba плюс MoE): сообщает о поддержке контекстов порядка ~256 K токенов при существенно меньшем требовании к памяти по сравнению с чисто трансформерными моделями схожего класса. [89]
Преимущества
- Линейная сложность и экономия памяти на выводе. Нет глобального self‑attention и KV‑кэша; хранится лишь компактное состояние. [87][88]
- Параллельное обучение на длинных последовательностях. Свёрточный режим повышает пропускную способность тренировки. [86]
- Аппаратная эффективность. Реализации ориентированы на современную иерархию памяти (HBM/SRAM). [87]
- Длинные контексты и стриминг. Гибриды SSM+Attention практичны для сотен тысяч токенов при умеренных ресурсах. [89]
Ограничения и текущая практика
- Зрелость экосистемы. Инструменты и «рецепты» масштабирования (инструкции, RLHF/DPO) пока уступают трансформерному стеку. [87]
- Качество и устойчивость. На ряде задач гибриды (Attention+SSM) показывают более стабильный компромисс «качество/скорость/память», чем «чистые» SSM. [89]
Сравнение подходов (обобщённо)
| Характеристика | Трансформеры | SSM | Гибриды (Attention+SSM) |
|---|---|---|---|
| Сложность по длине | Квадратичная (self‑attention) | Линейная (скан/свёртка) | Близка к линейной |
| Память на токен (инференс) | KV‑кэш растёт с контекстом | O(1) состояние | Умеренный рост |
| Длинные контексты | Требуются спец. оптимизации | Естественная поддержка | Практичны до ~256 K |
| Зрелость экосистемы | Высокая | Развивающаяся | Развивающаяся |
Практические применения
- Анализ очень длинных документов (книги, отчёты, научные обзоры).
- Потоковая обработка и чат‑сценарии с длинной историей без удорожания памяти.
- Среды с ограниченными ресурсами (мобильные/edge‑устройства).
- Временные ряды и другие последовательные данные.
Представительные модели: S4, Mamba, RetNet; гибриды Attention+SSM (Jamba). [86][87][88][89]
Эволюция архитектур
- 2017 — опубликована статья «Attention Is All You Need». Представлена архитектура трансформера: многоголовое самовнимание и позиционные кодировки позволяют обучать модели без рекуррентности и свёрток; вместе с тем внимание имеет квадратичную сложность по длине контекста.[1]
- 2018 — представлены GPT‑1 и BERT. GPT‑1 использует стек только декодеров с каузальным вниманием для генерации и последующего дообучения; BERT вводит двунаправленный энкодер и предобучение MLM для задач понимания текста. [90][91]
- 2019 — предложены способы работать с длинными последовательностями и масштабирован decoder‑only. Transformer‑XL добавляет «память» и относительные позиции для выхода за пределы фиксированного окна; GPT‑2 показывает рост zero‑shot способностей при увеличении масштаба; BART демонстрирует эффективность denoising‑предобучения для seq2seq. [92][93][94]
- 2020 — унифицирован формат «text‑to‑text» и показаны методы для длинных документов. T5 формулирует единый подход encoder–decoder для разных задач; Longformer и BigBird используют разрежённое/структурированное внимание для длинных текстов; GPT‑3 подтверждает эффективность масштабирования плотного decoder‑only. [95][96][97][98]
- 2021 — улучшены позиционные представления и показана разрежённость параметров (MoE). RoPE и ALiBi улучшают обобщение на больших длинах; Switch Transformer и GLaM активируют только часть экспертов на токен, повышая ёмкость без кратного роста цены на вывод. [99][100][101][102]
- 2022 — уточнён compute‑optimal режим и ускорён вывод на длинных промптах. Chinchilla показывает выгоду большего числа обучающих токенов при умеренном размере модели; PaLM с Multi‑Query Attention снижает объём KV‑кэша; FlashAttention ускоряет внимание на GPU. [103][104][105][106]
- 2023 — увеличены окна контекста без изменения слоёв и улучшена серверная подача. Линейка LLaMA закрепляет практики (RMSNorm, SwiGLU, RoPE); Position Interpolation и YaRN расширяют контекст; vLLM/PagedAttention эффективнее управляет KV‑кэшем. [107][108][109][110][111][112]
- 2023 — GPT‑4 и Gemini показывают обработку и генерацию в нескольких модальностях в рамках одного семейства моделей. [113][114]
- 2023 — предложены модели с пространством состояний (SSM). Mamba и RetNet возвращают последовательную обработку с компактным состоянием вместо KV‑кэша и закладывают основу для гибридных архитектур. [115][116]
- 2024 — опубликованы открытые MoE‑модели и гибриды Attention+SSM; ускорено внимание на новых GPU. Mixtral 8×7B/8×22B и DBRX подтверждают практичность MoE; Jamba сочетает Transformer и Mamba для очень длинных контекстов; FlashAttention‑3 увеличивает пропускную способность. [117][118][119][120][121]
Ссылки
- https://jalammar.github.io/illustrated-transformer/ The Illustrated Transformer — визуальное объяснение
Литература
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS. https://arxiv.org/abs/1706.03762
- Devlin, J. et al. (2019). BERT. NAACL. https://arxiv.org/abs/1810.04805
- Brown, T. et al. (2020). Language Models are Few‑Shot Learners. NeurIPS. https://arxiv.org/abs/2005.14165
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
- Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
- Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
- Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
- Shazeer, N. (2019). MQA. https://arxiv.org/abs/1911.02150
- Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- Kwon, W. et al. (2023). PagedAttention / vLLM. https://arxiv.org/abs/2309.06180
- Leviathan, Y. et al. (2023). Speculative Decoding. https://arxiv.org/abs/2211.17192
- Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- Du, N. et al. (2022). GLaM. https://proceedings.mlr.press/v162/du22c/du22c.pdf
- Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
- Zhou, Y. et al. (2022). Expert Choice Routing. https://arxiv.org/abs/2202.09368
- Komatsuzaki, A. et al. (2022). Sparse Upcycling. https://arxiv.org/abs/2212.05055
- Lewis, P. et al. (2020). RAG. https://arxiv.org/abs/2005.11401
- Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
- Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
- Su, J. et al. (2021). RoFormer (RoPE). https://arxiv.org/abs/2104.09864
- Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
- Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
- Dettmers, T. et al. (2023). QLoRA. https://arxiv.org/abs/2305.14314
- Rajbhandari, S. et al. (2020). ZeRO. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
- Shoeybi, M. et al. (2019). Megatron‑LM. https://arxiv.org/abs/1909.08053
- Kaplan, J. et al. (2020). Scaling Laws. https://arxiv.org/abs/2001.08361
- Hoffmann, J. et al. (2022). Chinchilla / Compute‑Optimal. https://arxiv.org/abs/2203.15556
- Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
- Bai, Y. et al. (2022). Constitutional AI. https://arxiv.org/abs/2212.08073
- OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- OpenAI (2023). DevDay: GPT‑4 Turbo 128k. https://openai.com/index/new-models-and-developer-products-announced-at-devday/
- Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
- Shazeer, N. (2020). GLU Variants / SwiGLU. https://arxiv.org/abs/2002.05202
- Gu, A.; Goel, K.; Ré, C. (2021). S4: Structured State Spaces. https://arxiv.org/abs/2111.00396
- Gu, A.; Dao, T. (2023/2024). Mamba: Selective State Spaces. https://arxiv.org/abs/2312.00752
- Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
- Lieber, O. et al. (2024). Jamba: Hybrid Transformer‑Mamba. https://arxiv.org/abs/2403.19887
- Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
- Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer. https://arxiv.org/abs/2001.04451
- Choromanski, K. et al. (2021). Performer. https://arxiv.org/abs/2009.14794
- Wang, S. et al. (2020). Linformer. https://arxiv.org/abs/2006.04768
Примечания
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 1,6 Vaswani, A. et al. (2017). Attention Is All You Need. https://arxiv.org/abs/1706.03762
- ↑ Devlin, J. et al. (2019). BERT. https://arxiv.org/abs/1810.04805
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. https://arxiv.org/abs/1907.11692
- ↑ He, P. et al. (2021). DeBERTa: Decoding‑enhanced BERT with Disentangled Attention. https://arxiv.org/abs/2006.03654
- ↑ Clark, K. et al. (2020). ELECTRA: Pre‑training Text Encoders as Discriminators Rather Than Generators. https://arxiv.org/abs/2003.10555
- ↑ Zaheer, M. et al. (2020). Big Bird: Transformers for Longer Sequences. https://arxiv.org/abs/2007.14062
- ↑ Beltagy, I. et al. (2020). Longformer: The Long‑Document Transformer. https://arxiv.org/abs/2004.05150
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (Multi‑Query Attention). https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. https://arxiv.org/abs/2305.13245
- ↑ Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
- ↑ Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). https://arxiv.org/abs/2309.06180
- ↑ vLLM Docs (2024–2025). Continuous batching, Chunked prefill, Structured outputs. https://docs.vllm.ai/
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Ouyang, L. et al. (2022). InstructGPT (RLHF). https://arxiv.org/abs/2203.02155
- ↑ Rafailov, R. et al. (2023). Direct Preference Optimization. https://arxiv.org/abs/2305.18290
- ↑ Shazeer, 2019. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, 2023. https://arxiv.org/abs/2305.13245
- ↑ Leviathan, 2023. https://arxiv.org/abs/2211.17192
- ↑ Kwon, 2023. https://arxiv.org/abs/2309.06180
- ↑ vLLM Docs. https://docs.vllm.ai/
- ↑ OpenAI (2024). Structured Outputs. https://openai.com/index/introducing-structured-outputs-in-the-api/
- ↑ vLLM Docs — Structured outputs. https://docs.vllm.ai/en/v0.9.2/features/structured_outputs.html
- ↑ Kwon, 2023. https://arxiv.org/abs/2309.06180
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Achiam, J. et al. (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- ↑ Meta AI (2024). Introducing Meta Llama 3. https://ai.meta.com/blog/meta-llama-3/
- ↑ Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
- ↑ Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training for NLG, Translation, and Comprehension. https://arxiv.org/abs/1910.13461
- ↑ Chung, H. W. et al. (2022). Scaling Instruction‑Finetuned Language Models (FLAN‑T5). https://arxiv.org/abs/2210.11416
- ↑ Shazeer, N. (2020). GLU Variants Improve Transformer. https://arxiv.org/abs/2002.05202
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
- ↑ Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
- ↑ Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
- ↑ Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
- ↑ Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- ↑ Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. https://arxiv.org/abs/2309.06180
- ↑ Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
- ↑ 50,0 50,1 50,2 Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- ↑ 51,0 51,1 51,2 Du, N. et al. (2021). GLaM: Efficient Scaling of Language Models with Mixture‑of‑Experts. https://arxiv.org/pdf/2112.06905.pdf
- ↑ Mistral AI (2023). Mixtral of Experts. https://mistral.ai/news/mixtral-of-experts/
- ↑ Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- ↑ Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
- ↑ 55,0 55,1 Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- ↑ NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
- ↑ Zhou, Y. et al. (2022). Mixture‑of‑Experts with Expert Choice Routing. https://arxiv.org/abs/2202.09368
- ↑ Komatsuzaki, A. et al. (2022). Sparse Upcycling: Training Mixture‑of‑Experts from Dense Checkpoints. https://arxiv.org/abs/2212.05055
- ↑ 59,0 59,1 59,2 59,3 Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. https://arxiv.org/abs/2005.11401
- ↑ NVIDIA Blog (2025). What is Retrieval‑Augmented Generation (RAG). https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/
- ↑ Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- ↑ Zaheer, M. et al. (2020). Big Bird. https://arxiv.org/abs/2007.14062
- ↑ Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
- ↑ Dao, T. et al. (2023). FlashAttention‑2. https://arxiv.org/abs/2307.08691
- ↑ Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- ↑ Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
- ↑ Su, J. et al. (2021). RoFormer: Rotary Position Embedding. https://arxiv.org/abs/2104.09864
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
- ↑ Dai, Z. et al. (2019). Transformer‑XL: Attentive Language Models Beyond a Fixed‑Length Context. https://arxiv.org/abs/1901.02860
- ↑ Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer: The Efficient Transformer. https://arxiv.org/abs/2001.04451
- ↑ Choromanski, K. et al. (2021). Rethinking Attention with Performers. https://arxiv.org/abs/2009.14794
- ↑ Wang, S. et al. (2020). Linformer: Self‑Attention with Linear Complexity. https://arxiv.org/abs/2006.04768
- ↑ Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. https://arxiv.org/abs/2305.14314
- ↑ Hinton, G. et al. (2015). Distilling the Knowledge in a Neural Network. https://arxiv.org/abs/1503.02531
- ↑ Sanh, V. et al. (2019). DistilBERT. https://arxiv.org/abs/1910.01108
- ↑ Rajbhandari, S. et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion‑Parameter Models. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
- ↑ Shoeybi, M. et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. https://arxiv.org/abs/1909.08053
- ↑ Hugging Face. Transformers Documentation. https://huggingface.co/docs/transformers
- ↑ Hugging Face. Accelerate Documentation. https://huggingface.co/docs/accelerate
- ↑ Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
- ↑ Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
- ↑ 86,0 86,1 86,2 86,3 86,4 Gu, A.; Goel, K.; Ré, C. (2021). Efficiently Modeling Long Sequences with Structured State Spaces (S4). https://arxiv.org/abs/2111.00396
- ↑ 87,0 87,1 87,2 87,3 87,4 Gu, A.; Dao, T. (2023/2024). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752
- ↑ 88,0 88,1 88,2 Sun, Y. et al. (2023). Retentive Network: A Successor to Transformer for Large Language Models. https://arxiv.org/abs/2307.08621
- ↑ 89,0 89,1 89,2 89,3 Lieber, O. et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. https://arxiv.org/abs/2403.19887
- ↑ Radford, A. et al. (2018). Improving Language Understanding by Generative Pre‑Training. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
- ↑ Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- ↑ Lewis, M. et al. (2019). BART. https://arxiv.org/abs/1910.13461
- ↑ Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- ↑ Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Su, J. et al. (2021). RoPE. https://arxiv.org/abs/2104.09864
- ↑ Press, O. et al. (2021/2022). ALiBi. https://arxiv.org/abs/2108.12409
- ↑ Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- ↑ Du, N. et al. (2021). GLaM. https://arxiv.org/pdf/2112.06905.pdf
- ↑ Hoffmann, J. et al. (2022). Chinchilla. https://arxiv.org/abs/2203.15556
- ↑ Chowdhery, A. et al. (2022). PaLM. https://arxiv.org/abs/2204.02311
- ↑ Shazeer, N. (2019). Fast Transformer Decoding. https://arxiv.org/abs/1911.02150
- ↑ Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
- ↑ Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
- ↑ Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
- ↑ Shazeer, N. (2020). GLU Variants. https://arxiv.org/abs/2002.05202
- ↑ Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
- ↑ Kwon, W. et al. (2023). vLLM/PagedAttention. https://arxiv.org/abs/2309.06180
- ↑ OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- ↑ Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
- ↑ Gu, A.; Dao, T. (2023). Mamba. https://arxiv.org/abs/2312.00752
- ↑ Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
- ↑ Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- ↑ Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
- ↑ Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- ↑ Lieber, O. et al. (2024). Jamba. https://arxiv.org/abs/2403.19887
- ↑ Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608