訓練千億參數模型的法寶,昇騰CANN異構計算架構來了
2021年4月,“華為云盤古大模型”一炮走紅AI人工智能領域。
如果你問:明明明明明白白白喜歡他,但他就是不說,白白喜歡誰?
你的同伴可能還要猶豫3秒鐘,而盤古卻能輕松地回答出:明明!
諸如此類的「中文同詞不同義」的快速語義識別也僅僅是它的雕蟲小技而已。
領先的語言理解和模型生成能力,這個大網紅瞬間被貼上了“最接近人類中文理解能力”、“全球最大中文語言(NLP)預訓練模型”各類標簽。
標簽不是白帖的,在AI領域,大智慧就意味著大模型,他背后的“千億參數”、“TB 級內存模型”絕對是他成功的法寶!
模型大,意味著數據也大,你想到如何訓練出這樣大的模型了么?
盤古的訓練以「昇騰AI處理器」為基座,同時借助了「CANN 異構計算架構」,讓硬件算力得以充分釋放,大大縮短了訓練時間!
什么是CANN?
以提升用戶開發效率和釋放昇騰AI處理器極致算力為目標,昇騰CANN(Compute Architecture for Neural Networks)是華為針對AI場景推出的異構計算架構。它對上支持業界主流前端框架,向下對用戶屏蔽系列化芯片的硬件差異,以豐富的軟件棧功能滿足用戶全場景的人工智能應用訴求。
當前CANN已經發布到3.0的版本,統一編程架構,同時支持推理+訓練的端、邊、云全量場景,實現三大使能。
使能全場景:通過支持業界主流AI框架,支持14+種主流操作系統,實現一次開發,全場景各種硬件形態和運行環境的靈活部署。
使能極簡開發:通過統一編程接口AscendCL(Ascend Computing Language),為開發者屏蔽底層處理器的差異,支持開發者只需要掌握一套API,就可以全面應用于昇騰全系列芯片+推理、訓練全場景。
使能極致性能:通過軟硬協同優化,親和昇騰的圖編譯技術,以及超過1200個高性能算子,來釋放昇騰芯片的澎湃算力。
CANN的開放能力:
CANN為開發者提供算子開發、模型開發、應用開發的全流程開發體驗,可覆蓋全場景應用。
算子開發
DSL語言開發接口:提供了一套基于內存的開發接口,處理器上的指令映射和調度是自動實現的。開發者僅需要關注算子的數學邏輯計算,不需要了解硬件細節,即可開發出高性能的算子。根據統計可以滿足60%以上算子開發需求。
TIK語言開發接口:提供了一套比較完備的基于處理器內部Buffer可見的編程語言,開發者可以自行決定搬進搬出數據量的大小,從而充分發揮芯片的能力,提升開發算子的性能。
模型開發
支持多種模型開發框架MindSpore,TensorFlow, PyTorch, ONNX?等
支持通過標準化的Ascend IR(Intermediate Representation)接口隔離上層框架差異,進行直接構圖和模型開發
應用開發
提供一套標準的AscendCL編程接口,提升用戶APP編程效率
CANN的硬核技術:
高性能算子庫:支持包括TensorFlow、Pytorch、Mindspore、Onnx框架在內1200+算子,開發者直接基于內置算子即可開發模型。
自動融合技術: 支持基于算子、子圖、SCOPE多維度的自動融合,支持動態DSL融合,可有效減少計算節點,縮短計算時間,讓昇騰AI處理器瞬間加速。
異構部署調度框架:充分利用昇騰芯片的異構執行單元,將不同的計算任務分配給最合適的計算引擎,高效協同異步流水,提升計算任務整體效率。
高效的內存生命周期管理算法:兼顧內存的充分復用以及數據交換的效能,實現資源與效率的均衡。
預置的業界主流模型庫:華為昇騰Model? Zoo提供100+主流模型的代碼以及相應的調優參數example,為開發者提供貨架式的參考實現,詳細信息參見:https://www.hiascend.com/software/modelzoo
高性能的圖下沉執行框架:將所有計算下沉到芯片,減少Host CPU與芯片之間的交互時間,實現高性能的訓練和推理。
高性能動態圖調度:支持基于異步流水的單算子執行框架,支持靈活的H2D、D2H交互,解決PyTorch等框架下動態圖模式的高性能運行問題。
業界領先的智能調優:支持基于強化學習、遺傳算法、CostModel等多種智能調優算法,提供算子級或者圖級調優選擇,為用戶提供自動的極致性能調優體驗。
CANN的5.0版本會給你帶來更多想象,了解更多信息,請訪問昇騰社區https://www.hiascend.com/。
上云必讀 昇騰 機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。