当前,大型互联网公司带动了AI商业化落地的开端,谷歌、微软、百度、阿里巴巴等互联网公司,自带商业化轮子:市值和营收所代表的巨大商业体量,海量用户的多元化体验的渴求,亿级用户的数据规模,这是他们AI商业化的巨大需求,是内驱。同时他们也有技术轮子,三驾马车也有能力构建:大规模GPU/AI计算能力,大量的软件算法人才开发更新更优的算法,有多年积累的用户消费行为数据。
人工智能自1956年达特茅斯会议诞生之后,经历几经起落,从2015年起掀起了第三次浪潮,这次浪潮是激动人心、广泛而深刻的。但是严格意义来说,本次人工智能浪潮的前三年主要是靠技术驱动,最初都是追求论文和各种算法竞赛的实验室效果,也出现过某些AI技术的实验室炫技而不落地,最后无以为继。圈内人都在考虑AI如何实现技术和商业化的双轮驱动,例如Deepmind研究医疗等,希望带来AI产业的良性闭环发展。
双轮驱动其中一个轮子是技术驱动力,俗称三驾马车,"算法"、"算力"、"数据"。包括深度学习神经网络算法的突破,GPU芯片提供的高性能算力,来自互联网和物理世界的大量数据。另一个轮子是AI商业化的轮子,它具有三大要素:市场容量、应用价值和深度、数据的规模。这些要素会决定了AI在行业落地的价值、深度,是否有效形成商业闭环。
从市场观察来看,目前AI技术商业化的双轮驱动先行者是互联网公司和安防行业。
一、AI商业化的先行者:大型互联网公司和安防行业
当前,大型互联网公司带动了AI商业化落地的开端,谷歌、微软、百度、阿里巴巴等互联网公司,自带商业化轮子:市值和营收所代表的巨大商业体量,海量用户的多元化体验的渴求,亿级用户的数据规模,这是他们AI商业化的巨大需求,是内驱。同时他们也有技术轮子,三驾马车也有能力构建:大规模GPU/AI计算能力,大量的软件算法人才开发更新更优的算法,有多年积累的用户消费行为数据。
他们在三驾马车的技术平台上,形成更精准的搜索推荐算法、商品推荐算法,提升体验,大幅度提升广告营收和商品销售额,带来商业回报。闭环来了,投入并强化技术三驾马车,招募人才、开发算法、提升算力、挖掘数据。形成了有效的商业闭环和双轮驱动。
图:AI技术三驾马车 + 商业三要素
另一个是安防行业,具备了双轮驱动的条件。首先得益于平安城市十几年的建设,我国建立了大规模视频监控系统。据IHS的数据,截至 2018 年末,全球已安装了超过 6.55亿个视频监控摄像机,中国视频监控摄像机(不仅天网)以IHS市场研究数据来看就有3.5亿台。而同时全球和中国监控摄像头销售市场仍在逐年扩张,每年仅仅我国就产生数万PB的数据量。与数据量同步增长的,是巨大的市场规模。据相关数据统计,2019年安防市场总产值达到7000亿左右,研究机构预计到2022年达到万亿规模。只要是好用的AI算法带来更佳的应用效果,解决安防、泛安防业主客户的实际业务痛点,就能够持续有人买单,实现商业闭环,带来AI百亿乃至千亿的市场想象空间。
数据量大且深广,AI赋能的业务价值凸显,市场容量进一步扩大,带来一个螺旋上升,进一步推动数据 -> 应用 -> 市场 ->数据的商业闭环。
其次技术驱动,和大型互联网公司的自身闭环不同(数据、算力、算法都是自己的)。安防市场在技术轮子上存在充分的外部竞争,形成了分层、解耦、多样化的开放生态。
这种开放和双轮驱动是很惊人的! 2017年来仅挖掘了人脸识别技术和公安和通行场景,短短两三年,就带来了行业快速发展,诞生诸多AI独角兽,挺进AI的春秋战国时代。
二、安防行业的场景、算法和算力需求
安防市场中落地的AI算法有很多,如人脸识别、视频结构化、车辆分析等各类算法,来解决多样化行业场景问题,如公安、交通、应急、城管、社区园区等业务,场景很丰富如人脸布控、无感通行闸机、无感通行门禁、监督行人红绿灯、车辆图片二次分析违法行为等等。
运行AI算法,需要海量的AI算力,已经成为大家的共识。算力由谁来提供呢?目前的主流仍然是GPU,特别是英伟达GPU。中国的"天网"工程部署的摄像头据称不低于3000万路,全国视频监控摄像机(不仅天网)以HIS数字来看就有3.5亿台。如果仅仅分析其中20%,就是7000万路,按照目前主流GPU显卡P4计算,分析需要400万块显卡,至少需要800亿元以上的AI硬件成本,功耗也是达到和全北京市供电功率可比的量级。显然,成本居高不下,功耗居高不下,GPU是难以全面使用的。
哪些深度学习芯片能有效替代GPU,大幅降低基础设施的建设成本,实现规模化人工智能应用,是中国安防智能化考虑的重要命题之一。
算法层/数据层中,无论是AI算法还是大数据计算,都需要底层算力的有效支持,而算力主要由计算芯片CPU、GPU、AI 专用芯片和FPGA这些核心计算组件来承担。
三、安防智能时代的AI芯片,有三个成功要素
安防智能时代的AI芯片发展的成功要素,笔者认为可以用三句话形容:定位精准、唯快不破和生态共赢。下面从这三个方面来阐述如何完成这一行业命题。
(一)定位精准
1.市场定位精准:在AI芯片的行业全景中找到位置
精准的市场定位会有利于切入市场、赢取市场、形成有效的市场和产品正反馈。我们先看市场的全景分层,对于AI芯片而言,分为三种部署场景和两种用途。三种部署场景主要包括云端、边缘、终端。而用途主要是训练和推理。现在在边缘、终端进行训练的场景还几乎没有,所以今天主要讨论剩下的四种情况。
(1)云端训练。云端训练AI芯片是算法科学家、工程师所必须使用的,常态化的开发工具。这部分被认为会有十亿美金甚至更高的市场,现在被英伟达GPU占据统治地位,英伟达享受着长期生态建设带来的高门槛高利润,主要原因是:强大的并行计算能力(相比CPU)、通用性以及成熟的开发环境。但是GPU的缺点也很明显,高价格、高能耗。所以很多客户都在寻找GPU的替代产品和方案。有一些厂商作为挑战者出现,如华为、燧原、Habana Labs,可能短期来看会在一些基准测试上取得成绩。但考虑到训练的主要使用者是算法工程师、科学家们,他们需要用各种灵活的、先进的、未知的神经网络计算类型来训练新的模型,这些灵活的算法在软件上效果很好,但跑在真正芯片上往往就缺少很多算子和工具链的支持而无法很好的运行,需要庞大的软件团队来支持。另外,行业开发者在GPU上的开发惯性仍然强大,难以被其他计算芯片取代,预计GPU仍然保持2-3年的行业领先。云端训练芯片的AI功能(包括性能)是最重要的,非AI功能相对少。
(2)云端推理。这是一个快速增长的蓝海市场。相比云端训练只被科学家和算法工程师使用,云端推理将可能被应用到所有的视频分析的业务场景上,可以想象,亿级甚至十亿级的摄像头的业务规模,意味着未来海量的市场容量。(从芯片的数量来看,可能远大于训练)。另外从竞争来看,以艾睿或者IDC的市场分析报告来看。云端推理的硬件的整体收入还没有训练的硬件收入高。英伟达的P4、T4虽然看似占有率比较高,但因为整体市场没有起量,绝对数量小,这就意味它的生态壁垒并不高,这是其他计算芯片的市场机会。 另外从技术难度来看,AI专用芯片厂商们,如华为、比特大陆、寒武纪、Habana Labs,纷纷入场,原因是开发难度小于训练芯片,但是未来市场容量大很多,竞争态势上英伟达并不那么可怕。云端推理芯片的AI功能(包括性能)也比较重要的,非AI功能相对少,但是场景化的考虑更多了,如视频或者音频的前后处理部分是否能加速等。
(3)边缘推理。随着AI从云端往边缘扩展,这方面的市场容量是巨大的,甚至相比于云端推理,它未来的潜在需求更大,可能是数百亿美金级别的。考虑到未来城市级摄像头是十万级甚至百万级,全部汇聚到数据中心处理是不太现实的,因为无论是时效性,还是网络带宽压力都很巨大。边缘计算能够有效的低延迟处理分析、减少带宽、存储的压力,同时场景也是非常碎片化的。有的厂商会推出边缘和云端兼顾的芯片和产品,如华为ATLAS系列,比特大陆算丰TPU等等;边缘推理的场景包括:边缘AI服务器、边缘网关、智能NVR、自动驾驶机器等等。
(4)终端推理。这是一个千亿的蓝海市场,同时也是极其碎片化的。据IDC的预测估计,到2025年将会有超过400亿智能设备和物联网设备,这里面具备智能的比例很高。做这类芯片的主要门槛不在于AI,而在于本身的定位和功能。如摄像头芯片的关键功能是ISP成像好坏,如智能音箱芯片的关键功能是音频动态范围、去噪能力等。
2.技术定位精准:把握技术趋势,做AI专用芯片
从过去很多市场中,如解码芯片、区块链芯片的发展过程中看到,它们都会经历从CPU到GPU,到FPGA,到ASIC(专用芯片)的技术转化趋势。这里不做赘述。从训练来看,计算类型仍然在不断前进,呈现千变万化。但是在推理领域变化相对少一些,在算法方面相对趋于成熟期,是有很大的可能走向DSA(领域专用处理架构)或者ASIC(应用专用处理器)的。如英伟达的TensorCore、华为晟腾的Davinci(ATLAS)、比特大陆的TPU,大家都在看好专用处理器的前景。
(二)唯快不破:安防AI芯片如何算快?
1.唯快不破需要标准和指标
厂商们出于营销的需要,会有关于算力和芯片优势的一些说法。我们把这个叫做"卖家秀"。而客户们面对琳琅满目的AI芯片,往往会陷入选择的困境。究竟怎样的AI芯片更好,更适合自己?这就需要考虑自己的"买家秀",需要从客户的应用场景和实际应用的实践中提炼出一套自己评价AI芯片是否"唯快不破"的标准、指标甚至评价体系。
首先可以参考业内常见的评价体系:
MLPerf,官方说法是"一套用于测量和提高机器学习软硬件性能的国际基准",是由谷歌、百度、英特尔、AMD、哈佛大学与斯坦福大学联合发布的。目前已经有了训练和推理的初步测试结果。
DawnBench,也是较为流行的,是斯坦福大学提出并维护的一套评测标准,定位是"一套端到端的深度学习基准测试和竞赛",目前已经有多家参与,并有相应在训练时间、训练成本、推理延迟、推理成本等的评测方法;
国内知名大型互联网厂商也有提出评测标准,比较知名的有百度的DeepBench、阿里巴巴的AI Matrix等。
国内知名的中国信息通信研究院发起的,多厂商参与的,中国人工智能产业发展联盟AIIA,也提出一套AIIA DNN Benchmark,已经有了端侧评测的部分结果。
以上都是非常优秀的值得参考的测试标准,但是建议安防行业的从业者,熟悉AI应用落地场景,和通用的AI芯片评测可能有不同,需要更加针对性的安防视觉AI的评测标准。
基于对安防和AI芯片的理解,笔者建议客户对于推理AI芯片(主要是云端AI和边缘AI)应该有一套自己的评测标准。笔者抛砖迎玉说一些自己的看法,这里吸收了苏州科达著名专家章勇博士的一些论述。
2.卖家秀:看看芯片厂商角度的"唯快不破"
(1)神经网络理论算力。厂商宣传的理论算力峰值,往往是理论计算出来的。通过芯片里面堆积的算力单元,往往是矩阵乘加器(MAC)的数量来推算出来的。
这样计算出来的理论算力很丰满,但是真的能获得130T的算力性能么? 这个问题后面揭晓。
(2)算力能效比TOPS/W。TOPS=每瓦功耗下提供多少算力,这方面体现了芯片的性能功耗比,和在某特定制造工艺下的设计水平。由于芯片有大小芯片之分,能耗有高有低。业内一般会评价在某个特定功耗下的算力。业内著名专家,清华大学汪玉教授,UCSB 谢源教授等人发起了Neural Network Accelerator Comparison 的图表如下,可以看到横轴是Power(W),纵轴是Speed( GOP/s):
相应的斜线 100TOPS/W,10TOPS/W,1TOPS/W,是划分不同产品的性能功耗比水平的。产品处于哪个区域,一目了然。这是业内值得参考的一个曲线图,但是如笔者以上论述,这里面是以理论算力为基准的,还是需要考虑实测。
(3)带宽。片上内存带宽和片外内存带宽多以GB/s为衡量指标。这个指标代表了AI芯片能够以多快的速度搬运数据,给到相应的算力单元。这里不做详细论述。对AI芯片感兴趣的可以查询Roofline模型。
(4)视频解码和图像解码能力。视频解码是指从压缩的H.264、H.265码流中解出来原始帧(如I帧)。解码能力的衡量一般指的是1080P高清25 FPS情况下,H.264码流或H.265码流解码路数。安防视觉AI,一般包括从网络/PCIE接口取数据,视频图像解码,到视频后处理,到神经网路模型计算,到输出的通路。 视频解码能力的强弱也是决定分析视频路数、图像张数的吞吐能力的重要决定因素。
3.买家秀:客户角度的"唯快不破"
(1)计算精度。
精度是在AI芯片选型中容易忽视的一个指标,可能先入为主默认没问题。但在很多应用场景中,精度是极其重要的前提,如人脸识别的大库比对,差1%精度可能会带来不可用。
另一方面,业内呈现低精度的趋势。AI算法的训练得到的基本都是FP32的模型,但是在推理阶段,客户越来越愿意使用低精度,如INT8。这是因为,INT8相比FP32,一方面会大大提升了算力,另一方面大大降低的内存带宽使用和模型参数的存储。芯片厂商也在朝着低精度努力提升性能。但是在此过程中,精度损失是不得不考虑的。如INT8只有8位,因为位数远远少于32位,在乘法和加法中精度自然不如FP32。特别在深度学习模型中,如果计算用的权重数据都是INT8的话,每一次计算都可能造成精度损失。在模型中万亿次计算,不断的积累误差,可能精度损失会相对惊人,使得算法精度不可接受。比如一旦人脸特征提取精度损超过1-2%,那么可能在大库比对中比对成功率会大大下降,导致业务不可用。这就需要芯片厂商和客户一起,利用各类校准工具,来补偿从FP32到INT8的精度损失,校准好了会大大减少精度损失。
(2)神经网络实际算力和利用率。
还以英伟达为例,在"卖家秀"部分,我们算过英伟达T4的INT8算力 = 130.25T算力。如此高的算力,真的如此"丰满"么?我们看看实际的情况。但实际上能够获得的算力,则让人大跌眼镜。
所以回到"卖家秀"部分的问题,计算出来的理论算力很丰满,实际算力很骨感的情况,比如15%、20%的算力利用率往往会出现。原因是什么?因为算力单元的算力发挥是需要片上内存的数据搬运,片外内存的数据搬运、视频解码图像解码能力、图像前后处理、AI框架的软件优化等等各个环节的匹配,这里仅仅列出来五项,实际应用场景中环节可能更多。一旦某一些环节匹配不上,就成为整体性能的瓶颈,意味着算力无法得到发挥,这就是算力的木桶短板效应。
(3)神经网络实际推理能效比(Inference efficiency)。
业界会以实际的推理得到的性能,比如图像分类的每张多少图像分类(image/sec)数值作为实际推理能力,而能效比即为 这种推理能力的FPS,除以相应的芯片/模块的平均能耗。其单位为image/sec/Watt。本质也相当于算力能效比,但是衡量的都是实际算力和实际能效。这里以英伟达,华为和比特大陆的板卡对比。可以得到在这种测试场景中,实际的算力功耗比TOPS/W中,比特大陆BM1684为0.3219最优。实际的推理能效比,image/sec/W的指标中,比特大陆BM1684多芯片板卡为41.6最优。
(4)视频解码和图像解码能力。
解码能力的衡量,一般指的是1080P高清25 FPS情况下,H.264码流或H.265码流解码路数。这里需要注意的是实测的解码路数,是否符合标称的指标。在码流标准上,是否支持H.264和H.265的标准。在分辨率上,是否支持安防里面场景的2MP、 4MP、 8MP(甚至4K、8K)等分辨率。如表所示:
(5)全流程的性能:神经网络计算只是一部分,全流程快才算快。
大家谈论AI算力,不应该只关注典型的神经网络模型的运行速度,如Resnet/ Mobilenet/ YOLO/ SSD等的性能。而应该从安防视觉的整个应用层面,端到端的来看性能指标。典型的安防视觉AI计算过程:从外部视频流/图片流入,网络/PCIE取数据,视频/图片解码,视频前后处理,AI计算,同时CPU参与部分计算,最终输出等。以下是和算力、应用性能高度相关的关键过程:
1) 网络/PCIE:网络带宽吞吐 / PCIE带宽吞吐;
2) 视频解码(图片解码);
3) 视频后处理(YUV-RGB,帧剪裁,帧缩放);
4) AI计算(运行神经网络模型);
5) CPU参与部分计算(部分跟踪算法,NMS等);
6) 最终输出。
体现在全流程的性能,即为等效视频分析/图像分析的路数/张数。
(如图为比特大陆算丰芯片BM1684的16路高清视频流下,满帧25FPS进行人脸检测跟踪的能力体现。如果抽帧能够到20-30路的水平,视客户算法而定)
(6)算力和工具链的易用性和灵活性。
一方面,要看AI芯片是否可以完整支持Caffe,Tensorflow,PyTorch等AI框架,如典型CNN、DNN模型(检测网络SSD, YOLO, Faster RCNN, 分类网络Resnet,Mobilenet等)中的常见算子,是否支持浮点和INT8情况的一些OP;客户如果有自主研发的算子和层,需要芯片厂商的易用的编程工具,能快速的写出来并且可高速运行;
另一方面,要考虑算力能否应对非常规的网络(如图像分类、检测之外的一些网络),以及算力能否扩展支持的层种类,以及算力能否兼容将来可能出现的新网络。因为网络的变化非常快,算法人员经常能想出许多新奇的点子,这些点子在软件仿真的时候非常好用,但一跑到真正的芯片上就会出现各种各样的问题。
最后,现在国内自主可控的趋势下,在底层驱动和SDK层,能否支持飞腾、申威等系统架构,在AI框架能否支持百度飞桨Paddle paddle等,都是需要考虑的一些因素。
(7)其他非AI功能。
在边缘计算芯片中,非AI功能也很重要,比如:
是否具有应用处理器核;
是否具有非深度学习的处理模块;(类ISP或类DSP等);
是否具备丰富的接口,如边缘计算中需要的PCIE,、以太网、SPI、USB等。
4.建议客户建立理性的全方位衡量的标准和指标
这需要用户针对应用场景,制定科学的衡量标准,对产品方案进行系统性设计,综合性的选择和测试不同厂商的芯片产品和技术。考虑以下因素:
计算精度;
在神经网络计算处理上,达到足够高的吞吐;
神经网络实际推理能力的能效比;
视频解码和图像解码能力;
全流程的性能;
算力和工具链的易用性和灵活性;
非AI功能。
(三)生态共赢:如何共赢?
第一,芯片厂商的产品边界清晰。需要交付边界清晰,对做什么、不做什么非常清楚。合作伙伴、客户也会了解到你是长期可信赖的合作伙伴,不会盲目扩张去成为他们的竞争对手。第二是易用性。包括硬件标准化,软件的易用性,对AI框架支持的完备性等等。第三是可信赖。品牌上厂商投入AI的决心、长期投入上,具体反映在客户感受上,就是持续的产品路线图,客户响应速度。第四是合作共赢的承诺和行动。
(四)对买家的建议:警惕乱象和注重实际
一是算力虚标。客户比较看重理论算力峰值的心理效应,有时候看到某某模式100多T甚至更高的芯片理论峰值会被吸引。但是实测结果可能大跌眼镜,成了尴尬的"买家秀";
二是视频解码能力,处理路数的理解不同。安防里面最常见的路数,一般指的是1080P高清25 FPS情况下,H.264码流或H.265码流解码能力,这里就不做赘述了。有的厂商是以25FPS写的路数,有的厂商是30FPS写的路数,会有稍许的不同。
三是视频分析路数的虚标。业界存在比较多的不同宣传口径。比如说能够分析1000路的单台设备,但是实际上了系统之后,可能由于网络瓶颈、解码瓶颈、全流程优化不足、AI优化不足,导致远远低于这样的标称分析能力。
四是号称各种框架都支持。业界的AI框架众多,Caffe、Tensorflow、PyTorch、MXNet等,以及国内百度的Paddle paddle;一些厂商宣传都支持,但是实际上对于这些AI框架内算子是否支持完整,以及是否能够支持不同精度,这些问题都要考量和实测。
针对以上存在的问题,笔者对业界客户和用户的一些建议如下:
一是对厂商宣传的理论算力仅做参考,不过于看重,建议实测。
比如,首先参考厂商的典型神经网络模型的测试性能。(如业界常用的图像分类网络Mobilenet,Resnet 50,VGG等。如检测网络的Yolo,SSD等)更好的方法是拿到实物样品进行实测,根据客户自己的应用场景抽取出来一些类似模型进行测试。
二是注意解码能力的实测。
三是最好是注重全流程优化后的总体性能。建议客户基于自身的应用,抽取出来典型应用场景,比如人脸识别中的:视频解码 - 视频后处理 - 人脸检测 - 跟踪 - 提取特征 - 比对等等一个全流程的软件pipeline。比如视频结构化中的:视频解码 - 视频后处理 - 目标检测 - 跟踪 - 目标分类等等一个全流程的软件pipeline。把上述全流程的软件运行在AI芯片和硬件上,得到一个综合的应用性能评估。
四是以理性的全方位的标准和指标来衡量芯片的选型。
可以考虑建立自己的全面评估雷达图,可以参考笔者的"买家秀"的内容。得到符合自己需要的一套评估体系。
五是不要忽视AI芯片厂商对于易用性、合作支持的力度。在目前AI芯片百花齐放,往往不成熟的情况下,这尤为重要。文中没有提到商务、供应链等等部分,这些均可考虑。
结语
目前AI芯片业界百花齐放,衷心希望AI快速发展给各个厂商带来属于自己的蓝海市场!也祝愿客户,在应用AI芯片和AI产业化的浪潮中,业务蓬勃发展,欣欣向荣!
参考文献:
IHS市场分析
https://xueqiu.com/3861190056/139396036
苏州科达首席科学家章勇:AI超微光技术与边缘算力选择
https://www.leiphone.com/news/201910/tjh0fT1cYgBgCoPW.html