自動駕駛晶元之 FPGA和ASIC介紹

2021-09-07 02:26:27 字數 3257 閱讀 7342

2018-12-03 10:14:06

當前階段,gpu 配合 cpu 仍然是 ai 晶元的主流,而後隨著視覺、語音、深度學習的演算法在 fpga以及 asic晶元上的不斷優化,此兩者也將逐步占有更多的市場份額,從而與gpu達成長期共存的局面。從長遠看,人工智慧類腦神經晶元是發展的路徑和方向。本文主要介紹半定製化的fpga晶元和全定製化的 asic晶元。

ai 晶元是人工智慧時代的技術核心之一,決定了平台的基礎架構和發展生態。

晶元發展歷程

ai 晶元按技術架構分類可分為gpu(graphics processing unit,圖形處理單元)、半定製化的 fpga、全定製化 asic和神經擬態晶元等。

各個晶元的特點如下:

當前階段,gpu 配合 cpu 仍然是 ai 晶元的主流,而後隨著視覺、語音、深度學習的演算法在 fpga以及 asic晶元上的不斷優化,此兩者也將逐步占有更多的市場份額,從而與gpu達成長期共存的局面。從長遠看,人工智慧類腦神經晶元是發展的路徑和方向。

本文主要介紹半定製化的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 在人工智慧領域的應用如圖所示。

fpga在人工智慧領域的應用

全定製化的 asic

目前以深度學習為代表的人工智慧計算需求,主要採用 gpu、fpga 等已有的適合平行計算的通用晶元來實現加速。在產業應用沒有大規模興起之時,使用這類已有的通用晶元可以避免專門研發定製晶元(asic)的高投入和高風險。但是,由於這類通用晶元設計初衷並非專門針對深度學習,因而天然存在效能、功耗等方面的侷限性。隨著人工智慧應用規模的擴大,這類問題日益突顯。

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

第一,應用過程中無法充分發揮平行計算優勢。深度學習包含訓練和推斷兩個計算環節,gpu 在深度學習演算法訓練上非常高效,但對於單一輸入進行推斷的場合,並行度的優勢不能完全發揮;第二,無法靈活配置硬體結構。gpu 採用 simt 計算模式,硬體結構相對固定。目前深度學習演算法還未完全穩定,若深度學習演算法發生大的變化,gpu 無法像 fpga 一樣可以靈活的配製硬體結構;第三,執行深度學習演算法能效低於 fpga。
因此,隨著人工智慧演算法和應用技術的日益發展,以及人工智慧專用晶元asic產業環境的逐漸成熟,全定製化人工智慧asic也逐步體現出自身的優勢,從事此類晶元研發與應用的國內外比較有代表性的公司如表 1 所示。

asic 晶元非常適合人工智慧的應用場景。

首先,asic的效能提公升非常明顯。例如英偉達首款專門為深度學習從零開始設計的晶元 tesla p100 資料處理速度是其 2014 年推出gpu 系列的 12 倍。谷歌為機器學習定製的晶元 tpu 將硬體效能提公升至相當於當前晶元按摩爾定律發展 7 年後的水平。正如 cpu 改變了當年龐大的計算機一樣,人工智慧 asic 晶元也將大幅改變如今 ai 硬體裝置的面貌。如大名鼎鼎的 alphago 使用了約 170 個圖形處理器(gpu)和 1200 個**處理器(cpu),這些裝置需要占用乙個機房,還要配備大功率的空調,以及多名專家進行系統維護。而如果全部使用專用晶元,極大可能只需要乙個普通收納盒大小的空間,,且功耗也會大幅降低。

第二,下游需求促進人工智慧晶元專用化。從伺服器,計算機到無人駕駛汽車、無人機再到智慧型家居的各類家電,至少數十倍於智慧型手機體量的裝置需要引入感知互動能力和人工智慧計算能力。而出於對實時性的要求以及訓練資料隱私等考慮,這些應用不可能完全依賴雲端,必須要有本地的軟硬體基礎平台支撐,這將帶來海量的人工智慧晶元需要。

目前人工智慧專用晶元的發展方向包括:主要基於 fpga 的半定製、針對深度學習演算法的全定製和類腦計算晶元 3 個方向。

在晶元需求還未形成規模、深度學習演算法暫未穩定,ai 晶元本身需要不斷迭代改進的情況下,利用具備可重構特性的 fpga 晶元來實現半定製的人工智慧晶元是最佳選擇之一。這類晶元中的傑出代表是國內初創公司深鑑科技,該公司設計了「深度學習處理單元」(deep processing unit,dpu)的晶元,希望以 asic 級別的功耗達到優於 gpu 的效能,其第一批產品就是基於 fpga 平台開發研製出來的。這種半定製晶元雖然依託於 fpga 平台,但是抽象出了指令集與編譯器,可以快速開發、快速迭代,與專用的 fpga 加速器產品相比,也具有非常明顯的優勢。

深度學習演算法穩定後,ai 晶元可採用 asic 設計方法進行全定製,使效能、功耗和面積等指標面向深度學習演算法做到最優。

人工智慧之自動駕駛

隨著深度學習技術的崛起 人工智慧的備受關注,自動駕駛,作為ai中備受關注的重要落腳點,也被炒的火熱,更讓人充滿了幻想。1.1 自動駕駛的概念 自動駕駛,也常被人稱作無人駕駛 無人車等,但這幾個詞的表述其實是有所區別的,英文裡常見的表述有autopilot,automatic driving,self...

聊聊自動駕駛和人工智慧

有這樣一種觀點 不實現真正的strong ai 強ai 的話,自動駕駛就不可能被普及,於是得出結論 自動駕駛還非常遙遠。但現實中,各個商業公司又爭相發布要在2020前量產l4級別的自動駕駛車,甚至有公司說 只要現在政策放開,馬上就能量產l4自動車。於是大眾又得到了第二個結論 這是商業吹噓的投資泡沫。...

自動駕駛之「芯」 異構分布硬體架構

1 自動駕駛作業系統 基於異構分布硬體架構的整體基礎框架軟體,包含 系統軟體 和 功能軟體 兩部分 2 異構分布硬體架構 原因 面向l3及以上等級自動駕駛車輛,現有單一晶元無法滿足諸多介面和算力需求,計算基礎平台需採用異構晶元的硬體方案 基本構成 ai單元 計算單元 控制單元 圖1.智慧型網聯汽車基...