Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Уже обработанный контекст научились передавать между разными LLM, чтобы новая модель не читала его заново перед ответом. В препринте Apple, который не проходил рецензирование и содержит замеры самих авторов, задержка до первого токена сократилась в 9,6 раза уже на контексте из 64 токенов. Метод открывает практический путь к маршрутизации запросов между моделями без дорогой повторной обработки общей истории.
Почему кэш одной модели не подходит другой
При генерации LLM хранит кэш ключей и значений (KV-кэш) для всех предыдущих токенов. Благодаря ему модель не пересчитывает историю перед каждым новым токеном, но сам кэш зависит от архитектуры, числа слоёв, размера представлений и весов конкретной модели.
Поэтому переключение обычно требует повторной предварительной обработки всего префикса. Целевая модель заново пропускает через себя системную инструкцию, документы, сообщения и уже созданное продолжение, хотя другая модель только что обработала тот же текст.
На коротких запросах этот этап может быть незаметен. На длинной истории он задерживает начало ответа и дублирует вычисления. Даже кэш Qwen3-4B для префикса из 100 токенов содержит 7,4 млн значений, поэтому универсальное полносвязное преобразование оказалось бы слишком дорогим.
KV-Lingo использует отдельные линейные преобразования для ключей и значений каждого слоя целевой модели. Они применяются независимо к токенам и читают данные из одного или нескольких слоёв исходной модели. После перевода целевая модель обрабатывает последний токен префикса и сразу продолжает генерацию.
Качество сохраняет не копирование активаций, а предсказания модели
Переводчик обучают отдельно для каждой пары моделей, сами LLM при этом остаются замороженными. Сначала преобразования подбирают так, чтобы восстановить внутренние представления целевой модели. Это даёт начальное решение без долгого обучения градиентным методом.
Одного совпадения внутренних значений оказалось недостаточно: малое отклонение кэша не гарантировало хорошего текста. Поэтому на втором этапе применяют самодистилляцию — целевая модель выступает эталоном для самой себя. Переводчик учится сближать распределение следующего токена при нативном и переведённом кэше.
На H100 при контексте в 32k токенов переключение начинало ответ до 29 раз быстрее повторной обработки. Это ускорение относится именно ко времени до первого токена, а не ко всей генерации: после переключения целевая модель создаёт ответ с обычной для неё скоростью.
Проверка охватывала Qwen3, Gemma-3, Gemma-4 и Mistral-v0.3 — от моделей на 0,6B параметров до смеси экспертов на 30B. Один переводчик обучали на универсальном корпусе диалогов с префиксами длиной до 16k токенов, а затем проверяли на языковом моделировании, рассуждениях, следовании инструкциям, вопросах по контексту, диалогах и длинном контексте.
Перевод работал в обоих направлениях: компактная модель могла передать историю более крупной, а крупная — меньшей. На большинстве задач результат с переведённым кэшем достигал уровня меньшей модели или превышал его; в многоходовых диалогах качество оставалось близким к повторной обработке даже после нескольких переключений. Работа также включает перенос между моделями с разными токенизаторами, где токены сопоставляют через общие фрагменты исходного текста.
Маршрутизация моделей становится дешевле, но требует стабильных пар
Работа меняет планы команд, которые хотят выбирать модель после того, как уже увидели запрос или промежуточный результат. Компактная LLM может обработать общую историю, а более дорогая подключится только к сложному шагу. Аналогично большая модель может составить план, после чего меньшая продолжит выполнение без чтения всей истории заново.
Особенно выиграют каскады моделей, агентные процессы и системы с длинным общим контекстом. Стоимость линейного перевода растёт вместе с длиной префикса, тогда как обычная обработка полного внимания растёт быстрее. Чем длиннее сохранённая история, тем заметнее разница.
Метод не даёт свободно сочетать любую модель с любой. Для каждой пары и каждого направления нужен свой обученный переводчик, а обновление весов одной LLM фактически создаёт новую пару. Перед внедрением также придётся проверить качество на рабочих сценариях: переведённый кэш приближает поведение целевой модели, но не всегда полностью заменяет её собственную обработку текста.
Если модели работают на разных устройствах или серверах, к задержке перевода добавится передача самого кэша. Поэтому сравнивать нужно весь путь переключения с повторной обработкой, а не только вычисления матриц. Для одиночных коротких запросов выигрыш может не оправдать обучение и поддержку переводчиков; для устойчивых пар моделей с длинной общей историей KV-Lingo превращает переключение из архитектурно дорогой операции в отдельный оптимизируемый этап.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



