microsoft/MInference

[NeurIPS'24 Spotlight, ICLR'25, ICML'25] Для ускорения inference Long-context LLMs применяется аппроксимированный и динамический sparse расчет attention, что снижает latency pre-filling до 10x на A100 при сохранении точности.

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

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

MInference — это метод ускорения инференса длинных контекстов (до 1 млн токенов) за счет динамического разреженного вычисления внимания (attention).

Зачем нужен

Инструмент решает проблему высокой задержки при пре-филлинге (pre-filling) длинных промптов в LLM, сокращая время обработки до 10x на GPU A100 без потери точности. Он использует заранее определенные паттерны разреженности для каждого attention head, что позволяет эффективно обрабатывать огромные объемы контекста.

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

  • Ускорение обработки промптов объемом до 1 млн токенов в моделях типа LLaMA-3-8B-1M или GLM-4-1M.
  • Интеграция оптимизированных ядер в движки vLLM и SGLang для получения ускорения от 1.6x до 15x в зависимости от длины контекста.
  • Ускорение инференса мультимодальных моделей (VLM) с использованием MMInference для учета особенностей визуальных данных.
  • Оценка эффективности методов работы с длинным контекстом через бенчмарк SCBench, анализирующий жизненный цикл KV cache.

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

  • Ускорение пре-филлинга до 10x на одной GPU A100 при сохранении точности.
  • Поддержка контекста до 1 миллиона токенов.
  • Интеграция ядер в популярные фреймворки vLLM и SGLang (включая поддержку FlashAttention-3).
  • Наличие мультимодального расширения MMInference для ускорения VLM.
  • Принят в топовые конференции: NeurIPS'24 Spotlight, ICLR'25, ICML'25.

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

Релизы

v0.1.6minor
🕐 15 мес назад · релиз на GitHub ↗

Добавлена поддержка Qwen-Turbo-1M, LLaMA-3-70B-1M, FlexPrefill и xAttention, обновлена совместимость с transformers.

  • Added: Добавлена поддержка моделей Qwen-Turbo-1M и LLaMA-3-70B-1M с возможностью многопроцессорного параллелизма.
  • Added: Внедрены новые функции: FlexPrefill, xAttention, поддержка SGLang/vLLM и chunk MLP.
  • Added: Добавлен бенчмарк SCBench и обновлена версия CUDA для релиза.
  • Added: Обновлена поддержка библиотеки transformers (версия >=4.46.0).
  • Fixed: Исправлены ошибки в поисковых паттернах, вычислениях residual, работе с кэшем и конфигурациях Qwen.