隨著在美國舊金山舉行的國際電子元件會議(IEDM)以及在加拿大蒙特利爾舉行的神經資訊處理系統大會(NeurlPS)雙雙啟動,對於任何希望迎頭趕上人工智慧(AI)研發進展步伐的人來說,最近正是把握龐大機會的最佳時刻。

例如,IBM研究人員介紹其打造數位和類比AI晶片的新AI途徑。IBM聲稱其數位AI晶片首次展現「使用8位元浮點數成功訓練深度神經網路(DNN),同時在一系列深度學習模型和資料集上完整保持準確性(accuracy)。」

另外,IBM研究人員在IEDM還展示了一款類比AI晶片,採用了8位元精度(precision)的記憶體(in-memory)乘法以及相變記憶體。

IBM Research-Almaden副總裁兼實驗室主任Jeffrey Welser在接受《EE Times》訪問時指出,「我們確實認為目前進行中的這些工作——例如試圖降低精度以提高性能提升並降低功率——對於持續推進AI非常重要。」。

這一點至關重要。Weiser解釋說,因為這個世界正從「狹義AI」(narrow AI)轉變為「廣義AI」(broad AI),例如我們從「用AI在網際網路上辨識貓」進展到「分析醫學影像,或者我們希望能夠將文本和成像資訊整合在一起,以提出解決方案」。

他補充說:「所有這些更廣泛的問題需要更大的神經網路、更大的資料集和多模態資料集...... [為此],我們需要改變架構和硬體來實現這一切。」

Weiser認為IBM發表的兩篇論文可看出「一連串有趣的進展」,有助於使業界走向[廣義AI]的未來。

市場研究公司Linley Group總裁兼首席分析師Linley Gwennap說:「機器學習繼續迅速發展。現有硬體無法有效處理研究人員建構的最大神經網路,因此他們正在尋找各種新方法來提高性能和效率。」

Gwennap補充說,這些新的發展將會對於硬體供應商帶來巨大壓力,因為晶片公司「必須靈活、快速地在這個混亂的市場中生存」。

AI的GPU時代結束

IBM大膽預測GPU在AI領域的主導地位即將結束。

Welser說:「GPU能夠為繪圖處理進行大量的平行矩陣乘法運算。這種矩陣乘法恰巧與神經網路所需的完全相同。」在他看來,「這有點巧合,但它非常重要。因為沒有那些[GPU],我們永遠無法達到我們目前已在AI實現的性能。」但是,Welser補充說,「隨著我們更能掌握關於如何實現AI的更多知識,目前也正著手尋找方法設計一種更高效的硬體。」

降低精度

提高效率的途徑之一是降低AI處理所需的精度。

Welser解釋說,「幾年前我們開始意識到一個大方向是,雖然習慣於非常精確的計算——以32位元計算浮點作為標準,甚至64位元,才能為真正準確的計算類型倍增精度,但這一點在AI中並不一定非常重要。」

他強調,在AI中,「對於神經網路在意的是當你展示一個影像或單詞時,它是否能得到正確的答案。當我們問它是貓還是狗時,它回答說是一隻貓。如果答案正確,你並不一定會注意到其間進行的所有計算過程。」

理想情況下,AI應該模仿人眼。Welser說:「如果你從一扇起霧的窗子看出去,你看到一個人走在街上。這是一個低度定位的影象...但是你可能經常會說「喔,那是我媽走過來了!」所以,只要你得到正確的答案,視覺影像是否正確精準其實是無關緊要的。」

他解釋說,這就解釋了AI處理中精度逐漸較低的趨勢。

Welser繼續說道:「對於32位元計算,我必須在32位元上進行計算。如果我們可以在16位元上進行,那基本上只需要一半的計算能力,或者可能是晶片面積的一半甚至更少。如果你可以再降低至8位元或4位元,那就更好了。」他說,「所以,這讓我在面積、功率、性能和吞吐量方面獲得了巨大的勝利——我們能夠以多快的速度完成這一切。」

IBM Training configuration (來源:IBM Research)

然而,Welser坦承,「很長一段時間,我們認為我們必須持續使用32位元精度進行AI培訓,當時別無他法。」

2015年,IBM Research發表了針對傳統CMOS技術的新型資料流相關文章,推出為AI模型訓練與推論而降低精度的途徑。IBM展示以16位元精度的訓練模型,其準確度約相當於32位元訓練模型,而不至於犠牲準確度。

從那時起,IBM觀察到「降低精度的方法很快地被採納為業界標準,16位元訓練和8位元推論如今已經司空見慣,並促使新創公司和創投業者(VC)投資大量湧入,投入打造降低精度的AI晶片。」儘管存在這樣一種新興趨勢,但由於人們需要保持模型的高準確度,因此,小於16位元的「訓練」幾乎不可能實現。

如何實現?

Welser說IBM開發一連串讓研究人員可應用於AI處理的方法,實現了這一目的。例如,他說,「我們確實有一部份以8位元來做,有些部份採用16位元進行累積,而其他部份則以不同元件實現,所以不至於失去精度。」

換句話說,比起普遍將8位元計算應用於整個操作,IBM團隊的研究成果更加複雜,但研究人員找到了各種方法組合,分別應用於流程的不同部份。

Welser證實,「沒錯,這完全正確。例如,我們現在可以使用8位元進行所有的權重更新過程,但仍然使用16位元進行一些加法和累積步驟過程。事實證明這非常重要,因為16位元加法比16位元乘法更容易,所以實際上以16位元的方式執行它是有幫助的。」

