

PyTorch全新原生函数库torchao,利用低精度数据型态、量化和稀疏性技术,显著降低模型的计算成本和内存使用,提升推理与训练性能
PyTorch推出全新原生函数库torchao,通过低精度数据型态、量化和稀疏性技术,减少模型的计算成本和内存使用量,让模型运行更高性能。torchao提供了一套易于使用的工具组,支持多种模型推理和训练优化方法,可广泛用于PyTorch模型,热门的LLaMA 3和Diffusion模型皆可获得显著的性能提升。
低精度数据型态是torchao加速的关键之一。该工具支持float8、int4等低精度数据型态,能有效减少计算成本和内存使用需求,像是在LLaMA 3 70B模型预训练中,torchao提供了float8训练流程,可将模型运算加速达1.5倍。开发者只需要使用convert_to_float8_training函数,即可将模型训练运算转换成float8,简单实现高效训练。
在推理方面,torchao提供多种量化方式,包括权重量化(Weight-Only Quantization)和动态启动量化(Dynamic Activation Quantization)。用户可以通过API自行选择适合的量化策略,以达到推理的最佳性能。
torchao提供int4权重量化方法,可以将LLaMA 3 8B模型的推理速度提升达97%,而通过量化的键值缓存,在128K上下文长度下显示内存使用量可减少73%。此外,torchao的autoquant功能可自动替模型的每一层选择最佳量化方式,减少开发者手动调整的麻烦。
稀疏性技术也是torchao提升模型效率的重要手段,借由引入稀疏性,torchao可优化模型参数计算,降低不必要的运算开销,例如torchao结合稀疏性和量化技术,可让ViT-H模型推理获得5%速度提升。同时,torchao还可将权重量化成int4,并将键值缓存量化成int8,使LLaMA 3.1 8B在完整的128K上下文长度下,仅占用18.9GB的显示内存。
torchao不仅显著提升LLaMA 3 8B模型的基准测试性能,还让Diffusion模型Flux.1-Dev的推理速度提升53.88%。
PyTorch官方未来将继续更新torchao,支持精度低于int4以下的数据型态,开发更高吞吐量的推理内核,甚至拓展支持更多的硬件后端。