pytorch/ao

PyTorch native quantization and sparsity for training and inference

What it solves

TorchAO は、AIモデルを高速化しメモリ効率を向上させるためのネイティブ PyTorch ライブラリを提供します。モデルサイズと精度のトレードオフという一般的な課題に対処し、LLM やディフュージョンモデルなどの大規模モデルのメモリフットプリントを削減し、品質を大きく損なうことなくトレーニングと推論の速度を向上させます。

How it works

TorchAO は以下のアーキテクチャ最適化手法を実装しています:

  • Quantization:モデルの重みとアクティベーションを int4、int8、float8 などの低精度フォーマットに変換し、メモリ使用量を削減しスループットを向上させます。
  • Quantization-Aware Training (QAT):量子化による精度低下を防ぐため、低精度に適応したトレーニングを可能にします。
  • Sparsity:2:4 の半構造化スパースを用いて冗長な重みを除去し、さらなる速度向上を実現します。
  • uma-native integrationtorch.compile()FSDP2 とシームレスに連携し、CUDA、XPU、CPU、ARM など様々なハードウェア上で高性能に実行できます。

Who it’s for

このライブラリは、限られたハードウェア上で大規模モデルをデプロイしたり、巨大モデルの事前学習を高速化したり、ExecuTorch を通じてエッジデバイス向けにモデルを最適化したりする必要がある AI 研究者やエンジニア向けに設計されています。

Highlights

  • Training Speedups:float8 トレーニングにより Llama-3.1-70B の事前学習が最大 1.5 倍速くなります。
  • Inference Gains:Llama-3-8B を int4 に量子化すると、推論が 1.89 倍速くなり、メモリ使用量が 58% 減少します。
  • Broad Integration:Hugging Face Transformers、Diffusers、vLLM、SGLang を標準でサポート。
  • Memory Efficiency:量子化オプティマイザ(AdamW 4/8-bit)と CPU オフロードを備え、VRAM 要求を最大 60% 削減します。