OpenAI начал предоставлять Prompt Caching для больших моделей (модели серии GPT): стоимость входных данных моделей серии GPT-4o была снижена вдвое, а скорость доступа увеличена на 80%
В больших типовых приложениях обработка сложных запросов часто сопровождается высокой задержкой и стоимостью, особенно если в содержании запроса много повторений. Эта проблема "медленного запроса" особенно заметна в сценариях с длинными запросами и высокой частотой взаимодействия. Чтобы решить эту проблему, OpenAI недавно представила Кэширование подсказок Функция. Эта новая технология позволяет избежать двойных вычислений за счет кэширования одних и тех же частей префикса, обрабатываемых моделью, что значительно сокращает время отклика и расходы, связанные с запросами. Особенно для длинных запросов, содержащих статический контент, кэширование подсказок может значительно повысить эффективность и снизить операционные накладные расходы. В этой статье мы подробно расскажем о том, как работает эта функция, о поддерживаемых моделях и о том, как оптимизировать процент попадания в кэш с помощью разумной структуры подсказок, чтобы помочь разработчикам улучшить опыт использования больших моделей.
Что такое кэширование больших моделей (Prompt Caching)?
Кэширование подсказок - это механизм, используемый для сокращения времени ожидания и вычислительных затрат на обработку длинных подсказок с повторяющимся содержимым. Под "подсказкой" в данном контексте понимается ввод, который вы отправляете в модель. Вместо того чтобы каждый раз в процессе запроса пересчитывать первые N входных лексем подсказки, система кэширует результаты предыдущих вычислений. Вместо этого система кэширует результаты предыдущих вычислений, чтобы повторно использовать кэшированные данные для последующих запросов с тем же префиксом подсказки, что ускоряет обработку, уменьшает задержку и экономит затраты.
Проще говоря, кэш подсказок работает следующим образом:
- Кэшируйте первые 1024 токена : Система проверяет, совпадают ли первые 1024 лексемы содержимого подсказки с предыдущим запросом, и если да, то кэширует вычисление этих лексем.
- попадание в кэш : Когда новый запрос совпадает с кэшированной подсказкой, мы называем это "попаданием в кэш". В этот момент ответ будет содержать подробную информацию о маркере кэша, что поможет сократить время и стоимость вычислений.
- сократить расходы : в Стандартный тип развертывания в котором кэшированные токены будут оплачиваться по сниженной цене; в то время как в Предварительно сконфигурированные типы развертывания в которых кэш-теги могут даже получить скидку 100%.
Официально приводится очень наглядная схема кэширования реплик:

