ao: 一個用於從訓練到推理模型量化與稀疏化的 PyTorch 原生架構優化函式庫

ao: 一個用於從訓練到推理模型量化與稀疏化的 PyTorch 原生架構優化函式庫

它解決了什麼問題

TorchAO 提供了一個原生的 PyTorch 函式庫,用於優化 AI 模型,使其更快速且更具記憶體效率。它解決了模型大小與準確度之間常見的權衡問題,允許使用者在不顯著損失品質的情況下,減少大型模型(如 LLMs 和 diffusion models)的記憶體佔用,並加速訓練與推理。

運作原理

TorchAO 實作了多種架構優化技術:

  • Quantization: 它將模型權重與啟動值轉換為低精度格式(例如 int4, int8, 和 float8),從而減少記憶體使用量並提高吞吐量。
  • Quantization-Aware Training (QAT): 為了防止量化過程中的準確度損失,它允許模型在訓練過程中適應低精度。
  • Sparsity: 它使用半結構化 2:4 sparsity 來移除冗餘權重,進一步提升速度。
  • uma-native integration: 它能與 torch.compile()FSDP2 無縫整合,在各種硬體(CUDA, XPU, CPU, 和 ARM)上實現高效能執行。

對象是誰

此函式庫專為 AI 研究人員與工程師設計,他們需要在有限的硬體上部署大規模模型、加速巨型模型的預訓練,或透過 ExecuTorch 為邊緣裝置優化模型。

重點亮點

  • 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 offloading,可將 VRAM 需求降低高達 60%。

Sources