ММООЗЗГГ.ru

Словарь ИИ

Что такое CAG

Коротко

CAG (cache-augmented generation, генерация с кэшированием) это способ, при котором все нужные документы заранее загружают в контекст модели и сохраняют ее промежуточное состояние, а поиск при ответе не нужен.

Поиск и RAG · cache-augmented generation

Михаил МозгПроверено: 1 минута чтения

Ребенку

Перед контрольной можно бегать к шкафу за учебником на каждый вопрос. А можно заранее положить на парту три тонкие книжки и держать их открытыми. Тогда ответ найдется сразу, без беготни. Но если книжек целая гора, на парте они не поместятся. CAG как раз про то, чтобы держать короткие книжки прямо перед собой.

Простыми словами

Обычный RAG на каждый вопрос ищет подходящие куски в базе и только потом отвечает. CAG устроен проще. Если документов немного, их целиком загружают в модель один раз, заранее. Модель прочитывает их и запоминает результат этой работы в специальном кэше. Когда приходит вопрос, его просто дописывают к уже прочитанному, и модель сразу отвечает. Нет поиска, значит, нет и ошибки, когда поиск принес не тот кусок. Например, ассистент по положению об отпусках и двум приказам может весь день работать так.

Для бизнеса

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

Для специалиста

Cache-augmented generation предложен в работе Chan, Chen, Cheng, Huang (2024) с заголовком «Don't Do RAG». Вместо извлечения во время запроса все релевантные документы заранее подаются в модель с длинным контекстом, а ее состояние вывода сохраняется: вычисляется кэш ключей и значений (key-value cache, KV-кэш). При ответе к кэшу добавляется только вопрос, и документы повторно не обрабатываются. Авторы называют выигрыш: нет задержки извлечения, нет ошибок отбора документов, проще архитектура. Эксперименты проведены на SQuAD 1.0 и HotPotQA с моделью Llama 3.1 8B, которая принимает до 128 тыс. токенов. Ограничение сформулировано в самой статье: метод подходит для источников знаний управляемого объема и становится непрактичным для существенно больших наборов. Близкий прием облачных API называется кэшированием промптов: провайдер хранит обработанный повторяющийся префикс запроса. CAG и RAG можно сочетать: стабильное ядро знаний держать в кэше, остальное искать.

Пример

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

Связанные термины

Вопросы и ответы

Чем CAG отличается от RAG?

RAG ищет фрагменты на каждый вопрос. CAG загружает все документы в модель заранее и сохраняет ее состояние, поэтому поиска нет. Зато CAG подходит только для баз, которые помещаются в контекстное окно.

Когда CAG выгоднее RAG?

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

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram