Repolode
pytorch

pytorch/ao

学習と推論サービングの両方を対象に、量子化、スパース化、float8学習を提供するPyTorchネイティブのライブラリ。

スター
3,013
フォーク
655
未解決の Issue
819
最終コミット
一昨日

これは何?

TorchAOは、PyTorch上に直接構築された量子化・モデル最適化ライブラリです。weight-only量子化や動的量子化(int4、int8、float8を含む)、量子化対応学習(QAT)、float8およびMXFP8の学習レシピ、スパース化、オプティマイザのメモリ使用量を削減する量子化オプティマイザを提供します。

torch.compileおよびFSDP2との連携を想定して設計されており、Hugging Faceの大半のPyTorchモデルで利用できます。量子化モデルはquantize_ APIやtransformers、diffusersとの統合を通じて作成でき、vLLMやSGLangなどのバックエンドでサービングしたり、ExecuTorch経由でエッジデバイスにデプロイしたりできます。

TorchTitanではfloat8の事前学習に、TorchTuneではQLoRAやQATのレシピに、UnslothとAxolotlではQATによるファインチューニングに利用されています。

主な機能

  • 01推論向けに、重みと活性化をint4、int8、float8で量子化できます。
  • 02量子化後に失われた精度を回復するための量子化対応学習(QAT)レシピを提供します。
  • 03torch.compileおよびFSDP2と連携するfloat8、MXFP8学習をサポートします。
  • 048-bit、4-bit、fp8 AdamWなどの量子化オプティマイザと、メモリ使用量を削減する単一GPUでのCPUオフロードを提供します。
  • 05Hugging Face transformers、diffusers、vLLM、SGLang、ExecuTorchと連携します。

ユースケース

  • int4またはfloat8の重みを使って大規模言語モデルをサービングし、GPUメモリ使用量とレイテンシを削減する。
  • QATで量子化モデルをファインチューニングし、低ビット推論による精度低下を抑える。
  • マルチGPUクラスターで大規模なTransformerモデルのfloat8事前学習を実行する。
  • ExecuTorchを使って量子化モデルをモバイル端末やエッジデバイスにデプロイする。

クイックスタート

  1. 1

    PyPIから最新の安定版TorchAOをインストールします

    pip install torchao
  2. 2

    quantize_を使ってモデルの重みをint4に量子化します(modelをPyTorchモデルに置き換えてください)

    quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))

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

  • 一部のオプションカーネルや学習機能には、追加パッケージと特定のCUDAビルドが必要です。
  • Float8とMoEの学習機能は、特定のGPUハードウェアに依存します。

トピック

よくある質問

ao とは?
学習と推論サービングの両方を対象に、量子化、スパース化、float8学習を提供するPyTorchネイティブのライブラリ。 TorchAOは、PyTorch上に直接構築された量子化・モデル最適化ライブラリです。weight-only量子化や動的量子化(int4、int8、float8を含む)、量子化対応学習(QAT)、float8およびMXFP8の学習レシピ、スパース化、オプティマイザのメモリ使用量を削減する量子化オプティマイザを提供します。
ao は無料で使えますか?ライセンスは?
ao は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
ao は今もメンテナンスされていますか?
活発にメンテナンス中。ao の最終コミットは 2026年10月19日 です。
ao は何に使えますか?
int4またはfloat8の重みを使って大規模言語モデルをサービングし、GPUメモリ使用量とレイテンシを削減する。 QATで量子化モデルをファインチューニングし、低ビット推論による精度低下を抑える。 マルチGPUクラスターで大規模なTransformerモデルのfloat8事前学習を実行する。 ExecuTorchを使って量子化モデルをモバイル端末やエッジデバイスにデプロイする。
ao のインストール方法は?
PyPIから最新の安定版TorchAOをインストールします: pip install torchao quantize_を使ってモデルの重みをint4に量子化します(modelをPyTorchモデルに置き換えてください): quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))
ao はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/pytorch/ao

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

関連プロジェクト