CANN 5.0硬核技術搶先看

摘要:2021年12月,CANN5.0版本也將與大家正式見面,通過軟硬件協同優化,該版本將會實現訓練性能再翻倍,憑實力展現AI領域的「中國速度」!

本文分享自華爲雲社區《CANN 5.0硬核技術搶先看》,作者:kourei。

引言

2018年9月,CANN 1.0華爲昇騰AI使能平臺誕生;

2020年8月,CANN 3.0版本發佈,作爲專門面向AI場景的異構計算架構,搭起了上層深度學習框架和底層AI硬件平臺的橋樑,開發效率和性能業界領先,可支撐用戶全方位的人工智能計算訴求。

在最近一年中,CANN攜手200+所高校/科研所,持續推進AI科研進步;

在CANN架構加持下,擁有千億參數的盤古AI模型帶來前所未有的商業價值;

昇騰社區開發者數量從10萬增長到40萬,生態陣營的蓬勃發展…

2021年12月,CANN5.0版本也將與大家正式見面,通過軟硬件協同優化,該版本將會實現訓練性能再翻倍,憑實力展現AI領域的「中國速度」!

先放幾個彩蛋,讓大家先睹爲快!

核心技術鑄就極致性能

CANN5.0相比於3.0版本,在典型推理場景,性能可實現30%到140%的提升;大規模集羣訓練及常用模型訓練,更可達到性能翻番;

CANN 5.0性能大幅提升背後的關鍵技術有哪些?

任務自動流水

計算啓動時過長的數據載入操作會阻塞後續計算流水的啓動速度,就好比手機充電電量達到20%才能開機一樣讓人無法接受。

CANN 5.0將計算指令和數據載入實現多流水並行,該優化允許用戶對載入數據進行分段,當載入數據滿足分段數據量時即刻啓動後續計算邏輯,同時後續數據持續載入,當後續分段數據載入完成且流水空閒時,依次再啓動後續計算,充分發揮昇騰AI處理器多流水並行能力,實現無縫多流水銜接。

算子深度融合

隨着網絡結構的日益複雜,數據在內外存搬運、以及多算子對應多指令帶來的性能開銷已經越發不可忽視。

CANN 5.0在3.0基礎上識別了更多的融合場景,通過多算子自動融合減少計算節點數,有效減少內存拷貝;並且通過靈活可定製的融合規則讓計算圖中的算子得以最大程度融合,爲開發者贏得了更多的計算性能收益。

自適應梯度切分

在大規模集羣訓練場景下,通常需要進行成千上萬次迭代計算,每次迭代包括正、反兩個方向的逐層前饋計算。

大部分同步更新算法要求,在下一輪迭代正向計算開始前,各計算節點間需要同步好梯度數據,完成權重更新。這就會導致在兩輪迭代之間產生等待間隙,即通信拖尾。

CANN 5.0通過智能梯度切分算法,自動搜索出最優梯度參數切分方式,爲梯度傳輸選擇合適的通信時機和通信量,最大限度讓計算和通信並行執行,將通信拖尾時間降至最低,可促使集羣訓練達到最優性能。

AutoTune智能計算調優

就像我們不能期待千篇一律的美顏相機能夠修飾出一個絕世美女,類似地,對於不同的網絡,如果全部採用簡單的數據切分策略,往往會導致計算單元無法滿載,性能達不到預期。

CANN 5.0通過智能化數據切分技術,爲網絡量身定製一個最優的切分策略,實現單個計算單元滿載計算,充分利用硬件資源,從而帶來可觀的性能收益。

同時爲了解決調優耗時的問題,CANN 5.0預置了海量模型優化規則,可大大降低調優時長,給用戶帶來卓越的調優體驗。

降低開發者使用門檻

除了性能上帶來的驚喜,CANN 5.0更是在3.0基礎上進一步簡化了代碼開發和調測方法,助力開發者實現高效AI開發。

• 支持模型自動遷移,無需手工修改代碼,一鍵式完成模型移植,即刻暢想昇騰910 AI處理器帶來的澎湃算力。

• 支持混合編程,在APP中直接調用算子函數,自動完成編譯加載並執行。

• 支持自動生成算子測試代碼,並可一鍵式執行出結果。

使能超大模型,加速創新

支持超大參數模型

近2年來,業界出現了非常多的大模型,例如GPT-3,參數量高達1750億,單獨一個大模型就需要月3TB的存儲空間,而算力需求更是驚人。

爲了解決模型“放得下”的問題,並且以一種友好的、幾乎不用改變原有代碼的方式讓用戶使用,CANN5.0在“AI編譯器”這個層面,在優化器、梯度、權重等各維度進行模型並行訓練。

通過不同層次的模型並行,將原本放不下的模型,分佈式地部署在集羣上,並且能夠以較高的算力利用率進行訓練。以83億的Megatron模型爲例,從單卡180GB左右的內存需求量降低到16G以下,這樣,超大模型就可以“放得下”了。

支持超大圖片計算

除此之外,在某些應用場景下,還可能遇到超大輸入數據規格的挑戰。

比如遙感應用領域,往往需要從茫茫大海中定位到一艘船,從廣袤天空裏定位到一架飛機,隨着觀測技術的進步,這些遙感圖像的空間分辨率越來越高,平均可達CHW:4*30000*30000甚至更高,單樣本大小往往2-3GB,超大圖片計算已經成爲了遙感應用產業發展的「卡脖子」問題。

CANN 5.0助力武漢大學打造全球首個遙感專用框架LuojiaNet,解決遙感影像“大幅面、多通道”的處理難題。實驗證明,FCN8S模型在處理遙感數據集(圖像分辨率3萬*3萬)時,精度提升顯著。這其中隱藏了大量關鍵技術:

  • 圖片大,顯存不夠怎麼辦?

充分利用集羣優勢,根據數據量和集羣規模,完成圖片自動切分,部署到各計算節點。

  • 特徵跨度大,特徵丟失,邊緣失真怎麼辦?

在當前切片的卷積運算前,自動計算出具有相鄰切片特徵的overlap數據,爲當前切片提供上下文信息,保證圖片精度。

  • 如何高效交換overlap數據?

藉助高效的alltoallv算子在相鄰節點間收發數據,實現無阻塞通信。

CANN5.0依託自動分解和並行技術,將超大模型的處理同普通模型一樣簡單,相信在CANN5.0版本的助攻下,一定會促使AI產業不斷加速創新,迎來新的爆發期。

ModelZoo全面支持業界主流模型

ModelZoo是昇騰提供的一個優選模型庫,其裝載的模型能夠直接在昇騰AI處理器上高效執行。目前CANN5.0全面支持包括TensorFlow, PyTorch, ONNX在內的業界主流模型400+,同時算子完備度大幅提升。

開發者可移步昇騰社區Modelzoo進行體驗。

合衆之力,生態陣營蓬勃發展

CANN作爲人工智能基礎軟件平臺,持續在基礎能力和關鍵技術上不斷突破,但若想走的更遠,唯有合衆人之力。在過去的1年,CANN面向開發者的生態全面展開:

迄今爲止,昇騰社區活躍度較去年提升3倍;當前已匯聚40萬開發者,3千核心開發者,並計劃於2022年發展百萬開發者,1萬核心開發者;累計與超過200家高校研究團隊開展合作,衆智項目貢獻200+個模型及500+個算子。

聚是一團火,生態建設是使能AI產業持續發展的原動力,通過開放、合作、共贏的方式,CANN將不斷攜手合作夥伴,全方位、多維度支撐AI產業,助力人工智能繁榮發展!

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章