Моделі та платформи ШІ
Розширення великих мовних моделей за допомогою багатотокової передбачення
Великі мовні моделі (LLM) типу GPT, LLaMA та інші здобули великий успіх завдяки своїй здатності розуміти та генерувати текст, подібний до людського. Однак, попри їхні вражаючі можливості, стандартний метод навчання цих моделей, відомий як “передбачення наступного токену”, має деякі вроджені обмеження.
У передбаченні наступного токену модель навчається передбачати наступне слово в послідовності, даної попередньої послідовності. Хоча цей підхід довів свою ефективність, він може привести до моделей, які мають труднощі з довгостроковими залежностями та складними завданнями розуміння.
Нещодавнє дослідження Gloeckle et al. (2024) з Meta AI представляє новий підхід до навчання, який називається “багатотокове передбачення“, що спрямоване на подолання цих обмежень та підвищення ефективності великих мовних моделей. У цьому блозі ми глибоко розглянемо основні концепції, технічні деталі та потенційні наслідки цього революційного дослідження.
Предбачення одного токену: традиційний підхід
Перед тим, як зануритися у деталі багатотокового передбачення, необхідно зрозуміти традиційний підхід, який був основою навчання великих мовних моделей протягом років – передбачення одного токену, також відоме як передбачення наступного токену.
Парадигма передбачення наступного токену
У парадигмі передбачення наступного токену мовні моделі навчаються передбачати наступне слово в послідовності, даної попередньої послідовності. Більш формально, модель має за мету максимізувати ймовірність наступного токену xt+1, даної попередніх токенів x1, x2, …, xt. Це зазвичай робиться шляхом мінімізації функції втрат cross-entropy:
L = -Σt log P(xt+1 | x1, x2, …, xt)
Цей простий, але потужний підхід до навчання був основою багатьох успішних великих мовних моделей, таких як GPT (Radford et al., 2018), BERT (Devlin et al., 2019) та їхніх варіантів.
Вчительська сила та автoreгенеративна генерація
Предбачення наступного токену залежить від техніки навчання, яка називається “вчительська сила“, коли моделі надається справжня правда для кожного майбутнього токену під час навчання. Це дозволяє моделі навчатися з правильного контексту та цільових послідовностей, що полегшує більш стабільне та ефективне навчання.
Однак під час висновку або генерації модель працює в автoreгенеративному режимі, передбачаючи один токен за раз на основі попередньо згенерованих токенів. Це розходження між режимом навчання (вчительська сила) та режимом висновку (авторегенеративна генерація) може привести до потенційних розбіжностей та субоптимальної продуктивності, особливо для довгих послідовностей або складних завдань розуміння.
Обмеження передбачення наступного токену
Хоча передбачення наступного токену було досить успішним, воно також має деякі вроджені обмеження:
- Короткострокова увага: Предбачаючи лише наступний токен, модель може мати труднощі з захопленням довгострокових залежностей та загальної структури та узгодженості тексту, що потенційно може привести до несумісностей або неузгодженого генерування.
- Місцеві закономірності: Моделі передбачення наступного токену можуть захоплюватися місцевими закономірностями в навчальних даних, що робить їх менш здатними до узагальнення до сценаріїв поза розподілом або завдань, які вимагають більш абстрактного розуміння.
- Спроможності розуміння: Для завдань, які включають багаторівневе розуміння, алгоритмічне мислення або складні логічні операції, передбачення наступного токену може не забезпечувати достатніх індуктивних упереджень або представлень для ефективної підтримки таких можливостей.
- Незадовільна ефективність зразків: Через місцевий характер передбачення наступного токену моделі можуть потребувати більших навчальних наборів даних для набуття необхідних знань та можливостей розуміння, що може привести до потенційних незадовільностей зразків.
Ці обмеження спонукали дослідників досліджувати альтернативні парадигми навчання, такі як багатотокове передбачення, яке спрямоване на подолання деяких з цих обмежень та розблокування нових можливостей для великих мовних моделей.
Протиставляючи традиційний підхід передбачення наступного токену до нового підходу багатотокового передбачення, читачі можуть краще зрозуміти мотивацію та потенційні переваги останнього, створивши основу для глибшого дослідження цього революційного дослідження.
Що таке багатотокове передбачення?
Ключова ідея багатотокового передбачення полягає в тому, щоб навчити мовні моделі передбачати кілька майбутніх токенів одночасно, а не лише наступний токен. Конкретно, під час навчання модель має за мету передбачати наступні n токенів одночасно, використовуючи n незалежні виходи, що працюють на основі спільного стовбура моделі.
Наприклад, з налаштуванням передбачення 4 токенів модель буде навчена передбачати наступні 4 токени одночасно, даної попередньої послідовності. Це підхід спонукає модель захоплювати довгострокові залежності та розвивати краще розуміння загальної структури та узгодженості тексту.
Приклад
Щоб краще зрозуміти концепцію багатотокового передбачення, розглянемо простий приклад. Припустимо, у нас є наступне речення:
“Швидкий коричневий лис їде над ледачим псом.”
У стандартному підході передбачення наступного токену модель буде навчена передбачати наступне слово, даної попередньої послідовності. Наприклад, даної послідовності “Швидкий коричневий лис їде над”, модель буде навчена передбачати наступне слово, “ледачим”.
З багатотоковим передбаченням, однак, модель буде навчена передбачати кілька майбутніх слів одночасно. Наприклад, якщо ми встановимо n=4, модель буде навчена передбачати наступні 4 слова одночасно. Даної тієї ж послідовності “Швидкий коричневий лис їде над”, модель буде навчена передбачати послідовність “ледачим псом “. (Примітка: пробіл після “псом” вказує на кінець речення).
Навчання моделі передбачати кілька майбутніх токенів одночасно спонукає її захоплювати довгострокові залежності та розвивати краще розуміння загальної структури та узгодженості тексту.
Технічні деталі
Автори пропонують просту, але ефективну архітектуру для реалізації багатотокового передбачення. Модель складається з спільного трансформерного стовбура, який створює латентне представлення вхідної послідовності, після чого слідують n незалежні трансформерні шари (виходи), які передбачають відповідні майбутні токени.
Під час навчання прямий і зворотній проходи ретельно оркеструються для мінімізації використання пам’яті GPU. Спільний стовбур обчислює латентне представлення, а потім кожен виходи послідовно виконує свій прямий і зворотній проход, накопичуючи градієнти на рівні стовбура. Це підхід避няє матеріалізацію всіх векторів логітів і їх градієнтів одночасно, знижуючи піковий використання пам’яті GPU з O(nV + d) до O(V + d), де V – це розмір словника, а d – розмір латентного представлення.
Ефективна реалізація
Одним із викликів у навчанні багатотокових передбачувачів є зниження використання пам’яті GPU. Оскільки розмір словника (V) зазвичай значно більший за розмір латентного представлення (d), вектори логітів стають вузьким місцем використання пам’яті GPU.
Щоб подолати цю проблему, автори пропонують ефективну реалізацію, яка ретельно адаптує послідовність прямого і зворотнього проходів. Замість матеріалізації всіх логітів і їх градієнтів одночасно, реалізація послідовно обчислює прямий і зворотній проходи для кожного незалежного виходу, накопичуючи градієнти на рівні стовбура.
Це підхід避няє зберігання всіх векторів логітів і їх градієнтів в пам’яті одночасно, знижуючи пікове використання пам’яті GPU з O(nV + d) до O(V + d), де n – це кількість майбутніх токенів, які передбачаються.
Переваги багатотокового передбачення
Дослідження представляє кілька переконливих переваг використання багатотокового передбачення для навчання великих мовних моделей:
- Поліпшена ефективність зразків: Спонукаючи модель передбачати кілька майбутніх токенів одночасно, багатотокове передбачення спонукає модель до кращої ефективності зразків. Автори демонструють значні покращення продуктивності на завданнях розуміння та генерації коду, з моделями до 13B параметрів, які розв’язують близько 15% більше проблем у середньому.
- Швидша генерація: Додаткові виходи, навчені з багатотоковим передбаченням, можуть бути використані для самоспекулятивної генерації, варіанту спекулятивної генерації, який дозволяє паралельне передбачення токенів. Це призводить до швидшої генерації у до 3 разів для широкого діапазону розмірів пакетів, навіть для великих моделей.
- Спонукає довгострокові залежності: Багатотокове передбачення спонукає модель захоплювати довгострокові залежності та закономірності в даних, що особливо корисно для завдань, які вимагають розуміння та розуміння над більшим контекстом.
- Алгоритмічне розуміння: Автори представляють експерименти на синтетичних завданнях, які демонструють перевагу багатотокового передбачення у розвитку індуктивних голівок та алгоритмічних можливостей розуміння, особливо для менших розмірів моделей.
- Узгодженість та послідовність: Навчання моделі передбачати кілька майбутніх токенів одночасно спонукає розвиток узгоджених та послідовних представлень. Це особливо корисно для завдань, які вимагають генерації довгого, узгодженого тексту, такого як розповіді, статті чи інструкційні посібники.
- Поліпшена узагальнювальна здатність: Експерименти авторів на синтетичних завданнях свідчать про те, що моделі багатотокового передбачення демонструють кращу узагальнювальну здатність, особливо в умовах поза розподілом. Це потенційно пов’язано з здатністю моделі захоплювати довгострокові закономірності та залежності, що допомагає їй екстраполювати більш ефективно до невидимих сценаріїв.

