Картриджи: кэш, который вы тренируете, а не контекст, который вы заполняете

Источник: Everpure Blog

Картриджи: кэш, который вы тренируете, а не контекст, который вы заполняете

Источник: Everpure Blog

Картриджи: кэш, который вы тренируете, а не контекст, который вы заполняете от Everpure Blog. В этой статье рассматривается, что такое картриджи, как они используют компактные KV-кэши для оптимизации инференса с длинным контекстом и как они помогают снизить требования к ресурсам. Статья…

•Обновлено: 2 октября 2026 г.

Представьте себе ИИ-агента в инвестиционной компании, который отслеживает каждую компанию, в которую фирма вкладывает средства. За ним стоят годы данных по каждой из них: финансовая отчетность, записи звонков с руководством компаний и заметки с прошлых встреч.

Кто-то из команды спрашивает, как распределялась маржа одной из компаний по сегментам в прошлом квартале. Чтобы ответить, агент читает отчетность компании. Час спустя кто-то другой спрашивает о численности персонала той же компании, и агент снова читает тот же документ. Третий человек спрашивает, кто является конкурентами этой компании, и агент снова читает его. Отчетность не изменилась, но модель каждый раз начинала работу с нуля.

Теперь поступает более сложный вопрос: какие компании в портфеле упоминали о сокращении найма в этом году? Это уже не проблема повторного чтения. Чтобы ответить на него качественно, нужно удерживать в памяти модели отчетность многих компаний одновременно, а не только одной, при этом существует предел того, сколько модель может удержать в рамках одного диалога, прежде чем закончится место.

Так выглядит большинство реальных задач с длинным контекстом. Иногда это один документ, о котором спрашивают снова и снова. Иногда это множество документов, которые нужны все сразу. В любом случае, между запросами меняются лишь несколько сотен токенов вопроса, но миллионы токенов данных остаются неизменными. Тем не менее, доминирующий способ предоставления контекста моделям каждый раз обрабатывает все эти данные как новые, будь то один отчет или 20.

Стоимость этого проявляется в KV-кэше. Кэширование ключей и значений делает авторегрессионное декодирование быстрым, но кэш растет линейно вместе с длиной входных данных и занимает место в памяти GPU на протяжении всего запроса. Ответ на один вопрос по отчету объемом сто тысяч токенов дорог не потому, что модель «усердно думает». Он дорог потому, что во время этого процесса она удерживает в памяти все сто тысяч токенов кэша.

В Everpure мы тратим много времени на эту проблему с точки зрения инфраструктуры: где хранится KV-кэш, как он перемещается в память GPU и обратно, и как избежать его повторного вычисления. Cartridges — это исследовательский подход, который подходит к той же проблеме с другой стороны. Его цель — сохранить преимущество чтения документов без затрат на их хранение в памяти.

Что мы делаем сегодня

Каждое предприятие, обладающее массивом данных, с самого начала сталкивается с той или иной версией этой проблемы. Иногда это отчетность, иногда — кодовая база, история обращений в поддержку или многолетние архивы дел. Сами данные почти не меняются, но вопросы о них меняются постоянно. В любом случае, модели нужно как-то предоставить соответствующие данные, и сегодня существуют три доминирующих способа сделать это, каждый из которых имеет свои плюсы и минусы.

Самый прямой подход — обучение в контексте (in-context learning). Поместите документы прямо в окно контекста модели и позвольте ей отвечать на их основе. Как правило, это дает наиболее качественные ответы из трех вариантов, поскольку по пути в модель ничего из документов не теряется и не аппроксимируется. Компромисс заключается в аппаратной части. Каждый вопрос снова оплачивается вычислительными мощностями для префилла (prefill) и памятью кэша, а этот кэш должен находиться в памяти с высокой пропускной способностью (HBM) GPU — той же ограниченной памяти, которая уже нужна для весов модели. Как только она заполняется, единственный способ продолжать работу — это суммировать уже произошедшее, жертвуя высоким качеством, ради которого этот подход и выбирался.

