12.02 自動駕駛計算芯片選型,GPU還是FPGA?


自動駕駛計算芯片選型,GPU還是FPGA?

自動駕駛域控制器,要具備多傳感器融合、導航定位、路徑規劃、計算決策、V2X無線通訊、運動控制的能力。通常需要外接多個攝像頭、毫米波雷達、激光雷達、V2X模塊以及IMU等設備,完成包含圖像識別、數據處理等功能。

隨著自動駕駛商業化趨勢愈演愈烈,其所涉及的環境感知、控制決策、運動控制系統,以及與車身其他域控制系統的交互、車聯網V2X的通訊信息處理,都需要一個強大的域控制器計算平臺支持,而域控制器的處理能力取決於所選型的核心AI芯片的計算能力。

目前能夠提供自動駕駛AI芯片的公司不多,業內僅有NVIDIA、華為、瑞薩、NXP、TI、Mobileye、賽靈思、地平線等方案,且都未實現量產。

不同的自動駕駛公司,會因為不同的客戶以及需求,選擇不同的方案。但中間也會有一些共性。

當前階段,AI 芯片的主流仍然是GPU + CPU,但隨著機器視覺、語音控制、深度學習的算法在 FPGA以及 ASIC芯片上的不斷優化,此兩者也將逐步佔有更多的市場份額,從而形成與GPU長期共存的局面,並逐漸實現反超。但從長遠看,人工智能類腦神經芯片才是發展的終極方向。

AI 芯片是人工智能時代的技術核心之一,決定了自動駕駛計算平臺的軟硬件基礎架構和發展生態。

自動駕駛計算芯片選型,GPU還是FPGA?

AI 芯片按技術架構分類可分為GPU(Graphics Processing Unit,圖形處理單元)、半定製化的 FPGA、全定製化 ASIC和神經擬態芯片等。

· GPU 通用性強、速度快、效率高,同樣功耗也高,特別適合用在深度學習訓練方面,但是性能功耗比較低。

· FPGA 具有低能耗、高性能以及可編程等特性,相對於 CPU 與 GPU 有明顯的性能或者能耗優勢,但對使用者技術要求較高,行業門檻不容易邁過。

· ASIC 可以更有針對性地進行硬件層次的優化,從而獲得更好的性能、功耗比。但是ASIC 芯片的設計和製造需要大量的資金、較長的研發週期和工程週期,而且深度學習算法仍在快速發展,若深度學習算法發生大的變化,FPGA 能很快改變架構,適應最新的變化,ASIC 類芯片一旦定製則難於進行修改。

FPGA

FPGA 是在 PAL、GAL、CPLD 等可編程器件基礎上進一步發展的產物。用戶可以通過燒入FPGA 的配置文件來定義這些門電路以及存儲器之間的連線。這種燒入不是一次性的,比如用戶可以把 FPGA 配置成一個微控制器 MCU,使用完畢後可以編輯配置文件把同一個FPGA 配置成一個音頻編解碼器。因此,它既解決了定製電路靈活性的不足,又克服了原有可編程器件門電路數有限的缺點。

FPGA 可同時進行數據並行和任務並行計算,在處理特定應用時有更加明顯的效率提升。對於某個特定運算,通用 CPU 可能需要多個時鐘週期;而 FPGA 可以通過編程重組電路,直接生成專用運算電路,僅消耗少量甚至一次時鐘週期就可完成運算。

由於 FPGA的靈活性,很多使用通用處理器或 ASIC難以實現的底層硬件控制操作技術,利用 FPGA 可以很方便的實現。這個特性為算法的功能實現和優化留出了更大空間和可修改性。同時 FPGA 一次性成本遠低於 ASIC,在芯片需求還未成規模、深度學習算法暫未穩定,需要不斷迭代改進的情況下,利用 FPGA 芯片具備可重構的特性來實現半定製的人工智能芯片是最佳選擇之一。

功耗方面, FPGA 也具有天生的優勢。CPU執行指令,都需要有指令存儲器、譯碼器、各種指令的運算器及分支跳轉處理邏輯參與運行,而FPGA每個邏輯單元的功能在重編程時就已經確定,不需要指令且無需共享內存,從而可以極大的降低單位執行的功耗,提高整體的能耗比。

由於 FPGA 具備靈活快速的特點,因此在眾多領域都有替代 ASIC 的趨勢。尤其是在需要更多的靈活變更需求驗證和支持擴展應用方面,FPGA 在人工智能領域的應用如圖所示。


自動駕駛計算芯片選型,GPU還是FPGA?

