揭晓飞桨平台提速秘诀:INT8量化加速实现“事半功倍”

作为一家持续创新, 致力于“用科技让复杂世界更简单”的高科技公司, 百度* 正不遗余 力地推进人工智能(Artificial Intelligence, AI)最前沿技术的发展与探索, 并为各行业 与 AI 的无缝对接提供基础支撑。其中,飞桨*(PaddlePaddle*)作百度推出的开源深度 学习平台, 就能帮助企业与开发者快速、便捷地创建自己的深度学习应用。

随着飞桨在 AI应用领域的不断拓展, 百度发现, AI 训练与推理所需的巨大计算量和部署 复杂度, 给其在企业市场上的商用部署造成了较高的门槛, 对可用性造成了影响。同时,  它也看到, 在用于图像识别、图像分类等场景的深度学习模型中, INT8 等低精度的定点 计算在推理准确度上与传统的 32 位浮点计算相差无几, 但在计算速度、功率消耗上却有 着更大的优势。

通过与英特尔开展紧密合作, 百度在其飞桨深度学习平台中发布了 INT8 离线量化方案。 实际验证表明, 基于第二代英特尔? 至强?可扩展处理器平台, 并利用其集成的、对 INT8 有优化支持的英特尔? 深度学习加速技术(VNNI指令集), 可在不影响预测准确度的情 况下, 使多个深度学习模型在使用 INT8 时的推理速度,加速到使用 FP32 时的 2-3 倍之多1,大大提升了用户深度学习应用的工作效能。

百度飞桨开源深度学习平台实现的解决方案优势:

? 在图像分类等场景所用的深度学习模型中,采用 INT8 等低精度定点计算方式,可以更高效地利用高速缓存,减少带宽瓶颈,并更大限度地利用计算资源,降低功率消耗;

? 在 ResNet-50* 和 MobileNet-V1* 等多个深度学习模型上的实践表明,基于第二代英特尔? 至强? 可扩展处理器,特别是它所集成的英特尔? 深度学习技术的支持,INT8可以实现与 FP32 相近的深度学习模型推理准确度,两者差值在 1% 以内2

? 在这些深度学习模型上的实践,同时还表明,基于第二代英特尔? 至强? 可扩展处理器及英特尔?深度学习技术的支持,INT8 可实现更快的深度学习模型推理速度,其推理速度约为 FP32 的 2.2 倍~2.79倍3

更具效能的 INT8 推理方案

与 FP32 相比,INT8 有着更小的数值精度和动态范围,因此在深度学习中采用 INT8 推理方式,需要着重解决计算执行时的信息损失问题。在飞桨新版中,离线 INT8 推理功能通过校准的方式来形成待推理的 INT8 模型,实现了在将 FP32 转换为INT8 时尽可能减少其信息损失的目标。

以图像分析应用为例,从高精度数值向低精度数据转换,实际是一个边计算边缩减的过程。换言之,如何确认缩减的范围是尽可能减少信息损失的关键。在 FP32 向 INT8 映射的过程中,根据数据集校准的方式,来确定映射缩减的参数。在确定参数后,平台再根据所支持的 INT8 操作列表,对图形进行分析并执行量化/反量化等操作。量化操作用于 FP32 向 S8(有符 INT8)或 U8(无符 INT8)的量化,反量化操作则执行反向操作。

基于以上概念,如图一所示,飞桨将校准过程分成了张量统计收集和图形转换两个步骤。前者会输入预设的校准数据集(可根据用户需求来确定校准数据集的 Batch Size 大小和迭代次数)和经优化的 FP32 模型及权重,平台会在校准数据集上执行 FP32 推理,并获得激活张量(Ac tivation Tensor)和权重张量(Weight Tensor)两个参数。

来自英特尔新一代至强的技术助力

在新版飞桨中,百度导入了英特尔? 深度学习加速技术——这一集成在第二代英特尔? 至强? 可扩展处理器中的全新 AI 技术的支持。英特尔这款全新处理器不仅以优化的微架构、更多及更快的内核和内存通道带来了计算性能的提升,更面向 AI 应用提供了更为全面的硬件加速能力。

英特尔? 深度学习加速技术通过 VNNI 指令集提供了多条全新的宽融合乘加 (FMA) 内核指令,可用于支持 8 位或 16 位低精度数值相乘,这对于需要执行大量矩阵乘法的深度学习计算而言尤为重要。它的导入,使得用户在执行 INT8 推理时,对系统内存的要求最大可减少75%4,而对内存和所需带宽的减少,也加快了低数值精度运算的速度,从而使系统整体性能获得大幅提升。

利用第二代英特尔? 至强? 可扩展处理器提供的强劲算力,以及英特尔? 深度学习技术提供的加速能力,百度团队已在 ResNet-50 和 MobileNet-V1 两种图像分类应用常用的 络模型上,对离线 INT8推理进行了缜密的测试验证。在推理准确度验证中,平台采用了英特尔? 至强? 金牌 6271 处理器,测试在拥有 50,0005张图像的 Full ImageNet Val* 完整验证数据集上完成。如表 1 所示,从测试结果来看,在 ResNet-50 和 MobileNet-V1 两种模型的 TOP-1 准确率(预测出最大概率的分类是正确的概率)上,INT8 分别只有 0.4% 和 0.31% 的准确度损失6,基本可视为没有准确度损失。

表二 FP32 和 INT8 推理吞吐量结果比较7

分享

点点赞

84ca922c4d3f3a0a89a9fc0be00559a8.png

点在看

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34297 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月15日
下一篇 2021年8月16日

相关推荐