3月 25 日,地平线 BPU 算法负责人罗恒以《地平线如何追求极致效能?》为题展开了一场别开生面的线上分享。

作为「地平线核心技术系列公开课」的“奠基之课”,罗恒从当前 AI 芯片的最大挑战,到 MLperf 的理想性与局限性,再到地平线 BPU(Brain Processing Unit,地平线自研人工智能专用处理器架构)的演进之路娓娓而谈,结合人工智能的发展趋势深度剖析了地平线通过软硬结合挑战极致效能,再造“摩尔定律”的技术历程。

以下为经整理后的分享:

AI 芯片最大的挑战

自 2015 年起,AI 芯片逐渐成为人们所关注的趋势。产业参与者们都希望能够做出极具竞争力的芯片,种种挑战中最大的莫过于算法发展快和芯片迭代慢之间的矛盾

以 2016 年 DeepMind 提出的人工神经网络 WaveNet 为例,它能够模仿出让真假难辨的人类声音,但其计算量之大甚至无法在当时最强大的 GPU 上实时处理,接近一分钟的延迟让这项革命性突破始终无法真正的得到应用。

2017 年,算法优化后的 Paralle WaveNet 让计算效率提升了 1000 倍,谷歌将其成功应用到谷歌助手。假如某公司在此时(2017年)准备推出一款用于嵌入式系统的芯片,使得手机等移动场景也可以应用这项 AI 成果,是非常合理的选择。但到了 2018 年,算法又发生了优化,核心计算方式历经 RNN、DalitedCNN 已升级到了 Spares RNN,让手机 CPU 也可以运行。而 2017 年研发的芯片,在 2019 年才能面世,这是一个悲伤的故事,反映了算法快速发展与芯片迭代较慢之间的矛盾。

 呈现快速演进的 AI 算法趋势

回到地平线的主航道视觉感知上。2012 年的 AlexNet 在 ImageNet 上的突破, 拉开了这一波的 AI 浪潮的序幕,2012 年到 2016 年,各种网络出现,起初致力于提升 ImageNet,VGG 模型扩充过快受限于 GPU,接下来的模型开始适度的考虑精度和算力的折中,ResNet 开始给出扩充网络算力获得不同精度的方案。

2016 年之后,ImageNet 精度逐渐饱和,计算效率优化得到重视,算法实现开始追求用更少的计算得到更高的精度,SpueezeNet、MobileNet、ShuffleNet就是这一时期的“新”卷积神经网络代表。同时也开始了使用机器学习方法自动化搜索网络,以 NASNet 为代表,但主要还是在搜索网络子结构。

到了 2019 年,卷积神经网络架构演进逐步收敛,子结构收敛于 MobileNet v2 的子结构,模型扩充方法则来自于 EfficientNet 的 Compound scaling method。

以上 AI 算法的演进趋势对 AI 芯片厂商之间的竞争产生了极为重要的影响:固然芯片架构设计能力,芯片SOC 的能力非常重要,但是由于算法在不断的变化,如何能够使得设计出来的芯片在面世的时候还能够符合算法的最新的进展,在现在乃至可预见的未来都将是 AI 芯片竞争的关键点。

什么是更好的 AI 芯片?

算法演进与芯片迭代的脱节是摆在面前的挑战,那么,如何为 AI 芯片赛道上的玩家设立清晰的目标?如何拉通研究与市场,拉通工程与开发,并通过最优代表性的任务在实际场景中的测试反映机器学习算法的演进呢?目前通用的基准测试是 MLPerf。

但事实上,2019 年 MLPerf Inference V0.5 使用的分类模型仍是 ResNet50 和 MobileNet V1,检测模型则是 MobileNet V1和RerNet34。从这一点来看,MLPerf Inference 尽管是刚刚出现的,但由于采用相对较老的模型其已经落后于算法进展两年了。此外,由于量化模型的普及型,MLPerf 希望设计统一的标准,但却因为精度问题最终选择降低标准(MobileNet)。

提交者和标准设计方之间的博弈,使得任务往往没有办法像预期那样更新模型。但地平线始终认为,评估 AI 芯片的真实效能需要与时俱进的标准

因此为了更严格的测试真实效能,选用了目前如前所述的视觉领域最高效的 MobileNet V2 结构(EfficientNet 并不改变计算方式,其中的 SE 结构也被 EfficientNetTPU 证明并不是关键因素)。实测表明,工艺领先两代的两款竞品,在 MobileNet V2 的帧率上显著落后于地平线征程二代芯片。

 在当前视觉领域最高效的 MobileNet V2 结构上,地平线与征程二代与两款竞品的测试结果

