Архитектура на големите езикови модели (LLM)
- Трансформърна архитектура: Основата на съвременните LLM
- Механизми за самовнимание (self-attention) и тяхната имплементация
- Размерност на вгражданията (embedding) и представяне на токени
- Невронни мрежи с право разпространение (Feed-forward) в LLM
- Квантуване и други техники за оптимизация
- Шардинг на модели (Model sharding) и разпределена обработка
- Сравнение на архитектурите на съвременните езикови модели
Трансформърна архитектура: Основата на съвременните LLM
Трансформърната архитектура представлява фундаментален пробив в областта на обработката на естествен език и формира основата на всички съвременни големи езикови модели (LLM). За разлика от предишните подходи, базирани на рекурентни (RNN) или конволюционни (CNN) невронни мрежи, трансформърите използват т.нар. механизъм за внимание (attention), който позволява ефективно улавяне на дългосрочни зависимости в текста без последователна обработка. Тази архитектурна основа е ключова за ефективния процес на обучение на езикови модели.
Ключова характеристика на трансформърната архитектура е нейната паралелизируемост - всички токени от входната последователност могат да бъдат обработени едновременно, което драстично ускорява както обучението, така и извода (inference). Стандартният трансформър се състои от енкодер (кодираща част) и декодер (декодираща част), като съвременните LLM като GPT използват предимно архитектура само с декодер (decoder-only), докато модели като BERT са само с енкодер (encoder-only). Модели от типа на T5 или BART използват пълна енкодер-декодер архитектура.
Технически спецификации на трансформърните модели
Съвременните LLM като GPT-4, Claude или Llama 2 имплементират дълбоки трансформърни архитектури с десетки до стотици слоеве. Всеки слой (layer) обработва информация чрез механизми за многоглаво внимание (multi-head attention) и невронни мрежи с право разпространение (feed-forward). Производителността на модела до голяма степен се определя от броя на параметрите (теглата), който варира от единици милиарди при по-малките модели до стотици милиарди или дори трилиони при най-големите системи.
Механизми за самовнимание (self-attention) и тяхната имплементация
Самовниманието (self-attention, понякога наричано също scaled dot-product attention) представлява ключов компонент на трансформърната архитектура. Този механизъм позволява на модела да оцени връзките и зависимостите между всички токени в последователността и динамично да определи върху кои части от текста да се фокусира при интерпретацията на конкретна дума или фраза.
От техническа гледна точка самовниманието трансформира всеки токен в три различни вектора: заявка (query - Q), ключ (key - K) и стойност (value - V). Последващото изчисление на вниманието включва умножение на матриците Q и K, мащабиране на резултата, прилагане на функцията softmax за получаване на теглата на вниманието и накрая умножение с матрицата V за получаване на контекстуално обогатено представяне. Математически този процес може да се изрази с уравнението:
Attention(Q, K, V) = softmax(QKT / √dk)V
Многоглаво внимание (Multi-head attention)
Съвременните LLM използват т.нар. многоглаво внимание (multi-head attention), което позволява на модела едновременно да проследява различни типове връзки в текста. Например, една глава за внимание (attention head) може да следи синтактични връзки, докато друга се фокусира върху семантична близост или кореферентни връзки. Броят на главите за внимание е важен хиперпараметър, който обикновено варира от 12 при по-малките модели до 96 или повече при най-големите системи. Всяка глава оперира в по-ниска размерност от оригиналния вектор на вграждане (embedding), което осигурява изчислителна ефективност при запазване на експресивната способност на модела.
Размерност на вгражданията (embedding) и представяне на токени
Размерността на вгражданията (embedding) представлява ключов хиперпараметър, който определя размера на векторното представяне на отделните токени в езиковия модел. В съвременните LLM тази стойност обикновено варира от 768 при по-малките модели до 12288 или повече при най-големите системи. По-голямата размерност на вгражданията позволява улавянето на по-фини семантични нюанси и по-сложни лингвистични връзки, но същевременно увеличава изчислителната сложност и броя на параметрите на модела.
Процесът на конвертиране на токени във вграждания включва таблица за търсене (lookup table), където на всеки възможен токен съответства уникален вектор на вграждане. Тези начални вграждания се обогатяват допълнително с позиционна информация чрез т.нар. позиционни вграждания, които могат да бъдат имплементирани или като обучаеми параметри, или чрез детерминистични синусоидални функции.
Контекстуален капацитет на вгражданията
Важен аспект на вгражданията в LLM е техният контекстуален капацитет, т.е. способността да съхраняват информация за връзките между токените в дълги последователности. Съвременните модели като GPT-4 или Claude 3 Opus достигат контекстуални прозорци с размер от 32K до 128K токена, което позволява обработка на дълги документи, сложни разговори или софистицирани инструкции. Правилната имплементация на позиционните вграждания е критична за ефективното мащабиране на контекстуалния прозорец, като напредналите модели използват техники като RoPE (Rotary Position Embedding) или ALiBi (Attention with Linear Biases) за подобряване на производителността при дълги последователности.
Невронни мрежи с право разпространение (Feed-forward) в LLM
Невронните мрежи с право разпространение (FFN) образуват втория основен компонент на всеки трансформърен слой, следвайки механизма за самовнимание. Докато вниманието улавя връзките между токените, FFN обработва информацията за всеки токен поотделно и прилага нелинейни трансформации, които са ключови за експресивната способност на модела.
Типичната имплементация на FFN в трансформъра включва две линейни трансформации с активационна функция (най-често ReLU или GELU) между тях. Математически този процес може да се изрази като:
FFN(x) = Linear2(Activation(Linear1(x)))
Параметризация и оптимизация на FFN
От гледна точка на архитектурата, ключов параметър на FFN е т.нар. скрита размерност (hidden dimension), която определя размера на междинния резултат след първата линейна трансформация. Тази стойност обикновено е 4 пъти по-голяма от размерността на вгражданията, което осигурява достатъчен капацитет за улавяне на сложни модели. В съвременните архитектури като PaLM или Chinchilla се експериментира с алтернативни конфигурации, включително SwiGLU или GeGLU активации и подходи тип „смес от експерти“ (mixtures-of-experts), които допълнително повишават ефективността на FFN компонентите.
Интересен аспект на FFN компонентите е, че те съставляват по-голямата част от параметрите на съвременните LLM - обикновено 60-70% от всички тегла. Това ги прави основни кандидати за техники за оптимизация като подрязване (pruning - премахване на ненужни тегла), квантуване или апроксимация с нисък ранг (low-rank approximation) в случаите, когато е необходимо да се намалят изискванията за памет на модела.
Квантуване и други техники за оптимизация
Квантуването представлява ключова техника за оптимизация, която позволява намаляване на изискванията за памет на LLM при запазване на по-голямата част от техните способности. Принципът се състои в преобразуване на параметрите на модела от висока точност (обикновено 32-битови стойности с плаваща запетая) към по-ниска точност (16-битово, 8-битово или дори 4-битово представяне). Правилно имплементираното квантуване може да намали размера на модела до 8 пъти при минимално въздействие върху качеството на отговорите.
Съвременните подходи като GPTQ, AWQ или QLoRA имплементират софистицирани алгоритми за квантуване, които оптимизират процеса въз основа на статистическите свойства на теглата и тяхната важност за точността на модела. Квантуването след обучение (Post-training quantization - PTQ) прилага компресия върху вече обучен модел, докато обучението, осъзнаващо квантуването (quantization-aware training - QAT), интегрира аспектите на квантуването директно в процеса на обучение.
Други техники за оптимизация
Освен квантуването, съвременните LLM използват редица други техники за оптимизация:
Model pruning - систематично премахване на по-малко важни тегла или цели компоненти на модела въз основа на тяхното влияние върху крайната производителност
Knowledge distillation - обучение на по-малък модел „студент“, така че да имитира поведението на по-голям модел „учител“
Low-rank adaptace - модификация на избрани компоненти на модела с помощта на матрици с нисък ранг, което позволява ефективно фино настройване (fine-tuning) при минимални изисквания за памет
Sparse attention - имплементация на механизми за внимание, които не е необходимо да оценяват връзките между всички токени, а се фокусират само върху потенциално релевантни двойки
Шардинг на модели (Model sharding) и разпределена обработка
Шардингът на модели (Model sharding) представлява техника за разпределяне на параметрите и изчисленията на големите езикови модели върху множество изчислителни устройства (GPU/TPU), което позволява ефективно обучение и внедряване на модели, които са твърде големи, за да се поберат в паметта на един ускорител. Съществуват четири основни подхода към шардинга, всеки със своите предимства и ограничения.
Tensor Parallelism разделя отделните матрици и тензори на сегменти, които се обработват едновременно на различни устройства. Този подход минимизира комуникационните разходи (overhead), но изисква високоскоростна връзка между ускорителите.
Pipeline Parallelism разпределя цели слоеве на модела върху различни устройства, които обработват данните последователно като конвейер (pipeline). Този подход ефективно използва паметта, но може да доведе до небалансирано натоварване на устройствата.
Разширени стратегии за разпределение
3D Parallelism комбинира тензорния и конвейерния паралелизъм с паралелизъм на данните (data parallelism - обработка на различни партиди (batch) образци на различни устройства), което позволява максимално използване на наличните изчислителни ресурси при обучение на изключително големи модели.
ZeRO (Zero Redundancy Optimizer) елиминира излишъка при съхранението на състоянията на оптимизатора, градиентите и параметрите на модела между графичните процесори (GPU). ZeRO-3, най-напредналият вариант, разделя отделните параметри на модела така, че всеки GPU съхранява само малка част от целия модел, което позволява обучение на модели с много милиарди параметри дори на сравнително ограничени хардуерни системи.
Имплементацията на ефективни стратегии за шардинг изисква специализирани рамки (frameworks) като DeepSpeed, Megatron-LM или Mesh TensorFlow, които автоматизират сложните аспекти на разпределението и синхронизацията. Тези рамки често имплементират допълнителни оптимизации като запазване на контролни точки на градиента (gradient checkpointing), обучение със смесена точност (mixed-precision training) или преизчисляване на активациите (activation recomputation) за допълнително подобряване на ефективността и намаляване на изискванията за памет.
Сравнение на архитектурите на съвременните езикови модели
Архитектурните разлики между съвременните LLM играят ключова роля в техните способности, ефективност и пригодност за различни приложения. Въпреки че всички използват трансформърна основа, съществуват значителни вариации в имплементацията на отделните компоненти, които влияят на тяхната производителност и характеристики.
GPT архитектура (Generative Pre-trained Transformer) използва подход само с декодер (decoder-only) с авторегресивно генериране на текст, което я прави идеална за генеративни задачи. По-новите версии като GPT-4 имплементират напреднали техники както на ниво архитектура (по-голям контекстуален прозорец, мултимодални входове), така и на ниво обучение (RLHF, конституционни подходи).
PaLM архитектура (Pathways Language Model) от Google въведе иновации като SwiGLU активации, многозаявъчно внимание (multi-query attention) и мащабирано RoPE, което позволи по-ефективно мащабиране до стотици милиарди параметри. Gemini, наследникът на PaLM, допълнително интегрира мултимодални способности директно в архитектурата на модела.
Специализирани архитектури и нови подходи
Смеси от експерти (MoE) като Mixtral представляват хибриден подход, при който всеки токен се обработва само от подмножество специализирани „експертни“ мрежи. Тази техника позволява драстично увеличаване на броя на параметрите на модела при запазване на сходна изчислителна сложност по време на извода (inference).
Модели на състоянието (State-space models) като Mamba представляват потенциална алтернатива на трансформърите, която комбинира предимствата на рекурентните и конволюционните подходи с линейна мащабируемост спрямо дължината на последователността. Тези модели са особено обещаващи за обработка на много дълги контексти (100K+ токена).
При избора на архитектура за конкретно приложение трябва да се вземат предвид компромисите между точност, изчислителна ефективност, изисквания за памет и специфични способности като дългосрочна памет или мултимодална обработка. Най-новите изследвания се фокусират върху хибридни подходи, комбиниращи силните страни на различни архитектури, и техники като генериране, подсилено с извличане (retrieval-augmented generation), които разширяват възможностите на моделите с изричен достъп до външни знания.