摘要:盤古的訓練以「昇騰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版本會給你帶來更多想象,了解更多資訊,請通路昇騰社群。
點選關注,第一時間了解華為雲新鮮技術~