Google CloudのTPUとGPUで大規模モデルの事前学習と事後学習を行うための、JAXベースのオープンソースLLMライブラリ兼リファレンス実装です。
google/paxml
Paxは、主に言語モデルを対象に、TPU上で大規模な機械学習実験を設定・実行するためのJAXベースのフレームワークです。
- スター
- 560
- フォーク
- 73
- 未解決の Issue
- 30
- 最終コミット
- 12 日前
これは何?
Pax(Paxml)は、JAX上で機械学習実験を設定・実行するためのフレームワークです。実験や並列化を柔軟に設定できる設計で、decoder-only Transformer言語モデルなどの大規模モデルの学習を想定しています。モデル、タスク、学習器は、データクラスベースのハイパーパラメータで定義します。これらは関連ライブラリのPraxisレイヤーを基盤とし、Fiddleによる設定にも対応しています。
Google Cloud TPU VMを対象としており、単一ホストのv4構成、TPU Podスライス、マルチスライス構成に対応しています。C4データセットを使って10億、160億以上のパラメータ数のモデルを学習する実験設定例を収録し、TPU v4 Podでの弱スケーリング実行におけるModel FLOPs Utilization(MFU)のベンチマークも含まれています。データ入力にはSeqIO、Lingvo、または独自のBaseInputサブクラスを利用でき、マルチホストのシャーディングと評価に関するガイダンスも用意されています。
リポジトリには、NVIDIAがGPU対応の更新版Paxを別途管理しており、そのリポジトリを参照するよう記載されています。
主な機能
- 01データクラスとFiddleを基盤とした、柔軟に設定できる実験とハイパーパラメータ。
- 02pjit/SPMD、pmap、TPUのマルチスライス構成に対応した並列化。
- 0310億、160億パラメータのモデルやGPT-3 XL相当のモデル向けC4学習設定例。
- 04SeqIO、Lingvoアダプター、独自の入力処理など、複数のデータ入力方法。
- 05TPU v4 PodにおけるModel FLOPs Utilizationのベンチマーク。
ユースケース
- Google Cloud TPU v4 Podでの大規模なdecoder-only言語モデルの学習。
- モデルや並列化の設定を変更しながら、再現可能なJAXベースの実験を実行。
- モデルやチップの規模を変えて学習効率(MFU)をベンチマーク。
クイックスタート
- 1
Cloud TPU VM を作成する(先に環境変数を設定)
gcloud compute tpus tpu-vm create $TPU_NAME --zone=$ZONE --version=$VERSION --project=$PROJECT --accelerator-type=$ACCELERATOR - 2
TPU VM に SSH 接続する
gcloud compute tpus tpu-vm ssh $TPU_NAME --zone=$ZONE - 3
TPU 向けの JAX とともに Pax を PyPI からインストールする
python3 -m pip install paxml jax[tpu] -f https://storage.googleapis.com/jax-releases/libtpu_releases.html - 4
サンプルのテストモデルを実行する
python3 .local/lib/python3.8/site-packages/paxml/main.py --exp=tasks.lm.params.lm_cloud.LmCloudSpmd2BLimitSteps --job_log_dir=gs://<your-bucket>
使う前に知っておきたいこと
- Cloud TPU ハードウェア向けに設計されており、README のセットアップ手順とサンプルは TPU VM を前提としています。
- セットアップには、GCP プロジェクトやストレージバケットなどの Google Cloud リソースが必要です。
トピック
よくある質問
- paxml とは?
- Paxは、主に言語モデルを対象に、TPU上で大規模な機械学習実験を設定・実行するためのJAXベースのフレームワークです。 Pax(Paxml)は、JAX上で機械学習実験を設定・実行するためのフレームワークです。実験や並列化を柔軟に設定できる設計で、decoder-only Transformer言語モデルなどの大規模モデルの学習を想定しています。モデル、タスク、学習器は、データクラスベースのハイパーパラメータで定義します。これらは関連ライブラリのPraxisレイヤーを基盤とし、Fiddleによる設定にも対応しています。
- paxml は無料で使えますか?ライセンスは?
- paxml は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- paxml は今もメンテナンスされていますか?
- 活発にメンテナンス中。paxml の最終コミットは 2026年10月26日 です。
- paxml は何に使えますか?
- Google Cloud TPU v4 Podでの大規模なdecoder-only言語モデルの学習。 モデルや並列化の設定を変更しながら、再現可能なJAXベースの実験を実行。 モデルやチップの規模を変えて学習効率(MFU)をベンチマーク。
- paxml のインストール方法は?
- Cloud TPU VM を作成する(先に環境変数を設定): gcloud compute tpus tpu-vm create $TPU_NAME --zone=$ZONE --version=$VERSION --project=$PROJECT --accelerator-type=$ACCELERATOR TPU VM に SSH 接続する: gcloud compute tpus tpu-vm ssh $TPU_NAME --zone=$ZONE TPU 向けの JAX とともに Pax を PyPI からインストールする: python3 -m pip install paxml jax[tpu] -f https://storage.googleapis.com/jax-releases/libtpu_releases.html サンプルのテストモデルを実行する: python3 .local/lib/python3.8/site-packages/paxml/main.py --exp=tasks.lm.params.lm_cloud.LmCloudSpmd2BLimitSteps --job_log_dir=gs://<your-bucket>
- paxml はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/google/paxml
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
AIや数値計算向けに、テスト済みのJAXライブラリ(Flax、Optax、Orbax、Chex、Grain)を互換性のあるバージョンでまとめてインストールできるパッケージ。
PyTorchのモデルや演算をGoogleのTensor Processing Unit(TPU)上で実行できるPyTorchバックエンド。
RayとvLLMを基盤とする、大規模言語モデルや視覚言語モデルのRLHFおよびエージェント型RL学習フレームワーク。
FSDP2、Muon、Liger kernelsに対応した、VLM・diffusion・LLM向けの統合トレーニングエンジン。
Speziエコシステム向けのLLM用Swiftパッケージ。オンデバイスモデル、OpenAI、Fogノードでの推論に対応。