除此之外,想要实现极致能效还需要考虑到其他因素。

对于芯片来说,功耗最大的地方并不在于计算,还在于数据的搬运,如何能够减少 DDR (Double Data Rate SDRAM,双倍速率同步动态随机存储器)的吞吐,其实是降低功耗的一个关键的地方。这方面地平线也做了针对性的优化,在帧率超过竞品芯片的情况下只有竞品 1/4 DDR 吞吐率。从而,一方面用户可以使用更低成本的DDR,另一方面则是我们不可能假设用户加速模型的时候是 DDR 独占,一定需要和 ISP、Codec 以及各种应用一起使用带宽,征程二代的低 DDR 吞吐率使得用户可以充分使用算力而不受限于 DDR 带宽。

BPU 软硬结合打造极致效能

回到设计征程二代 BPU 的2017年,我们观察到学术界的两个信号,Xeception和MobileNet 分别使用了 Depthwise Convolution 在 ImageNet 高精度和中低精度都取得了很好的效率。

 2017年,学术界的特殊信号——Depthwise Convolution

我们迅速在地平线关心的视觉任务、自由数据上做了验证。证明了 Depthwise Convolution 带来的效率提升。

进而我们做了初步的优化,8bit 量化了 Depthwise Convolution 模型,量化模型精度>浮点模型精度*0.99(半年后Google量化论文发表,但精度并不理想);尝试了使用1x1 扩大 Depthwise Convolution 的 kernel 数目同时减少1x1 convolution引入的计算量(与一年后发表的MobileNet v2相似);尝试了不同kernel size,发现扩大 kernel size 到 7 可以提升精度在只付出很小的计算代价下(与两年后的 Mixconv 论文一致)。

在完成初步验证和优化之后,我们做了 BPU 的 FPGA 版本,演化成为后来的 Matrix(曾获 2019 年 CES 创新奖,这也是车辆智能和自动驾驶技术分类奖项下唯一获此殊荣的中国产品),实车测试了我们的所有方案。

 软硬结合,挑战极致性能

以上的验证、优化、实际应用场景打磨,为我们的架构设计提供了参考,使得我们从一开始就面向未来的算法趋势进行优化,在今天也得到了证明。

 地平线 BPU 研发路线图

可以说,地平线的最大特点,就是对关键算法的发展趋势进行预判、在最重要的场景中垂直打穿,前瞻性地将其计算特点融入到架构设计当中,使得 AI 处理器经过两年的研发,在推出的时候,仍然能够很好地适应最新的主流算法,同时保证满足最关键应用的需求。因此,和其他典型的 AI 处理器相比,地平线的 AI 处理器,随着算法的演进趋势,始终能够保持相当高的有效利用率,从而真正意义上受益于算法创新带来的优势。

技术先发优势推动商业化进程,领先的商业落地探索又反哺技术进步。在 AI 芯片这条硬科技创新道路上,地平线将继续坚持深耕“算法+芯片+工具链”基础技术平台。预计今年内,地平线将会推出新一代车规级 AI 芯片,以人工智能赋能万物,让每个人的生活更安全、更美好!

下一期,地平线将进一步解读“天工开物”AI开发平台如何开放赋能,欢迎大家扫码报名~

关于地平线「大牛讲堂」

「大牛讲堂」秉承着“为技术干货而生”的理念,旨在通过分享人工智能与 AI 芯片领域的前沿观点、技术干货、开发者经验,打造一个开放的技术社区。正如地平线抱着开放心态、坚持芯片赋能一样,「大牛讲堂」也希望以同样的开放心态分享知识,与AI路上的同行者一起进步。

近期,我们推出了「地平线核心技术系列公开课」,希望通过在线分享的形式让更多的人了解 AI 芯片的前沿知识,传播技术的力量!

如何关注、学习、用好人工智能?

每个工作日,量子位AI内参精选全球科技和研究最新动态,汇总新技术、新产品和新应用,梳理当日最热行业趋势和政策,搜索有价值的论文、教程、研究等。

同时,AI内参群为大家提供了交流和分享的平台,更好地满足大家获取AI资讯、学习AI技术的需求。扫码即可订阅:

了解AI发展现状,抓住行业发展机遇

AI社群 | 与优秀的人交流

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !

