Як повідомляє Amd, розвиток локальних великих мовних моделей відкриває новий клас AI PC застосунків. Ці рішення включають приватні помічники для роботи з документами, асистенти програмістів та доменної-специфічні копілоти. Запуск інференсу безпосередньо на пристрої зменшує залежність від мережевого підключення і дозволяє зберігати дані про промпти та застосунок локально.
Проблема латентності в діалогах
У типовій чатовій сесії кожен новий повідомлення користувача додається до вже існуючої історії. Без ефективного механізму збереження контексту модель змушена багаторазово обробляти всю розмову перед генерацією відповіді. Ця повторна обробка відбувається під час фази префілу (prefill), коли модель перетворює вхідні токени у внутрішній стан уваги, необхідний для генерації.
Коли історія розмови зростає, префіл стає значним чинником загальної латентності. У моделях на основі трансформерів механізм само-уваги вимагає від моделі обчислення трьох матриць для кожного токена: Query (Q), Key (K) та Value (V). Матриці K і V є найбільш ресурсомісткою частиною, оскільки їх потрібно обчислити для кожного токена в контексті перед генерацією будь-якого виводу.
Механізм повторного використання кешу K-V
Кеш Key-Value (KV cache) — це просто збережений результат цих обчислень. Замість того, щоб перебудовувати весь контекст розмови для кожного запиту, застосунок використовує механізм повторного використання.
- Без кешу: При кожному ході моделі повторно обчислює K та V для всіх N токенів. Латентність зростає пропорційно довжині розмови.
- З кешем K-V: Після першого ходу зберігаються попередньо обчислені K та V. На наступних ходах модель обробляє лише новододані токени, читаючи збережений стан для всього, що було раніше. Це значно зменшує надмірну роботу.
AMD Ryzen™ AI Software 1.7.1 реалізує цю функціональність через API безперервного декодування (continuous decoding) ONNX Runtime GenAI. Цей підхід дозволяє досягти майже постійної латентності на кожен хід, при цьому знижуючи енергоспоживання протягом тривалих сесій.
Таким чином, інтеграція механізмів кешування забезпечує критично важливий стрибок у продуктивності локальних LLM, перетворюючи їх із лабораторних експериментів на практичні інструменти для кінцевих користувачів.