您現在的位置是:首頁 > 攝影首頁攝影

深度學習加速技術會是AI“高度近視”的破解之法?

由 澎湃新聞客戶端 發表于 攝影2023-01-22
簡介英特爾 深度學習加速技術帶來訓練和推理效率提升至此,英特爾 DL Boost技術可以讓人工智慧達到三全,即:省:簡化資料,提高記憶體容量和頻寬的利用率,緩解記憶體壓力

影象未經技術處理是什麼意思

深度學習加速技術會是AI“高度近視”的破解之法?

【導讀】

「是什麼黑科技,成全了AI又快又準又省的心願?」

有什麼比禿頭更心酸的嗎?

深度學習加速技術會是AI“高度近視”的破解之法?

有,比如智慧機器人將禿了的後腦勺識別成未戴口罩的臉,跟隨一路提醒佩戴口罩。

深度學習加速技術會是AI“高度近視”的破解之法?

如今AI應用已非常普遍,這過程中也收穫了不少“人工智障”的笑話,上述只是其中一個,除了離譜的影象自動識別,還有答非所問的智慧對話。

自迎來以深度學習為代表的第三次發展浪潮,人工智慧技術已被廣泛應用在目標檢測、影象識別、自然語言處理(NLP)等場景,從語音識別、自動送餐機器人到生產線影像監控,AI的身影無處不在。

客戶的業務需求與創新應用對AI推理和訓練的效率和質量都提出了更為嚴格的要求,推動人工智慧發展從三個方面——資料、算力、演算法都需要進一步調優和高效。

兩全其美之事已是世間難得,倘若想要在一件事上達到“三全”,著實有些困難且“貪心”。

但踏平“人工智障”,真的需要“貪心”一些。

資料精度、儲存空間、處理速度,發展AI必須三者共同進步

資料、算力和演算法之間存在一些原生矛盾。

通常來說,資料型別的寬度越大,能表達的動態範圍和精度也就越高。

更大的動態範圍和更高的精度意味著更多的儲存空間,

譬如FP32就需要FP16兩倍的記憶體佔用,並給記憶體頻寬帶來成倍的壓力,對算力帶來挑戰。

同時演算法層面,儘管深度學習是人工智慧(AI)近幾年重新走紅的功臣,也是吞噬算力的巨大 “黑洞”。

這三者平衡起來依然也會存在困難,從資料型別的層面,要節省儲存空間就需要做出一定的讓步或犧牲,例如,Google為加速AI深度學習而引入的BFloat16(BF16)資料型別,用FP16的資料寬度實現了與FP32相當的動態範圍,其代價是精度有所降低。

深度學習加速技術會是AI“高度近視”的破解之法?

這只是解決了一方面,但如果實現“既準,又省,還快”三重快樂AI,三大要素必須共同發力:

簡化資料,強化算力,最佳化演算法。

英特爾深度學習加速技術:準、省、快,低精度成就高效率!

演算法上的革新是重中之重。

如同上述所說,

大多數深度學習應用在其訓練和推理工作負載中多采用 32 位浮點精度(FP32),儘管精度高但佔用更大記憶體,進而影響計算效率。

當資料格式由 FP32 轉為 8 位整數(INT8)或 16 位浮點數(BF16)時,記憶體可以移動更多的資料量,進而更大化地利用計算資源。

深度學習加速技術會是AI“高度近視”的破解之法?

圖說:不同資料格式對記憶體利用率的影響

這種精度的降低會對資料處理的準確率造成影響嗎?

答案是:並不會,或者說影響微乎其微。

近年來已有眾多研究和實踐表明,

以較低精度的資料格式進行深度學習訓練和推理,並不會對結果的準確性帶來太多影響,

譬如BF16用於訓練,INT8用於推理,能夠將準確率的損失降至最低,甚至完全沒有損失。

而低精度資料格式帶來的優勢,也不僅在於提升記憶體利用效率,在深度學習常見的乘法運算上,它也能減少處理器資源消耗並實現更高的操作速度(OPS)。

演算法的升級助力了“準”和“省”的達標,但“快”的層面還略有些差強人意。

為了保證推理過程中的精度,在CPU的向量處理單元中進行矩陣運算的時候,先將8位值相乘再累加到32位,需要3條指令來完成,代價是3倍的指令數,這也導致峰值運算效能只提高了33%。

那麼“提速”任務就交給了算力單元。

英特爾 深度學習加速(英特爾Deep Learning Boost,簡稱DL Boost)技術的精髓,就是把對低精度資料格式的操作指令融入到了 AVX-512 指令集中,

AVX-512_VNNI

(Vector Neural Network Instruction,向量神經網路指令) 和

AVX-512_BF16

(bfloat16),分別提供了對 INT8(主打推理)和 BF16(兼顧推理和訓練)的支援。

深度學習加速技術會是AI“高度近視”的破解之法?

