書籍『Build a Large Language Model (From Scratch)』のサンプルコード。PyTorchでGPT風LLMを段階的に実装します。
Lightning-AI/litgpt
事前学習、ファインチューニング、評価、サービングに対応する、20種類以上のオープンウェイトモデルをスクラッチ実装したPyTorchベースのLLMツールキット。
- スター
- 13,724
- フォーク
- 1,527
- 未解決の Issue
- 315
- 最終コミット
- 9 日前
これは何?
LitGPTは、大規模言語モデルを扱うためのPythonツールキットです。対応モデルはそれぞれ少ない内部抽象化レイヤーで1つのファイルにスクラッチ実装されているため、コードを読みやすく、変更も容易です。Llama、Gemma、Qwen、Phi、Mistral、Falconなど20種類以上のモデルファミリーに対応し、CLIとPython APIから重みのダウンロード、チャット、ファインチューニング、事前学習、評価、サービングを実行できます。
このプロジェクトは、実験から大規模な学習までを想定しています。LoRA、QLoRA、Adapterベースのパラメータ効率のよいファインチューニング、低精度および量子化設定(4-bit、8-bitを含む)、Flash Attention、fully-sharded data parallelismによるマルチGPU学習に対応しています。一般的なモデルやハードウェア構成向けのYAML学習レシピが用意されており、チェックポイントは他のモデル重み形式にエクスポートできます。
LitGPTはLightning Fabricを基盤とし、Lit-LLaMAおよびnanoGPTのコードベースを拡張しています。Apache 2.0ライセンスで公開されています。
主な機能
- 01抽象化レイヤーを最小限に抑えた、スクラッチ実装の単一ファイルモデル。
- 02LoRA、QLoRA、Adapter、Adapter v2によるファインチューニング。
- 03独自のテキストデータを使った事前学習と継続事前学習。
- 044-bit、8-bitへの量子化と、FP16/BF16混合精度に対応。
- 05fully-sharded data parallelismによるマルチGPU学習とTPU/XLAに対応。
- 06ローカルWeb API経由でのモデル提供と、CLIからの対話型チャット。
ユースケース
- PhiやLlamaなどのオープンウェイトモデルを、ドメイン固有の指示データセットでファインチューニングする。
- フレームワークによる間接層を介さず、LLMのアーキテクチャコードを調査・変更する。
- メモリに制約のあるGPUで4-bit量子化モデルを実行する。
- ファインチューニング済みチェックポイントをHTTP推論エンドポイントとしてデプロイする。
クイックスタート
- 1
pipでLitGPTをインストールする
pip install 'litgpt[extra]' - 2
Python APIでモデルを読み込み、テキストを生成する(READMEの例を使用)
使う前に知っておきたいこと
- より大規模なモデルの学習やファインチューニングには、現実的にはGPUハードウェアが必要です。
トピック
よくある質問
- litgpt とは?
- 事前学習、ファインチューニング、評価、サービングに対応する、20種類以上のオープンウェイトモデルをスクラッチ実装したPyTorchベースのLLMツールキット。 LitGPTは、大規模言語モデルを扱うためのPythonツールキットです。対応モデルはそれぞれ少ない内部抽象化レイヤーで1つのファイルにスクラッチ実装されているため、コードを読みやすく、変更も容易です。Llama、Gemma、Qwen、Phi、Mistral、Falconなど20種類以上のモデルファミリーに対応し、CLIとPython APIから重みのダウンロード、チャット、ファインチューニング、事前学習、評価、サービングを実行できます。
- litgpt は無料で使えますか?ライセンスは?
- litgpt は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- litgpt は今もメンテナンスされていますか?
- 活発にメンテナンス中。litgpt の最終コミットは 2026年10月13日 です。
- litgpt は何に使えますか?
- PhiやLlamaなどのオープンウェイトモデルを、ドメイン固有の指示データセットでファインチューニングする。 フレームワークによる間接層を介さず、LLMのアーキテクチャコードを調査・変更する。 メモリに制約のあるGPUで4-bit量子化モデルを実行する。 ファインチューニング済みチェックポイントをHTTP推論エンドポイントとしてデプロイする。
- litgpt のインストール方法は?
- pipでLitGPTをインストールする: pip install 'litgpt[extra]' Python APIでモデルを読み込み、テキストを生成する(READMEの例を使用)
- litgpt はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Lightning-AI/litgpt
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
トークナイズから事前学習、ファインチューニング、評価、チャットまで、LLMの全工程をカバーする、単一GPUノードで動作する最小限で改造しやすいハーネス。
限られたGPUメモリで大規模MoEモデルを推論し、LoRAまたは全パラメータをファインチューニングするためのCPU-GPU異種構成LLM研究フレームワーク。
量子化なしで、レイヤー単位に大規模言語モデルを実行し、70Bクラスのモデルを4GB GPU 1枚で推論できるPythonライブラリ。
YAMLファイルで設定できる、大規模言語モデルのファインチューニングとポストトレーニング向けの無料・オープンソースフレームワークです。
Intelが提供するオープンソースのPythonライブラリ。PyTorch、JAX、ONNXに対応し、量子化・スパース化・蒸留で深層学習モデルを圧縮します。