Prompt Compression
Исследуй, как сжатие промптов оптимизирует эффективность ИИ. Узнай, как сократить использование токенов LLM, снизить затраты и повысить скорость инференса с Ultralytics YOLO26 уже сегодня.
Сжатие промптов — это продвинутый метод оптимизации, предназначенный для уменьшения длины и сложности входного текста, предоставляемого большим языковым моделям (LLM) и мультимодальным моделям. Алгоритмически удаляя избыточные слова, нерелевантный контекст и стоп-слова при сохранении основного семантического смысла, сжатие промптов позволяет ИИ-системам обрабатывать информацию более эффективно. Этот метод становится всё более критичным для минимизации вычислительных затрат, снижения задержки вывода и предотвращения превышения моделями максимального контекстного окна.
Link to this sectionКак работает сжатие промптов#
На архитектурном уровне сжатие промптов часто использует небольшие специализированные модели или теоретико-информационные алгоритмы для оценки важности каждого токена в заданном промпте. Такие методы, как слияние токенов и прунинг на основе энтропии, выявляют и удаляют токены, которые вносят незначительный вклад в общий смысл. Это гарантирует, что итоговый ввод содержит только самую плотную информацию.
Последние исследования авторитетных организаций показывают, что сильно сжатые промпты могут сохранять производительность в сложных задачах на рассуждение, при этом значительно снижая потребление токенов. Для разработчиков, интегрирующих ИИ в масштабируемые приложения, соблюдение руководств по промпт-инжинирингу от OpenAI и использование фреймворков для сжатия является стандартной лучшей практикой для эффективного развертывания.
Link to this sectionРеальные приложения#
Сжатие промптов приносит немедленную пользу в сценариях, требующих быстрой обработки обширных текстовых или визуальных данных:
- Retrieval-Augmented Generation (RAG): В корпоративных поисковых приложениях конвейеры RAG часто извлекают десятки объемных документов для ответа на один запрос пользователя. Алгоритмы сжатия промптов сокращают эти извлеченные документы, превращая их в краткие фактические резюме перед передачей в генеративную модель. Это предотвращает переполнение токенов и ускоряет вывод в реальном времени.
- Автономные ИИ-агенты: Агенты и чат-боты должны сохранять долговременную память о взаимодействиях с пользователем. Вместо передачи всей истории диалога в каждый новый запрос, методы сжатия резюмируют более старые части диалога, гарантируя, что агент остается в контексте без экспоненциального роста вычислительных затрат.
Link to this sectionСжатие промптов в сравнении с похожими методами#
Чтобы построить надежные конвейеры машинного обучения (MLOps), важно отличать сжатие промптов от смежных концепций:
- Vs. Кэширование промптов: Кэширование сохраняет внутренние вычислительные состояния ранее обработанного текста, чтобы избежать их повторного вычисления. Сжатие же активно изменяет и сокращает сам входной текст до начала какой-либо обработки.
- Vs. Промпт-инжиниринг: Промпт-инжиниринг — это созданное человеком мастерство разработки эффективных инструкций. Сжатие — это автоматизированное алгоритмическое сокращение этих инструкций.
- Vs. Обогащение промптов: Обогащение расширяет промпт путем добавления внешнего контекста, тогда как сжатие его уменьшает. Их часто используют вместе: система может обогатить промпт результатами из базы данных, а затем сжать финальный полезный груз перед выводом.
Link to this sectionРеализация в компьютерном зрении#
В компьютерном зрении (CV) принципы сжатия промптов применяются при использовании моделей с открытым словарем, которые принимают текстовые запросы для идентификации объектов. Поддержание краткости описаний классов обеспечивает более быстрое текстовое кодирование и снижает нагрузку на память.
Для производственных сред с фиксированными классами, где скорость имеет первостепенное значение, разработчики обычно переходят от моделей, управляемых текстовыми промптами, к высокооптимизированным моделям с фиксированной архитектурой, таким как Ultralytics YOLO26. Ты можешь эффективно управлять наборами данных и обучать эти современные модели, используя Ultralytics Platform.
from ultralytics import YOLO
# Load an open-vocabulary YOLO-World model
model = YOLO("yolov8s-world.pt")
# Principle of prompt compression: Use concise, distilled class names
# instead of lengthy, complex descriptions for faster text encoding
compressed_prompts = ["helmet", "vest", "forklift"]
model.set_classes(compressed_prompts)
# Run inference with the optimized class list
results = model.predict("https://ultralytics.com/images/bus.jpg")
results[0].show()