Второй метод — поиск (retrieval). Вместо того чтобы передавать весь документ целиком, этот метод извлекает несколько абзацев, которые кажутся наиболее релевантными вопросу, и передает только их. Это дешевая, зрелая технология, которая хорошо справляется с изменениями в документах. Слабость в том, что поиск работает только тогда, когда ответ на вопрос содержится в одном идентифицируемом фрагменте текста. Вопрос «Какие компании в портфеле упоминали о сокращении найма в этом году?» не проходит этот тест, потому что ни один абзац не содержит ответа. Чтобы ответить на него, нужно проверить данные каждой компании, а не только тот абзац, который лучше всего соответствует вопросу. Поиск не был для этого предназначен.

Третий способ — дообучение (fine-tuning). Этот метод встраивает информацию документа непосредственно в веса модели, поэтому во время вывода ничего не нужно передавать. После обучения это единственный из трех методов, который не добавляет кэш-памяти на каждый запрос, поскольку знания живут в весах, а не в кэше. Но достижение этого — другой вопрос. Это означает создание конвейера данных и проведение реального обучения с риском того, что интенсивное обучение на документах одной компании ухудшит то, что модель уже знала обо всем остальном. Кроме того, это работает только для информации, которая остается неизменной. Как только документ меняется, знания модели о нем устаревают, и единственный способ исправить это — обучить ее снова.

Cartridges вскоре могут стать четвертым подходом. Они не извлекают фрагменты, как это делает поиск, и не затрагивают веса самой модели, как дообучение. Они стремятся сохранить высокое качество ответов, присущее обучению в контексте, и точность, которая достигается благодаря доступности всего документа целиком. Они заменяют дорогую часть — загрузку KV-кэша каждого документа во время каждого агентного диалога. Cartridge тренирует гораздо меньший, узкоспециализированный кэш всего один раз, в автономном режиме, и с тех пор использует его повторно, экономя HBM.

Что такое cartridge

Cartridge — это тот самый меньший кэш, о котором мы говорили. Вместо того чтобы вычислять ключи и значения, читая документ при необходимости, вы тренируете фиксированное количество пар «ключ-значение» напрямую, в автономном режиме, но они гораздо меньше по размеру, чем кэш самого документа. Эти обученные пары загружаются прямо в слои внимания модели вместо того, что выдало бы полное чтение документа. Вся цель cartridge — быть маленьким, поэтому он может быть примерно в 40 раз меньше кэша документа, который он заменяет, в зависимости от конфигурации. И после обучения это все еще просто KV-кэш, а не какой-то новый тип объекта. Для сервера вывода cartridge выглядит как любой другой KV-кэш, поэтому в принципе его можно обслуживать без изменений в стеке обслуживания. Это также означает, что инфраструктура, созданная для хранения, перемещения и повторного использования KV-кэшей, применима и к cartridges.

Обучение cartridge звучит просто: пусть он предсказывает следующее слово документа, так же, как обычно обучается модель. Но это далеко от качества обучения в контексте. Это та же ошибка, что и у студента, который вызубрил уравнение настолько, что может написать его по памяти, но не знает, когда его использовать или какую проблему оно на самом деле решает. При таком обучении модель отлично усваивает поверхностный текст документа. Она просто не может использовать его для ответа на вопрос о нем.

Вместо этого работает процесс, называемый самообучением. Сначала разбейте документ на фрагменты. Затем для каждого фрагмента заставьте модель провести самопроверку, создав синтетический диалог об этой части документа. Иногда диалог строится вокруг вопроса, резюме, сравнения или конкретных фактов, извлеченных и систематизированных. Чем больше это имитирует реальные диалоги, тем лучше. Наконец, обучите картридж на всех этих диалогах, используя метод, называемый дистилляцией контекста. Вместо обучения повторению фактического текста документа вы обучаете модель давать ответ, который она выдала бы, если бы этот фрагмент находился прямо в ее промпте, точно так же, как при обучении в контексте.

