Чи знайоме вам відчуття, коли ви просите інструмент штучного інтелекту (ШІ) проаналізувати об’ємний юридичний договір на 100 сторінок або величезний репозиторій складного коду, а він просто… нічого не робить? Або, можливо, спочатку він починає відповідати, але згодом «зависає» чи взагалі дає збій?

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

Причиною цього «вузького місця» є кеш «ключ-значення» (KV Cache) — своєрідна короткочасна пам’ять ШІ. Саме про цю технологію йтиметься далі.

Під час виконання інференсу на великих мовних моделях (LLM) кеш «ключ-значення» є одним із ключових механізмів підвищення ефективності. В архітектурі NVIDIA Transformer* він зберігає історичну інформацію про «обчислення уваги», що дає змогу уникати повторного виконання тих самих операцій.

Однак зі збільшенням довжини контексту обсяг пам’яті графічних прискорювачів (GPU), який займає KV-кеш, стрімко зростає, створюючи ресурсне «вузьке місце».

Для розв’язання цієї проблеми в галузі була розроблена технологія KV Cache Offload, яка переносить частину кешу до зовнішнього сховища, оптимізуючи таким чином використання пам’яті. Це дає змогу знизити навантаження на відеопам’ять і водночас зберегти високу продуктивність інференсу.

*Архітектура Transformer — це нейронна мережа, яка вивчає контекст і, відповідно, значення, відстежуючи взаємозв’язки в послідовних даних, наприклад між словами в цьому реченні. Моделі Transformer використовують набір математичних методів, що постійно розвивається та має назву «увага» (attention) або «самоувага» (self-attention), щоб виявляти складні взаємозв’язки, завдяки яким навіть віддалені елементи даних у послідовності можуть впливати один на одного та залежати один від одного.*

Що таке KV-кеш?

KV-кеш — це технологія прискорення, яка значно підвищує швидкість та ефективність генерації тексту завдяки збереженню важливої інформації з попередніх етапів і повторному використанню вже обчислених результатів. Це дає змогу уникнути повторних обчислень на кожному новому кроці.

Якщо порівняти велику мовну модель (LLM) із письменником, то Transformer — це її «спосіб мислення». Коли письменник створює розповідь, він враховує попередній зміст і вирішує, що писати далі. Так само під час генерації тексту Transformer звертається до раніше згенерованих токенів і прогнозує наступний токен.

Розглянемо простий приклад. У механізмі самоуваги Transformer кожен токен генерує три вектори:

Q (Query, запит): Яку інформацію я шукаю?

K (Key, ключ): Хто я? (координати ознак)

V (Value, значення): Який зміст я несу? (вміст ознак)

Коли Transformer генерує текст, за один раз він створює лише один новий токен. Потім модель порівнює Q цього токена з K усіх попередніх токенів, щоб визначити взаємозв’язки, а далі використовує відповідні значення V для обчислення вихідного результату.

Однак під час інференсу стандартний Transformer генерує дані токен за токеном. Наприклад:

Вхідні дані: «Я хочу прочитати»

Генерує: «Я хочу прочитати книгу»

Продовжує генерувати: «Я хочу прочитати книгу…»

Але під час генерації наступного токена модель знову обчислює K і V для всіх попередніх токенів, навіть якщо ці дані вже були розраховані раніше. Такі повторні обчислення призводять до того, що обчислювальна складність інференсу зростає квадратично зі збільшенням кількості токенів, що суттєво уповільнює процес.

Основний принцип KV-кешу полягає в тому, щоб уникнути дублювання обчислень. Його ключова ідея — безпосередньо зберігати результати попередніх обчислень K і V, усуваючи необхідність щоразу розраховувати їх заново.

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

Чому кеш «ключ-значення» (KV-кеш) важливий для архітектури Transformer?

У великих мовних моделях (LLM) кеш «ключ-значення» став одним із ключових механізмів, що забезпечують ефективну роботу архітектури Transformer. Він не лише розв’язує проблему надлишкових обчислень, спричинених довгими контекстами, а й безпосередньо допомагає контролювати затримку та підвищувати пропускну здатність.

