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

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

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

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

Механизмы и преимущества

Основной механизм кэширования подсказок основан на эффективном управлении контекстным окном. Когда LLM обрабатывает ввод, он генерирует "KV Cache" (Key-Value Cache), представляющий понимание текста моделью до этого момента. Кэширование подсказок рассматривает начальный segment подсказки (префикс) как многократно используемый актив.

  • Сокращение задержки: Пропуская вычисления для кэшированного префикса, уменьшается Время до первого токена (TTFT) значительно сокращается, что приводит к более быстрым ответам в в сценариях вывода в реальном времени.
  • Экономическая эффективность: С Графические процессоры (GPU) тратят меньше времени на обработку избыточных токенов, общее количество вычислительных ресурсов, требуемых на один запрос, уменьшается, что снижает операционные расходы на сервисов искусственного интеллекта (ИИ).
  • Повышенная пропускная способность: Системы могут обрабатывать большее количество одновременных запросов, поскольку вычислительная нагрузка для каждого отдельного запроса сведена к минимуму.

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

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

  1. Помощники кодирования с учетом контекста: В инструментах, обеспечивающих завершение кода, все содержимое Текущий файл и библиотеки, на которые он ссылается, часто служат контекстом подсказки. Этот "префикс" может состоять из тысяч лексем. Используя кэширование подсказок, помощник может кэшировать состояние файла. По мере того как разработчик набирает текст (добавляя новые лексемы), модель обрабатывает только новые символы, а не перечитывает всю структуру файла, что обеспечивает субсекундное время отклика, которое наблюдается в современных интегрированных средах разработки (IDE).
  2. Анализ документов и вопросы и ответы: Рассмотрим систему, предназначенную для ответов на вопросы по 50-страничному PDF руководство. С помощью Retrieval-Augmented Generation (RAG), текст руководства подается в модель. Без кэширования каждый раз, когда пользователь задает вопрос, модель должна заново обрабатывать все руководство и вопрос. При оперативном кэшировании тяжелая вычислительная работа по пониманию руководства выполняется один раз и сохраняется. Последующие вопросы добавляются к этому кэшированному состоянию, что делает взаимодействие при ответе на вопрос плавным и эффективным.

Концепция технической реализации

Хотя кэширование подсказок является внутренним для серверов вывода LLM, понимание структуры данных помогает прояснить концепцию. В "кэше", по сути, хранятся тензоры (многомерные массивы), представляющие состояния внимания.

Следующий фрагмент на Python , использующий torch демонстрирует форму и концепцию tensor кэша "ключ-значение", который хранится и повторно используется при оперативном кэшировании:

import torch

# Simulate a KV Cache tensor for a transformer model
# Shape: (Batch_Size, Num_Heads, Sequence_Length, Head_Dim)
batch_size, num_heads, seq_len, head_dim = 1, 32, 1024, 128

# Create a random tensor representing the pre-computed state of a long prompt
kv_cache_state = torch.randn(batch_size, num_heads, seq_len, head_dim)

print(f"Cached state shape: {kv_cache_state.shape}")
print(f"Number of cached parameters: {kv_cache_state.numel()}")
# In practice, this tensor is passed to the model's forward() method
# to skip processing the first 1024 tokens.

Различение смежных понятий

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

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

Кэширование подсказок является неотъемлемой частью Обработка естественного языка (NLP), принципы эффективности универсальны. В компьютерном зрении (КВ) используются такие модели, как YOLO11 архитектурно оптимизированы для скорости, обеспечивая чтобы задачи обнаружения объектов достигали высокой частоты кадров не нуждаясь в кэшировании состояния, которое используется в моделях языка авторегрессии. Однако по мере по мере развития мультимодальных моделей для совместной обработки видео и текста, кэширование визуальных лексем становится новой областью исследований, описанной в работах на arXiv.

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

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

Присоединиться сейчас