KV Кеш
KV кешът съхранява векторите на ключовете и стойностите, които трансформаторът вече е изчислил за предишни токени, така че не се налага да ги изчислява отново за всяка нова дума, която генерира.
Преглед
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Дълбоко гмуркане
Трансформаторите генерират текст един токен наведнъж и всеки нов слой за внимание на токена трябва да се сравни с всеки предишен токен. Механизмът за внимание превръща всеки токен в вектор на заявка, ключ и стойност. Без кеширане, генерирането на токен номер 1000 би означавало повторно изчисляване на ключове и стойности за всичките 999 по-ранни токена на всяка стъпка — квадратична, разточителна работа. Кешът на KV запазва тези вектори на ключове и стойности, след като са изчислени за първи път, и ги използва повторно, така че всяка нова стъпка изчислява вектори само за най-новия токен и обслужва съхранения кеш. Това намалява цената на токен от мащабиране с дължина на последователността до приблизително постоянна. Компромисът е паметта: кешът расте линейно с дължината на контекста, броя на слоевете и главите на вниманието, като често се превръща в доминиращ потребител на памет при обслужване на дълъг контекст.
Техническа информация
По време на фазата на „предварително попълване“ моделът обработва цялата подкана и запълва кеша; по време на „декодиране“ той добавя K/V на един токен на стъпка и се присъединява отново. Размерът на кеша се мащабира като 2 (K и V) × слоеве × глави × head_dim × sequence_length × партида, с избраната точност. За да укротят това, съвременните модели използват внимание на групирани заявки или множество заявки за споделяне на ключове/стойности между заглавия, а обслужващи системи като vLLM използват PagedAttention за разпределяне на кеша в несъседни блокове, намалявайки фрагментацията и загубата.
Стратегическо въздействие
Speed and scale
Езиковите работни процеси могат да се движат по-бързо, без да се жертва последователността.
Access and reach
Той разширява достъпа между езици и стилове на комуникация.
Clearer decisions
Екипите могат да отделят повече време за преценка, докато автоматизацията се справя с повторението.
Бъдещето на KV Cache
Тъй като контекстните прозорци се простират в стотици хиляди токени, KV кешът се превръща в централното тясно място, така че иновациите са ожесточени: квантуване на кеша до 8 или 4 бита, политики за изгонване, които изпускат токени с ниска важност, споделяне на префикс на кръстосана заявка и разтоварване към CPU или диск. Архитектурни промени като латентно внимание с много глави компресират самия кеш. Очаквайте продължително съвместно проектиране на варианти за внимание и системи за памет, насочени към обслужване на много дълги контексти евтино и с висока производителност.
Внедряване в реалния свят
Ускоряване на отговорите на chatbot чрез повторно използване на кеширани ключове/стойности от историята на разговора, вместо повторното й обработване на всеки ход.
Кеширане на префикс, което споделя кеша за дълга системна подкана между много потребители, намалявайки разходите и забавянето.
PagedAttention на vLLM управлява KV кеша в блокове за ефективно обслужване на много едновременни заявки на един GPU.
Квантуване на KV кеша за по-ниска прецизност, за да се поберат по-дълги контексти в ограничена GPU памет.
Рискове и предпазни огради
Халюцинираните факти могат тихо да влязат в отчети, потоци за поддръжка или резултати от изследвания.
Бързата чувствителност може да създаде противоречиви резултати при подобни заявки.
Чувствителните текстови данни могат да бъдат разкрити, ако контролите за достъп са слаби.
Пътна карта за изпълнение
Определете изходен формат, тон и стандарти за качество преди внедряване.
Наземни отговори с доверени източници винаги, когато точността има значение.
Поддържайте контролна точка за човешки преглед за изходи с високи залози.
Проследявайте моделите на неуспехи и редовно обучавайте подкани или работни потоци.
Продължете да изследвате
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the KV Cache quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
KV кеш оптимизация
Frequently asked questions
What is KV Cache?
KV кешът съхранява векторите на ключовете и стойностите, които трансформаторът вече е изчислил за предишни токени, така че не се налага да ги изчислява отново за всяка нова дума, която генерира. Това е най-голямата причина генерирането на текст да е бързо — и основното нещо, което изяжда паметта на GPU по време на дълги разговори.
Какво съхранява KV кеша?
KV кешът съдържа векторите на ключове и стойности от по-ранни токени, така че вниманието може да ги използва повторно, вместо да ги изчислява отново.
Какъв проблем основно решава KV кеша?
Без кеширане всеки нов токен ще изисква повторно изчисляване на K/V за всеки предишен токен, което е разточително; кешът прави цената на токен приблизително постоянна.
Какъв е основният недостатък на KV кеша?
Кешът расте с дължината на последователността, слоевете и главите, като често се превръща в доминиращ потребител на GPU памет при обслужване на дълъг контекст.
Коя техника намалява размера на KV кеша чрез споделяне на ключове и стойности между главите на вниманието?
Вниманието за групирани заявки и множество заявки позволява на множество глави на заявки да споделят по-малко набори ключ/стойност, свивайки значително кеша.
Какви са двете фази на извода на трансформатора по отношение на KV кеша?
Prefill запълва кеша с K/V на подканата; decode добавя един нов K/V на токена на всяка стъпка и пренасочва към кеша.