Швидше, ніж думка: Як спекулятивне декодування змінює начебто, гру з великими мовними моделями

    Запаморочливий світ. Великих мовних моделей (LLMs) відкриває дивовижні можливості для творчості, автоматизації та взаємодії з інформацією. Але зі зростанням розміру моделей приходить і сповільнення, фрустрація очікування відповіді на просте запитання. Втім, не все втрачено! Існує чарівна техніка, що дозволяє прискорити роботу LLMs, не жертвуючи якістю: спекулятивне декодування. Давайте зануримось у захопливу подорож, щоб розкрити секрети цього. Методу та побачити, як він змінює майбутнє штучного інтелекту.

    Уявіть собі поета, який пише вірш. Чесно кажучи, він може довго обмірковувати кожне слово, вивіряючи його звучання та глибину. А тепер уявіть того ж поета, але поряд з ним – його швидкий і вправний помічник, що вміє передчувати хід думок майстра. Поки розумієте, поет обмірковує рядок, помічник – використовуючи свій досвід. Та знання – вже накидає декілька варіантів наступних слів. Поет, звісно, ретельно перевірить варіанти помічника, вибере найкращий і, можливо, внесе правки. Саме так працює спекулятивне декодування!

    Принцип “драфт і верифікація” скажімо, у дії

    Спекулятивне декодування базується на принципі “драфт і верифікація”. Воно використовує дві ну, моделі:

    • Маленьку, швидку “чернеткову” (draft) модель, в такому дусі. Ця модель генерує передбачення майбутніх токенів (слів або частин слів). Вона, як і той самий помічник, працює швидко, проте, можливо, менш точно.
    • слухайте,

    • Велику, потужну “таргетну” (target) модель. Ця модель перевіряє (верифікує) здогадки “чернетки” та вносить необхідні корективи. Вона працює трохи повільніше, але її точність значно вища. Чесно кажучи,

    Процес відбувається паралельно, що суттєво прискорює генерацію тексту. Замість того, щоб генерувати по одному токену за цикл, спекулятивне. Декодування дозволяє генерувати два, три або навіть чотири токени одночасно! Звичайно, це, як мінімум, вдвічі прискорює роботу LLM.

    Три чарівні кроки спекулятивного декодування

    Тепер розглянемо детальніше, як працює ця магія. Очевидно, процес складається з трьох основних етапів:

    1. Спекуляція (Token Speculation): Чернеткова модель отримує вхідний текст і “гадає”, які саме слова з’являться далі. Вона генерує декілька токенів одночасно (наприклад, 4 токени, як у нашому прикладі). Важливо, що разом з наприклад, кожним токеном модель видає його ймовірність (DP – draft probability). Чим вища ймовірність, тим більша впевненість моделі.

      Для бачите, прикладу, візьмемо класичний жарт: “Чому курка перейшла. ” Чернеткова модель, може, згенерує варіант: “Чому курка перейшла дорогу? “. Разом з цим вона в принципі, видасть для кожного слова ймовірність, наприклад: “дорогу”: 0, приблизно так. 7, “до”: 0 оскільки 9, ” та “: 0. 8.

    2. Паралельна верифікація (Parallel Verification): Тарганна модель бере зіспекульовані токени та перевіряє їх. Вона робить припущення, що всі слова, згенеровані чернетковою моделлю, є правильними, і намагається передбачити наступний токен у послідовності. Таргетна модель оцінює ймовірність кожного з передбачених чернеткою токенів (TP – target probability).

      Та ж таргетна модель може, наприклад, передбачити слово “дорогу” з ймовірністю 0. 8. Очевидно, вона оцінює ймовірність кожного з попередніх слів, згенерованих чернетковою моделлю. Наприклад: “Чому”: 0. 9, “курка”: 0. Дивно, 7, “перейшла”: 0. 8. Зрозуміло,

      Важливо: на цьому етапі ми ще не вирішили, які токени залишити. Ми лише з’ясовуємо, які з них “підходять”.

    3. Відхиляюче семплювання (Rejection Sampling): Нарешті, система порівнює ймовірності, отримані від обох моделей, і приймає рішення щодо кожного токена.

      У нашому прикладі:

      • “Дорогу”: Ймовірність таргетної моделі (0. 8) більша за ймовірність чернетки (0. 7). Насправді, отже, слово “дорогу” приймається хоча
      • “До”: Ймовірності збігаються. Слово приймається тому
      • “Перейшла”: Ймовірність таргетної моделі (0. 7) менша за ймовірність чернетки (0. Очевидно, 8) проте слово відхиляється.

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

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

    Переваги спекулятивного декодування

    Як бачимо, спекулятивне декодування має безліч переваг:

    • Прискорення генерації: За один цикл роботи таргетної моделі можна згенерувати декілька токенів.
    • Ефективне розумієте, використання ресурсів GPU: Чернеткова модель бере на. Себе основну роботу, дозволяючи більш ефективно використовувати потужність графічного процесора.
    • Збереження якості: Відхиляюче семплювання гарантує, що якість згенерованого тексту. Залишиться такою ж, як і при стандартному методі, без втрати інформації.
    • Зменшення затримок: Швидший час отримання відповіді покращує взаємодію з LLM у реальному часі.
    • Зниження витрат на обчислення: Більш ефективне використання ресурсів може призвести до зниження витрат на експлуатацію LLM.

    “Швидкість – це сила”: майбутнє оптимізації LLM

    Спекулятивне декодування – це лише один з багатьох інструментів, що з’являються у “арсеналі” дослідників для оптимізації LLM. Робота в цьому напрямі триває, і дослідники постійно роблять нові відкриття. Мета – зробити LLM ще швидшими, ефективнішими та доступнішими для широкого кола користувачів.

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

    І наостанок, як і обіцяли, відповідь на питання: “Чому курка перейшла дорогу? “

    але щоб дістатись до іншої сторони!

    Поділитися.