В этом и заключается вся идея. Вы не обучаете модель документу; вы обучаете ее действовать так, как будто она только что прочитала этот документ. Именно поэтому для опроса требуется реальное разнообразие, ведь картридж становится хорош только в тех типах вопросов, на которых он был обучен. Обучение на широком спектре данных — это то, что позволяет ему справляться с реальными вопросами в дальнейшем.

В исследовании Hazy Research из Стэнфорда картриджи, обученные с помощью самообучения, соответствовали качеству обучения в контексте на сложных бенчмарках с длинным контекстом, используя при этом в 38,6 раза меньше памяти и обеспечивая в 26,4 раза более высокую пропускную способность. На практике это означает, что картриджи могут позволить одному и тому же оборудованию обслуживать гораздо больше таких диалогов одновременно, поскольку для каждого из них требуется лишь небольшой кэш вместо полноразмерного. Результаты в продакшене будут зависеть от модели, рабочей нагрузки и конфигурации.

Не каждый документ стоит того, чтобы обучать для него картридж.

Обучение картриджа не бесплатно. Оно требует реальных вычислительных мощностей, и эта стоимость оплачивается до того, как кто-либо задаст хотя бы один вопрос.

Это нормально, потому что затраты окупаются каждым последующим вопросом. Без картриджа дорогостоящей частью является удержание полноразмерного кэша в памяти для каждого поступающего вопроса. Самообучение заменяет эти повторяющиеся расходы на единовременные: заплатите один раз за обучение картриджа, и каждый последующий вопрос будет обрабатываться с использованием гораздо меньшего кэша. Если документ читается только один раз, это плохая сделка. Если же документ постоянно используется членами команды, задающими ему новые вопросы в течение полутора лет, это выгодное решение.

Настоящая проверка для любого документа — это то, как часто ваша команда будет задавать ИИ вопросы о нем и насколько вероятно, что документ изменится, пока они продолжают их задавать. Документ, к которому ваша команда постоянно обращается и который остается неизменным, — это именно тот случай, для которого созданы картриджи. Документ, о котором спрашивают один раз, или тот, который меняется каждую неделю, — не подходит.

Уже есть первые доказательства того, что этот подход окупается за пределами научных статей. Компания Engram в сотрудничестве с юридической ИИ-компанией Harvey создала агента, который предварительно изучает весь набор файлов синтетической юридической фирмы, а затем выполняет сложные задачи на их основе с затратами, составляющими около одной десятой от стоимости передовой модели, при сопоставимом или более высоком уровне успеха. Их метод стоит 0,13 доллара за запрос при 30% уровне успеха по сравнению с 1,32 доллара и 25% для Claude Opus 4.8, согласно ценам OpenRouter на 16 августа 2026 года. Хотя механизм Engram отличается от картриджей (он обучается на весах модели и текстовых заметках, а не на обученном кэше), он ссылается на исследование картриджей как на источник вдохновения. Ставка та же: усвоить документы фирмы один раз, в автономном режиме, чтобы последующие запросы не приходилось начинать с нуля.

Одним из примечательных результатов работы Engram стал тест «закрытой книги». До начала обучения они задавали базовой модели вопросы о фирме без возможности поиска и проверки заметок; она отвечала правильно в 4,7% случаев. После обучения, при тех же ограничениях, точность выросла до 72,6%. В самом тесте ничего не изменилось. Изменилось то, что агент заранее усвоил знания фирмы. Это тот же принцип, что лежит в основе картриджей: выполняйте обучение один раз, заранее, вместо того чтобы восстанавливать контекст с нуля при каждом запросе.

Чем картриджи отличаются от обычного KV-кэша

На некоторые вопросы нельзя ответить, используя только один документ. Соответствовало ли то, что руководство компании сказало во время звонка о доходах, тому, что было указано в квартальной отчетности? Ответ на этот вопрос требует одновременного просмотра обоих документов.

