СледваСледващо ръководство
KV кеш оптимизация
технически
Език AI РЪКОВОДСТВО
KV кешът съхранява векторите на ключовете и стойностите, които трансформаторът вече е изчислил за предишни токени, така че не се налага да ги изчислява отново за всяка нова дума, която генерира.
Чуйте това ръководствоAI-разказан · ~2 min
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Трансформаторите генерират текст един токен наведнъж и всеки нов слой за внимание на токена трябва да се сравни с всеки предишен токен. Механизмът за внимание превръща всеки токен в вектор на заявка, ключ и стойност. Без кеширане, генерирането на токен номер 1000 би означавало повторно изчисляване на ключове и стойности за всичките 999 по-ранни токена на всяка стъпка — квадратична, разточителна работа. Кешът на KV запазва тези вектори на ключове и стойности, след като са изчислени за първи път, и ги използва повторно, така че всяка нова стъпка изчислява вектори само за най-новия токен и обслужва съхранения кеш. Това намалява цената на токен от мащабиране с дължина на последователността до приблизително постоянна. Компромисът е паметта: кешът расте линейно с дължината на контекста, броя на слоевете и главите на вниманието, като често се превръща в доминиращ потребител на памет при обслужване на дълъг контекст.
Ускоряване на отговорите на chatbot чрез повторно използване на кеширани ключове/стойности от историята на разговора, вместо повторното й обработване на всеки ход.
Кеширане на префикс, което споделя кеша за дълга системна подкана между много потребители, намалявайки разходите и забавянето.
PagedAttention на vLLM управлява KV кеша в блокове за ефективно обслужване на много едновременни заявки на един GPU.
Квантуване на KV кеша за по-ниска прецизност, за да се поберат по-дълги контексти в ограничена GPU памет.
Тъй като контекстните прозорци се простират в стотици хиляди токени, KV кешът се превръща в централното тясно място, така че иновациите са ожесточени: квантуване на кеша до 8 или 4 бита, политики за изгонване, които изпускат токени с ниска важност, споделяне на префикс на кръстосана заявка и разтоварване към CPU или диск. Архитектурни промени като латентно внимание с много глави компресират самия кеш. Очаквайте продължително съвместно проектиране на варианти за внимание и системи за памет, насочени към обслужване на много дълги контексти евтино и с висока производителност.
Безплатен бюлетин
Три проверени AI истории всяка делнична сутрин, написани на достъпен език. Безплатно завинаги, без реклами.
Един имейл всеки делничен ден. Отписване с едно кликване. Никога не продаваме и не споделяме вашия имейл адрес.
Тествайте себе си
Незабавна обратна връзка за всеки отговор и сертификат за споделяне с подлежащ на проверка идентификационен номер, след като преминете курс.
Подкрепете безплатното AI образование. AI Understanding е 501(c)(3) с нестопанска цел — без реклами, без платен достъп, никога. Направете дарение
KV кешът съхранява векторите на ключовете и стойностите, които трансформаторът вече е изчислил за предишни токени, така че не се налага да ги изчислява отново за всяка нова дума, която генерира. Това е най-голямата причина генерирането на текст да е бързо — и основното нещо, което изяжда паметта на GPU по време на дълги разговори.
KV кешът съдържа векторите на ключове и стойности от по-ранни токени, така че вниманието може да ги използва повторно, вместо да ги изчислява отново.
The cache reuses keys and values computed for earlier tokens instead of rebuilding them at every decode step. The new query still attends over cached positions, so attention work and cache memory continue to grow with context length.
Кешът расте с дължината на последователността, слоевете и главите, като често се превръща в доминиращ потребител на GPU памет при обслужване на дълъг контекст.
Вниманието за групирани заявки и множество заявки позволява на множество глави на заявки да споделят по-малко набори ключ/стойност, свивайки значително кеша.
Prefill запълва кеша с K/V на подканата; decode добавя един нов K/V на токена на всяка стъпка и пренасочва към кеша.
Продължавай да учиш
Още ръководства, избрани за тази тема
СледваСледващо ръководство
KV кеш оптимизация
технически