儘管 FPGA 倍受看好,部分AI芯片供應商紛紛採用FPGA來作為架構基礎,甚至百度大腦也是基於 FPGA 平臺研發,但其畢竟不是專門為了適用深度學習算法而研發,實際應用中也存在諸多侷限:第一,基本單元的計算能力有限。為了實現可重構特性,FPGA 內部有大量極細粒度的基本單元,但是每個單元的計算能力(主要依靠 LUT 查找表)都遠遠低於 CPU 和 GPU 中的 ALU 模塊;

第二,計算資源佔比相對較低。為實現可重構特性,FPGA 內部大量資源被用於可配置的片上路由與連線;第三,速度和功耗相對專用定製芯片(ASIC)仍然存在不小差距;第四,FPGA 價格較為昂貴,在規模放量的情況下單塊 FPGA 的成本要遠高於ASIC芯片。

GPU

目前深度學習、視覺融合等人工智能計算需求,主要採用 CPU+GPU、FPGA 等已有的適合並行計算的芯片來實現。在自動駕駛應用沒有大規模興起之前,使用這類已有的通用芯片可以避免專門研發定製芯片(ASIC)的高投入和高風險。但是,由於這類通用芯片設計初衷並非專門針對深度學習,因而天然存在性能、功耗等方面的侷限性。

GPU 作為圖像處理器,設計初衷是為了應對圖像處理中的大規模並行計算。因此,在應用於深度學習算法時,有三個方面的侷限性:

第一,應用過程中無法充分發揮並行計算優勢。深度學習包含訓練和推斷兩個計算環節,GPU 在深度學習算法訓練上非常高效,但對於單一輸入進行推斷的場合,並行度的優勢不能完全發揮;第二,無法靈活配置硬件結構。GPU 採用 SIMT 計算模式,硬件結構相對固定。目前深度學習算法還未完全穩定,若深度學習算法發生大的變化,GPU 無法像 FPGA 一樣可以靈活的配置硬件結構;第三,運行深度學習算法能效低於 FPGA。

因此,隨著人工智能算法和應用技術的日益發展,以及人工智能專用芯片ASIC產業環境的逐漸成熟,全定製化人工智能ASIC也逐步體現出自身的優勢,從事此類芯片研發與應用的國內外比較有代表性的公司有華為、地平線、深鑑科技、寒武紀、中星微、英偉達、谷歌、高通、英特爾等。

行業論證分析,ASIC芯片非常適合自動駕駛的應用場景。

首先,ASIC的性能提升非常明顯。例如英偉達首款專門為深度學習從零開始設計的芯片 Tesla P100 數據處理速度是其 2014 年推出GPU 系列的 12 倍。谷歌為機器學習定製的芯片 TPU 將硬件性能提升至相當於當前芯片按摩爾定律發展 7 年後的水平。正如 CPU 改變了當年龐大的計算機一樣,人工智能 ASIC 芯片也將大幅改變如今 AI 硬件設備的面貌。如大名鼎鼎的 AlphaGo 使用了約 170 個圖形處理器(GPU)和 1200 箇中央處理器(CPU),這些設備需要佔用一個機房,還要配備大功率的空調,以及多名專家進行系統維護。而如果全部使用專用芯片,極大可能只需要一個普通收納盒大小的空間,,且功耗也會大幅降低。

第二,下游需求促進自動駕駛芯片專用化。

從服務器,計算機到無人駕駛汽車、無人機再到智能家居的各類家電,至少數十倍於智能手機體量的設備需要引入感知交互能力和自動駕駛計算能力。而出於對實時性的要求以及訓練數據隱私等考慮,這些應用不可能完全依賴雲端,必須要有本地的軟硬件基礎平臺支撐,這將帶來海量的自動駕駛芯片需要。

在ASIC芯片需求還未形成規模、深度學習算法暫未穩定,AI 芯片本身需要不斷迭代改進的情況下,利用具備可重構特性的 FPGA 芯片來實現自動駕駛計算是成為選擇之一。但由於FPGA的技術門檻兒較高,處於創業類自動駕駛公司而言在短期內掌握足夠熟練的FPGA編程技術並實現硬件可靠性設計的難度太大,因此使用通用型CPU+GPU來做自動駕駛計算平臺或域控制器的開發成為當前的主流,英偉達最近幾年的火熱足以說明一切,並且CPU+GPU組合,基於Linux內核和ROS系統的架構,已經有較為成熟的生態,這樣的選擇目前還是最靠譜的,也是最容易落地的。

S>


分享到:


相關文章: