3月 25 日,地平線 BPU 算法負責人羅恒以《地平線如何追求極致效能?》為題展開了一場別開生面的線上分享。作為「地平線核心技術系列公開課」的“奠基之課”,羅恒從當前 AI 芯片的最大挑戰(zhàn),到 MLperf 的理想性與局限性,再到地平線 BPU(Brain Processing Unit,地平線自研人工智能專用處理器架構)的演進之路娓娓而談,結合人工智能的發(fā)展趨勢深度剖析了地平線通過軟硬結合挑戰(zhàn)極致效能,再造“摩爾定律”的技術歷程。
以下為經(jīng)整理后的分享——
01 AI 芯片最大的挑戰(zhàn)自 2015 年起,AI 芯片逐漸成為人們所關注的趨勢。產(chǎn)業(yè)參與者們都希望能夠做出極具競爭力的芯片,種種挑戰(zhàn)中最大的莫過于算法發(fā)展快和芯片迭代慢之間的矛盾。以 2016 年 DeepMind 提出的人工神經(jīng)網(wǎng)絡 WaveNet 為例,它能夠模仿出讓真假難辨的人類聲音,但其計算量之大甚至無法在當時最強大的 GPU 上實時處理,接近一分鐘的延遲讓這項革命性突破始終無法真正的得到應用。2017 年,算法優(yōu)化后的 Paralle WaveNet 讓計算效率提升了 1000 倍,谷歌將其成功應用到谷歌助手。假如某公司在此時(2017年)準備推出一款用于嵌入式系統(tǒng)的芯片,使得手機等移動場景也可以應用這項 AI 成果,是非常合理的選擇。但到了 2018 年,算法又發(fā)生了優(yōu)化,核心計算方式歷經(jīng) RNN、DalitedCNN 已升級到了 Spares RNN,讓手機 CPU 也可以運行。而 2017 年研發(fā)的芯片,在 2019 年才能面世,這是一個悲傷的故事,反映了算法快速發(fā)展與芯片迭代較慢之間的矛盾。
呈現(xiàn)快速演進的 AI 算法趨勢
回到地平線的主航道視覺感知上。2012 年的 AlexNet 在 ImageNet 上的突破, 拉開了這一波的 AI 浪潮的序幕,2012 年到 2016 年,各種網(wǎng)絡出現(xiàn),起初致力于提升 ImageNet,VGG 模型擴充過快受限于 GPU,接下來的模型開始適度的考慮精度和算力的折中,ResNet 開始給出擴充網(wǎng)絡算力獲得不同精度的方案。2016 年之后,ImageNet 精度逐漸飽和,計算效率優(yōu)化得到重視,算法實現(xiàn)開始追求用更少的計算得到更高的精度,SpueezeNet、MobileNet、ShuffleNet就是這一時期的“新”卷積神經(jīng)網(wǎng)絡代表。同時也開始了使用機器學習方法自動化搜索網(wǎng)絡,以 NASNet 為代表,但主要還是在搜索網(wǎng)絡子結構。到了 2019 年,卷積神經(jīng)網(wǎng)絡架構演進逐步收斂,子結構收斂于 MobileNet v2 的子結構,模型擴充方法則來自于 EfficientNet 的 Compound scaling method。以上 AI 算法的演進趨勢對 AI 芯片廠商之間的競爭產(chǎn)生了極為重要的影響:固然芯片架構設計能力,芯片SOC 的能力非常重要,但是由于算法在不斷的變化,如何能夠使得設計出來的芯片在面世的時候還能夠符合算法的最新的進展,在現(xiàn)在乃至可預見的未來都將是 AI 芯片競爭的關鍵點。
2什么是更好的 AI 芯片?算法演進與芯片迭代的脫節(jié)是擺在面前的挑戰(zhàn),那么,如何為 AI 芯片賽道上的玩家設立清晰的目標?如何拉通研究與市場,拉通工程與開發(fā),并通過最優(yōu)代表性的任務在實際場景中的測試反映機器學習算法的演進呢?目前通用的基準測試是 MLPerf。但事實上,2019 年 MLPerf Inference V0.5 使用的分類模型仍是 ResNet50 和 MobileNet V1,檢測模型則是 MobileNet V1和RerNet34。從這一點來看,MLPerf Inference 盡管是剛剛出現(xiàn)的,但由于采用相對較老的模型其已經(jīng)落后于算法進展兩年了。此外,由于量化模型的普及型,MLPerf 希望設計統(tǒng)一的標準,但卻因為精度問題最終選擇降低標準(MobileNet)。提交者和標準設計方之間的博弈,使得任務往往沒有辦法像預期那樣更新模型。但地平線始終認為,評估 AI 芯片的真實效能需要與時俱進的標準。因此為了更嚴格的測試真實效能,選用了目前如前所述的視覺領域最高效的 MobileNet V2 結構(EfficientNet 并不改變計算方式,其中的 SE 結構也被 EfficientNetTPU 證明并不是關鍵因素)。實測表明,工藝領先兩代的兩款競品,在 MobileNet V2 的幀率上顯著落后于地平線征程二代芯片。
在當前視覺領域最高效的 MobileNet V2 結構上,地平線與征程二代與兩款競品的測試結果
除此之外,想要實現(xiàn)極致能效還需要考慮到其他因素。對于芯片來說,功耗最大的地方并不在于計算,還在于數(shù)據(jù)的搬運,如何能夠減少 DDR (Double Data Rate SDRAM,雙倍速率同步動態(tài)隨機存儲器)的吞吐,其實是降低功耗的一個關鍵的地方。這方面地平線也做了針對性的優(yōu)化,在幀率超過競品芯片的情況下只有競品 1/4 DDR 吞吐率。從而,一方面用戶可以使用更低成本的DDR,另一方面則是我們不可能假設用戶加速模型的時候是 DDR 獨占,一定需要和 ISP、Codec 以及各種應用一起使用帶寬,征程二代的低 DDR 吞吐率使得用戶可以充分使用算力而不受限于 DDR 帶寬。
3.BPU 軟硬結合打造極致效能回到設計征程二代 BPU 的2017年,我們觀察到學術界的兩個信號,Xeception和MobileNet 分別使用了 Depthwise ConvoluTIon 在 ImageNet 高精度和中低精度都取得了很好的效率。
2017年,學術界的特殊信號——Depthwise ConvoluTIon
我們迅速在地平線關心的視覺任務、自由數(shù)據(jù)上做了驗證。證明了 Depthwise ConvoluTIon 帶來的效率提升。進而我們做了初步的優(yōu)化,8bit 量化了 Depthwise ConvoluTIon 模型,量化模型精度》浮點模型精度*0.99(半年后Google量化論文發(fā)表,但精度并不理想);嘗試了使用1x1 擴大 Depthwise Convolution 的 kernel 數(shù)目同時減少1x1 convolution引入的計算量(與一年后發(fā)表的MobileNet v2相似);嘗試了不同kernel size,發(fā)現(xiàn)擴大 kernel size 到 7 可以提升精度在只付出很小的計算代價下(與兩年后的 Mixconv 論文一致)。在完成初步驗證和優(yōu)化之后,我們做了 BPU 的 FPGA 版本,演化成為后來的 Matrix(曾獲 2019 年 CES 創(chuàng)新獎,這也是車輛智能和自動駕駛技術分類獎項下唯一獲此殊榮的中國產(chǎn)品),實車測試了我們的所有方案。
軟硬結合,挑戰(zhàn)極致效能
以上的驗證、優(yōu)化、實際應用場景打磨,為我們的架構設計提供了參考,使得我們從一開始就面向未來的算法趨勢進行優(yōu)化,在今天也得到了證明。
地平線 BPU 研發(fā)路線圖
可以說,地平線的最大特點,就是對關鍵算法的發(fā)展趨勢進行預判、在最重要的場景中垂直打穿,前瞻性地將其計算特點融入到架構設計當中,使得 AI 處理器經(jīng)過兩年的研發(fā),在推出的時候,仍然能夠很好地適應最新的主流算法,同時保證滿足最關鍵應用的需求。因此,和其他典型的 AI 處理器相比,地平線的 AI 處理器,隨著算法的演進趨勢,始終能夠保持相當高的有效利用率,從而真正意義上受益于算法創(chuàng)新帶來的優(yōu)勢。技術先發(fā)優(yōu)勢推動商業(yè)化進程,領先的商業(yè)落地探索又反哺技術進步。在 AI 芯片這條硬科技創(chuàng)新道路上,地平線將繼續(xù)堅持深耕“算法+芯片+工具鏈”基礎技術平臺。預計今年內(nèi),地平線將會推出新一代車規(guī)級 AI 芯片,以人工智能賦能萬物,讓每個人的生活更安全、更美好!
近期,地平線推出了「地平線核心技術系列公開課」,希望通過在線分享的形式讓更多的人了解 AI 芯片的前沿知識,傳播技術的力量!下一期技術公開課,地平線將進一步解讀“天工開物”AI開發(fā)平臺如何開放賦能,歡迎掃碼報名。