低延迟高性能AliFPGA亮相HotChips30

简介: 衡量一个处理器在目标场景的计算能力,需综合评估特定延迟下所能达到的吞吐FPS(Frame per Second)能力,这才是机器学习处理器选型时需要考虑的“场景内真实计算性能”。因此,对于机器学习处理器来说,同时达到计算的低延迟和高吞吐(FPS)显得极为重要。

image.png

在线业务的机器学习开发人员在面对市场上眼花缭乱的各类机器学习处理器时如何选择?相信第一因素是计算力。然而,计算力往往是和计算延迟成反比的,仅仅考虑峰值计算力,会遇到延迟性能不达标的尴尬;仅仅考虑延迟指标时,处理器往往在低延迟下又不能发挥出足够的计算力。

衡量一个处理器在目标场景的计算能力,需综合评估特定延迟下所能达到的吞吐FPS(Frame per Second)能力,这才是机器学习处理器选型时需要考虑的“场景内真实计算性能”。因此,对于机器学习处理器来说,同时达到计算的低延迟和高吞吐(FPS)显得极为重要。

近日,阿里巴巴首次在HotChips30大会上亮相,展示了在超低延迟-高吞吐机器学习处理器方面的研究成果,与来自各大顶级互联网以及芯片公司的专家进行了交流。

image.png

HotChips是每年八月在美国举办的顶级处理器和集成电路技术研讨会,今年是第30届,除了Intel、AMD、Samsung、IBM、 NVIDIA等传统芯片巨头,Google、 Microsoft等互联网公司以及MIT、University of Toronto等高校也分享了各自的新技术和新产品。

**阿里巴巴通过“软硬件一体化设计”、“网络模型低精度化和稀疏化”、 “FPGA处理器架构优化”等一系列技术手段,基于FPGA设计了超低延迟高吞吐的高效机器学习处理器,以Resnet18的网络模型为例,单张图片计算时间仅为0.174 ms,同时吞吐可达到5747 FPS,达到“实时人工智能”的效果,带来更好的用户体验。
**

GPU、ASIC和FPGA是当前数据中心常用的机器学习加速方案。GPU在延迟敏感的场景下需要使用小Batch Size以减少计算延迟,然而吞吐也会显著的降低,做不到兼顾低延迟和高吞吐;ASIC开发周期长,在网络模型发展日新月异的现状下,对新算子的支持有滞后性;而FPGA具有硬件可编程性和定制化开发的特性,可在保留灵活性的同时达到低延迟高吞吐。

阿里巴巴针对FPGA架构和算法进行了软硬件优化,实现了高效高精度的机器学习处理器。

阿里巴巴设计的FPGA机器学习处理器架构针对模块进行了深度优化:指令模块实现了高效的调度,卷积计算效率可达90%以上,处于行业领先水平;计算处理模块支持低精度数据类型,大幅提升计算力;参数模块采用CSR压缩技术,大幅减少稀疏化时DDR的访问带宽。模块间相互配合,使得处理器实现了超高的性能。

image.png

(FPGA架构图)

在算法上,阿里巴巴提出了针对低精度的创新训练策略(相关论文号1707.09870),通过常规训练、稀疏化( Pruning)、权重量化( Weight Quantization) 和特征图量化(Feature Map Quantization)4个步骤获得优化的模型和参数。在此训练策略下,Resnet18网络模型达到了极佳的精度效果。

image.png

(Resnet18 ImageNet1K分类精度)

 阿里巴巴FPGA机器学习处理器通过架构和算法优化,实测运行Resnet18网络的计算延迟仅为0.174 ms,而吞吐能力高达5747 FPS。同样场景下,数据中心主流GPU的最低延迟为1.29ms,此时吞吐仅为769 FPS;在接近峰值FPS时,延迟为29.98 ms。

image.png

(性能对比图)

实际应用中,除了对延迟和吞吐有高要求外,业务使用的模型种类多样且更迭频繁,所以要求处理器支持敏捷开发。而传统的重开发FPGA方式,升级周期通常需要数月。

阿里巴巴将FPGA机器学习处理器设计成专用领域指令处理器架构,模型变动时编译器通过生成并加载新模型相应的指令即可完成网络模型的更换,模型升级周期时间从数月变为在线实时升级。

image.png

(软硬件计算流程图)

阿里巴巴技术团队使用FPGA实现了超低延迟机器学习处理器。在研发过程当中,不是简单的将模型的计算卸载到FPGA上来,而是通过FPGA架构、算法和指令编译器三个层面的协同优化,在性能、模型精度和灵活可用性各方面都取得了极好的效果。

作为一家技术驱动的互联网公司,阿里巴巴不断致力于基础设施技术积累和前沿科技突破,为全球消费者带来更好的用户体验。

目录
相关文章
|
Linux iOS开发 开发者
探索FFmpeg:实现自定义播放速度的全方位指南(一)
探索FFmpeg:实现自定义播放速度的全方位指南
1841 0
|
安全 Unix Linux
Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误。
通过上述步骤,可以有效解决普通用户无法使用Docker命令的问题,同时处理 `/var/run/docker.sock`权限错误。这样的设置不仅方便用户使用Docker提供的各项服务,同时还能保护系统的安全性。在进行此类配置更改时,请确保理解每一步骤的作用及潜在的安全风险,尤其是在修改文件权限时。在实际的操作中,始终应该努力保持系统的最低必要权限,避免过度放宽权限,这是保障系统安全的一个重要方针。
3867 75
|
11月前
|
存储 Ubuntu iOS开发
在Ubuntu 22.04系统上安装libimobiledevice的步骤
为了获取更多功能或者解决可能出现问题,请参考官方文档或者社区提供支持。
996 14
|
开发框架 搜索推荐 .NET
新手教程:301重定向详细教程
301重定向是一种HTTP状态码,表示请求的网页已永久移动到新URL。它确保搜索引擎和用户自动转向新页面,保留SEO价值并避免404错误。常见设置方法包括在Web服务器(如Apache、Nginx)、编程代码(如PHP、ASP.NET)或CMS中配置。验证成功可通过浏览器、开发者工具或在线工具进行。注意事项包括避免链环重定向、保持一致性和定期监控。
2270 4
|
网络安全 数据安全/隐私保护
华为交换机基本配置之Telnet和SSH方式远程登录
华为交换机基本配置之Telnet和SSH方式远程登录
3752 0
|
Ubuntu 安全 网络协议
|
机器学习/深度学习 算法框架/工具 计算机视觉
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【8月更文挑战第28天】本文深入探讨了深度学习领域中的一个核心概念——卷积神经网络(CNN),并详细解释了其在图像识别任务中的强大应用。从CNN的基本结构出发,我们逐步展开对其工作原理的解析,并通过实际代码示例,展示如何利用CNN进行有效的图像处理和识别。文章旨在为初学者提供一个清晰的学习路径,同时也为有经验的开发者提供一些深入的见解和应用技巧。
596 1
|
芯片 索引 内存技术
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】
玩转parameter与localparameter,这篇文章就够了【Verilog高级教程】

热门文章

最新文章