当前位置:网站首页>这项15年前的「超前」技术设计,让CPU在AI推理中大放光彩
这项15年前的「超前」技术设计,让CPU在AI推理中大放光彩
2022-07-06 21:46:00 【英特尔边缘计算社区】
数据、算力、算法,驱动人工智能的三驾马车。
——这是热知识了。
如今数据、算法的发展速度快于算力,但算力会成为驱动AI产业化和产业AI化发展的关键因素。
——也算众所周知?
传统观点认为GPU更适合加速人工智能,其实不然。
——嗯?展开说说。
据IDC出品的《2020-2021中国人工智能计算力发展评估报告》显示,未来几年,推理工作负载在各个行业AI应用中不断增加。IDC甚至预测,用于推理工作负载的服务器市场份额将在不久的将来超过训练。
深度学习是人工智能迎来第三次浪潮的代表,分为训练和推理两个阶段。
相比于需要大量算力和数据的训练阶段,推理对数据量的需求相对较低,但需要尽可能快的响应和能耗效率优化。
让AI落地更多是推理层面的工作——根据真实世界中的少量数据,迅速地提供正确的答案。而做大规模推理,CPU平台具有较大优势,用户学习门槛低、部署速度快的同时还能保证低风险。
硬件革新,指令集升级:
挖掘CPU人工智能加速潜力
但若挖掘CPU的深度学习加速潜力,该从何下手?
加速数据中心、企业和智能边缘计算环境中的AI推理工作负载,例如图像识别、对象检测及图像分割等,均需要强算力支撑。
那么更本质的问题则是:CPU的算力从何而来。
事实上,对于CPU而言,它处理数据的能力,也就是算力,取决于 CPU 特定加速指令集或运算单元的持续引入及改进。
随着数据量的爆发式增长,种类越来越多样,要实现对这些数据的高效处理,特别是高效的并行处理,CPU的指令集也在不断升级、演进。
早期通用处理器的工作模式,一般都是基于SISD(单指令单数据流)指令,即每个核心中,一个指令单次操作一条数据。
“单次”、“一条”,这些词语注定了这样的指令在计算需求攀升的场景中效率不会很高。尤其是在图像处理、游戏、AI计算中常见的数组运算中,其数组乘操作在SISD指令下,需要分解为3个运算指令,这些乘法操作实际还都是相同的。
又有新的指令应运而生,处理器开始引入新的SIMD(单指令多数据流)指令来提升效率,这种指令能让一个指令可以单次操作多条数据。
1996年,英特尔推出了MMX指令集,率先加入了对SIMD指令的支持,同时英特尔还为其配备了专门的64位寄存器。
这意味着在主道路之外,还为繁忙的计算需求开辟了更宽畅的专用通道(寄存器)。不仅如此,英特尔还加入了FMA (融合乘加)指令集,让处理器一次能同时完成加法和乘法两种基本操作,效率再次翻番。
把时间线拉长,可以看到1999-2007年期间,英特尔对SIMD指令集不断升级优化,而到了2007年,AVX诞生了。
英特尔在其Sandy Bridge微架构中引入了新的高级矢量扩展(Advanced Vector Extensions,AVX)指令集,不仅使矢量计算能力扩展到256位,也加入了数据重排等新的数据处理加强功能。
在英特尔 至强 可扩展处理器家族中集成的AVX-512指令集,寄存器已由最初的64位升级到了512位,且具备两个512位的FMA单元。
这意味着应用程序可同时执行32次双精度、64次单精度浮点运算,或操作八个64位和十六个32位整数,算力得以大幅提升。
AVX-512融入英特尔至强平台,
集成加速AI深度学习
硬件层面的创新历程如上,接下来就是“真刀真枪”的应用实践。
2017年,第一代英特尔 至强 可扩展平台(以第一代英特尔 至强 可扩展处理器为核心)面世,英特尔 AVX-512技术就被加入其中。
AVX-512可以借助超宽512 位矢量运算功能提升严苛工作负载的运行性能。
对比之前没有集成这项技术的前代平台,新平台每时钟周期可处理更多数据。
AVX-512技术本就已经是一大利器,FMA (融合乘加)指令集的融入更是双buff加持——FMA的集成可以在一个步骤中执行浮点的乘法-加法操作,只舍入一次,可以提高浮点运算的速度和精度。
增加FMA单元可以进一步提高向量计算的并发能力,第一代至强可扩展处理器的铂金(Platinum)系列和部分金牌(Gold)系列每核心有2个FMA单元,另一部分至强金牌系列、银牌(Silver)和铜牌(Bronze)系列每核心有1个FMA单元。
除了指令集上的革新,英特尔至强系列还从多方面集成AI推理加速能力。
2019 年,英特尔又推出了第二代英特尔 至强 可扩展平台,这也是英特尔正式迈向集成AI推理加速能力。
英特尔 深度学习加速(DL Boost)技术,当时主打CPU对INT8推理的加速,有了它的加成,第二代至强的推理性能相比第一代提升多达30倍,这使其成为英特尔首款集成 AI 加速能力的主流数据中心级CPU。
用武之地颇多,十几年前的技术创新在多样计算需求中大放异彩
在具体应用层面,AVX-512指令集用武之地非常广泛,包括科学模拟、金融分析、人工智能深度学习、3D建模与分析、图像和音频/视频处理、加密及数据压缩等应用。
例如在视频编解码、转码等处理流程中,应用程序需要执行大规模的重复性浮点计算,而AVX-512指令集正可在其中发挥所长。
在视频云服务场景中,集成AVX-512指令集的新一代英特尔 至强 铂金8180处理器无论是在单任务延迟、还是在全吞吐量指标上,都比旧有英特尔 至强 E5-2699 v4处理器有了巨大的提升。
如上图所示,在单任务延迟上,新处理器带来了最大2倍的性能提升;而在全吞吐量上,转码性能最大可得到1.4-1.5倍的提升。
事实上如果回看,十几年前AVX-512的出现有些“超前”,不知是否那时候技术研发人员就已经有了“后人视今亦如今之视昔”的顿悟——了解到未来AI会迎来第三次浪潮、视频时代会崛起、高性能计算也会逐渐闯入大众视野中……
种种复杂的计算需求,让AVX-512不再代表高运行压力,而是为各类应用进行加速:非常适配当下AI推理负载越来越重、急需加速的场景,尤其是对计算精度要求没那么高的AI应用。
这么看,技术的创新还是要先于需求出现,时间会验证一切。
关于英特尔 高级矢量扩展 512的更多信息请点击“阅读原文”链接。
边栏推荐
- 数学分析_笔记_第10章:含参变量积分
- [on automation experience] the growth path of automated testing
- Ssm+jsp realizes enterprise management system (OA management system source code + database + document +ppt)
- 科兴与香港大学临床试验中心研究团队和香港港怡医院合作,在中国香港启动奥密克戎特异性灭活疫苗加强剂临床试验
- 2022中青杯数学建模B题开放三孩背景下的生育政策研究思路
- Win11远程桌面连接怎么打开?Win11远程桌面连接的五种方法
- MySQL data loss, analyze binlog log file
- Do you choose pandas or SQL for the top 1 of data analysis in your mind?
- Allow public connections to local Ruby on Rails Development Server
- [leetcode]Spiral Matrix II
猜你喜欢
Opencv third party Library
Some common software related
[written to the person who first published the paper] common problems in writing comprehensive scientific and Technological Papers
1.19.11. SQL client, start SQL client, execute SQL query, environment configuration file, restart policy, user-defined functions, constructor parameters
【knife-4j 快速搭建swagger】
Surpassing postman, the new generation of domestic debugging tool apifox is elegant enough to use
史上最全学习率调整策略lr_scheduler
Practice Guide for interface automation testing (middle): what are the interface testing scenarios
See Gardenia minor
2022 electrician cup question B analysis of emergency materials distribution under 5g network environment
随机推荐
ABAP 動態內錶分組循環
Five years of automated testing, and finally into the ByteDance, the annual salary of 30W is not out of reach
Redis源码学习(31),字典学习,dict.c(一)
The JSON format of the international area code of the mobile phone number is obtained with PHP
硬件开发笔记(十): 硬件开发基本流程,制作一个USB转RS232的模块(九):创建CH340G/MAX232封装库sop-16并关联原理图元器件
How to write a resume that shines in front of another interviewer [easy to understand]
EasyUI export excel cannot download the method that the box pops up
什么是 CGI,什么是 IIS,什么是VPS「建议收藏」
史上最全MongoDB之部署篇
Zero knowledge private application platform aleo (1) what is aleo
Do you choose pandas or SQL for the top 1 of data analysis in your mind?
Leetcode: interview question 17.24 Maximum cumulative sum of submatrix (to be studied)
Highly paid programmers & interview questions. Are you familiar with the redis cluster principle of series 120? How to ensure the high availability of redis (Part 1)?
使用 BR 恢复 GCS 上的备份数据
pyqt5 失焦 监听无操作 定时器
手机号国际区号JSON格式另附PHP获取
Redis源码学习(30),字典学习,dict.h
主设备号和次设备号均为0
NanopiNEO使用开发过程记录
Continuous learning of Robotics (Automation) - 2022-