首页
/ PyTorch AO v0.10.0发布:量化训练与低比特优化的新突破

PyTorch AO v0.10.0发布:量化训练与低比特优化的新突破

2025-06-24 19:18:55作者:秋泉律Samson

PyTorch AO(torchao)是PyTorch生态中专注于模型量化和优化的核心库。作为PyTorch官方支持的量化工具链,它提供了从训练时量化(QAT)到推理优化的完整解决方案。最新发布的v0.10.0版本带来了多项重要更新,特别是在低比特优化、新型量化格式支持和模块化量化API方面取得了显著进展。

MXFP8训练支持:NVIDIA B200上的性能飞跃

v0.10.0版本最引人注目的特性是对MXFP8(Microscaling Formats)数据类型的端到端训练支持。MXFP8是一种新型的8位浮点格式,专为AI训练设计,在NVIDIA最新的B200 GPU上展现出卓越的性能表现。

测试数据显示,使用cuBLAS的MXFP8矩阵乘法(GEMM)操作相比传统的bfloat16实现了超过2倍的加速比。更令人印象深刻的是,从bfloat16到MXFP8的数据类型转换操作达到了惊人的5.5TB/s带宽。这一突破主要得益于:

  1. 优化的Triton内核实现,支持MXFP8的列主序存储
  2. 改进的编译器融合策略,减少数据类型转换开销
  3. 针对大规模张量的特殊处理优化

开发者现在可以通过简单的API调用将模型转换为MXFP8格式进行训练,同时保持与标准浮点训练相当的模型精度。这一特性特别适合大规模语言模型训练场景,能显著降低显存占用和计算开销。

PARQ:基于正则化的渐进式量化新范式

v0.10.0引入了一种创新的量化方法——Piecewise-Affine Regularized Quantization(PARQ)。与传统的量化感知训练(QAT)不同,PARQ通过优化器层面的正则化实现量化,无需修改模型的前向或反向传播过程。

PARQ的核心优势在于:

  1. 统一框架支持标准QAT和渐进式量化策略
  2. 仅需在优化器中添加量化配置,不影响模型结构
  3. 基于理论保证的量化诱导方法,确保训练稳定性

使用示例展示了其简洁性:开发者只需在参数组中指定量化位数,然后用QuantOptimizer包装原有优化器即可。这种方法大幅降低了量化训练的实现复杂度,同时提供了灵活的量化策略配置空间。

模块化量化API:研究友好的新接口

新版本推出了模块交换量化API的原型实现,为研究社区提供了更灵活的量化工具。该API允许开发者直接将线性层或嵌入层替换为量化版本,并通过量化器对象精细控制权重和输入的量化方式。

关键特性包括:

  1. 支持动态量化和静态量化配置
  2. 可组合的量化器设计,支持对称/非对称量化
  3. 灵活的位宽和分组大小设置
  4. 与现有量化流程的兼容性设计

这种模块化设计使得研究者可以快速实验新的量化算法,而无需深入底层实现细节。虽然目前仍处于原型阶段,但这一API代表了torchao向更通用、更可扩展的量化框架演进的重要一步。

低比特优化器正式支持与性能提升

此前作为原型特性的低比特优化器在v0.10.0中升级为正式支持功能。这些优化器专为量化训练设计,能够在保持模型精度的同时显著减少内存占用和计算开销。

配套的低比特CPU和MPS内核现在支持通过源码安装,特别针对Arm架构的Mac设备进行了优化。新版本引入了多项改进:

  1. 1-8位通用内核支持,覆盖更广泛的量化需求
  2. 共享嵌入量化器,优化Llama等模型的嵌入层处理
  3. 基于CPU特性的运行时微内核选择机制
  4. KleidiAI微内核库集成,提升Arm CPU上的GEMM性能

开发者现在可以使用简洁的API实现高性能的低比特推理,特别是在资源受限的边缘设备上,这些优化能带来显著的加速效果。

向后兼容性调整与未来方向

v0.10.0版本也包含了一些重要的API调整:

  1. 移除了Float8Config中的延迟缩放(delayed scaling)支持
  2. 强化了quantize_函数的类型检查
  3. 解耦了量化配置与torchinductor的依赖关系

这些变化虽然需要开发者进行少量代码调整,但使得API更加清晰和一致。项目团队表示,未来将继续优化MXFP8性能,完善模块化量化API,并扩展对更多硬件平台的支持。

PyTorch AO v0.10.0的发布标志着量化训练技术的重要进步,特别是为需要高效训练大规模模型的研究者和工程师提供了更多可能性。随着这些新特性的成熟和普及,我们有望看到更多低资源消耗、高性能的AI模型在实际场景中得到应用。

登录后查看全文
热门项目推荐
相关项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
144
1.93 K
kernelkernel
deepin linux kernel
C
22
6
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
192
274
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
145
189
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
930
553
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
423
392
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
75
66
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.11 K
0
openHiTLS-examplesopenHiTLS-examples
本仓将为广大高校开发者提供开源实践和创新开发平台,收集和展示openHiTLS示例代码及创新应用,欢迎大家投稿,让全世界看到您的精巧密码实现设计,也让更多人通过您的优秀成果,理解、喜爱上密码技术。
C
64
511