Как видно из рисунка выше, если предыдущие токены в вашем исходном запросе совпадают с предыдущим запросом, то эту часть запроса можно разрешить не через модель, а просто прочитать напрямую через кэшированные результаты.
В настоящее время OpenAI официально предоставляет следующие модели с возможностью кэширования:
моделирование | Текстовые затраты на производство | Расходы на аудиовход |
---|---|---|
gpt-4o (за исключением gpt-4o-2024-05-13 и chatgpt-4o-latest) | Дешевые 50% | неприменимо |
gpt-4o-mini | Дешевые 50% | неприменимо |
gpt-4o-realtime-preview | Дешевые 50% | Дешевые 80% |
o1-превью | Дешевые 50% | неприменимо |
o1-мини | Дешевые 50% | неприменимо |
Современные модели, поддерживающие кэширование подсказок (например, gpt-4o, gpt-4o-mini, gpt-4o-realtime-preview и т. д.), эффективно снижают стоимость ввода текста, особенно со скидкой 50%, а модель gpt-4o-realtime-preview даже пользуется скидкой в 80% при обработке аудиоввода. Поддержка этих моделей не только повышает эффективность отклика, но и предоставляет разработчикам недорогое и высокопроизводительное решение, особенно для сценариев, требующих частых повторных запросов или содержащих большое количество статического контента.
Как работает кэш подсказок
Согласно текущей официальной документации OpenAI, для того чтобы ваш запрос использовал кэш, должны быть выполнены следующие условия:
- Длина подсказки должна быть не менее 1024 теги .
- подсказали Первые 1024 тега Должно быть в последующем запросе одинаковые .
Кроме того, следует также отметить, что, официально, начальные 1024 лексем являются минимальной длиной кэша, но приращение 128 лексем последующих хитов, то есть длина кэша составляет 1024, 1152, 1280, 1408, таким образом, чтобы1024 жетона - минимум, 128 жетонов - по возрастаниюСпособ сохранения.
Когда происходит "попадание в кэш", ответ API будет содержать cached_tokens
, который показывает, сколько токенов поступило из кэша. Например, количество жетонов, отправленных в o1-preview-2024-09-12 Запрос на модель может дать следующий ответ:
{
"created":1729227448,
"model":"o1-preview-2024-09-12",
"object":"chat.completion",
"usage":{
"completion_tokens":1518,
"prompt_tokens":1566,
"total_tokens":3084,
"completion_tokens_details":{
"reasoning_tokens":576
},
"prompt_tokens_details":{
"cached_tokens":1408
}
}
}
В этом примере1408 маркировокизвлекается из кэша, что значительно сокращает время и стоимость обработки.
Экономия времени после попадания в кэш подсказки
OpenAI официально заявляет, что модели не хранят кэшированную информацию постоянно. Текущий механизм, связанный с кэшированием подсказок для моделей серии GPT, выглядит следующим образом:
- Продолжительность кэша : Кэш будет находиться в 5-10 минуточищается после перехода кэша в неактивное состояние. Если доступ к кэшу не осуществлялся более часа, он удаляется полностью.
- Пропуски кэша : Если один из первых 1024 маркеров подсказки отличается, то Пропуски кэша в это время
cached_tokens
будет иметь значение 0. - Кэш не является общим : Указывает на то, что кэш не будет находиться в другомподписаться наразделяемый между ними. Каждая подписка имеет свой собственный кэш.
Поддерживаемые типы кэшированного содержимого
Функциональность кэша подсказок зависит от используемой модели. Например.Модели серии o1Он поддерживает только текст, но не системные сообщения, изображения, вызовы инструментов или структурированный вывод, поэтому его функция кэширования применима в основном к части пользовательских сообщений. Сайт gpt-4o и gpt-4o-mini Модель поддерживает кэширование большего количества типов контента, включая:
- сообщения : Полный набор сообщений, включая системные сообщения, сообщения пользователя и вспомогательные сообщения.
- изображения : Изображения (ссылки или данные в кодировке base64), содержащиеся в сообщениях пользователей, при условии, что
detail
Параметры соответствуют друг другу. - Вызов инструмента : Включает массивы сообщений и определяемые инструментами кэши.
- Структурированный вывод : Режим структурированного вывода, прикрепленный к системному сообщению.
Для повышения вероятности попадания в кэш рекомендуется размещать дубликаты в начале массива сообщений.
Подсказка о версии API OpenAI, которая поддерживается кэшем
Функция кэширования подсказок была впервые представлена в Версия API 2024-10-01-preview в оказании поддержки. Для o1 Модельный ряд Ответ API теперь добавлен в cached_tokens
параметр, показывающий количество лексем, попавших в кэш.
Шаги по включению кэширования реплик:
- минимальная длина : Убедитесь, что длина подсказки составляет не менее 1024 токенов.
- последовательная приставка (математика) : Убедитесь, что первые 1024 токена подсказки совпадают во всех запросах.
- Ответ API : Когда происходит попадание в кэш, в ответе API отображается
cached_tokens
указывает, сколько токенов будет кэшировано.
Можно ли отключить кэширование подсказок?
Подсказки кэшируются во всех поддерживаемых моделях Включено по умолчанию и в настоящее время Нет возможности отключения . Это означает, что если вы используете поддерживаемую модель, кэширование автоматически включается, если запрос соответствует требованиям.
Почему кэширование реплик так важно?
Кэширование реплик дает два основных преимущества:
- Сокращение задержки Кэширование значительно ускоряет время отклика, позволяя избежать дублирования обработки одного и того же содержимого.
- экономить расходы Кэширование уменьшает количество обрабатываемых маркеров и тем самым снижает общие вычислительные затраты, особенно для длинных запросов с большим количеством дублирующегося контента.
Кэширование подсказок особенно полезно для сценариев, в которых часто приходится обрабатывать одни и те же данные или подсказки, например, в системах разговорного ИИ, извлечения данных и повторяющихся запросов.
Лучшие практики кэширования подсказок OpenAI
Чтобы повысить вероятность попадания в кэш, OpenAI также дает несколько официальных советов:
- Структурированные подсказки: поместите статичный или повторяющийся контент перед подсказкой, а динамичный - за ней.
- Мониторинг показателей кэша: оптимизируйте политики хинтинга и кэширования, отслеживая количество попаданий в кэш, задержку и процент отметок в кэше.
- Используйте длинные подсказки и непиковые часы: используйте длинные подсказки и инициируйте запросы в непиковые часы, чтобы увеличить шансы на попадание в кэш, поскольку в пиковое время кэш очищается чаще.
- Поддерживайте постоянство: уменьшите вероятность очистки кэша, периодически используя запросы с одним и тем же префиксом.
Техника кэширования подсказок OpenAI Часто задаваемые вопросы и ответы
- Как кэширование обеспечивает конфиденциальность данных?
Кэши реплик не разделяются между различными организациями. Только члены одной организации могут получить доступ к одному кэшу реплик. - Кэширование подсказок влияет на выходную разметку или конечный ответ?
Кэш кияне повлияет наВыходные данные модели. Генерируемый результат всегда один и тот же, независимо от того, используется ли кэширование или нет. Поскольку кэшируются только сами подсказки, фактический ответ каждый раз пересчитывается на основе кэшированных подсказок.
- Можно ли очистить кэш вручную?
Ручная очистка кэша в настоящее время не поддерживается. Подсказки, которые не использовались в течение длительного времени, автоматически удаляются из кэша. Обычно кэш очищается в режиме 5-10 минут очищается после периода бездействия, но в периоды низкого трафика кэш может длиться не более час . - Нужно ли платить дополнительно за использование кэша подсказок?
Не требуется. Кэширование включается автоматически, без каких-либо дополнительных действий или затрат для пользователя. - Учитываются ли кэшированные подсказки в ограничениях TPM?
Да, кэширование не влияет на ограничение скорости, попадания в кэш по-прежнему учитываются в общем количестве запросов. - Можно ли использовать скидки на кэширование подсказок в Scale Tier и Bulk API?
Совет Скидки на кэш не действуют в Bulk API, но действуют в Scale Tier. В Scale Tier на токены переполнения также распространяются скидки на кэш. - Применяется ли кэширование подсказок к запросам с нулевым хранением данных?
Да, оперативное кэширование соответствует существующей политике нулевого хранения данных.
резюме
Функция кэширования реплик в Azure OpenAI представляет собой ценное оптимизационное решение для обработки длинных реплик и повторяющихся запросов. Она значительно повышает эффективность модели за счет сокращения вычислительных задержек и затрат.
Ожидается, что по мере поддержки большего количества моделей и дальнейшей оптимизации функции кэширования подсказок пользователи Azure OpenAI смогут наслаждаться более эффективным и экономичным сервисом.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...