Його важливість насамперед проявляється в таких аспектах:

  • Зниження обчислювальних витрат: усунення повторних обчислень механізму уваги (attention) для попередніх послідовностей знижує складність інференсу з квадратичної до приблизно лінійної.
  • Підвищення швидкості інференсу: KV-кеш суттєво скорочує затримку під час генерації довгих текстів, покращуючи користувацький досвід.
  • Підвищення ефективності використання ресурсів: скорочує непотрібне споживання пам’яті та обчислювальних ресурсів GPU, створюючи додаткові можливості для оптимізації пам’яті.
  • Підтримка масштабованості та оптимізації: KV-кеш створює основу для таких рішень, як KV Cache Offload, що дають змогу переносити частину кешу до оперативної пам’яті сервера або зовнішнього сховища, знижуючи навантаження на пам’ять GPU та водночас зберігаючи високу продуктивність.

Про незалежне тестування та його результати з використанням KV-кешу та без нього можна прочитати тут: https://huggingface.co/blog/kv-cache

Що таке KV Cache Offload і для чого він потрібен?

Хоча KV-кеш прискорює інференс моделей Transformer, він має і побічний ефект — споживає значний обсяг графічної пам’яті GPU. Ця проблема стає дедалі актуальнішою зі збільшенням довжини контексту великих мовних моделей.

Наприклад, коли довжина контексту сягає 80 000 токенів, для кожного токена необхідно зберігати відповідні ключ і значення. Лише KV-кеш у такому разі може займати десятки гігабайтів графічної пам’яті.

Важливо зазначити, що пам’ять GPU має вміщувати не лише KV-кеш, а й ваги моделі, а також проміжні результати обчислень. Щойно доступна графічна пам’ять вичерпується, процес інференсу може працювати нестабільно або взагалі завершитися з помилкою.

Для розв’язання цієї проблеми в галузі й була запропонована технологія KV Cache Offload. Її основна ідея полягає в перенесенні неактивних або тимчасово невикористовуваних KV-даних із пам’яті графічного процесора на інші типи носіїв, зокрема:

  • Оперативна пам’ять: має велику місткість і добре підходить для зберігання об’ємних кешів, однак характеризується нижчою пропускною здатністю та вищою затримкою порівняно з пам’яттю GPU.
  • Пам’ять із високою пропускною здатністю (HBM): за швидкістю наближається до пам’яті графічного процесора, але є дорогою та має обмежений обсяг.
  • SSD-накопичувачі (СГД): забезпечують дуже велику місткість зберігання, але працюють повільніше й зазвичай використовуються як додаткове рішення в особливо ресурсоємних сценаріях.

Читайте також:
https://lantec.ua/news/ai-fabryka-pid-kliuch-iak-hpe-private-cloud-ai-pryskoriuie-vprovadzhennia-innovatsii

Така технологія звільняє пам’ять графічного процесора, даючи змогу забезпечити пріоритетну та безперебійну роботу поточного інференсу. За потреби система повертає відповідні дані «ключ-значення» із зовнішнього сховища назад у пам’ять GPU.

Хоча це супроводжується певними накладними витратами на передавання даних, про які йтиметься далі, у великомасштабних сценаріях інференсу KV Cache Offload має критичне значення, оскільки дає змогу уникати збоїв і переривань, спричинених вичерпанням пам’яті.

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

Розв’язання проблеми

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

LMCache — це фреймворк із відкритим вихідним кодом, нещодавно включений до складу PyTorch Foundation, який на програмному рівні усуває описане вище «вузьке місце» завдяки багаторівневій архітектурі пам’яті. Він дає змогу зберігати кеш «ключ-значення» (KV-кеш) у зовнішньому сховищі та за потреби отримувати його для повторного використання в різних запитах і на різних прискорювачах.

LMCache дає змогу графічним процесорам (GPU) зосередитися на своїй основній задачі — обробці запитів, а не на виконанні надлишкових обчислень «ключ-значення». Зовнішнє сховище фактично виконує роль практично необмеженого пулу KV-кешу.

Така універсальність робить LMCache важливим компонентом сучасного AI-стеку, що дає змогу масштабовано обслуговувати мільйони токенів у популярних фреймворках інференсу, таких як vLLM, SGLang, llm-d тощо.

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

Як серверне обладнання, наприклад, можуть використовуватися сервери HPE ProLiant із відеоприскорювачами NVIDIA RTX PRO 6000 або RTX PRO 4500 Blackwell Server Edition.

Як систему зберігання даних може використовуватися HPE Alletra Storage MP X10000 — програмно-визначена масштабована система корпоративного рівня з інтегрованими інтелектуальними функціями обробки даних і централізованим рівнем зберігання для постійного спільного кешу «ключ-значення» (KV-кешу).

