KV-кеш в LLM: понимание и реализация с нуля
KV-кеш — это техника для эффективного вывода (инференса) LLM, которая хранит промежуточные векторы ключей и значений для повторного использования, избегая избыточных вычислений. Статья объясняет концепцию и предоставляет реализацию кода с нуля на PyTorch, показывая, как модифицировать механизм многоголового внимания для кэширования ключей и значений при генерации текста.
KV-кэш хранит векторы ключей (K) и значений (V) из предыдущих вычислений внимания, чтобы повторно использовать их при генерации последующих токенов, что ускоряет инференс, избегая повторных вычислений. Без KV-кэша на каждом шаге генерации приходится пересчитывать ключи и значения для всех предыдущих токенов; с кэшем вычисляются и добавляются в него только векторы нового токена. В статье
Показать ещё ↓
Источник: Sebastian Raschka —
оригинал
