Repolode
linkedin

linkedin/Liger-Kernel

LLMの学習に使える効率的なTriton GPUカーネル。一般的なレイヤーや損失関数を融合し、メモリ使用量を抑えてスループットを高めます。

スター
6,665
フォーク
627
未解決の Issue
197
最終コミット
3 時間前

これは何?

Liger Kernelは、大規模言語モデルの学習向けTritonカーネル集です。RMSNorm、RoPE、SwiGLU、CrossEntropy、融合型linear cross-entropyなどの一般的な演算を置き換えられます。これによりメモリ転送を削減し、同じGPUでより長いコンテキスト長や大きなバッチサイズを扱えます。

apply_liger_kernel_to_llamaなどを1回呼び出すだけで、対応するHugging Faceモデルにパッチを適用できます。また、個々のカーネルモジュールを組み合わせて独自モデルに組み込むことも可能です。リポジトリには、全logitsの生成を避ける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による実装も利用できます。

主な機能

  • 01RMSNorm、RoPE、SwiGLU、CrossEntropy、融合型linear cross-entropy向けの、置き換えて使えるTritonカーネル。
  • 02対応する多数のHugging Faceモデルファミリーに、1行でパッチを適用。
  • 03学習後処理向けの、メモリ効率に優れたDPO、ORPO、SimPO、KTO、CPO損失関数。
  • 04JSD、KL divergence、TVDなどの蒸留損失関数。
  • 05依存関係を最小限に抑えつつ、PyTorch FSDP、DeepSpeed、DDPと互換。
  • 06NVIDIA CUDA、AMD ROCm、Intel GPU、Ascend NPU向けのバックエンド。

ユースケース

  • マルチGPUクラスターでLlamaやQwenモデルのフルファインチューニングを高速化する。
  • メモリ使用量を抑え、より長いコンテキスト長や大きな語彙サイズで学習する。
  • GPUが限られた環境で、DPOやORPOなどメモリ負荷の高い選好最適化を実行する。
  • 学習パイプラインに効率的な蒸留損失関数を追加する。

トピック

よくある質問

Liger-Kernel とは?
LLMの学習に使える効率的なTriton GPUカーネル。一般的なレイヤーや損失関数を融合し、メモリ使用量を抑えてスループットを高めます。 Liger Kernelは、大規模言語モデルの学習向けTritonカーネル集です。RMSNorm、RoPE、SwiGLU、CrossEntropy、融合型linear cross-entropyなどの一般的な演算を置き換えられます。これによりメモリ転送を削減し、同じGPUでより長いコンテキスト長や大きなバッチサイズを扱えます。
Liger-Kernel は無料で使えますか?ライセンスは?
Liger-Kernel は BSD-2-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
Liger-Kernel は今もメンテナンスされていますか?
活発にメンテナンス中。Liger-Kernel の最終コミットは 2026年10月22日 です。
Liger-Kernel は何に使えますか?
マルチGPUクラスターでLlamaやQwenモデルのフルファインチューニングを高速化する。 メモリ使用量を抑え、より長いコンテキスト長や大きな語彙サイズで学習する。 GPUが限られた環境で、DPOやORPOなどメモリ負荷の高い選好最適化を実行する。 学習パイプラインに効率的な蒸留損失関数を追加する。
Liger-Kernel はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/linkedin/Liger-Kernel

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト