mit-han-lab/streaming-llm

[ICLR 2024] Эффективные потоковые языковые модели с аттеншн-синками

Инференс⭐ 7 267Python
Открыть на GitHub ↗Сайт проекта ↗

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

StreamingLLM — это метод оптимизации инференса больших языковых моделей (LLM), позволяющий обрабатывать бесконечные потоки текста без падения производительности и памяти. Он решает проблему переполнения кэша KV-состояний за счет сохранения только последних токенов и специальных «якорей внимания» (attention sinks).

Зачем нужен

Инструмент решает задачу непрерывной генерации текста в сценариях с длинными диалогами, где традиционные методы требуют сброса кэша или пересчета состояний, что приводит к потере контекста или замедлению работы. StreamingLLM позволяет LLM работать бесконечно долго, используя фиксированный объем памяти, равный размеру исходного окна контекста, без необходимости дообучения модели.

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

  • Многопользовательские чат-боты и виртуальные ассистенты, требующие непрерывной работы без потери контекста последних сообщений.
  • Обработка длинных потоков данных в реальном времени, где важно реагировать на последние вводные данные, а не на всю историю.
  • Развертывание LLM на устройствах с ограниченными ресурсами (например, iPhone) благодаря снижению требований к памяти.
  • Интеграция в существующие инфраструктурные решения, такие как HuggingFace Transformers, NVIDIA TensorRT-LLM и Intel Extension for Transformers.

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

  • Поддержка бесконечной длины входных последовательностей без увеличения потребления памяти (ограничение только размером исходного окна контекста модели).
  • Выявление и использование феномена «attention sinks» для сохранения качества генерации при отсечении старых токенов.
  • Ускорение работы до 22.2x по сравнению с базовыми методами пересчета скользящего окна (sliding window recomputation).
  • Работа без дообучения (fine-tuning) на популярных моделях: Llama-2, MPT, Falcon, Pythia.
  • Активная интеграция в экосистему: поддержка от NVIDIA, Intel, HuggingFace и других крупных игроков.

👤 Кому подойдёт: Разработчики LLM, инженеры по машинному обучению (MLOps), исследователи в области NLP, а также компании, разрабатывающие продукты на базе чат-ботов и голосовых ассистентов с высокими требованиями к latency и memory effic

Релизы

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