ao: トレーニングからサービングまでのモデル量子化とスパース性のための PyTorch ネイティブ アーキテクチャ最適化ライブラリ

ao: トレーニングからサービングまでのモデル量子化とスパース性のための PyTorch ネイティブ アーキテクチャ最適化ライブラリ

何を解決するか

TorchAO は、AI モデルを高速化し、メモリ効率を高めるためのネイティブな PyTorch ライブラリを提供します。モデルのサイズと精度の間の一般的なトレードオフに対処し、ユーザーが大規模なモデル(LLM や拡散モデルなど)のメモリフットプリントを削減し、品質の大幅な低下なしにトレーニングと推論の両方を高速化できるようにします。

仕組み

TorchAO は、いくつかのアーキテクチャ最適化技術を実装しています:

  • 量子化: モデルの重みと活性化関数を低精度フォーマット(int4int8float8 など)に変換し、メモリ使用量を削減してスループットを向上させます。
  • 量子化を意識したトレーニング (QAT): 量子化中の精度低下を防ぐために、モデルが低精度に適応するようにトレーニングすることを可能にします。
  • スパース性: 半構造化 2:4 スパース性を使用して冗長な重みを削除し、速度をさらに向上させます。
  • uma-native 統合: torch.compile() および FSDP2 とシームレスに連携し、さまざまなハードウェア(CUDA、XPU、CPU、および ARM)にわたって高性能な実行を実現します。

対象ユーザー

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

ハイライト

  • トレーニングの高速化: float8 トレーニングを使用して、Llama-3.1-70B の事前トレーニングを最大 1.5 倍高速化。
  • 推論の向上: Llama-3-8B を int4 に量子化することで、1.89 倍高速な推論と 58% のメモリ使用量削減を実現可能。
  • 幅広い統合: Hugging Face Transformers、Diffusers、vLLM、および SGLang を標準でサポート。
  • メモリ効率: 量子化されたオプティマイザ(AdamW 4/8-bit)と CPU オフローディングを含み、VRAM 要件を最大 60% 削減。",

Sources