Глоссарий

Кэширование подсказок

Повысь эффективность ИИ с помощью оперативного кэширования! Узнай, как уменьшить задержки, сократить расходы и масштабировать приложения ИИ с помощью этой мощной техники.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Кэширование подсказок - это техника оптимизации, которая в основном используется в больших языковых моделях (LLM) и других генеративных моделях искусственного интеллекта (AI). Она заключается в хранении результатов обработки конкретной входной подсказки (или ее части), чтобы при повторном получении той же или очень похожей подсказки можно было быстро извлечь сохраненный результат и использовать его повторно, вместо того чтобы вычислять его с нуля. Это значительно сокращает время ожидания вывода, снижает вычислительные затраты, связанные с запуском таких мощных моделей, как GPT-4, и повышает общую эффективность и масштабируемость приложений ИИ.

Как работает кэширование подсказок

Когда LLM обрабатывает подсказку, она проходит несколько вычислительных этапов, включая токенизацию и сложные вычисления в нейросетевых слоях, часто с участием механизмов внимания. Кэширование подсказок обычно хранит промежуточное вычислительное состояние (например, пары ключ-значение в слоях внимания архитектуры Transformer, часто называемых KV-кэшем), связанное с данной подсказкой или префиксом подсказки. Когда поступает новая подсказка, система проверяет, совпадает ли ее префикс с ранее обработанной и кэшированной подсказкой. Если совпадение найдено, то извлекается кэшированное промежуточное состояние, что позволяет модели обойти начальные шаги вычислений и начать генерировать ответ на основе сохраненного состояния. Это особенно эффективно в разговорном ИИ или в сценариях, где подсказки имеют общее начало. Для эффективного управления такими кэшами системы часто используют хранилища ключевых значений вроде Redis или Memcached.

Преимущества оперативного кэширования

Реализация оперативного кэширования дает несколько преимуществ:

  • Уменьшение задержки: Значительно ускоряет время отклика на повторяющиеся или похожие запросы, улучшая пользовательский опыт в интерактивных приложениях, таких как чат-боты.
  • Снижение вычислительных затрат: Снижает нагрузку на дорогое оборудование, например GPU, что приводит к экономии средств, особенно при использовании облачных вычислительных ресурсов или API-вызовов к коммерческим LLM.
  • Улучшенная пропускная способность: Позволяет системе обрабатывать больше запросов одновременно, так как ресурсы освобождаются быстрее.
  • Последовательность: Обеспечивает одинаковые ответы на одинаковые подсказки, что может быть желательно в некоторых приложениях.

Применение в реальном мире

Оперативное кэширование ценно в различных системах, управляемых искусственным интеллектом:

  1. Разговорный ИИ и виртуальные помощники: В системах вроде виртуальных помощников по работе с клиентами многие разговоры начинаются с одинаковых приветствий или общих вопросов (например, "Какие у вас часы работы?", "Как мне сбросить пароль?"). Кэширование первичной обработки этих общих входов позволяет системе реагировать гораздо быстрее. Например, состояние обработки после обработки запроса "Здравствуйте, мне нужна помощь с..." может быть кэшировано и мгновенно повторно использовано для нескольких пользователей, начинающих похожие запросы. Изучи возможности ИИ в обслуживании клиентов.
  2. Платформы для генерации контента: Инструменты, используемые для генерации текста, такие как помощники в написании текстов или генераторы кода, часто получают подсказки с повторяющимися инструкциями или контекстными префиксами (например, "Переведи следующий текст на французский:", "Напиши код на Python для..."). Кэширование состояния, соответствующего этим префиксам, ускоряет процесс генерации, что особенно полезно в интерактивных средах или средах с большим объемом работы. Узнай о примерах использования генеративного ИИ.

Кэширование подсказок по сравнению со смежными концепциями

Полезно отличать оперативное кэширование от других родственных техник:

  • Prompt Engineering: Сосредоточен на разработке эффективных подсказок, чтобы вызвать желаемый ответ у модели ИИ. Кэширование оптимизирует выполнение этих подсказок, независимо от того, насколько хорошо они разработаны.
  • Обогащение с помощью подсказок: Представляет собой добавление контекста или уточняющей информации в подсказку пользователя до того, как она будет отправлена в модель. Кэширование происходит во время или после того, как модель обрабатывает (потенциально обогащенную) подсказку.
  • Оперативный тюнинг и LoRA: Это методы параметрической эффективной тонкой настройки (PEFT), которые адаптируют поведение модели путем обучения небольших наборов дополнительных параметров, эффективно настраивая модель под конкретные задачи. Кэширование - это оптимизация во время вывода, которая не меняет саму модель.
  • Retrieval-Augmented Generation (RAG): Улучшает подсказки, извлекая релевантную информацию из внешних баз знаний и добавляя ее в контекст подсказки. Хотя RAG изменяет входные данные, кэширование все еще может применяться для обработки комбинированной подсказки (оригинальный запрос + извлеченные данные).
  • Стандартное кэширование вывода: традиционное веб-кэширование хранит конечный результат запроса. Кэширование подсказок часто хранит промежуточные вычислительные состояния в рамках конвейера обработки модели, что позволяет более гибко использовать их повторно, особенно для подсказок, которые имеют общие префиксы, но разные окончания.

Хотя кэширование подсказок преимущественно ассоциируется с LLM, основной принцип кэширования вычислений потенциально может применяться в сложных мультимодальных моделях, где текстовые подсказки взаимодействуют с другими модальностями, хотя это менее распространено в стандартных задачах компьютерного зрения, таких как обнаружение объектов с помощью таких моделей, как Ultralytics YOLO(см. сравнение моделей YOLO ). Платформы вроде Ultralytics HUB упрощают развертывание и управление моделями ИИ, где такие оптимизации, как кэширование, могут иметь решающее значение для производительности в производственных средах(узнай о лучших практиках развертывания).

Читать полностью