英特爾 深度學習加速技術帶來訓練和推理效率提升

至此,英特爾 DL Boost技術可以讓人工智慧達到三全,即:

省:

簡化資料,提高記憶體容量和頻寬的利用率,緩解記憶體壓力;

準:

最佳化演算法,模型量化使用較低的數值精度也能保證結果的準確性,特別是推理應用;

快:

強化算力,避免增加額外操作,保證效能與記憶體利用率同步提升。

推理與訓練,硬體加速雙管齊下

如同一條道路上,透過車輛的體型變小(簡化後的資料),透過的車輛數量自然就上來了。

兩種新的、針對 AI 應用的 AVX-512 指令集使道路(暫存器)上通過了更多的 車輛(資料量),新的指令集無疑能使計算效率獲得大幅提升。

點選此處回顧英特爾AVX指令集的前世今生

《這項15年前的「超前」技術設計,讓CPU在AI推理時代大放光彩》

這兩種不同指令集的優勢也有所不同。

從代號Cascade Lake的英特爾第二代至強可擴充套件處理器開始,AVX-512指令集就增加了VNNI,用一條FMA指令就可以完成8位乘法再累加到32位的操作。

2020 年問世的第三代英特爾 至強 可擴充套件處理器已集成了英特爾 深度學習加速技術這兩種 AI 加速指令集,並被廣泛運用於商業深度學習應用的訓練和推理過程。

在指令集的支援下,簡化資料的同時避免了額外的開銷,讓效能可以獲得與記憶體利用率一致的提升。

AVX-512_VNNI 使用INT8做推理,對比使用FP32,理論上可以獲得4倍的效能,而將記憶體要求降至 ¼。

記憶體的減少和頻率的提高加快了低數值精度運算的速度,最終加速 AI 和深度學習推理,適合影象分類、語音識別、語音翻譯、物件檢測等眾多方面。

深度學習加速技術會是AI“高度近視”的破解之法?

而AVX-512_BF16 的優勢是既可以用於推理,也可以用於訓練,能幫助訓練效能提升達 1。93 倍。代號Cooper Lake的英特爾第三代至強可擴充套件處理器就集成了bfloat16加速功能,在與FP32相似的精度下,提升效能和記憶體利用率。

軟硬協同設立“AI改造車間”,CPU多場景應用優勢盡顯

算力、演算法、資料如今都有各自標準以及解決辦法,當三者形成完整閉環時,如何讓整個流程的效率更上一層?

依然還有可以繼續進步的地方,那就是:AI 應用原生的資料格式並不統一的情況下,

如何高效的把大量採用傳統FP32資料格式的AI模型轉換成BF16或INT8格式使用。

由英特爾推出的 OpenVINO 工具套件提供了模型量化功能,為上述問題提供了應對良方。

深度學習加速技術會是AI“高度近視”的破解之法?

它能讓基於不同 AI 框架,如 TensorFlow、MXNet、PyTorch 等構建的 FP32 資料格式 AI 模型,在損失很少精度的情況下轉化為 INT8 和 BF16 資料格式。

除模型量化功能外,針對一系列 AI 應用場景,如視覺模擬、自動語音識別、自然語言處理及推薦系統等,OpenVINO 工具套件還提供了能提升它們開發和部署效率的元件,例如 OpenVINO Model Server 和 OpenVINO Model Zoo 等元件可對基於 TensorFlow、PyTorch、MxNet、Keras 等不同框架構建的訓練模型實施更為高效的最佳化,並簡化這些模型部署的流程及耗時。

深度學習加速技術會是AI“高度近視”的破解之法?

AI應用場景頗多,那何種場景更能突顯AVX-512_BF16等深度學習加速技術的優勢?

例如在醫療影像此

類重視準確性多過於實時性

的場景中,匯醫慧影在乳腺癌影像分析場景中引入了整合有英特爾 深度學習加速技術的第二代英特爾 至強 可擴充套件處理器,配合 OpenVINO 工具套件,在對檢測模型進行了 INT8 轉換和最佳化後,推理速度較原始方案提升高達 8。24 倍,且精確度損失不到 0。17%。

深度學習加速技術會是AI“高度近視”的破解之法?

企業啟動構建AI應用,改弦更張並非價效比之選,可以充分評估既有的資料儲存、處理和分析平臺,

如此一來,基於又準又快又省的CPU,或藉助它構建和部署符合自身需求的AI應用。

更何況,CPU自身的AI能力也在不斷進化中,即將釋出的代號為Sapphire Rapids的英特爾第四代至強可擴充套件處理器,就加入了簡稱AMX的高階矩陣擴充套件(Advanced Matrix Extensions)技術。

AMX是新的x86擴充套件,具有自己的儲存和操作,主要針對AI領域非常重要的平鋪矩陣乘法,比前兩種DL Boost的實現更為複雜,那效果呢?我們(帶上顯微鏡)拭目以待吧~