地平线黄畅:BPU为什么比CPU/GPU更适合自动驾驶?

2018-03-15 09:38:16来源:车东西 热度:
3月9日,上周五,由车东西兄弟单位智东西主办的GTIC 2018全球AI芯片创新峰会在上海召开,大会邀请到来自芯片、安防、汽车和消费电子等领域的近40位业界翘楚到场分享研发AI芯片的经历与思考。
 
整场大会有超过1万人报名,并且有数千名观众到场,乃至于出现了大量观众因为没座而不得不站在大厅外面观看电视直播的情况。
 
在大会下午场的自动驾驶加速落地,AI芯片引领计算平台”板块,地平线公司的联合创始人、算法副总裁黄畅做了主题为《AI芯片在自动驾驶的应用实践》的主题演讲,就地平线公司的产品研发历程、AI芯片与传统计算芯片的区别等关键问题进行了分享,下面为黄畅演讲的要点精析。

▲黄畅

一、AI算法与AI芯片齐头并进
地平线由前百度百度研究院副院长、百度深度学习实验室主任余凯创办于2015年7月,致力于为B端用户提供涉及算法和硬件在内完整的嵌入式人工智能解决方案(机器人大脑),说白一点就是其完整方案里既包含有AI算法,又有AI芯片,还有工具链和云服务。
 
黄畅表示,机器人大脑需要做的不仅仅包括图像和视频感知,还包括语音、语义处理,以及决策、规划等比较复杂比较高阶的人工智能程序,同时也需要非常关注解决方案的性能、成本、功耗的平衡,因此地平线在研发之初,也遇到了一些困难。
 
那么地平线为什么要选择这样一条看上去比较复杂比较困难的路径呢?黄畅解释称是受到图灵奖获得者、现代计算机的奠基人Alan Kay的影响。
 
据黄畅介绍,Alan Kay不仅提出了面向对象编程设计的概念,还曾说过一句对目前IT产业影响深远的名言——“如果你真的关注软件,就应该做自己的硬件”。正是这句名言,也促使乔布斯一直坚持软硬件一体的产品开发策略,打造出了苹果这样的顶级科技巨头。
 
同样的,Alan Kay这句名言,也激励了包括余凯、黄畅等人在内的地平线团队走上了软硬结合的道路。
 
二、地平线的3代AI芯片架构
黄畅在GTIC现场讲到,如果按照智能决策处理顺序,AI可以分成感知、建模、决策和规划三个阶段,基于这种分类,地平线也对应规划了名为高斯、伯努利和贝叶斯的三代BPU架构。
 
▲地平线3代BPU架构
2017年12月,地平线正式推出了两款AI芯片——征程1.0和旭日1.0。虽然两者都基于高斯架构打造而来,但是用处却大相径庭,征程面向的是智能驾驶后装市场,而旭日则主攻智能摄像头领域。
 
黄畅称,从AI处理器的发展变革可以看出,越是面向专门计算的芯片架构越能达到更好的功耗性能比,因此地平线就在高斯架构的基础上同时推出了这两款芯片,每款芯片都针对相应的领域进行专门设计,从而有利于发挥出最大运算效能。
 
性能上,征程1.0处理器能够处理摄像头拍摄的1080P@30帧的视频流,并最多对其中200+个物体进行实时的跟踪和识别,涉及行人、机动车、非机动车、车道线、交通标志牌、红绿灯等多类交通元素,可实现FCW前部碰撞预警、LDW车道偏离预警等驾驶辅助功能。此外,地平线还推出了基于征程1.0芯片的量产后装ADAS产品。
 
黄畅表示,地平线做第一代芯片还是比较顺利的,但是也存在约束和限制。在第二代BPU架构伯努利中,地平线增加了其图像识别的细粒度,并加入了建模的能力。在基于FPGA进行验证的阶段,伯努利架构就已经可同时处理来自摄像头、雷达、激光雷达等传感器的最多8路数据,以期能在其上做无人车所必须的传感器数据融合功能。
 
由于细粒度得以提升,黄畅称其第二代BPU架构能够在像素级别进行感知,能够更精确地分辨出路面、人体、汽车、建筑、树木等物体,进行图像分割。此外,更精准、更多路的感知结果将最终为环境的建模服务,可以从各个角度进行观测。
 
▲二代BPU感知能力演示
从黄畅在现场通过视频演示了基于伯努利架构的早期产品(FPGA)在高速公路、城市道路上进行感知测试的视频来看,第二代BPU架构的计算能力确实较强,不管是识别、追踪还是语义分割,都有不错的效果。
 
三、用BPU提升AI计算效率
黄畅在进行完视频演示后讲到,其利用BPU给自动驾驶提供感知能力的核心理念是在不同尺度的空间中进行信息的融合,利用了非常底层的配准对齐,利用冗余度降低复杂度等软件技术。
 
但他同时也强调道,仅有算法的进步是不够的,“如果只有算法的进步,而计算的原器件(处理器)不相应进行迭代,就无法体现新技术的优势。即使经过精密设计过的CPU、GPU通用处理器也远远不能满足现今的计算需求,使得器件利用率变得相当低。”
 
为此,地平线才推出了自主设计研发的BPU架构。据黄畅介绍,地平线的BPU是一款典型的异构多指令多数据的系统,架构中心处理器是完整的系统,存储器架构设计进行了特别优化,能使数据自由传递,进行多种计算,让不同部件同时运转起来,提高AI运算的效率。
 
▲BPU架构
那么为什么通用处理器的算理就不如BPU呢?
除了上述异构多指令多数据流计算架构对多种算法的支持,黄畅解释道,“如果按照通用处理器的方法去做的话会非常难取舍,如果脱离开应用场景、算法不断迭代以及对算法的预估,其实你对每个东西的取舍以及规模大小是无从下手的。而恰恰我们更加关注应用,关注算法的取舍,因此其在对芯片架构的取舍、规模以及元器件的掌握都比较准确。”
 
结语:AI芯片时代开启
近两年,已经有几十年历史的老技术——人工智能迅速蹿红,不仅出现在了科技圈,还出现在了电视、手机、音箱、APP,甚至是政府工作报告里,其火热程度可见一斑。而这轮人工智能热潮的崛起,又与深度学习和神经网络等底层技术密切相关。
 
在深度学习框架、AI算法等软件技术演进的同时,AI相关硬件也在发生变化。
 
2011年,谷歌等AI先行者主要使用CPU来推进AI项目,2012年,百度深度学习实验室引入了业内比较前沿的通过GPU来运行深度学习算法的玩法。
 
但需要指出的是,虽然适合并行计算的GPU天生比CPU更适合做深度学习运算,但GPU与CPU本质上也都属于通用处理器,因此其在深度学习这种单一领域,其单位计算性能不如ASIC这种特定用途的处理器那么强,乃至也不如可编程的FPGA。
 
而随着深度学习、神经网络等底层技术的持续演进与AI技术在自动驾驶、智慧城市、智慧金融等领域的落地与部署,人工智能技术对计算能力的需求继续快速提升。
 
因此,百度深度学习实验室在2014年又将FPGA引入了AI运算中;地平线在2015年推出了BPU架构;谷歌在2016年又推出了TPU等专用的AI芯片,进而正式拉开了AI芯片时代的大幕。

责任编辑:王维