Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
KV-кэш одной замороженной языковой модели нельзя просто поставить на место кэша другой: принимающая модель перестаёт извлекать даже доступную ей информацию. В работе MIT и IBM Research, которая не прошла рецензирование и приводит замеры самих авторов, восемь способов подмены остались на уровне неинформативного кэша. Для многоагентной архитектуры это меняет цель: чужой кэш стоит добавлять как отдельный контекст, а не использовать вместо собственного.
Геометрическая близость не делает кэш пригодным
KV-кэш хранит ключи и значения, которые трансформер вычислил при чтении контекста. Он позволяет не обрабатывать этот контекст заново при генерации следующих токенов. Идея прямого обмена выглядит экономной: модель-отправитель уже прочитала текст, поэтому модель-получатель могла бы продолжить с готового внутреннего состояния.
Проблема в том, что один и тот же кэш две модели читают по-разному. Получатель устойчиво работает лишь с узким набором состояний, похожих не просто по координатам, а по тому, как они меняют выбор токенов в механизме внимания. Работа называет этот набор допустимой областью получателя.
Это проверили на Qwen2.5-1.5B в задаче поиска короткого факта по материалам SQuAD. Отправитель видел отрывок с ответом, а получатель — тот же текст со скрытым ответом и вопрос. Затем собственный кэш получателя заменяли состояниями, построенными разными способами, и проверяли, сможет ли модель назвать ответ.
Почти полное совпадение векторов не спасло подмену. После искусственного изменения кэша его косинусная близость к исходному оставалась на уровне 99,5%, но точность падала до 0,5%. Настоящий кэш, который та же модель создала при чтении полного отрывка, был формально чуть менее похож — 99,49%, — однако давал точность 44,5%. Метрика сходства поставила рабочий вариант ниже сломанного.
Отсюда следует практическое правило для испытаний: средняя ошибка реконструкции и косинусная близость подходят для диагностики, но не подтверждают совместимость кэша. Проверять нужно поведение именно той модели, которая будет его читать.
Один чужой слой меняет победителей внимания
Сбой не накапливается постепенно по глубине сети. Подмена кэша только в одном слое уже почти полностью разрушила ответ, хотя состояния во всех остальных слоях оставались точными результатами собственного прохода модели. Значит, проблему нельзя свести к последовательному усилению небольших погрешностей.
Механизм внимания сравнивает ключи между собой, а не с независимым порогом. Небольшое смещение может поменять токен, который получает наибольший вес. После этого модель читает не ту часть контекста, даже если весь кэш в среднем почти не изменился.
Не помог и выбор ключей из банка настоящих состояний, ранее созданных самим получателем на других текстах. Такие ключи принадлежат распределению модели, но связаны с другим контекстом. Происхождения из реального прохода оказалось недостаточно: важно, чтобы состояние соответствовало текущему чтению.
Другой результат дала архитектура без подмены. Получатель сохранял собственный кэш, видел кэш отправителя как дополнительный контекст и адаптировал только запросы механизма внимания. При объединении кэшей восьми отправителей точность оставалась на уровне 39,5%, тогда как ориентир с неинформативным кэшем составлял 18%. Обычное внимание к тому же объединённому набору без адаптации опускалось ниже ориентира.
Что менять в планах многоагентной системы
Если архитектура предполагает обмен внутренними состояниями между моделями с неизменными весами, прямую запись чужого KV-кэша в слоты получателя не стоит считать универсальным каналом. Повышать точность реконструкции такого кэша тоже недостаточно: работа показывает, что геометрическая верность и пригодность для чтения расходятся.
Более обоснованный путь — оставить собственное состояние получателя и подключить внешнее через отдельный путь внимания. Для этого всё равно нужна адаптация на стороне получателя: простое объединение кэшей позволяет посторонним фрагментам перехватывать внимание. Критерием приёмки должен стать результат целевой задачи, а не сходство внутренних представлений.
Вывод не распространяется на преобразователи, которые обучают воспроизводить собственные кэши получателя по его проходам. Такие методы работа не проверяла и явно отделяет от преобразований, построенных только со стороны отправителя. Она также не ставит под сомнение сжатие кэша внутри одной модели, где состояние создаёт и читает один и тот же трансформер.
Положительный результат проверяли на одном типе задачи — коротком фактическом ответе, где особенно важно, какой фрагмент выиграл конкуренцию за внимание. В опытах с добавлением контекста отправитель и получатель были одним замороженным экземпляром модели, который читал разные тексты. Поэтому результат задаёт направление для прототипа, но ещё не подтверждает обмен между разными семействами моделей.
Источники
Иллюстрация: рисунок из статьи «Close Enough is Nowhere Near: Fidelity-Consumability Decoupling in KV Caches», Adam Deng, Shicheng Liu, Yada Zhu, CC BY 4.0
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