一文看懂地平线如何再造摩尔定律| 地平线大牛讲堂相关推荐

  1. 《SOC芯片研究框架》深度科普,发展趋势、技术特点、产业链一文看懂

    片上系统SoC(System on Chip),即在一块芯片上集成一整个信息处理系统,简单来说 SoC芯片是在中央处理器CPU的基础上扩展音视频功能和专用接口的超大规模集成电路,是智能设备的" ...

  2. 一文看懂RPA的技术原理、产品形态、设计与构建

    一文看懂RPA的技术原理.产品形态.设计与构建 过去的一年,RPA机器人流程自动化行业迎来了一个快速发展的机遇.RPA创业者得到了国内投资人的认可,一些RPA公司也接连拿到千万美金级别的融资,这在当下 ...

  3. 一文看懂 AI 训练集、验证集、测试集(附:分割方法+交叉验证)

    2019-12-20 20:01:00 数据在人工智能技术里是非常重要的!本篇文章将详细给大家介绍3种数据集:训练集.验证集.测试集. 同时还会介绍如何更合理的讲数据划分为3种数据集.最后给大家介绍一 ...

  4. 一文看懂计算机视觉-CV(基本原理+2大挑战+8大任务+4个应用)

    2020-03-06 20:00:00 计算机视觉(Computer Vision)是人工智能领域的一个重要分支.它的目的是:看懂图片里的内容. 本文将介绍计算机视觉的基本概念.实现原理.8 个任务和 ...

  5. 一文看懂人脸识别(4个特点+4个实现步骤+5个难点+算法发展轨迹)

    2020-03-09 20:01:00 人脸识别是身份识别的一种方式,目的就是要判断图片和视频中人脸的身份时什么. 本文将详细介绍人脸识别的4个特点.4个步骤.5个难点及算法的发展轨迹. 什么是人脸识 ...

  6. 一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)

    http://blog.itpub.net/29829936/viewspace-2648775/ 2019-06-25 21:31:18 卷积神经网络 – CNN 最擅长的就是图片的处理.它受到人类 ...

  7. 【深度学习理论】一文看懂卷积神经网络

    [深度学习理论]一文看懂卷积神经网络 https://mp.weixin.qq.com/s/wzpMtMFkVDDH6scVcAdhlA 选自Medium 作者: Pranjal Yadav 经机器之 ...

  8. python读取excelsheet-一文看懂用Python读取Excel数据

    原标题:一文看懂用Python读取Excel数据 导读:现有的Excel分为两种格式:xls(Excel 97-2003)和xlsx(Excel 2007及以上). Python处理Excel文件主要 ...

  9. ​【Python基础】一文看懂 Pandas 中的透视表

    作者:来源于读者投稿 出品:Python数据之道 一文看懂 Pandas 中的透视表 透视表在一种功能很强大的图表,用户可以从中读取到很多的信息.利用excel可以生成简单的透视表.本文中讲解的是如何 ...

最新文章

  1. Javascript 判断网页横竖屏
  2. 数据库中死锁那些事儿
  3. Android keystore/Keymaster的代码导读
  4. pyqt5中sender方法介绍_【第五节】PyQt5事件和信号
  5. c 结构体在声明时赋值_C/C++编程笔记:C++入门知识,C++多态性和虚函数解析
  6. html css基础页面,一、必知HTML基础
  7. html5 api dom 文档,javascript dom操作API
  8. Windows10与Vmware配置Windowsserver2003共享磁盘
  9. c++vector(入门级)
  10. nginx sendfile
  11. windows XP系统内核文件分析
  12. app源码 官府菜.cn_坑死的天牛淘客APP
  13. linux新硬盘装系统,目前是windows,要全新硬盘安装linux,该怎么操作?
  14. 编写矩阵运算程序(C语言)
  15. app系统软件开发外包的费用:开发app多少钱的费用?
  16. 微信小程序解码emoji表情
  17. 小米5查看设备号信息及验证type-c数据线
  18. 前沿技术文章:高可靠性SSD推动智能社会向前发展
  19. 中文键盘 linux,键盘和中文输入 教程
  20. 旧金山启用安保机器人巡逻街道引发争议

热门文章

  1. Python之初识模块之序列化模块
  2. PowerDesigner反向生成物理数据模型
  3. C# Winform 通过FlowLayoutPanel及自定义的编辑控件,实现快速构建C/S版的编辑表单页面...
  4. Highchart插件下载与安装
  5. 3116 高精度练习之加法
  6. Oracle 内存一 手动内存管理,自动内存管理
  7. python3.X 使用schedule实现定时任务
  8. 子主题function php,wordpress子主题怎么添加
  9. java中获取时间的方式,持续更新
  10. Arduino Yun的硬件——Arduino Yun快速入门教程