Repolode
Lightning-AI

Lightning-AI/lightning-thunder

検査可能なIRと合成可能な変換を備え、PyTorchモデルを学習・推論向けに最適化するソース間コンパイラ。

スター
1,474
フォーク
120
未解決の Issue
483
最終コミット
25 日前

これは何?

Thunderは、モデルを受け取り、最適化された形に変換するPyTorch向けの深層学習コンパイラです。計算全体をシンプルなPython風の中間表現として取り込み、内容を検査・プロファイリングしたり、より高速な演算やカーネルに置き換えるために書き換えたりできます。

最適化は、計算トレース、モデル、重みに作用する変換やプラグインを通じて適用します。分散並列化(DDP、FSDP、TP)、FP8およびMXFP8の精度、量子化、CUDA Graphsなどに対応しています。実行は、NVFuserやtorch.compileなどのfuser、cuDNN SDPAやTransformerEngineなどの特化ライブラリ、カスタムTriton・CUDAカーネル、またはPyTorchのeager演算に振り分けられます。

エントリポイントはthunder.compile(model)です。通常のtorchモジュールにも、LitGPTやHugging Face Transformersなどのライブラリのモデルにも適用できます。

主な機能

  • 01計算グラフ全体を、検査可能なPython風IRとして取り込みます。
  • 02モデル、トレース、重みをまとめて変更する、合成可能な変換を提供します。
  • 03分散学習(DDP、FSDP、TP)、FP8/MXFP8、量子化、CUDA Graphs向けのプラグインを備えています。
  • 04演算をfuser、cuDNN、TransformerEngine、Triton、またはCUDAカーネルに振り分けます。

ユースケース

  • NVIDIA GPUでのLLMの事前学習やファインチューニングを高速化する。
  • Hugging Faceやtorchvisionのモデルを、より低レイテンシで推論する。
  • モデルの混合精度や量子化の設定を試す。
  • 単一GPU向けのPyTorchモデルを、複数GPUでの分散実行にスケールさせる。

クイックスタート

  1. 1

    pip で Thunder をインストールする

    pip install lightning-thunder
  2. 2

    PyTorch と torchvision をインストールまたはアップグレードする

    pip install -U torch torchvision
  3. 3

    Thunder で PyTorch モデルをコンパイルして実行する(README の Hello World の例を参照)

使う前に知っておきたいこと

  • NVIDIA GPU のオプションサポートには、特定の torch および CUDA バージョンに対応した nvfuser ビルドなど、追加パッケージが必要です。
  • transformer_engine による Float8 のサポートはソースからコンパイルする必要があり、インストールに時間がかかります。
  • README によると、Thunder は torch.compile の代替ではなく、特定の構成で主に速度向上が得られます。

トピック

よくある質問

lightning-thunder とは?
検査可能なIRと合成可能な変換を備え、PyTorchモデルを学習・推論向けに最適化するソース間コンパイラ。 Thunderは、モデルを受け取り、最適化された形に変換するPyTorch向けの深層学習コンパイラです。計算全体をシンプルなPython風の中間表現として取り込み、内容を検査・プロファイリングしたり、より高速な演算やカーネルに置き換えるために書き換えたりできます。
lightning-thunder は無料で使えますか?ライセンスは?
lightning-thunder は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
lightning-thunder は今もメンテナンスされていますか?
活発にメンテナンス中。lightning-thunder の最終コミットは 2026年10月12日 です。
lightning-thunder は何に使えますか?
NVIDIA GPUでのLLMの事前学習やファインチューニングを高速化する。 Hugging Faceやtorchvisionのモデルを、より低レイテンシで推論する。 モデルの混合精度や量子化の設定を試す。 単一GPU向けのPyTorchモデルを、複数GPUでの分散実行にスケールさせる。
lightning-thunder のインストール方法は?
pip で Thunder をインストールする: pip install lightning-thunder PyTorch と torchvision をインストールまたはアップグレードする: pip install -U torch torchvision Thunder で PyTorch モデルをコンパイルして実行する(README の Hello World の例を参照)
lightning-thunder はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Lightning-AI/lightning-thunder

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

関連プロジェクト