Архитектура Transformer
Архитектура Transformer — това е архитектура на невронна мрежа, представена през 2017 г. от изследователи на Google в статията „Attention Is All You Need"[1]. Тя предизвика революция в областта на обработката на естествен език (NLP) и се превърна в основа за повечето съвременни големи езикови модели (LLM), като BERT, GPT и Gemini. Ключовата иновация на Transformer е механизмът на самовнимание (self‑attention), който позволява на модела да претегля важността на различните части от входните данни и да обработва последователности паралелно, отказвайки се от рекурентността, присъща на RNN и LSTM.
Исторически контекст и предпоставки
Преди 2017 г. доминиращите архитектури за обработка на последователни данни, като текст, бяха рекурентните невронни мрежи (RNN) и техният усъвършенстван вариант — мрежите с дълга краткосрочна памет (LSTM).
Проблеми на RNN/LSTM, адресирани от Transformer
- Ограничения на последователната обработка: RNN и LSTM обработват данни токен по токен, което изключва вътрешно-последователния паралелизъм и забавя обучението върху големи обеми данни.
- Проблемът с изчезващите и експлодиращите градиенти: При дълги последователности градиентите, разпространявани назад през множество стъпки, могат или да затихнат, или да нараснат, което затруднява обучението на дългосрочни зависимости.
- Дългосрочни зависимости: Информацията от началото на последователността може да се загуби към нейния край.
Подходът на Transformer е пълен отказ от рекурентност в полза на механизма на внимание. Той осигурява константна дължина на пътя на зависимостите между произволни позиции (), което улеснява моделирането на далечни зависимости, при положение че базовата реализация на самовниманието има квадратична изчислителна сложност по дължината на последователността ()[1][2]. Проблемът с затихването/експлозията на градиентите не „изчезва", а се смекчава чрез резидуални връзки, LayerNorm и режим на обучение; в съвременните реализации често се прилага вариантът Pre‑LayerNorm (Pre‑LN) като по-стабилен при обучение[3].
Архитектура и ключови компоненти
Оригиналната архитектура Transformer се състои от две основни части: енкодер и декодер. И двата компонента са стекове от идентични слоеве ( в оригиналната статия)[1].
- Структура на слоя на енкодера: (1) многоглавно самовнимание (MHA), (2) позиционно‑поелементна FFN; всеки подслой е обграден с резидуална връзка и LayerNorm[1].
- Структура на слоя на декодера: (1) маскирано самовнимание (каузална маска забранява достъпа до бъдещи позиции), (2) cross‑attention към изходите на енкодера, (3) FFN — също с резидуали и LayerNorm[1].
Механизъм на внимание и Self‑Attention
Механизмът на внимание изчислява претеглена сума от вектори-стойности (Value), където теглата се определят от степента на съвместимост на ключовете (Key) с заявките (Query). В Transformer се използва мащабирано скаларно произведение на внимание (Scaled Dot‑Product Attention):
Където е размерността на ключовете/заявките; делението на предотвратява насищането на softmax[1]. Когато , и произхождат от една и съща последователност, механизмът се нарича самовнимание (self‑attention).
Multi‑Head Attention (многоглавно внимание)
Вместо един набор от матрици се използват паралелни „глави", всяка от които проецира в подпространства с по-малка размерност, независимо изчислява внимание, след което резултатите се конкатенират и проецират[1]:
- Failed to parse (syntax error): {\displaystyle \mathrm{MultiHead}(Q,K,V)=\mathrm{Concat}( ext{head}_1,\dots, ext{head}_h)W^O,\quad ext{где } ext{head}_i=\mathrm{Attention}(QW_i^Q,KW_i^K,VW_i^V).}
Варианти за ускоряване на инференса:
- MQA (Multi‑Query Attention): всички глави споделят един ключ/стойност → значително се намалява обемът и трафикът на KV‑кеша при декодиране[4].
- GQA (Grouped‑Query Attention): компромис между MHA и MQA — няколко групи глави споделят K/V; качеството е близо до MHA при скоростта на MQA[5].
Позиционно кодиране (Positional Encoding)
Тъй като self‑attention е инвариантен спрямо реда на токените, към входните embedding-и се добавят позиционни кодировки.
- Оригиналните синусоидални кодировки (PE) от[1]:
- Съвременни относителни/роторни варианти:
Поелементни FFN, резидуали и нормализация
Всеки слой на енкодера и декодера, освен вниманието, съдържа позиционно‑поелементна FFN:
Около всеки подслой се използват остатъчни връзки (residual connections) и Layer Normalization: . В оригинала се прилагаше вариантът Post‑LN[1]; в съвременните LLM често се използва Pre‑LN за по-добра стабилност на обучението и по-малка зависимост от дълго warm‑up[3].
Еволюция и съвременни варианти
Ранните методи, основани на рекурентни невронни мрежи (RNN) и техните усъвършенствани варианти, като LSTM, обработваха текст последователно, по един токен наведнъж. Макар такъв подход интуитивно да съответстваше на структурата на езика, той създаваше съществено ограничение: затрудняваше паралелните изчисления и усложняваше откриването на зависимости между елементи, намиращи се далеч един от друг в текста. През 2017 г. група изследователи от Google представиха статия, озаглавена „Attention Is All You Need". В нея те описаха нова архитектура — „Transformer". Този модел за първи път напълно се отказа от използването на рекурентни невронни мрежи, заменяйки ги с механизма на „внимание" (attention). Главната новост се състоеше в това, че механизмът на внимание позволяваше на Transformer да оценява важността на всяка дума от входната последователност при генерирането на съответната дума в изхода. При това моделът можеше да обработва всички думи едновременно. Тази способност за паралелна обработка направи възможно обучението на значително по-големи модели върху огромни обеми данни. В резултат се появиха съвременните големи езикови модели (LLM).
Архитектурата Transformer послужи като основа за множество модели, условно разделени на три класа.
1. Модели само с енкодер (Encoder‑only)
- Пример: BERT (и RoBERTa, ALBERT)[8].
- Принцип: предобучение по задачата маскирано езиково моделиране (MLM) с двупосочен контекст.
- Приложение: задачи за разбиране (класификация, NER и др.).
2. Модели само с декодер (Decoder‑only)
- Пример: серията GPT (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
- Принцип: каузално езиково моделиране (CLM) — предсказване на следващия токен; върху вниманието се налага каузална маска[1].
- Приложение: генериране на текст, диалози, код.
3. Модели енкодер‑декодер (Encoder‑decoder)
- Пример: оригиналният Transformer, T5, BART[1][12].
- Принцип: енкодерът изгражда представяне на входа, декодерът генерира изхода и използва cross‑attention към признаците на енкодера[1].
- Приложение: seq2seq‑задачи (превод, обобщаване и др.).
4. Мултимодални и алтернативни архитектури
- Vision Transformer (ViT) — адаптация към изображения (разбиване на пачове)[13]; Swin Transformer — йерархичен модел с shifted windows[14].
- Алтернативи при дълги последователности:
Техники за обучение и оптимизация
Ефективността на Transformer е тясно свързана с техниките за обучение и инфраструктурата.
- Стратегии за предобучение: CLM и MLM; също контрастивни и денойзингови цели (ELECTRA, T5)[12].
- Техники за дообучение (Fine‑tuning):
- Пълно дообучение на всички параметри.
- Параметрично-ефективно дообучение (PEFT): LoRA въвежда нискорангови адаптери при замразени базови тегла[18].
- Изравняване на поведението: RLHF — обучение с подкрепление въз основа на обратна връзка от човек[19].
- Системни оптимизации на инференса: PagedAttention/vLLM повишават пропускателната способност при обслужване чрез странично управление на KV‑кеша; особено полезно при дълги последователности и големи батчове[20].
Връзки
- The Illustrated Transformer — визуално обяснение на архитектурата Transformer
Литература
- Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI Technical Report.
- Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. arXiv:1910.10683.
- Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
- Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030.
- Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (MQA). arXiv:1911.02150.
- Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). arXiv:2309.06180.
- Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
Бележки
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- ↑ Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- ↑ 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
- ↑ Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- ↑ Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- ↑ Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- ↑ Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- ↑ Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
- ↑ Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- ↑ Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- ↑ 12.0 12.1 Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. arXiv:1910.10683.
- ↑ Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR. arXiv:2010.11929.
- ↑ Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
- ↑ Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- ↑ Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- ↑ Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- ↑ Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- ↑ Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
- ↑ Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.