Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Языковой модели дали долговременную память на 50 млн токенов без роста занятой видеопамяти GPU. В нерецензированном препринте Corbenic AI, где все числа получили сами авторы, загрузка сохранённого состояния оказалась до 4,3 раза быстрее повторной обработки текста. Для систем, которые многократно обращаются к большим неизменным массивам, это позволяет один раз выполнить вычисления, а затем обменять их на место на локальном диске.
Как состояние блока переносится на диск
При обработке текста трансформер вычисляет состояние ключей и значений внимания (KV-состояние). Обычно сервер хранит его, пока выполняет запрос, а при следующем обращении снова прогоняет исходный текст через модель.
Пакет galahad-kv делит поток примерно на блоки по 16 тысяч токенов. После обработки каждого блока подключаемый модуль vLLM шифрует его KV-состояние, записывает на локальный NVMe-накопитель и освобождает видеопамять. На GPU остаётся только текущий блок, поэтому объём занятой памяти не растёт вместе с историей.
При новом запросе система загружает нужный блок обратно. Модель не читает исходные токены заново, а продолжает вычисления с восстановленного состояния. Это отличает подход от поиска по документам: обычная система с поиском возвращает текст в контекст модели и каждый раз платит за его повторную обработку.
Проверка прошла на одной NVIDIA H100 с моделями Gemma 4 12B и Gemma 4 31B, запущенными через vLLM. Корпус собрали из публичных диалогов, исходного кода, статей arXiv и образовательных страниц. Перед загрузкой имена, даты и другие факты заменяли случайными значениями, вопросы задавали только после записи всего потока, а рядом с правильными записями помещали похожие ложные варианты.
Физическое содержимое накопителя тоже проверяли: сохранённые блоки должны были иметь нужный формат и занимать объём, который следует из размера KV-состояния. Каждый выбранный для проверки блок загрузился без повторного прогона текста, в том числе находившийся в начале потока.
Экономия вычислений оплачивается диском
Сохранённое состояние сравнивали с полным повторным прогоном того же блока. Загрузка с диска требовала до 12,3 раза меньше энергии GPU. Более крупная модель выигрывала сильнее, потому что повторная обработка текста обходилась ей дороже.
Точное восстановление блока не гарантировало точный ответ. Меньшая Gemma правильно извлекла 82% спрятанных кодов, большая — 98%. При ошибках модели выбирали другой код, который действительно находился внутри блока, а не выдумывали отсутствующее значение. Память сохраняет вычисления, но читать сохранённый материал всё равно должна сама модель.
Цена подхода — объём накопителя и первичная запись. KV-состояние меньшей модели заняло 1,86 ТБ, большей — 6,25 ТБ. Этот расход возникает один раз, после чего состояние можно использовать повторно, однако экономия зависит от того, насколько часто продукт возвращается к уже обработанному материалу.
Для продукта это слой повторного использования, а не безграничный контекст
Работа меняет планы систем, где один и тот же корпус обрабатывают много раз: внутренних помощников, постоянных агентных процессов и сервисов с длинной историей. В таких сценариях стоит отдельно посчитать стоимость первичной записи, локального диска и последующих обращений. Чем дороже модель и чаще повторяются запросы к сохранённым блокам, тем полезнее становится повторное использование KV-состояния.
Механизм не превращает весь сохранённый поток в единое окно внимания. На GPU загружается один блок, а модель не может одновременно сопоставить произвольные фрагменты со всей глубины памяти. galahad-kv также не выбирает нужный блок по смыслу, поэтому продукту всё равно потребуется индекс, маршрутизация или отдельный слой поиска.
Замеры относятся к локальному NVMe-накопителю: сетевое хранилище изменит задержку и расход энергии. Поэтому перенос KV-состояния на диск не заменяет обычную архитектуру работы со знаниями, а добавляет в неё новый уровень. Текст можно искать привычным способом, но часто используемые блоки после первого прогона уже не обязательно вычислять заново.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



