学習と推論サービングの両方を対象に、量子化、スパース化、float8学習を提供するPyTorchネイティブのライブラリ。
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
pip で Thunder をインストールする
pip install lightning-thunder - 2
PyTorch と torchvision をインストールまたはアップグレードする
pip install -U torch torchvision - 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 の数値は毎日更新されます。
関連プロジェクト
大規模言語モデルやマルチモーダルモデルの学習、ファインチューニング、推論実行に役立つ手法、スクリプト、手順をまとめたオープンな書籍。
OpenAI互換APIで大規模言語モデルを実行・提供する、高速でメモリ効率に優れたライブラリ兼サーバー。
NVIDIAのCosmos3オムニモーダル世界モデル向けの学習・推論フレームワーク。分散学習、複数の推論バックエンド、RLによる学習後の追加調整に対応。
Pythonを使わずに軽量かつ高速な推論・デプロイを実現する、GPU対応のRust製ミニマルなMLフレームワーク。
OpenAIおよびAnthropic互換APIを提供するRust製LLM推論エンジン。量子化、マルチモーダルモデル、エージェント向けツールに対応。