摘要:盤古的訓練以「昇騰AI處理器」為基座,同時借助了「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版本會給你帶來更多想象,了解更多信息,請訪問昇騰社區。