Архитектури на LLM
Архитектури на големите езикови модели (LLM) — това са фундаменталните принципи и структури, които определят как се изграждат, обучават и функционират големите езикови модели. Съвременните LLM, способни да разбират и генерират човешки език, са почти изцяло базирани на архитектурата Transformer[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