人工智慧重塑晶片設計
技術增加了晶片粒度,但隨著架構需要處理更大資料量,設計起點也變了。
作者 | ED SPERLING
來源 | semiengineering
編譯 | 孫茜茜、張璽
隨著架構師開始利用 AI 提高效能和降低功耗,併為未來晶片的開發、製造和更新奠定基礎,人工智慧也開始影響半導體設計。
人工智慧、機器學習、深度學習可以極大改善晶片某項特定功能的控制和效能。架構師既可以基於現有裝置進行分層設計,也可以整合到新設計中,以實現更多功能或某個特定功能。
人工智慧技術帶來很多好處,比如:
通過稀疏演算法或資料壓縮來改變特定函式精度,增加粒度,提高晶片效能和降低功耗。
識別資料模式而不是單個位元,有效提高計算的抽象性,增加軟體密度。
允許以矩陣的形式執行處理和記憶體讀/寫操作,大大加快操作速度。
但是我們也需要好好反思如何在晶片上或者在晶片之間遷移(或不遷移)資料。畢竟,無論是用於邊緣計算還是資料中心,訓練還是推斷,需要加以處理和儲存的資料量都是最大的。
新起點
從好的方面來說,通過使用更多更低精度的元素,人工智慧提供了一種平衡結果精度與準度的方法。比如,語音識別對精度的要求,遠沒有自動駕駛中安全應用與目標識別嚴苛。根據特定需要而展現的自適應能力,才是人工智慧的價值所在。
與其說人工智慧的起點是硬體和軟體,不如說是資料的質量、數量和遷移。這需要用一種不同的方式來看待設計,包括過去通常沒有合作的團隊之間的協作。
「計算真的很便宜,壓縮/解壓資料也很便宜,但在記憶體中儲存和載入資料卻一點不便宜。要構建這些系統,需要特定領域的專家、機器學習專家、優化與效能專家,這三個領域的專家都需要。」Arm 研究員傑姆•戴維斯(Jem Davies)表示。
他指出,機器學習可以影響系統中的所有東西,其中很多東西隱藏在視線之外。「有些是使用者看不見的,」戴維斯說,「它被用來延長電池壽命。相機裡也有機器學習。」
採用神經形態計算和不同的記憶體架構,AI 效果最好,因為在這些情況下,資料可以進行矩陣處理。為達到最優工作狀態,除了對處理器有要求外,還需要良好的系統架構、超大的資料吞吐量及記憶體變化過程中的資料對齊。
「許多架構改進是軟硬體的結合,雖然不一定會提高單個處理器的整體效能,但會更節能,記憶體效率也更高。縮小一點,記憶體大小就能減半。」鏗騰電子(Cadence)音訊和語音 IP 產品市場總監 Gerard Andrews 表示。
實際上,這使得軟體設計密度更高,並加速了資料在記憶體中的移動。「問題是,記憶體不會有效地收縮,單詞識別的錯誤率正在上升,我們都在探索演算法的稀疏性,以降低功耗、提高效能。」Andrews 說。
這僅僅是快速變革的皮毛。
「記憶體子系統中發生的變化是不連續的、突然的。這一切與延遲和頻寬,以及如何滿足晶片內外的龐大需求有關。由於需要大量資料管道,因此,我們開發了許多關於如何移動資料的架構。在此之前,你要考慮的是新增多少記憶體,如何高效使用記憶體。但是,現在要建造巨大的管道,較少地使用記憶體。」Achronix 的系統架構師 Kent Orthner 說。
嘗試減少資料流量的新方法之一是 脈衝神經網路 。它們不是持續發射訊號,而是以類似大腦峰值的方式發射訊號。
「 脈衝神經網路 是下一代神經網路。」BrainChip 營銷和業務開發高階副總裁 Bob Beachler 說,「卷積使用線性代數。出現峰值時,資料以尖峰的形式輸入。你可以通過尖峰進行訓練,如果有很多尖峰,可以選擇加強或抑制它們。對於專用於訓練閾值的位,你可以用非常低的權重來做到這一點。」
據估計,約有 70 家人工智慧初創公司正在研究不同辦法。最重要的是,幾乎所有主要的晶片製造商、IP(智慧財產權)供應商和工具公司都有涉足 AI 的某個方面。
資料壓縮,資料來源:谷歌
人工智慧的風險和困惑
但是,人工智慧也存在一定的風險,這取決於應用程式和精確度。
過去,電子系統的設計是建立在完全可預測性的邏輯之上的,其中大部分是硬連線。人工智慧用可接受行為的分佈代替了計算精度,人們也在會議上討論這對晶片設計意味著什麼。目前尚不清楚的是,現有工具或方法提供的置信度能否滿足裝置需求,特別是在系統遭到破壞或退化的情況下,檢測任何異常行為的速度如何。
對於如何應用人工智慧,人們也有一定困惑。有專門為人工智慧設計的晶片,以及一些不是專門為 AI 開發但可用於 AI 的晶片,對這些晶片進行修改和疊加後,就能更有效地利用人工智慧。
總的來說,這符合人工智慧的主題,全行業都在爭相以相同或更低功率來提升效能。根據摩爾定律,在 16/14 奈米工藝後,每個節點的能耗和效能的提高比例都下降到 20%,因此,大家都在尋找替代或補充的新方法。
對於針對 AI 訓練或推理的晶片,或者晶片中發揮 AI 能力的處理器和加速器,人們的普遍共識是,不同量級的程式指令可能使用不同的晶片架構。但它不適用於所有情況,還有一些變數,比如訓練資料的大小和價值,它們可能會使 AI 在某些應用程式中失效,而在其他情況下,效能提升 100 倍甚至被認為過於保守。
這就是人們要花很長時間才能把一些新架構推向市場的原因。隨著晶片行業初見端倪,人們也在進行大量的架構探索和實驗。
「應用程式和演算法都面臨挑戰,處理器和記憶體晶片也面臨挑戰。」Synopsy 的戰略營銷經理 Ron Lowman 說:
「這使得對 AI 架構的探索變得更加重要,這也是 CCIX(快取一致性互聯加速器)變得如此流行的原因之一。探索新架構的客戶越來越多。每個人都在嘗試建立人腦仿生的新架構。
除此之外,有一些新的非易失性儲存器技術正在開發中。還有一種趨勢是,將更小的處理器置於較小的儲存器旁邊,有時,這種處理器會與針對不同資料型別、定製的新型加速器相關聯。另外,還有很多關於資料壓縮和量化的工作。
「人們正在研究從 32 位浮點數到 8 位浮點數,」Lowman 說,「現在的問題是,你是否能精確到單位元量化。」
量化涉及到將一大組輸入值對映到一小組輸出值,最大的問題是,什麼是可接受的精度損失。
理論上,有了足夠感測器或資料輸入,就可將錯誤率的影響降到最低,但這非常依賴於應用程式。
沿著這些思路的另一種方法涉及到原始碼同步,特別是針對資料中心的 AI 晶片,促使晶片的網路拓撲結構發生變化。網路中的所有目標都是接收相同的資料,較之廣播,使用多播方法能更好地針對性使用資料。
「通過多播,可以向多個目的地傳送一封郵件。」Arteris IP 的營銷副總裁 Kurt Shuler 說,「它通常被用來做權重。好處是,你可以更好地利用片上網路頻寬,因此路上的車也越來越少了。
AI 晶片有一個問題:它們往往非常大。「最大的問題是時鐘樹,」Shuler 說,「這需要同步通訊,非同步處理通訊會佔用很多空間。另外,大型晶片更容易出現路由堵塞。解決這個問題的方法是建立虛擬通道連線,減少線路數量並通過一組線路共享通訊。這就需要通過仲裁來匹配資料流。」
晶片上的對映埠,資料來源:Arteris IP
計劃性淘汰
這只是設計的一部分。另一方面,還要保持演算法的時效性。
目前,深度學習演算法還在定期更新,這會影響到 AI 晶片新增何種處理器。每一次變化,都可能對晶片內部資料遷移、以及處理這些資料的處理器造成影響。
CPU 和 GPU 具有軟體可程式設計性,DSP 和 FPGA 具有韌體/硬體可程式設計性。嵌入式 FPGA 將可程式設計性直接新增到 SoC 或多晶片包中。
處理器的選擇也取決於終端市場的應用。例如,汽車或工業環境中的重要安全應用,也需要有足夠通用性與反應性,以便與其他車輛或裝置相容。
「當我們討論未來時,問題不在於它是否有效。」eSilicon 的創新高階主管 Carlos Macián 說,「TPU(張量處理單元)是一個開拓者,它表明效能可以得到數量級提高。但是對於新的工作負載,如果沒有 ASIC 的優化,你可能只會提高 3 倍。」
前提是,假設資料是乾淨、有用的,這也是情況變得複雜的地方。
「AI 非常適用於處理非結構化的資料,」Macián 說,「如果你給出現在 Facebook 上的人打標籤,你就知道這很適合人工智慧。但它不是結構化資料。所以,AI 天生就不準確,有時它還是錯的。」
並非所有事情都要面向未來。在一些市場,比如手機,消費者希望每隔幾年就更換一次手機。在其他市場,電子產品被寄予厚望——全部的功能能夠順暢執行二十年之久。
提高資料質量是有幫助的,這有助於解釋演算法為何變化如此之快,也有助於解釋為什麼對於一些裝置而言,現場升級的能力至關重要。但是,這些變化也會影響效能,如果不在硬體中新增一些可程式設計性,就無法解釋這些變化。問題是,可程式設計性有多高,因為可程式設計邏輯明顯慢於(軟體)已調優的硬體。
結論
與其他許多成長型半導體市場不同,AI 是一種橫向技術,可以應用於各種垂直市場,也可以用來為這些市場開發晶片,還可以用來提高現有晶片的效率。
這只是 AI 革命的開始,但其影響已經很大了。
隨著設計團隊越來越精通這項技術,這將對如何設計晶片、以及這些晶片如何與其他晶片互動產生重大影響,也會給工具開發人員、硬體開發人員、軟體開發人員創造新的機會,也可能帶來一個全新的市場。
原文連結:https://semiengineering.com/ai-begins-to-reshape-chip-design/