AIKraft Agents

linkedin/Liger-Kernel

Эффективные ядра Triton для обучения LLM

Обучение⭐ 6 686Pythonпоследний релиз: v0.8.5
Открыть на GitHub ↗Сайт проекта ↗

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

Liger Kernel — это набор оптимизированных Triton-ядер для ускорения обучения больших языковых моделей (LLM) и снижения потребления памяти.

Зачем нужен

Инструмент решает проблему высоких затрат ресурсов при обучении LLM, увеличивая пропускную способность обучения на 20% и сокращая использование памяти на 60%. Это позволяет работать с более длинными контекстами, большими батчами и обширными словарями без переполнения памяти (OOM).

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

  • Ускорение обучения моделей LLaMA с использованием PyTorch FSDP или DeepSpeed
  • Оптимизация памяти при задачах пост-обучения (DPO, ORPO, CPO, SimPO, KTO)
  • Интеграция с Hugging Face моделями для поддержки длинных контекстов (до 16K токенов)
  • Использование с Flash Attention для повышения эффективности вычислений

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

  • Готовые совместимые с Hugging Face реализации RMSNorm, RoPE, SwiGLU, CrossEntropy
  • Оптимизированные ядра для потерь (losses) при выравнивании и дистилляции (экономия до 80% памяти)
  • Полная поддержка AMD GPU
  • Простая интеграция через одну строку кода
  • Работа в связке с torch.compile и Flash Attention

👤 Кому подойдёт: ML-инженеры, исследователи в области NLP, разработчики, занимающиеся обучением и тонкой настройкой (fine-tuning) больших языковых моделей

Релизы

v0.8.5minorbreaking
🕐 16 дн назад · релиз на GitHub ↗

Liger-Kernel v0.8.5: поддержка DeepSeek V2, частичного RoPE, оптимизации RL и повышение минимальной версии Transformers до 5.0.0.

  • Added: Добавлена поддержка модели DeepSeek V2 через apply_liger_kernel_to_deepseek_v2.
  • Added: В Triton-ядро внедрена поддержка частичного RoPE (Partial RoPE).
  • Added: В fused scaled cross-entropy добавлена возможность получения log probabilities для выбранных токенов.
  • Breaking: Минимальная поддерживаемая версия библиотеки Transformers повышена до 5.0.0.
  • Fixed: Исправлены градиенты KL и маскированных потерь в GRPO, а также коррекция vLLM для VESPO loss.
  • Fixed: Устранены проблемы с torch.compile для kl_div/tvd и исправлен патчинг RMSNorm/SwiGLU для новых моделей.
0.8.5minor
🕐 16 дн назад · релиз на GitHub ↗

Релиз Liger Kernel 0.8.5: поддержка DeepSeek-V2, частичного RoPE, исправления для Llama4, Qwen2-VL и оптимизации производительности.

  • Added: Добавлена поддержка apply_liger_kernel_to_deepseek_v2 для моделей DeepSeek-V2.
  • Added: В ядро Triton добавлена поддержка частичного RoPE (partial RoPE).
  • Fixed: Исправлены патчи для Llama4 (SwiGLU) и Qwen2-VL/Qwen2.5-VL (RMSNorm) в transformers >= 5.2.
  • Fixed: Устранены ошибки в градиентах GRPO, коррекция vLLM для VESPO loss и работа torch.compile для kl_div/tvd.
  • Added: В fused scaled cross entropy добавлены логарифмические вероятности для выбранных токенов.
  • Fixed: Повышен минимальный требуемый пакет transformers до версии 5.0.0.
v0.8.4minor
🕐 1 мес назад · релиз на GitHub ↗

Релиз Liger-Kernel v0.8.4: поддержка DeepSeek-V3, новый ядро CE+TVD, оптимизация PPO и исправления стабильности.

  • Added: Добавлена поддержка DeepSeek-V3 через apply_liger_kernel_to_deepseek_v3.
  • Added: Введено новое ядро для объединённого вычисления cross-entropy и TV distance.
  • Added: Оптимизация PPO: пропуск вычисления градиентов для замороженных LM-head.
  • Fixed: Исправлены ошибки численной стабильности и градиентов в JSD, TVD, KTO и LayerNorm.
  • Fixed: Улучшена совместимость с Ascend NPU и исправлены ошибки индексации в Triton.