Первоначальное исследование картриджей выявило здесь нечто удивительное. Обучите один картридж на отчетности, обучите отдельный картридж на заметках о звонке, совершенно независимо друг от друга, и вы сможете поместить оба перед моделью во время вывода без необходимости переобучения любого из них.

Это сложнее сделать с обычными KV-кэшами. Исследователи, изучавшие эту ситуацию, объединяя несколько отдельно кэшированных документов сразу, обнаружили, что предварительное вычисление кэша каждого документа по отдельности, а затем их простое объединение может снизить качество ответов. Каждый кэш был построен так, как будто это единственный текст, который когда-либо увидит модель, поэтому отчетность и заметки о звонке никогда не «узнали» ничего друг о друге, и их простое объединение не исправляет этот пробел.

Что еще не решено

Картриджи пока не готовы к внедрению в любую систему по нескольким причинам.

Первое реальное препятствие заключается в том, что картридж обучается под слои внимания конкретной модели с использованием реальных, выделенных GPU-ресурсов, и эта работа не переносится между моделями. Замените модель на другую, даже на более новую версию той же самой, и старый картридж перестанет работать, поэтому новый придется обучать с нуля. Именно поэтому картриджи работают только с моделью, которую вы запускаете самостоятельно; нет способа внедрить их в модель, доступную только через API. Этот барьер доступа становится менее значимым по мере того, как все больше предприятий начинают самостоятельно запускать модели с открытыми весами. Но этот сдвиг не решает проблему переносимости моделей. Большинство предприятий используют более одной модели для разных задач или от разных поставщиков, и для каждой из этих моделей требуется свой полный набор картриджей, созданный на выделенном оборудовании и синхронизируемый при каждом обновлении модели. Это реальные текущие расходы, которые необходимо сопоставлять с экономией. Это также проблема управления данными в той же мере, что и проблема обучения: кто-то должен отслеживать, версионировать, хранить и предоставлять нужный картридж для нужной модели. Именно на этом уровне стека фокусируется Everpure.

Также здесь нет ничего, что могло бы работать с изменяющимся документом. Все полученные результаты предполагают, что материал является статичным. В тот момент, когда в отчетность вносятся поправки, созданный на ее основе картридж устаревает, и единственное решение — обучение нового. На данный момент картриджи имеют смысл только для документов, которые являются действительно статичными, а не для тех, которые регулярно пересматриваются. Это та область, где поиск (retrieval) в настоящее время имеет явное преимущество.

Инструментарий также еще не готов к корпоративным масштабам. Это по-прежнему результат исследований, а не инженерная разработка, поэтому создание картриджа сегодня требует участия узкоспециализированных инженеров по ИИ — той самой выделенной команды, которая есть далеко не у каждого предприятия и не всегда свободна для подобных задач. Этот разрыв между результатами исследований и тем, что команда может реально использовать, — именно то, что мы стремимся преодолеть.

Все это не отменяет фундаментальных аргументов в пользу картриджей: компромиссы реальны, но реальны и преимущества, и этого достаточно, чтобы продолжать работу в данном направлении. Мы в Everpure делаем это сами. Мы активно изучаем, как картриджи вписываются в корпоративную ИИ-инфраструктуру и что нужно для того, чтобы сделать их пригодными для использования в широких масштабах. Мы поделимся подробностями по мере продвижения этой работы. Следите за обновлениями.

Картриджи остаются развивающейся областью исследований, но проблему среды выполнения можно решить уже сегодня. Чтобы узнать, как Everpure помогает хранить и повторно использовать KV-кэши между запросами вместо их повторного вычисления, прочитайте наши статьи «Architecting for Reuse: A Deep Journey into the Heart of KV Caching» и «Pure KVA 1.0 Is GA: Inside the Architecture of a Fully Managed Enterprise KV Cache Solution».

О чём эта статья

Что-то непонятно? Спросите по статье — объясню простыми словами.

Не хотите разбираться сами? Мы поможем.

Ещё в разделе «Hardware и электроника»

Все →

Ещё от Pure Storage