linkedin/Liger-Kernel

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

Обучение⭐ 6 621Pythonпоследний релиз: v0.8.3
Открыть на 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.3major
🕐 4 дн назад · релиз на 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
🕐 1 мес назад · релиз на 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
🕐 2 мес назад · релиз на 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
🕐 4 мес назад · релиз на 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.