Штучний Інтелект
Великі мовні моделі на основі декодера: повний посібник
Великі мовні моделі (LLM) зробили революцію в галузі обробки природної мови (NLP), продемонструвавши надзвичайні можливості у створенні тексту, схожого на людину, відповідаючи на запитання та допомагаючи з широким спектром завдань, пов’язаних із мовою. В основі цих потужних моделей лежить архітектура трансформатора лише для декодера, варіант оригінальної архітектури трансформатора, запропонований у основоположній статті “Увага – це все, що вам потрібно” Васвані та ін.
У цьому вичерпному посібнику ми досліджуємо внутрішню роботу LLM на основі декодера, заглиблюючись у фундаментальні будівельні блоки, архітектурні інновації та деталі реалізації, які вивели ці моделі на передовий край досліджень і застосувань НЛП.
Архітектура трансформатора: підготовка
Перш ніж заглиблюватися в специфіку LLM на основі декодера, важливо переглянути архітектуру трансформатора, основу, на якій побудовані ці моделі. Трансформатор представив новий підхід до моделювання послідовності, покладаючись виключно на механізми уваги для захоплення довгострокових залежностей у даних, без необхідності повторюватися або згорткових шарів.
Оригінальна архітектура трансформатора складається з двох основних компонентів: кодера та декодера. Кодер обробляє вхідну послідовність і генерує контекстуалізоване представлення, яке потім споживається декодером для створення вихідної послідовності. Ця архітектура спочатку була розроблена для завдань машинного перекладу, коли кодер обробляє вхідне речення вихідною мовою, а декодер генерує відповідне речення цільовою мовою.
Увага до себе: ключ до успіху трансформера
В центрі трансформатор лежить механізм самоуважності, потужна техніка, яка дозволяє моделі зважувати та агрегувати інформацію з різних позицій у вхідній послідовності. На відміну від традиційних моделей послідовності, які обробляють вхідні маркери послідовно, самоувага дозволяє моделі фіксувати залежності між будь-якою парою маркерів, незалежно від їхньої позиції в послідовності.
Операцію самоуважності можна розбити на три основні етапи:
- Прогнозування запитів, ключів і цінностей: вхідна послідовність проектується на три окремі представлення: запити (Q), ключі (К) і величини (V). Ці прогнози отримують шляхом множення вхідних даних на вивчені вагові матриці.
- Розрахунок оцінки уваги: для кожної позиції у вхідній послідовності оцінки уваги обчислюються шляхом скалярного добутку відповідного вектора запиту та всіх ключових векторів. Ці бали представляють релевантність кожної позиції для поточної позиції, що обробляється.
- Зважена сума значень: Оцінки уваги нормалізуються за допомогою функції softmax, а отримані ваги уваги використовуються для обчислення зваженої суми векторів значень, створюючи вихідне представлення для поточної позиції.
Багатоголова увага, варіант механізму самоуважності, дозволяє моделі охоплювати різні типи стосунків шляхом обчислення показників уваги за кількома “голови» паралельно, кожен із власним набором проекцій запитів, ключів і значень.
Архітектурні варіанти та конфігурації
Хоча основні принципи LLM на основі декодера залишаються незмінними, дослідники досліджували різні архітектурні варіанти та конфігурації для підвищення продуктивності, ефективності та можливостей узагальнення. У цьому розділі ми заглибимося в різні архітектурні рішення та їхні наслідки.
Типи архітектури
LLM на основі декодера можна в цілому класифікувати на три основні типи: кодер-декодер, причинний декодер і префіксний декодер. Кожен тип архітектури демонструє різні моделі уваги.
Архітектура кодера-декодера
Базована на моделі Vanilla Transformer, архітектура кодера-декодера складається з двох стеків: кодера та декодера. Кодер використовує складені багатоголові шари самоконтролю для кодування вхідної послідовності та створення прихованих представлень. Потім декодер виконує перехресне звернення уваги на ці представлення для генерації цільової послідовності. Незважаючи на те, що вони ефективні в різних завданнях НЛП, деякі магістратури, наприклад Флан-Т5, прийняти цю архітектуру.
Причинно-наслідкова архітектура декодера
Архітектура причинного декодера містить односпрямовану маску уваги, що дозволяє кожному вхідному маркеру звертати увагу лише на минулі маркери та себе. І вхідні, і вихідні маркери обробляються в одному декодері. Відомі моделі, як GPT-1, GPT-2 і GPT-3 побудовано на цій архітектурі, причому GPT-3 демонструє чудові можливості навчання в контексті. Багато LLM, включаючи OPT, BLOOM і Gopher, широко застосовують причинні декодери.
Архітектура префіксного декодера
Також відома як непричинний декодер, архітектура префіксного декодера змінює механізм маскування причинних декодерів, щоб увімкнути двонаправлену увагу на префіксних токенах і однонаправлену увагу на згенерованих токенах. Як і архітектура кодера-декодера, префіксні декодери можуть двонаправлено кодувати послідовність префіксів і авторегресійно прогнозувати вихідні маркери, використовуючи спільні параметри. LLM на основі префіксних декодерів включають GLM130B і U-PaLM.
Усі три типи архітектури можна розширити за допомогою суміш експертів (MoE) техніка масштабування, яка розріджено активує підмножину ваг нейронної мережі для кожного входу. Цей підхід застосовувався в таких моделях, як Switch Transformer і GLaM, із збільшенням кількості експертів або загального розміру параметрів, що демонструє значні покращення продуктивності.
Трансформатор лише для декодера: використання авторегресійної природи
У той час як оригінальна архітектура трансформатора була розроблена для виконання послідовних завдань, таких як машинний переклад, багато завдань НЛП, таких як моделювання мови та генерація тексту, можна оформити як проблеми авторегресії, де модель генерує один маркер за раз, залежно від раніше згенеровані токени.
Введіть трансформатор лише для декодера, спрощений варіант архітектури трансформатора, який зберігає лише компонент декодера. Ця архітектура особливо добре підходить для завдань авторегресії, оскільки вона генерує вихідні маркери один за одним, використовуючи попередньо згенеровані маркери як вхідний контекст.
Ключова відмінність між трансформатором лише декодера та оригінальним декодером трансформатора полягає в механізмі самоуважності. У налаштуваннях лише для декодера операцію самоконтролю змінено, щоб запобігти зверненню моделі до майбутніх маркерів, властивість, відому як причинність. Це досягається за допомогою техніки під назвою «замаскована самоувага», де показники уваги, що відповідають майбутнім позиціям, встановлюються на негативну нескінченність, ефективно маскуючи їх під час кроку нормалізації softmax.
Архітектурні компоненти LLM на основі декодера
Хоча основні принципи самоуважності та замаскованої самоуважності залишаються незмінними, сучасні LLM на основі декодера запровадили кілька архітектурних інновацій для покращення продуктивності, ефективності та можливостей узагальнення. Давайте розглянемо деякі з ключових компонентів і методів, які використовуються в найсучасніших LLM.
Вхідне подання
Перед обробкою вхідної послідовності LLM на основі декодера використовують методи токенізації та вбудовування для перетворення необробленого тексту в числове представлення, яке підходить для моделі.
Токенізація: процес токенізації перетворює вхідний текст на послідовність токенів, які можуть бути словами, підсловами або навіть окремими символами, залежно від застосованої стратегії токенізації. Популярні методи токенізації для LLM включають кодування пар байтів (BPE), SentencePiece і WordPiece. Ці методи спрямовані на досягнення балансу між розміром словникового запасу та деталізацією представлення, дозволяючи моделі ефективно обробляти рідкісні слова або слова, які не входять у словниковий запас.
Вбудовування маркерів: Після токенізації кожен маркер відображається на щільне векторне представлення, яке називається вбудовуванням маркера. Ці вкладення вивчаються під час процесу навчання та фіксують семантичні та синтаксичні зв’язки між лексемами.
Позиційні вкладення: трансформаторні моделі обробляють всю вхідну послідовність одночасно, не маючи притаманного поняття позицій маркерів, присутніх у повторюваних моделях. Щоб включити позиційну інформацію, позиційні вбудовування додаються до вбудовування токенів, що дозволяє моделі розрізняти токени на основі їх позицій у послідовності. Ранні LLM використовували фіксовані позиційні вбудовування на основі синусоїдальних функцій, тоді як новіші моделі досліджували позиційні вбудовування, які можна вивчати, або альтернативні методи позиційного кодування, такі як поворотні позиційні вбудовування.
Багатоголові блоки уваги
Основними будівельними блоками LLM на основі декодера є багатоголові рівні уваги, які виконують операцію замаскованої самоуважності, описану раніше. Ці шари складаються кілька разів, причому кожен шар відповідає за результат попереднього шару, що дозволяє моделі охоплювати дедалі складніші залежності та представлення.
До уваги керівників: кожен рівень уваги з кількома головами складається з кількох «головок уваги», кожна з яких має власний набір запитів, ключів і проекцій цінностей. Це дозволяє моделі звертати увагу на різні аспекти вхідних даних одночасно, фіксуючи різноманітні зв’язки та закономірності.
Залишкові зв'язки та нормалізація шару: Щоб полегшити навчання глибоких мереж і пом’якшити проблему зникнення градієнта, LLM на основі декодера використовують залишкові з’єднання та методи нормалізації рівня. Залишкові з’єднання додають вхід шару до його виходу, дозволяючи градієнтам легше проходити під час зворотного поширення. Нормалізація рівня допомагає стабілізувати активації та градієнти, ще більше покращуючи стабільність і ефективність тренування.
Шари передавання
Окрім багаторівневих рівнів уваги, LLM на основі декодера включають рівні прямого зв’язку, які застосовують просту нейронну мережу прямого зв’язку до кожної позиції в послідовності. Ці шари вводять нелінійність і дозволяють моделі вивчати більш складні представлення.
Функції активації: Вибір функції активації на рівнях прямого зв’язку може значно вплинути на продуктивність моделі. У той час як попередні LLM покладалися на широко використовувану активацію ReLU, новіші моделі застосували більш складні функції активації, такі як лінійна одиниця помилки Гауса (GELU) або активація SwiGLU, які продемонстрували покращену продуктивність.
Недостатня увага та ефективні трансформатори
Хоча механізм самоуважності є потужним, він має квадратичну обчислювальну складність щодо довжини послідовності, що робить його обчислювально дорогим для довгих послідовностей. Щоб вирішити цю проблему, було запропоновано кілька методів, щоб зменшити потреби в обчисленнях і пам’яті для самоуважності, забезпечуючи ефективну обробку довших послідовностей.
Розріджена увага: Методи розрідженої уваги, такі як використані в моделі GPT-3, вибірково звертають увагу на підмножину позицій у вхідній послідовності, а не обчислюють показники уваги для всіх позицій. Це може значно зменшити обчислювальну складність, зберігаючи розумну продуктивність.
Розсувне вікно Увага: представлений у моделі Mistral 7B ковзне вікно уваги (SWA) — це проста, але ефективна техніка, яка обмежує проміжок уваги кожного маркера до фіксованого розміру вікна. Цей підхід використовує здатність трансформаторних рівнів передавати інформацію між кількома рівнями, ефективно збільшуючи тривалість уваги без квадратичної складності повної самоуважності.
Змінний буферний кеш: Щоб ще більше зменшити вимоги до пам’яті, особливо для довгих послідовностей, модель Mistral 7B використовує постійний буферний кеш. Ця техніка зберігає та повторно використовує обчислені вектори ключів і значень для фіксованого розміру вікна, уникаючи надлишкових обчислень і мінімізуючи використання пам’яті.
Згрупований запит Увага: введене в модель LLaMA 2 звернення уваги до згрупованого запиту (GQA) є варіантом механізму звернення уваги за багатьма запитами, який поділяє голови уваги на групи, кожна група має спільний ключ і матрицю значень. Цей підхід встановлює баланс між ефективністю уваги до кількох запитів і продуктивністю стандартної самоуважності, забезпечуючи покращений час висновку при збереженні високоякісних результатів.