依英特尔
概览概览
int8 量子化是加速在x86 cpu平台上进行深层学习推断的有力技术。 通过将模型的重量和活化的精确度从32位浮点(fp32)降低到8位整数(int8 ) , int8 量子化可以显著提高推论速度,降低内存要求,同时又不牺牲准确性。
我们将讨论pytorrch公司x86 cpu 的int8 量化的最新进展, 重点是新的x86 量化后端。 我们还将简要审视与 pytorrch 2. 0 export (pt2e) 和trchinducor公司(trchinducor) 的新的量化路径。
x86 量化后端
pytorrch目前建议的量化方式是:fx在 pytorrch 2. 0 之前,x86 cpu 的默认量化后端(a.k.a.a. qengine)是fbgemm,它利用fbgem 性能库实现性能加速。在pytorch 2.0 版中,引入了名为 x86 的新量化后端,以取代fbgemm。x86 量化后端提供与fbgem 原始后端相比,通过利用fbgem和f英特尔-一anapi 深神经网络图书馆( onednn)内核图书馆。
x86 后端的性能收益
为了衡量新的x86后端后端的绩效效益,我们根据69个流行的深深学习模式(见图1-3(以下) 使用第4 genen intelé xeon可缩放处理器。结果显示,与fp32 的推论性能相比,地平面性能加速2.97x,而fbgemm后端的加速度为1.43x。下图显示,与x86 后端和fbgemm后端相比,每个模型性能加速度是每模型性能加速度。
图1 图1: 使用 x86 后端1 的不小于 2x 的性能促进模型1
图2 图2: 2x-4x 286 后端1 的 2x-4x 性能助推模型
图3 图3: 具有 x86 后端1 的大于 4x 性能助推的模型1
x86 后端的使用
默认值为 2.0 时, x86 平台上的用户将使用 x86 的量化后端, 而使用默认后端时他们的 pytorrch 程序将保持不变。 或者, 用户可以指定 x86 为明确的量化后端 。
下面是pytorrch 静态训练后量化的代码片段, 带有 x86 量化后端 。
从 cherch.ao. quantization 导入的点火炬 获取 _ default_ qconfig_ 映射来自 rch. quantization. quantize_ fx 导入准备_ fx, 转换_ fx qconfig_mapping = get_ default_ qconfig_mapping ()
x86 后端技术细节
我们根据我们基准模型的性能数字设计了超速发送规则,以决定是否援引一个dnn 或fbgemm 性能图书馆来实施演进或矩阵乘法操作。这些规则是操作种类、形状、cpu架构信息等组合。在这里关于更多的设计和技术讨论,请参看以下文件:征求评论意见.
下一个步骤, 带有新的量化路径 pytorch 2. 0 导出
新的量化路径,即pytorrch 2. 0 export (pt2e),虽然还远未最后确定,但还处于早期设计和poc阶段。新的方法将在未来取代fx量化路径。它以trchdymona export 的能力为基础,这是pytorrch 2.0 发布fx 图形时引入的一个特性。这个图随后被量化并降为不同的后端。trchingentor,即新的dl pytorrch 编译器,在fp32 加速x86 cpu的速度方面已经显示出有希望的结果。我们正积极努力使它成为pt2e 的量化后端之一。我们认为,新的路径将导致int8 推论性表现的进一步改善,因为不同层次的熔化更加灵活。
结语
pytorrch 2.0 版中引入的x86 后端显示,在x86 cpu平台上int8 的推断速度有了显著改善。 与原始的fbgemm后端相比,它提供了1.43x的加速速度,同时保持了后向兼容性。 这一增强可以使终端用户受益,而其程序只需略微修改或不作任何修改。 此外,目前正在开发一个新的量化路径,即pt2e, 正在开发之中, 并有望在未来提供更多的可能性 。
承认
特别感谢nikita sulga、vasiliy kuznetsov、supriya rao和jongsoo公园。 我们一起在改善pytoch cpu生态系统的道路上又向前迈出了一步。
配置
1aws ec2 r 7iz. metal-16xl situ (intel(r) xeon(r) gold 6455b, 32-core/64-thread, turbo boft on, 超导, 内存: 8x64gb, 储存: 192gb); os: ubuntu 22.04.1 lts; kernel: 5.1.50-1028-aws; 批量大小:1; 核心每例: 4; pytorch 2.0 rc3; 火炬vision 0.1.0 cpu, intel于 3/77/2023 进行测试, 5月没有反映所有公开的安全最新情况。
喷射式点胶机的特点
三星手机安装基于 Android 11 和 One UI 3 后,将无法再隐藏前置摄像头
为什么说OLED是电流驱动,而不是电压驱动
微波的发展史简介
如何解决电缆进水问题?
INT8量子化PyTorch x86处理器
半导体功率器件技术的整体演进情况
BHEX平台币BHT的价值是怎么来的
四维图新获沃尔沃汽车亚太区“2022年度最佳供应商”奖
感温光缆和感温光纤的区别
openharmony和鸿蒙的关系是什么?
西门子PLC S7-1200软件编写总结
华为家庭绿电解决方案对生活方式进行“三重奏”
苹果新技术可使用TouchID指纹传感器进行触控操作
电容屏和电阻屏的区别_电容屏和电阻屏哪个好
PCB设计为什么电容要就近摆放?
电缆组件在安装应用过程中都有哪些注意事项
磁鼓/REMUX/DMBTH,磁鼓/REMUX/DMBTH是
机器人与互联网对工业互联网发展的作用
语音识别的优缺点_语音识别功能介绍