Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Кэширование промптов

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

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

Как работает кэширование промптов

Когда LLM обрабатывает последовательность текста, он вычисляет внутренние состояния для каждой лексемы в своем контекстном окне. Это вычислительно затратная часть процесса, особенно для длинных подсказок. Основная идея кэширования подсказок, часто называемого KV-кэшированием, заключается в сохранении этих внутренних состояний, а именно пар ключ-значение (KV) в механизме внимания. Например, если модель обрабатывает префикс "Переведите следующий английский текст на французский:", она сохраняет полученное состояние. Когда позже она получит полный запрос типа "Переведите следующий английский текст на французский: 'Hello, world!'", она сможет загрузить кэшированное состояние для начальной фразы и начать вычисления только для новой части. Это значительно ускоряет процесс генерации текста при последующих аналогичных запросах. Системы, подобные проекту vLLM с открытым исходным кодом, призваны эффективно управлять этим процессом, повышая общую производительность механизма вывода.

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

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

  • Интерактивные чатботы и виртуальные помощники: При общении с чатботом каждый ответ строится на основе предыдущих. Кэширование истории разговора в виде префикса позволяет модели генерировать следующий ответ без повторной обработки всего диалога. Это приводит к более плавному и отзывчивому взаимодействию, что является основополагающим фактором для работы современных виртуальных помощников и улучшает пользовательский опыт в таких платформах, как Poe.
  • Генерация и завершение кода: ИИ-помощники по кодированию, такие как GitHub Copilot, часто используют кэширование. Существующий код в файле служит длинной подсказкой. Кэшируя KV-состояния этого кода, модель может быстро генерировать предложения для следующей строки или завершения функции без необходимости повторно анализировать весь файл при каждом вводе символа, что делает возможным вывод в реальном времени. Эта техника является ключевой частью работы помощников ИИ по коду.

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

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

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

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

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена