Завдяки до 4 мільйонів контекстів токенів і в 22 рази швидшому висновку StreamingLLM став популярним і отримав 2,5 тисячі зірок на GitHub.

Редактор: Яєчний соус

Якщо вам доводилося спілкуватися з будь-яким розмовним роботом зі штучним інтелектом, ви точно можете пригадати кілька надзвичайно «розчаровуючих» моментів. Наприклад, ключові моменти, які ви згадали в розмові напередодні, були повністю забуті ШІ...

Це пов’язано з тим, що більшість сучасних магістрів права можуть запам’ятати лише обмежений контекст.Так само, як студенти, що набиваються на іспити, їхні ноги будуть оголені після невеликого опитування.

Уявіть, якби помічник зі штучним інтелектом у чаті міг контекстно посилатися на розмови тижневої чи місячної давнини, або якби ви могли попросити помічника зі штучним інтелектом підсумувати звіт на тисячі сторінок. Хіба це не завидно?

Щоб змусити LLM запам'ятовувати більше і краще, дослідники постійно наполегливо працюють. Нещодавно дослідники з Массачусетського технологічного інституту, Meta AI і CMU запропонували метод під назвою «StreamingLLM», щоб дозволити мовним моделям плавно обробляти нескінченний текст.

* Адреса паперу:

  • адреса проекту:

Принцип роботи StreamingLLM полягає у визначенні та збереженні початкових токенів, закріплених властивими моделі «приймачами уваги» для її міркувань. У поєднанні з постійним кеш-пам’яттю останніх токенів StreamingLLM прискорює висновок у 22 рази без шкоди для точності. Всього за кілька днів проект набрав 2,5 тисячі зірок на платформі GitHub:

Зокрема, StreamingLLM дозволяє мовній моделі точно запам’ятовувати рахунок приземлення останньої гри, ім’я новонародженого, тривалий контракт або зміст дебатів, так само як пам’ять помічника AI була оновлена для бездоганної обробки більш важкі навантаження.робота.

Далі розглянемо технічні деталі.

Інноваційний метод

Зазвичай LLM обмежений вікном уваги під час попереднього навчання. Незважаючи на те, що було зроблено багато попередньої роботи, щоб збільшити розмір цього вікна та покращити ефективність навчання та висновків, прийнятна довжина послідовності LLM все ще обмежена, що не є зручним для постійного розгортання.

У цій статті дослідники вперше представили концепцію потокових додатків LLM і поставили запитання: «Чи можна розгорнути LLM із нескінченно довгою вхідною інформацією без шкоди для ефективності та продуктивності?»

При застосуванні LLM до нескінченно довгих вхідних потоків виникають дві основні проблеми:

  1. Під час фази декодування LLM на основі трансформатора кешує статус ключа та значення (KV) усіх попередніх маркерів, як показано на малюнку 1 (a), що може спричинити надмірне використання пам’яті та збільшити затримку декодування;

  2. Здатність екстраполяції довжини існуючих моделей обмежена, тобто, коли довжина послідовності перевищує розмір вікна уваги, встановлений під час попереднього навчання, її продуктивність знизиться.

Інтуїтивно зрозумілий метод називається Window Attention (Малюнок 1 b). Цей метод підтримує лише ковзне вікно фіксованого розміру в стані KV останнього маркера, хоча він може гарантувати, що він може підтримувати стабільне використання пам’яті та швидкість декодування, але як тільки довжина послідовності перевищить розмір кешу або навіть просто виведе KV першого маркера, модель згорнеться. Інший метод полягає в переобчисленні ковзного вікна (показано на малюнку 1 c). Цей метод реконструює стан KV останнього токена для кожного згенерованого токена. Хоча продуктивність висока, він вимагає обчислення вторинної уваги у вікні. результат значно повільніший, що не ідеально для реальних потокових програм.

У процесі розуміння невдачі віконної уваги дослідники виявили цікавий феномен авторегресії LLM: як показано на малюнку 2, велика кількість оцінок уваги присвоюється початковим токенам, незалежно від того, чи пов’язані ці токени із завданням моделювання мови. .

