Repolode
linkedin

linkedin/Liger-Kernel

Эффективные GPU-ядра Triton для обучения LLM: объединяют распространённые слои и функции потерь, снижая расход памяти и повышая пропускную способность.

Звёзды
6,665
Форки
627
Открытые issues
197
Последний коммит
9 часов назад

Что это?

Liger Kernel — это набор ядер Triton для обучения больших языковых моделей. Он предоставляет прямые замены распространённым операциям, таким как RMSNorm, RoPE, SwiGLU, CrossEntropy и объединённая linear cross-entropy. Они снижают трафик памяти и позволяют использовать более длинный контекст или увеличивать размер батча на тех же GPU.

Поддерживаемые модели Hugging Face можно пропатчить одним вызовом, например apply_liger_kernel_to_llama, либо собрать собственные модели из отдельных модулей ядер. В проект также входят функции потерь для постобучения — DPO, ORPO, SimPO, KTO и CPO, которые не требуют материализовать полные логиты, — а также функции потерь для дистилляции, например JSD и KL divergence. Проект совместим с PyTorch FSDP, DeepSpeed и DDP; из основных зависимостей нужны только Torch и Triton.

В репозитории перечислена поддержка множества семейств моделей, включая Llama, Qwen, Gemma, Mistral, Phi3 и DeepSeek. Также доступны бэкенды для CUDA, ROCm, Intel GPU и Ascend NPU, а для оборудования NVIDIA — дополнительные реализации на cuTile и CuTe DSL.

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

  • 01Готовые к подключению ядра Triton для RMSNorm, RoPE, SwiGLU, CrossEntropy и объединённой linear cross-entropy.
  • 02Патчинг одной строкой для многих поддерживаемых семейств моделей Hugging Face.
  • 03Эффективные по памяти функции потерь DPO, ORPO, SimPO, KTO и CPO для постобучения.
  • 04Функции потерь для дистилляции, включая JSD, KL divergence и TVD.
  • 05Совместимость с PyTorch FSDP, DeepSpeed и DDP при минимуме зависимостей.
  • 06Бэкенды для NVIDIA CUDA, AMD ROCm, Intel GPU и Ascend NPU.

Сценарии использования

  • Ускорение полного дообучения моделей Llama или Qwen в мног GPU-кластерах.
  • Снижение расхода памяти, чтобы обучать модели с более длинным контекстом или большим словарём.
  • Запуск требовательной к памяти оптимизации по предпочтениям, например DPO или ORPO, на ограниченном числе GPU.
  • Добавление эффективных функций потерь для дистилляции в конвейер обучения.

Темы

Частые вопросы

Что такое Liger-Kernel?
Эффективные GPU-ядра Triton для обучения LLM: объединяют распространённые слои и функции потерь, снижая расход памяти и повышая пропускную способность. Liger Kernel — это набор ядер Triton для обучения больших языковых моделей. Он предоставляет прямые замены распространённым операциям, таким как RMSNorm, RoPE, SwiGLU, CrossEntropy и объединённая linear cross-entropy. Они снижают трафик памяти и позволяют использовать более длинный контекст или увеличивать размер батча на тех же GPU.
Liger-Kernel можно использовать бесплатно? Какая у него лицензия?
Liger-Kernel распространяется с открытым исходным кодом под лицензией BSD-2-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
Liger-Kernel всё ещё поддерживается?
Активно поддерживается. Последний коммит в Liger-Kernel — 22 окт. 2026 г..
Для чего можно использовать Liger-Kernel?
Ускорение полного дообучения моделей Llama или Qwen в мног GPU-кластерах. Снижение расхода памяти, чтобы обучать модели с более длинным контекстом или большим словарём. Запуск требовательной к памяти оптимизации по предпочтениям, например DPO или ORPO, на ограниченном числе GPU. Добавление эффективных функций потерь для дистилляции в конвейер обучения.
Где скачать Liger-Kernel?
Исходный код и инструкции по установке — на GitHub: https://github.com/linkedin/Liger-Kernel

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Минималистичный, удобный для модификации инструментарий для полного цикла работы с LLM — от токенизации и предобучения до дообучения, оценки и чата; запускается на одном узле с GPU.

58,8 тыс.8,2 тыс.PythonMITОбновлён в прошлом месяце