芯東西(ID:aichip001)
編 | 溫淑
芯東西5月19日消息,近日,位於瑞士蘇黎世的IBM歐洲研發中心研發出一種基於相變存儲器(PCM)的非·馮諾依曼架構晶片技術,能像人腦一樣在存儲中執行計算任務,以超低功耗實現複雜且準確的深度神經網絡推理。
IBM研究人員用ResNet分類網絡進行實驗,在將訓練後的權重映射到PCM突觸後,在CIFAR-10數據集上和準確率達到93.7%,在ImageNet基準上的top-1準確率達到71.6%。
此外,研究人員通過一種補償技術,可將原型晶片在1天內的測試準確率保持在92.6%以上,據悉,這是迄今為止任何模擬電阻式存儲硬體在CIFAR-10數據集上所產生的最高分類準確率。
未來,這項技術或可用於智能相機、AR眼鏡、無人機等設備,使這些設備在更少的能耗下提供更快的計算速度。
這項研究發表在科學期刊《Nature Communications》上,論文名稱為《使用計算相變存儲器進行精確的深度神經網絡推理(Accurate deep neural network inference using computational phase-change memory)》。
論文連結:
https://www.nature.com/articles/s41467-020-16108-9
深層神經網絡(DNN)可以用於完成圖像識別、語音識別等認知任務,是一項重要的AI技術。但是,現有的硬體限制了深層神經網絡的性能和能效。
目前,深層神經網絡大多在馮·諾伊曼架構上運行,谷歌的張量處理器(tensor processing unit)、NVIDIA的GPU Tesla T4均屬於馮·諾伊曼架構。
馮·諾伊曼架構將存儲器和處理器分開,處理過程中數據在存儲單元和處理單元之間不斷傳輸轉移。擁有大型數據中心的公司往往需要通過增加伺服器數量來滿足更高的處理要求,按照這種方法,隨著運算量不斷增多,深度學習任務的能耗也不斷攀升,很多公司意識到,這種通過搭建更多發電裝置來解決能耗問題的做法既不經濟也不可持續。
有些公司試圖用雲計算來解決這個問題。雲計算可以實現更快的處理過程,有助於提升深度神經網絡性能。但是,雲計算面臨著數據隱私、響應延遲、服務成本等問題,另外,在網際網路連接質量較差的地區,雲計算的性能會被削弱。
IBM研究中心提出一種基於相變存儲器(PCM,phase-change memory)的非馮·諾伊曼架構。
▲位於瑞士蘇黎世的IBM歐洲研發中心的研究人員
就像人的大腦一樣,這種架構沒有把存儲和計算過程分開,因此能耗更低。運行一個ResNet-32分類網絡時,PCM核心晶片的能量效率約為11.9 TOPS/W。相變存儲器利用特殊材料在晶態、非晶態之間相互轉換時表現出的導電性差異來存儲數據,具有存取速度快、可靠性高的優勢。
基於上述設想,研究人員用兩個神經網絡模型作為研究對象,通過添加隨機噪聲來提高分類網絡模型的準確率。
首先,研究人員選用ResNet卷積神經網絡(CNN)進行訓練。選用兩個數據集,用數據集CIFAR-10訓練ResNet-32卷積神經網絡,用數據集ImageNet訓練ResNet-34卷積神經網絡。
ResNet-32網絡由3個不同的ResNet塊組成,每個ResNet塊有10個3*3內核。ResNet-32網絡包含361722個突觸權重,用於分類32*32像素的RGB圖像。
ResNet-34網絡與ResNet-32網絡最大的區別是ResNet塊的數量和大小不同、輸入和輸出通道更多。
▲a:ResNet-32網絡,b:ResNet-34網絡
然後研究人員對模型添加噪聲,並觀察噪聲對神經網絡分類準確率的影響。
用模擬存內計算硬體進行推理時,深度神經網絡受網絡權重的不準確編程、硬體權重的時間波動等噪聲影響,可能會產生誤差。因此,可以用添加噪聲的方法來模擬非理想的運行狀態,以此提高分類模型對模擬混合信號硬體彈性。
研究人員用一個誤差項𝛿𝐺𝑙𝑖𝑗代表噪聲,𝛿𝐺𝑙𝑖𝑗會使每個突觸權重在推理過程的前向迭代(forward pass)中發生扭曲。
研究人員在每次推理過程的前向迭代中增加與𝛿𝐺𝑙𝑖𝑗造成的誤差相對應的噪聲。他們發現,僅給向前傳播算法(forward propagation)中的權重增加噪聲就足以達到接近基線的準確率,在反向傳播算法(backward propagation)中增加權重並不會改善結果。
為簡單起見,假設𝛿𝐺𝑙𝑖𝑗是高斯分布的,這通常是模擬記憶電阻硬體的情況。
▲在訓練和推理過程中添加噪聲對網絡精度的影響。a.不引入權重擾動,噪聲輸入量不同時,ResNet-32分類網絡在CIFAR-10上準確度;b.推理過程中,用不同噪聲輸入量進行訓練的神經網絡對權重擾動的容忍度;c.d.對於給定的權重擾動值,噪聲輸入量與其相同時,模型分類準確率最高。
在不添加權重噪聲時,在CIFAR-10數據集上,ResNet-32卷積神經網絡分類準確率在噪聲輸入量Ntr為8%時接近基線準確率,基線準確率為93.87%。
與ResNet-32分類相比,在ImageNet top-1標準下,ResNet-34卷積神經網絡對添加噪聲的反應更為靈敏。在所有層都添加噪聲後,準確率從基線下降超過0.5%,相對噪聲下降超過1.2%。
根據之前的研究,許多網絡壓縮技術允許第一層和最後一層有更高的準確率。為了簡化過程,研究人員去除了第一個卷積層和最後一個全連接層中的噪聲。訓練後,ResNet-34卷積神經網絡的分類準確率可提升1%以上。
為了驗證上述訓練方法,研究人員在一個原型多級PCM晶片上進行了實驗,該晶片採用90nm CMOS工藝,包含100萬個PCM器件。
研究人員設計出一個優化的迭代編程算法,能以高精度編程PCM設備中的電導值。下圖a顯示了11個代表性編程水平的電導值實驗累積分布。下圖b提取這些標準差,並用目標電導的多項式函數(圖a中的曲線)對其進行擬合,測量編程後25s的準確度數值。
在所有水平上,權重轉移到PCM突觸上的標準差均小於1.2μS,低於此前研究中納米級PCM陣列中相似範圍的一半。
▲權重轉移到PCM突觸對推理準確率的影響
圖c顯示了基於CIFAR-10數據集訓練ResNet-32分類網絡的準確率數值。將權重轉移至PCM突觸,加噪後ResNet-32分類網絡能達到的最高準確率為93.71%。可以看出,權重轉移至PCM突觸後,經過無限制的標準FP32訓練後模型準確率下降最多。與FP32相比,用4-bit數字權重進行訓練準確率下降較少,但仍然下降了1%以上。
圖d顯示了用ImageNet數據集訓練ResNet-34分類網絡的準確率數值。將權重轉移至PCM突觸,加噪後ResNet-34分類網絡能達到的最高準確率為71.62%。權重轉移至PCM突觸後,用4-bit數字權重進行訓練後模型準確率下降最多,約下降了8%。用無限制的標準FP32訓練後模型準確率約下降7.7%。
CIFAR-10訓練的網絡隨時間變化的最終準確率如下圖d所示,編程後25秒測得的測試精度為93.75%,與上一張圖的結果非常相似。
▲在CIFAR-10數據集上進行軟硬體推理實驗
但如果不對電導漂移(conductance drift)進行補償,準確率將在約1000秒內迅速下降至10%。這是因為PCM權重的大小隨著時間推移而逐漸減小,並會阻止激活在整個網絡中的傳播。
對此,研究人員選擇應用全局漂移補償(GDC,global drift compensation)程序來補償漂移的影響。在用測試集進行推理之前,研究人員對每一層進行了簡單的GDC處理。
補償結果如上圖d,GDC方法可以使PCM晶片上的測試準確率在1天內保持在92.6%以上,並有效防止全局權重隨時間衰減。據悉,這是迄今任何模擬電阻式存儲硬體在CIFAR-10數據集上所產生的最高準確率。
雖然GDC可以補償陣列中的全局電導漂移,但它不能減輕1/f噪聲和器件間漂移變化分別對準確率波動和準確率隨時間推移單調遞減的影響。
為了進一步提高準確率保持時間,研究人員採用了自適應批量歸一化統計更新技術(AdaBS),用批量歸一化參數在推理過程中校正激活分布。
研究人員分別在ResNet-32分類網絡和ResNet-34分類網絡上應用了AdaBS技術。
▲用PCM突觸更新自適應批量歸一化統計數據
數據顯示,AdaBS使ResNet-32網絡在一天內保持93.5%以上的測試準確率,比GDC提高了0.9%。當用PCM模型推算結果時,模型一年準確率可比GDC方式提高1.8%。
通過僅用ImageNet訓練集的0.1%(1300張圖像)進行校準,採用和CIFAR-10上相同的AdaBS方法,一年內的準確率相較GDC提到了7%。當第一層和最後一層在數字FP32中實現時,初始準確率提高到71.9%,該技術與AdaBS方法結合使用,可將一年內的準確率保持在71%以上。
不過用這種方式進行推理也存在缺點,由於第一層和最後一層的參數數量且輸入大小很少,其執行效率有限,即需在校準階段付出額外的計算代價。
例如,根據論文,第一層和最後一層包含的網絡權重不到3%,在ResNet-34分類網絡推理期間負責約3.12%的乘法和累積操作。
相比於傳統的神經網絡運作方式,IBM研究中心提出的基於相變存儲器的架構提升了深度神經網絡計算的能效和準確率。
根據論文,IBM研究人員實現了迄今為止模擬電阻式存儲硬體在CIFAR-10數據集上訓練ResNet分類網絡所達到的最高分類準確率。
除了基於模擬相變存儲組件訓練ResNet分類模型外,IBM研究人員通過使用混合精度架構,在多層感知器、長短期記憶網絡(LSTM)、生成對抗網絡(GAN)等幾類小規模模型上也能實現」軟體等效「的準確率。
當今是一個日益向基於AI的技術過渡的時代,物聯網電池供電設備、自動駕駛汽車等技術都將高度依賴於快速、低功耗、可靠的DNN推理引擎。IBM研發的基於PCM的架構或有助於這些技術的實現。
在一份聲明中,IBM表示:「我們開發的戰略旨在提高AI硬體的準確率,使DNN能在高能效下進行訓練和推理,這項戰略顯示了巨大的潛力。」
文章來源:IBM、Nature Communications、VentureBeat