Когда агентная система переключает задачу с маленькой модели на большую (или обратно), принимающая модель вынуждена пересчитывать весь диалог с нуля. Это дорого и медленно. Исследователи Nvidia нашли способ переносить память между моделями простой линейной математикой: на совместимых парах моделей процесс идёт в 2,7-25 раз быстрее пересчёта и сохраняет до 98% точности целевой модели.
Почему смена модели по ходу сессии так дорога
Чтобы понять проблему, надо посмотреть, как большие языковые модели обращаются с памятью. Получив промпт, модель проходит стадию prefill: первый проход, который вычисляет ключи и значения для всех входных токенов и заполняет KV-кэш. Дальше идёт фаза decode: модель читает из этого кэша и генерирует токены один за другим, не пересматривая всю историю разговора.
В многоходовых диалогах и длинных агентных сессиях контекст постепенно растёт. Стоимость prefill масштабируется вместе с размером модели и длиной входа, поэтому обработка длинных сессий дорожает. А инвалидация кэша случается каждый раз, когда система пытается сменить модель по ходу сессии: направить сложный шаг рассуждений в большую модель или переключиться на маленькую ради экономии.
У разных моделей разная архитектура, и кэш они ожидают в разных форматах. Любое переключение заставляет принимающую модель заново платить всю стоимость prefill: пересчитать KV-кэш для накопленного контекста.
Перенос памяти между моделями без пересчёта
Исследователи Nvidia изучили перенос KV-кэша между моделями: как преобразовать кэш одной модели в формат другой, не запуская prefill заново. У решения польза в обе стороны. Передача от маленькой модели к большой повышает качество ответа: дешёвая модель тянет рутинные части агентного сценария, а когда упирается в сложное рассуждение, её кэш переносится в большую модель, и процесс продолжается без паузы.
Обратное направление экономит вычисления. Большая модель распаковывает массивный системный промпт или сжимает плотный PDF в начале сессии, а потом кэш спускается в маленькую модель, которая быстро ведёт короткие диалоговые реплики.
Прошлые попытки решить задачу переноса упирались в дорогое обучение с градиентами или строгие архитектурные ограничения. В этом исследовании авторы ограничились переносом внутри семейств: между моделями разных размеров из линеек Qwen, Llama и Ministral. У них общие токенизаторы, похожие данные обучения и общий стиль архитектуры, но разный размер и глубина. Впрочем, авторы отмечают, что технику можно расширить на перенос между семействами, несовпадающие KV-головы и гибридные архитектуры.
Главная находка: кэш устроен линейно
Ключевой вывод исследования: кросс-модельный KV-кэш имеет выраженную линейную структуру. Маппинг делается простыми алгебраическими приёмами. В эксперименте с переносом от Qwen3 на 14 млрд параметров к версии на 32 млрд простая линейная регрессия от одного исходного слоя восстановила 56% дисперсии ключей и 32% значений целевой модели. Когда объединили несколько исходных слоёв, показатели выросли до 79% и 65%.
Практическая система состоит из трёх компонентов:
- Гребневая регрессия на каждую голову внимания. Вместо глубокого обучения подгоняется простая линейная регрессия на крошечном калибровочном наборе из нескольких сотен текстовых последовательностей. Задача поиска линии регрессии решается отдельно для каждой головы внимания.
- Выбор исходных слоёв. У исходной и целевой моделей разное число слоёв, поэтому маппер оценивает, какие исходные слои лучше всего предсказывают каждый целевой слой, и берёт только самые полезные части памяти старой модели.
- Маппинг в пространстве контента. Перед переносом маппер снимает RoPE-кодировки (вращательные позиционные эмбеддинги, которые сообщают модели порядок токенов). Это позволяет обобщать на последовательности длиннее, чем в обучающих данных.
Испытания: от 3 до 70 млрд параметров
Систему проверили на шести парах моделей с совпадающими KV-головами: Qwen3, Llama 3.1 и Ministral 3, размеры от 3 до 70 млрд параметров. В числе экспериментов был скачок в 8,8 раза по параметрам, от Llama 3.1 8B к 70B. Модели оценивали на пяти бенчмарках точности (ARC-Challenge, HellaSwag, WinoGrande, MMLU, GSM8K), на перплексии WikiText-2 и на многоходовом диалоговом тесте CoQA. Для подгонки маппера хватило калибровочного набора из 500 последовательностей по 1024 токена.
На четырёх из шести пар быстрая линейная схема сохранила от 73% до 98% точности целевой модели, включая скачок Llama 3.1 8B к 70B с сохранением 72,8% точности. Сам маппер работает в 2,7-25 раз быстрее повторного prefill: перенос KV-кэша на 32 768 токенов от Qwen3 14B к 32B занял 278 миллисекунд против почти 7 секунд у стандартного пересчёта.
«Перенос кэша на 32 768 токенов между Qwen3 14B и 32B занял 278 миллисекунд. Стандартный пересчёт занимает почти 7 секунд», - исследователи Nvidia.
Система стабильна и на длинных сценариях: на десяти ходах многоходового диалога дрейф точности между базовой моделью и перенесённым кэшем оставался минимальным, то есть ошибка не накапливается и не обрушивает длинные агентные сессии.
Где линейный подход не справился
На двух конфигурациях Ministral простая линейная схема резко деградировала: линейная подгонка не смогла экстраполировать за пределы калибровочных данных. Решение нашлось простое: вместо линейного маппера использовали нелинейный многослойный перцептрон с двумя скрытыми слоями по 1024 нейрона, обученный на тех же данных. Это добавило сложности и затрат на обучение, но вернуло точность выше 90%.
Проблема шире одной статьи
Перенос между моделями, часть индустриального движения за решение KV-кэш-бутылочного горлышка. Управление памятью становится таким же важным, как сами модели, когда разработчики заставляют LLM обрабатывать огромные документы, базы кода и длинные цепочки рассуждений.
За последний год проблему атаковали с разных сторон. Nvidia выпустила динамическое разреживание памяти (DMS), которое выбрасывает менее важные токены из кэша и режет расходы на рассуждение до 8 раз. Исследователи MIT разработали технику Attention Matching, сжимающую KV-кэш в 50 раз без потери качества. Nvidia представила KV Cache Transform Coding (KVTC), которая заимствует идеи сжатия медиа и уменьшает память в 20 раз, не меняя веса модели. Оптимизаторы вроде IndexCache убирают лишние вычисления слоёв и ускоряют время до первого токена. DeepSeek и семейство GLM оптимизируют кэш через изменения архитектуры.
Что это значит для бизнеса
Перенос KV-кэша решает конкретную инженерную проблему: комбинировать дешёвые и дорогие модели в одном сценарии без двойной оплаты пересчёта. Для компаний, которые строят длинные агентные процессы, это прямая экономия на вычислениях и задержках.
Практический вывод: архитектура «маленькая модель для рутины плюс большая для сложных шагов» становится дешевле. Раньше переключение между ними съедало выгоду, теперь перенос памяти занимает миллисекунды. Внедрение искусственного интеллекта с такими схемами требует аккуратного проектирования: модели должны быть из одного семейства, с совместимыми токенизаторами. Но выигрыш заметный: тот же уровень точности при меньших затратах на инференс.
Для бизнеса во Владивостоке и на Дальнем Востоке, который присматривается к нейросетям для бизнеса, новость полезная: индустрия движется к тому, чтобы сложные AI-сценарии становились дешевле, а значит доступнее для средних компаний. Разобраться, какие процессы автоматизировать с помощью ИИ первыми, поможет бесплатный аудит.