ao

PyTorch 原生量化,训练推理一起提速省显存

开源 free 模型训练
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 3005
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类模型训练
开发团队pytorch
所属国家
定价模式free
价格说明开源免费,PyTorch官方库
访问状态
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型brrr,cuda,dtypes,float8,inference,llama,mx,pytorch,quantization,sparsity,training,transformer
GitHub 星标★ 3005
30天Star增速
HF 下载量
上线时间2023-11-03 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-17
浏览次数0

项目介绍

ao 是 PyTorch 官方生态下的原生量化工具库,前身为 torchao,专注于让模型在训练和推理阶段都能用上低精度计算。它解决的问题很实际:大模型(如 Llama、Transformer 类)显存和算力开销大,全精度部署成本高,而传统量化方案往往要脱离 PyTorch 生态、改图或依赖第三方推理引擎。ao 把量化直接做进 PyTorch 原生流程,支持 float8、MX 等数据类型,覆盖训练、推理、稀疏化等场景,并提供 brrr、CUDA 等后端加速。核心能力包括:训练时低精度(如 float8 训练)、推理量化(int8/int4/float8)、稀疏化、以及面向 Transformer 和 Llama 的现成配方。对想在不换框架的前提下压缩模型、提速训练和推理的团队来说,它提供了官方维护、与 PyTorch 版本同步的量化路径。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:库/依赖 8 步

环境要求

  • 已安装 Python 与 pip 环境(版本要求见官方 compatibility table)
  • PyTorch 生态依赖版本需与 torchao 匹配,参考 GitHub issue 2919 的兼容表
  • 若使用 float8 / nvfp4 推理内核,建议额外安装 MSLK
  • 若使用 mxfp8 MoE 训练内核,需额外安装 apache-tvm-ffi 与 nvidia-cutlass-dsl
  • 如需预览最新特性,可改用 nightly 源安装

安装与启动步骤

  1. 1安装稳定版

    在 Python 环境中用 pip 安装最新稳定版 TorchAO,这是最推荐的安装方式。

    pip install torchao
  2. 2安装 MSLK 内核

    可选步骤。为 float8 和 nvfp4 推理提供加速内核,需 CUDA 13.0 对应的索引源。

    pip install mslk --index-url https://download.pytorch.org/whl/cu130
  3. 3装 MoE 训练依赖

    可选步骤。使用 mxfp8 MoE 训练内核前需安装 tvm-ffi 与指定版本的 cutlass-dsl。

    pip install apache-tvm-ffi
    pip install nvidia-cutlass-dsl==4.5.2 nvidia-cutlass-dsl-libs-base==4.5.2 nvidia-cutlass-dsl-libs-cu13==4.5.2
  4. 4按硬件换安装源

    根据本机 CUDA/XPU 环境选择对应索引源,纯 CPU 环境用 cpu 源。

    pip install torchao --index-url https://download.pytorch.org/whl/cu126
    pip install torchao --index-url https://download.pytorch.org/whl/cu129
    pip install torchao --index-url https://download.pytorch.org/whl/xpu
    pip install torchao --index-url https://download.pytorch.org/whl/cpu
  5. 5安装 nightly 版

    想体验最新功能时,从 nightly 源安装预览版本,注意稳定性低于正式版。

    pip install --pre torchao --index-url https://download.pytorch.org/whl/nightly/cu128
  6. 6开发者源码安装

    克隆仓库后在根目录源码安装,必须带 --no-build-isolation,否则编译会失败。

    git clone https://github.com/pytorch/ao.git
    cd ao
    USE_CUDA=1 pip install -e . --no-build-isolation
  7. 7量化模型权重

    在代码中导入量化接口,用 Int4WeightOnlyConfig 把模型权重量化为 int4。

    import torch
    from torchao.quantization import Int4WeightOnlyConfig, quantize_
    quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))
  8. 8配置 float8 量化

    推理/服务侧可用 TorchAoConfig 指定 float8 动态激活加 float8 权重,粒度按行。

    quantization_config = TorchAoConfig(quant_type=Float8DynamicActivationFloat8WeightConfig(granularity=PerRow()))

关键配置

配置项必填说明示例
group_size是int4 分组量化时每组包含的元素个数32
int4_packing_format否int4 权重的打包布局格式tile_packed_to_4d
int4_choose_qparams_algorithm否int4 量化参数的选取算法hqq
quant_type是传给 TorchAoConfig 的量化类型配置Float8DynamicActivationFloat8WeightConfig(granularity=PerRow
granularity否float8 量化的缩放粒度,例如按行PerRow()

如何确认成功

执行 Quick Start 中的 int4 量化代码片段,模型权重被成功量化为 int4 且无报错,即安装可用。

常见问题

Q:该装哪个 CUDA 版本的包?

A:按本机环境选索引源:cu126、cu129 对应不同 CUDA 版本,XPU 用 xpu,纯 CPU 用 cpu;不确定时先用默认 pip install torchao。

Q:还需要自己装 PyTorch 吗?

A:torchao 属于 PyTorch 生态,但其依赖版本要求需参考官方 compatibility table(GitHub issue 2919)确认后再对齐安装。

Q:源码安装为什么报编译错误?

A:开发者安装必须加 --no-build-isolation 参数,并按后端设置 USE_CUDA=1、USE_XPU=1 或 USE_CPP=0。

Q:如何把模型量化成 int4?

A:调用 quantize_(model, Int4WeightOnlyConfig(...)),示例中设置 group_size=32 与 hqq 算法即可生效。

Q:想用 float8 训练或推理怎么配?

A:使用 TorchAoConfig 搭配 Float8DynamicActivationFloat8WeightConfig,并用 granularity=PerRow() 指定按行粒度。

注意事项

  • MSLK、apache-tvm-ffi、cutlass-dsl 均为可选项,只在使用对应推理/MoE 训练内核时才需要安装。
  • 安装源必须与硬件匹配,混用不同 CUDA 版本的 index-url 容易导致依赖冲突。
  • nightly 版本为预览性质,生产环境建议使用 pip install torchao 的稳定版。
  • 具体依赖版本以官方 compatibility table 为准,安装前先核对。

核心亮点

  • PyTorch 官方维护,与主版本同步,兼容性和长期维护有保障
  • 同时覆盖训练与推理量化,支持 float8、MX 等新数据类型,不局限于推理压缩
  • 提供 Llama、Transformer 等现成量化配方,接入成本低,可直接复用

不足之处

  • 部分量化方案对硬件(如 CUDA 新架构)有要求,老卡或非 N 卡体验受限
  • 文档和 API 仍在快速演进,版本间可能存在不兼容,生产落地需锁定版本

适用场景

  • 大模型训练时用 float8 降低显存占用、提升吞吐
  • 推理部署时把 Llama 等模型量化到 int4/int8 以节省显存和成本
  • 研究量化算法与稀疏化对模型精度和速度的影响

替代项目

bitsandbytes、GPTQ-for-LLaMa

上一篇:ggufy

下一篇:vector-quantize-pytorch

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 464 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 63828 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1317 2026-08-13