Завдяки поєднанню автоматизованих сервісів збагачення метаданих, високопродуктивного об’єктного сховища на базі флеш-накопичувачів, великої місткості та оптимізованого керування система забезпечує швидше реагування на ресурсоємні робочі навантаження штучного інтелекту.

Мережева інфраструктура з підтримкою RDMA може бути побудована на комутаторах NVIDIA Spectrum-X, мережевих адаптерах ConnectX та BlueField DPU, що забезпечує прямий обмін даними з низькою затримкою.

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

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

Читайте також:
https://lantec.ua/news/hpe-alletra-storage-mp-x10000-otrymav-sertyfikatsiiu-nvidia-dlia-ai-navantazhen

Перехід від локального кешу сервера до постійного спільного кешу забезпечує такі експлуатаційні переваги:

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

Така архітектура теоретично дає змогу практично необмежено масштабувати обсяг кешу в корпоративних середовищах зберігання даних.

Тестування

Теорія — це завжди добре, але практичні результати мають значно більшу вагу. Так, компанії HPE та Kamiwazaпровели тестування системи зберігання даних HPE Alletra Storage MP X10000 як цільової платформи для обслуговування розподіленого KV-кешу.

Тестування було спрямоване на оцінювання впливу використання високошвидкісного сховища для зберігання KV-даних, а також на вимірювання зміни швидкості генерації вихідних токенів і часу до отримання першого токена (Time to First Token, TTFT).

Для реалістичного моделювання впливу використання системи X10000 для розвантаження KV-кешу були запущені реальні робочі навантаження із застосуванням AI-агентів.

Результати продемонстрували суттєве підвищення ефективності використання графічних процесорів (GPU):

  • скорочення часу до появи першого токена (TTFT) — до 21,5 раза порівняно зі сценарієм без використання KV-кешу*;
  • збільшення швидкості генерації вихідних токенів — до 19,4 раза порівняно зі сценарієм без KV-кешу;
  • порівняно з розвантаженням KV-кешу лише в оперативну пам’ять переваги включали скорочення TTFT у 5,6 раза та збільшення швидкості генерації токенів у 5,9 раза.

*Наведені результати зосереджені на відносному прирості продуктивності, оскільки фактична швидкість генерації токенів і показник TTFT значною мірою залежать від конкретних запитів, використовуваної LLM-моделі та типу графічного процесора.

Сам звіт і методику тестування можна переглянути за посиланням:
https://signal65.com/wp-content/uploads/2026/03/Signal65-Insights_Maximizing-GPU-Utilization-with-HPE-Alletra-Storage-MP-X10000.pdf

Значення для бізнесу

Для керівників, відповідальних за інфраструктуру, висновок очевидний: постійний кеш «ключ-значення» з підтримкою RDMA діє як архітектурний мультиплікатор інвестицій у графічні процесори.

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

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

Такий рівень підвищення продуктивності означає збільшення кількості користувачів у 10–15 разів за використання того самого кластера, можливість виділення бюджету на додаткові моделі або сценарії застосування, а також різницю між пілотними проєктами у сфері ШІ та комерційно готовими системами.

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

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

Висновок

Оскільки робочі навантаження, пов’язані з інференсом, стають дедалі важливішою частиною впроваджень LLM, використання KV-кешу має значний вплив на продуктивність та економічну ефективність інференсу. Додавання системи зберігання HPE Alletra Storage MP X10000 як вторинного KV-кешу забезпечило більш ніж п’ятикратне підвищення продуктивності незалежно від того, чи вимірювалася вона за показником TTFT, чи за швидкістю генерації токенів. Очевидно, що компанії, які використовують масштабований вторинний KV-кеш, отримають значну перевагу в продуктивності та фінансовій ефективності порівняно з тими, хто його не використовує.

Можна сказати, що HPE Alletra Storage MP X10000 перетворює сховище на справжнє розширення пам’яті графічного процесора, забезпечуючи довші контекстні вікна, швидші обчислення та ефективнішу роботу великомасштабних систем ШІ без типових обмежень графічної пам’яті. Ваша система ШІ більше не матиме труднощів із запам’ятовуванням даних — вона нарешті зможе працювати так, як і було задумано.

Компанія LANTEC спільно з HPE вже реалізувала проєкт із використанням цієї архітектури, підвищивши при цьому швидкість генерації інференсу.