FMInference/H2O

[NeurIPS'23] H2O: Oracle для эффективного генеративного inference больших языковых моделей.

Инференс⭐ 534Python
Открыть на GitHub ↗

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

H2O — это метод оптимизации инференса больших языковых моделей (LLM), который снижает потребление памяти GPU за счет умного управления KV cache.

Зачем нужен

Инструмент решает проблему высокой стоимости развертывания LLM при генерации длинных текстов, динамически удаляя из кэша менее значимые токены (Heavy Hitters сохраняются). Это позволяет значительно увеличить пропускную способность (до 29x) и снизить задержку (до 1.9x) без потери качества модели.

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

  • Развертывание диалоговых систем и чат-ботов с длинной историей переписки на ограниченных GPU
  • Генерация длинных текстов, таких как рассказы или технические документы, с высокой пропускной способностью
  • Оптимизация инференса моделей OPT, LLaMA и GPT-NeoX для снижения затрат на инфраструктуру
  • Интеграция существующих систем инференса (DeepSpeed, Hugging Face, FlexGen) с политикой вытеснения KV cache

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

  • Динамическая политика вытеснения KV cache, основанная на выявлении 'тяжелых' токенов (Heavy Hitters)
  • Ускорение пропускной способности до 29x по сравнению с DeepSpeed Zero-Inference и Hugging Face Accelerate
  • Снижение задержки (latency) до 1.9x при том же размере батча
  • Наличие двух реализаций: на базе FlexGen для высокой пропускной способности и на базе Hugging Face для тестирования бенчмарков
  • Теоретическое обоснование алгоритма как задачи динамического субмодулярного оптимизирования

👤 Кому подойдёт: ML-инженеры, разработчики LLM-инференса, исследователи в области оптимизации нейросетей, компании, развертывающие LLM в продакшене с ограниченным GPU-ресурсом

Релизы

Релизы ещё не отслежены — появятся после ближайшего опроса.