v0.8.3major
🕐 1 мес назад · релиз на GitHub ↗

Liger Kernel v0.8.3: поддержка Blackwell, улучшенные MoE и FLCE, мульти-DSL бэкенды и оптимизации для Ascend NPU.

  • Added: Добавлены ядра для архитектур Hopper и Blackwell, включая тензорно-параллельные fused losses и новые модули LigerMLP.
  • Added: Реализована инфраструктура мульти-DSL с единым диспетчером для Triton, CuTe DSL и cuTile.
  • Fixed: Исправлена корректность градиентов входных данных (dx) в MoE на Blackwell/B300 и улучшена стабильность обратного прохода.
  • Added: Значительно ускорена и оптимизирована по памяти работа Fused Linear Cross Entropy (FLCE).
  • Added: Расширена поддержка Ascend NPU с оптимизациями ключевых операций и обновлением зависимостей.
v0.8.2minor
🕐 2 мес назад · релиз на GitHub ↗

Релиз Liger-Kernel v0.8.2: новые CuTe-ядра для Hopper/Blackwell, интеграция MoE и SwiGLU, улучшения точности и производительности.

  • Added: Добавлены экспериментальные бэкенды CuTe DSL, cuTile и LigerCute с оптимизациями для GPU Hopper и Blackwell.
  • Added: Внедрено ядро fused linear scaled cross entropy, совместимое с verl-style вычислениями для RL-обучения.
  • Added: Добавлена интеграция SwiGLU для Megatron и улучшена поддержка NPU.
  • Fixed: Исправлены проблемы корректности и точности в ядрах cross entropy, RMSNorm, JSD и MoE.
v0.8.1minor
🕐 3 мес назад · релиз на GitHub ↗

Релиз Liger-Kernel v0.8.1: интеграция с Megatron-Core, поддержка Gemma-4 и DeepSeek-v4, оптимизации для Ascend NPU и новые функции DPO.

  • Added: Добавлена нативная интеграция с Megatron-Core через пространство имен liger_kernel.megatron без monkey-patching.
  • Added: Расширена поддержка моделей: добавлены apply_liger_kernel_to_gemma4 и apply_liger_kernel_to_deepseek_v4.
  • Added: Значительно улучшена работа с Ascend NPU: оптимизированы cross_entropy, SwiGLU, attention и добавлена поддержка машин A3.
  • Added: В DPO добавлены новые типы потерь: hinge, bco_pair, robust, exo_pair и discopop.
  • Added: Запущено экспериментальное скелетное решение для альтернативных бэкендов (cuTile, CuTe DSL) с возможностью выбора через переменную окружения.
  • Fixed: Исправлена ошибка переполнения int32 в fused MoE и улучшена совместимость с transformers v5.8.0 и Triton.
v0.8.0major
🕐 6 мес назад · релиз на GitHub ↗

Ускорение MoE через LigerExperts, поддержка Qwen3.5, Nemotron, Gemma 4 и Ascend NPU, новые Claude-скиллы.

  • Added: Добавлен LigerExperts для ускорения обучения MoE-моделей (до 8.24x токенов/сек на Qwen3-30B-A3B).
  • Added: Расширен список поддерживаемых моделей: Qwen3.5 (MoE, dense, multimodal), Nemotron, Ministral, Gemma 4, Falcon H1.
  • Added: Включена официальная поддержка бэкенда Ascend NPU с новыми ядрами (softmax, layer_norm, kl_div и др.).
  • Added: Появились три встроенных Claude Code Skills для упрощения создания, патчинга и профилирования ядер.
  • Added: Добавлены новые API и оптимизации: mHC fused kernels, поддержка predicted_tokens в cross-entropy, GRPO loss types.