STen:PyTorch 中高效且富有生产力的稀疏性
STen: Productive and Efficient Sparsity in PyTorch
AI总结:
本文提出面向 PyTorch 的稀疏编程框架 STen,统一支持稀疏布局、算子与稀疏化器,并以高性能分组 n:m 稀疏布局验证其在 CPU 推理中的效果,旨在降低稀疏技术使用门槛。
摘要:
随着深度学习模型规模的增长,稀疏性正日益成为深度神经网络的关键组成部分,能够提升性能并减少存储。然而,现有框架对稀疏性的支持较差。专门的稀疏引擎仅专注于稀疏推理,而通用框架主要关注经典格式的稀疏张量,忽视了使用稀疏模型所需的更广泛的稀疏化流程,尤其是在训练期间。此外,现有框架不易扩展:添加新的稀疏张量格式或算子既困难又耗时。为解决这一问题,我们提出了 STen,一个面向 PyTorch 的稀疏编程模型和接口,它将稀疏布局、算子和稀疏化器整合到一个高效、可定制且可扩展的框架中,支持几乎所有稀疏化方法。我们通过开发一个用于中等稀疏度下 CPU 推理的高性能分组 n:m 稀疏布局来证明这一点。STen 为机器学习社区带来了高性能和易用性,使稀疏性易于获取。
英文摘要:
As deep learning models grow, sparsity is becoming an increasingly critical component of deep neural networks, enabling improved performance and reduced storage. However, existing frameworks offer poor support for sparsity. Specialized sparsity engines focus exclusively on sparse inference, while general frameworks primarily focus on sparse tensors in classical formats and neglect the broader sparsification pipeline necessary for using sparse models, especially during training. Further, existing frameworks are not easily extensible: adding a new sparse tensor format or operator is challenging and time-consuming. To address this, we propose STen, a sparsity programming model and interface for PyTorch, which incorporates sparsity layouts, operators, and sparsifiers, in an efficient, customizable, and extensible framework that supports virtually all sparsification methods. We demonstrate this by developing a high-performance grouped n:m sparsity layout for CPU inference at moderate sparsity. STen brings high performance and ease of use to the ML community, making sparsity easily accessible.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。