也許更重要的是,正如Welser所指出的,IBM的研究成果關鍵在於「提出一種資料流架構,讓資料以非常流暢的方式流經晶片,而且以這種方式運行最終也不至於造成瓶頸。」

最後,「我們證明您可以有效地使用8位元浮點,以取得較過去人們使用16位元或32位元相同的準確度。」

8位元操作的障礙?

Linley Group的Gwennap表示,最新的GPU和AI晶片支援使用IEEE定義格式的16位元浮點(FP16)。

然而,他補充說,「儘管如此,大多數開發人員還在使用FP32訓練神經網路。」他說,「8位元FP的問題在於缺乏標準格式,只有幾種可能的指數組合和有意義的尾數。在標準(IEEE或某些非正式協議)建立之前,晶片製造商將發現難以在硬體中有效實施。」

那麼在商業世界多久才開始使用8位元精度進行訓練?Welser說目前還不得而知,因為「我們現在看到第一次使用16位元技術的情況越來越多,但是產業界大部份還是著眼於32位元…。」

然而,他強調說他並未看到任何降低精度的實際障礙,「只要我們能夠顯示出相同輸出的結果。」他指出,從用戶的角度來看,「如果晶片速度更快、耗功更低,價格更便宜,而且也能得到同樣的答案,就沒什麼好計較的了。」

當然,在其下的軟體基礎設施修改必發揮作用。

Welser證實,「你必須擁有能夠降低精度的軟體或演算法,使其得以正確執行。」由於現在所有的軟體架構都是為使用GPU和32位元而建構的,「所有的一切都必須為接受16位元或8位元而進行修改。」

在用戶存取實際硬體之前,業界可能持續使用已知的內容。

8位元精度的記憶體乘法

IBM在IEDM展示該公司所謂的8位元精度記憶體乘法以及設計中的相變記憶體(PCM)。

IBM in-memory computing 在IEDM上,IBM科學家發表了一項關於新型記憶體內運算(in-memory computing;IMC)裝置的研究,它比起當今的商業技術達到了更低100-1000倍的運算能耗級。該元件非常適用於邊緣AI應用,例如自動駕駛、醫療保健監控和安全性(來源:IBM Research)

工程界已經意識到,降低能耗的關鍵是盡量減少運算架構中出現資料必須從記憶體移至處理器進行運算的機會。這種移動需要耗負大量的時間和精力。

對於更高效AI處理的需求促使許多人致力於研究記憶體內運算。Mythic在追逐這一點的AI晶片新創公司中脫穎而出,但其後還可能出現更多競爭對手。

在Welser看來,類比技術「很自然地適於邊緣AI。」正如從運算發展史的觀察,類比運算需要低功耗,證明它具有高能效。但它也不準確。Welser說:「這就是為什麼數位運算最終勝過類比運算。」

但是,Tirias Research首席分析師Kevin Krewell表示,類比正在回歸中,因為「記憶體內運算與類比運算可以相互搭配。他解釋說:「記憶體陣列保持神經網路權重,類比元件則執行總和和觸發。」

Krewell補充說,「挑戰在於保持類比的正確校準,以及過程和溫度變化的準確性。此外,記憶體和類比元件也不像數位元件那樣擴展。」

權重是記憶體的阻值

同樣地,Welser解釋說,類比運算中神經網路使用的權重是「存在於記憶體內部的阻值」。它們不必移入和移出,都是固定的。Welser說:「換句話說,由於採用記憶體內運算架構,記憶體單元兼作處理器,有效地實現了儲存和運算的雙重任務。」

然而,Welser所說的挑戰是:「我們將要使用的是什麼阻值狀態?它能使我們在訓練時將其設置為各種不同的阻值嗎?它必須夠準確才可用。」

Welser解釋說,雖然數位AI硬體會降低精度,但類比至今一直受到內部精度相對較低的限制,從而影響了模型精度。

在開發接近8位元精度的能力時,IBM使用了相變記憶體(PCM)。Welser說,PCM長久以來一直用於類比記憶體。在此情況下,「我們使用PCM來回儲存更多不同的阻值。更重要的是,我們正使用一種新穎的架構。」

IBM的論文詳細介紹在純量乘法運算中實現8位元精度的技術。該公司聲稱,這導致「以往的類比晶片準確度提高了大約一倍,而且也比同類精度的數位架構功耗更低33倍」。

Gwennap坦言IBM已經在PCM上研究一段時間了,但他稱之為「僅僅是一項研究計劃」。

Gwennap認為這種PCM途徑的最大挑戰在於可製造性。「類比特性因不同的電晶體以及產線上的不同晶片而異,這就是為什麼大多數產業都使用較不易受這種變化影響的數位電路。」

《EE Times》向Linley Group和IBM分別詢問了商用AI晶片(如Mythic)使用記憶體內運算架構的情況。Gwennap說:「Mythic似乎最接近於將這項技術投入生產,但即使如此也還需要至少一年的時間。」

IBM承認,「Mythic採用了一種專注於使用記憶體內運算的有趣方法。」然而,IBM也指出,Mythic的晶片「僅適用於推論應用」。

根據IBM發言人,IBM的不同之處是:「我們相信完整的AI解決方案需要加速推論和訓練。我們正在開發可用於推論和訓練的非揮發性記憶體元件,並使其發展得更成熟。」

編譯:Susan Hong

(參考原文:IBM Guns for 8-bit AI Breakthroughs,by Junko Yoshida)