Дослідники називають ці лексеми «пулами уваги»: хоча вони не мають семантичного значення, вони займають велику кількість точок уваги. Дослідники пояснюють це явище Softmax (що вимагає, щоб сума показників уваги всіх контекстних токенів дорівнювала 1).Навіть якщо поточний запит не має сильного збігу серед багатьох попередніх токенів, модель все одно повинна передати ці непотрібні уваги. Значення десь призначаються так, що їх сума дорівнює 1. Причина, чому початковий токен стає «пулом», є інтуїтивно зрозумілою: завдяки характеристикам авторегресійного моделювання мови початковий токен є видимим для майже всіх наступних токенів, що полегшує їх навчання як пулу уваги.

Грунтуючись на наведених вище висновках, дослідники запропонували StreamingLLM, просту та ефективну структуру, яка дозволяє моделі уваги, навченій за допомогою обмеженого вікна уваги, обробляти нескінченно довгий текст без тонкого налаштування.

StreamingLLM використовує той факт, що пули уваги мають високі значення уваги, і збереження цих пулів уваги може зробити розподіл показників уваги близьким до нормального розподілу. Тому StreamingLLM потрібно лише зберегти значення KV маркера пулу уваги (достатньо лише 4 початкових маркерів) і значення KV ковзного вікна, щоб закріпити обчислення уваги та стабілізувати продуктивність моделі.

Використовуючи StreamingLLM, моделі, включаючи Llama-2-[7,13,70] B, MPT-[7,30] B, Falcon-[7,40] B і Pythia [2.9,6.9,12] B, можна надійно симулювати 4 мільйонів токенів або навіть більше.

Порівняно з єдиним можливим базовим сценарієм, переобчисленням ковзного вікна, StreamingLLM працює в 22,2 рази швидше без втрати продуктивності.

Оцінка

Під час експериментального сеансу, як показано на малюнку 3, для тексту, що охоплює 20 тисяч токенів, складність StreamingLLM порівнянна з базовою лінією Oracle (перерахунок ковзного вікна). У той же час, коли довжина вхідних даних перевищує вікно попереднього навчання, щільна увага не працюватиме, а коли довжина вхідних даних перевищує розмір кешу, увага вікна потрапить у проблеми, що спричинить усунення початкового маркера.

Малюнок 5 також підтверджує, що StreamingLLM може надійно обробляти текст незвичайних розмірів, включаючи понад 4 мільйони токенів, що охоплюють різні сімейства моделей і розміри. Це включає в себе Llama-2-[7,13,70] B, Falcon-[7,40] B, Pythia-[2.8,6.9,12] B і MPT-[7,30] B.

Згодом дослідники підтвердили гіпотезу про «пул уваги» та довели, що мовна модель може бути попередньо навчена і потребує лише маркер пулу уваги під час потокового розгортання. Зокрема, вони рекомендують додавати додатковий навчальний маркер на початку всіх навчальних зразків як призначений пул уваги. Шляхом попереднього навчання мовної моделі з 160 мільйонами параметрів з нуля дослідники продемонстрували, що цей метод може підтримувати продуктивність моделі. Це різко контрастує з поточними мовними моделями, які вимагають повторного введення кількох початкових токенів як пулів уваги для досягнення того самого рівня продуктивності.

Нарешті, дослідники порівняли затримку декодування та використання пам’яті StreamingLLM із ковзним вікном повторного обчислення та протестували на одному графічному процесорі NVIDIA A6000 з використанням моделей Llama-2-7B та Llama-2-13B. Як показано на малюнку 10, зі збільшенням розміру кешу швидкість декодування StreamingLLM зростає лінійно. Затримка декодування останнього зростає за квадратичною кривою. Експерименти довели, що StreamingLLM досягає вражаючого прискорення, при цьому швидкість кожного токена збільшується до 22,2 разів.

Щоб дізнатися більше про дослідження, зверніться до оригінальної статті.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити