microsoft/LLMLingua

[EMNLP'23, ACL'24] Для ускорения inference LLM и улучшения восприятия ключевой информации сжимает prompt и KV-Cache, достигая сжатия до 20x при минимальной потере производительности.

Инференс⭐ 6 689Pythonпоследний релиз: v0.2.2
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

LLMLingua — это серия инструментов для сжатия промптов (prompt compression), которая удаляет из запроса к LLM несущественные токены, ускоряя инференс и снижая затраты.

Зачем нужен

Инструмент решает проблему высоких затрат на токены и медленного отклика при работе с длинными контекстами, сжимая промпт и KV-Cache до 20x с минимальной потерей качества. Это позволяет эффективно использовать LLM в сценариях с ограниченным контекстным окном или высокими требованиями к скорости.

Что можно реализовать

  • Оптимизация RAG-систем (включая интеграции с LangChain и LlamaIndex) для снижения стоимости запросов.
  • Ускорение инференса при работе с длинными документами (до 1M токенов) с помощью LongLLMLingua и MInference.
  • Повышение безопасности LLM через SecurityLingua для выявления jailbreak-атак с минимальными накладными расходами.
  • Сжатие контекста в онлайн-встречах и цепочках рассуждений (CoT) для сохранения ключевой информации.

Ключевые возможности

  • Достигает сжатия до 20x с минимальной потерей производительности модели.
  • Версия LLMLingua-2 работает в 3-6 раз быстрее оригинала благодаря дистилляции данных от GPT-4.
  • Решает проблему 'lost in the middle' в длинных контекстах, улучшая точность RAG на 21.4% при использовании 1/4 токенов.
  • Имеет готовые интеграции в Prompt flow, LangChain и LlamaIndex.
  • Использует компактные модели (например, GPT2-small или LLaMA-7B) для классификации и удаления токенов.

👤 Кому подойдёт: разработчики LLM-приложений, инженеры RAG, исследователи в области NLP, специалисты по безопасности AI

Релизы

v0.2.2patch
🕐 29 мес назад · релиз на GitHub ↗

Релиз v0.2.2: добавлена функция сжатия JSON, исправлены ошибки в LLMLingua-2 и дублирование аргументов.

  • Added: Добавлена функция compress_json для сжатия JSON-данных.
  • Fixed: Исправлена ошибка с дублированием аргумента torch_dtype при инициализации.
  • Fixed: В LLMLingua-2 исправлено отображение заголовка.
  • Fixed: В LLMLingua-2 устранена проблема с максимальным размером чанка (chunk max seq).
  • Fixed: Исправлена общая проблема с чанками и подготовлена стабильная версия v0.2.2.