Приклади та інтуїції
Щоб надати більше інтуїцій, чому багатотокове передбачення працює так добре, розглянемо кілька прикладів:
- Генерація коду: У контексті генерації коду передбачення кількох токенів одночасно може допомогти моделі зрозуміти та згенерувати більш складні структури коду. Наприклад, при генерації визначення функції передбачення лише наступного токену може не надати достатнього контексту для моделі, щоб згенерувати всю сигнатуру функції правильно. Однак, передбачаючи кілька токенів одночасно, модель може краще захопити залежності між назвою функції, параметрами та типом повернення, що призводить до більш точної та узгодженої генерації коду.
- Розуміння природної мови: Розглянемо сценарій, у якому мовна модель повинна відповісти на питання, яке вимагає розуміння над кількома кроками чи фрагментами інформації. Предбачаючи кілька токенів одночасно, модель може краще захопити залежності між різними компонентами процесу розуміння, що призводить до більш узгоджених та точних відповідей.
- Генерація довгого тексту: При генерації довгого тексту, такого як історії, статті чи інструкційні посібники, підтримання узгодженості та послідовності протягом тривалого періоду може бути складним для мовних моделей, навчених з передбаченням наступного токену. Багатотокове передбачення спонукає модель розвивати представлення, які захоплюють загальну структуру та потік тексту, що потенційно призводить до більш узгодженої та послідовної генерації довгого тексту.
Обмеження та майбутні напрямки
Хоча результати, представлені в статті, вражаючі, є кілька обмежень та відкритих питань, які потребують подальшого дослідження:
- Оптимальна кількість токенів: Стаття досліджує різні значення n (кількість майбутніх токенів для передбачення) та знаходить, що n=4 працює добре для багатьох завдань. Однак оптимальне значення n може залежати від конкретного завдання, набору даних та розміру моделі. Розробка принципових методів визначення оптимального n може привести до подальших покращень продуктивності.
- Розмір словника та токенізація: Автори відзначають, що оптимальний розмір словника та стратегія токенізації для моделей багатотокового передбачення можуть відрізнятися від тих, які використовуються для моделей передбачення наступного токену. Дослідження цього аспекту може привести до кращих компромісів між стисненою довжиною послідовності та обчислювальною ефективністю.
- Допоміжні втрати передбачення: Автори пропонують, що їхня робота може спонукати інтерес до розробки нових допоміжних втрат передбачення для великих мовних моделей, за межами стандартного передбачення наступного токену. Дослідження альтернативних допоміжних втрат та їх комбінацій з багатотоковим передбаченням є цікавим напрямком дослідження.
- Теоретичне розуміння: Хоча стаття надає деякі інтуїції та емпіричні докази ефективності багатотокового передбачення, глибше теоретичне розуміння того, чому та як цей підхід працює так добре, було б цінним.
Висновок
Стаття “Кращі та швидші великі мовні моделі за допомогою багатотокового передбачення” Gloeckle et al. представляє новий підхід до навчання, який має потенціал суттєво покращити продуктивність та можливості великих мовних моделей. Навчання моделей передбачати кілька майбутніх токенів одночасно спонукає розвиток довгострокових залежностей, алгоритмічних можливостей розуміння та кращої ефективності зразків.
Технічна реалізація, запропонована авторами, елегантна та обчислювально ефективна, що робить її придатною для застосування до великомасштабного навчання мовних моделей. Крім того, можливість використання самоспекулятивної генерації для швидшої генерації є суттєвою практичною перевагою.
Хоча залишаються відкриті питання та напрямки для подальшого дослідження, це дослідження представляє цікавий крок вперед у сфері великих мовних моделей. Коли зростає попит на більш здатні та ефективні мовні моделі, багатотокове передбачення може стати ключовим компонентом у наступному поколінні цих потужних систем штучного інтелекту.















