zhihu/ZhiLight

Высокооптимизированный движок ускорения LLM inference для Llama и его вариантов.

Инференс⭐ 908C++последний релиз: v0.4.8
Открыть на GitHub ↗

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

ZhiLight — высокооптимизированный движок для инференса LLM (Llama, DeepSeek, Qwen), разработанный Zhihu и ModelBest Inc. для ускорения работы моделей на PCIe-видеокартах.

Зачем нужен

Инструмент решает задачу повышения производительности LLM-инференса по сравнению с vLLM и SGLang, особенно на потребительских GPU (например, AD102) и в сценариях с ограниченной пропускной способностью шины PCIe. Он полезен для снижения задержек (TTFT/TPOT) и увеличения QPS при развертывании больших моделей (до 110B параметров) на доступном оборудовании.

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

  • Развертывание моделей DeepSeek-V3/R1 (FP8/AWQ/GPTQ) и Llama 3.x на PCIe-видеокартах с максимальной производительностью.
  • Инференс мультимодальных моделей, таких как DeepSeek-VL2.
  • Запуск MoE-моделей (DeepSeekV2 MoE/MLA) и квантованных моделей (INT8, SmoothQuant, FP8, AWQ, GPTQ) с использованием fused kernels.
  • Оптимизация работы с динамическими батчами и префиксным кэшированием (prefix cache) для снижения затрат на prefill.

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

  • Существенное преимущество в производительности над vLLM на PCIe-устройствах (A800, H20, AD102).
  • Технология 'dual streams' (перекрытие encode и all-reduce) с поддержкой Int8-quantized all-reduce.
  • Fused batch attention для декодирования на базе tensor core инструкций.
  • Поддержка OpenAI-compatible API, TP и PP (Tensor/Model Parallelism) на одном узле.
  • Нативная поддержка квантования: INT8, SmoothQuant, FP8, AWQ, GPTQ (включая Marlin kernel).

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

Релизы

v0.4.8major
🕐 21 мес назад · релиз на GitHub ↗

ZhiLight v0.4.8: асинхронный интерфейс OpenAI, оптимизации через SIMD и Tensor Core, поддержка MoE, FlashAttention и квантования.

  • Added: Асинхронный интерфейс, совместимый с OpenAI, адаптированный из vllm.
  • Added: Оптимизация производительности: наложение encode и all-reduce (dual streams), SIMD-инструкции для host all-reduce.
  • Added: Fused batch attention для декодирования на базе инструкций Tensor Core.
  • Added: Поддержка MoE, DeepSeek-V2 MoE и DeepSeek-V2 MLA.
  • Added: Поддержка квантования INT8, SmoothQuant, FP8, AWQ, GPTQ и ядра Marlin для GPTQ.
  • Added: Поддержка FlashAttention, chunked prefill, prefix cache и динамического батча.