智能時代 加速進化
去年11月在世界互聯網大會烏鎮發布的《中國互聯網發展報告2020》顯示,中國人工智能專利申請數量高達11萬項,首次超越美國,成為世界第一。 這當然是一個了不起的成就,實際上我們每個人早就已經感同身受了:智慧交通,讓我們的出行更加暢通快捷;智能制造,讓中國制造從做大走向做強…… 更不用說網約車、電商購物、外賣等應用,紛紛將人工智能融入到場景當中,為人們帶來前所未有的巨大便利。那么,是不是我們就可以認為更多的傳統行業用戶,也同樣能夠輕松寫意地邁入AI時代呢? 很可惜的是,至少在當前我們還無法給出肯定的答案。 智能時代 加速進化 自從上世紀五十年代被提出以來,在很長的一段時間里,人工智能的發展一直比較緩慢。究其原因,在很大程度上是由于算力的不足和短缺。
熟悉計算產業的人,不會不知道關乎到處理器的摩爾定律。簡而言之,就是每過十八個月,處理器就可以做到性能的翻倍。與其他很多行業相比,這簡直是在開掛飆車。
然而,當數據從云上、從邊緣,從一切可能的地方奔涌而來時,即便坐擁摩爾定律的加持,我們的數據處理能力仍然是相形見絀,讓產業的智能化步履沉重。
我們知道,要真正做到AI的全面落地,勢必要花費大量資源進行模型的訓練。與此同時,模型的開發難度太大,以及后期向正式商用的遷移效率低下等問題,均是橫亙在智能時代的巨大阻礙。
為了解決以上各種問題,打通客戶邁向智能時代的“任意門”,華為專門設計了異構計算架構昇騰CANN。從2018年首次發布至今,CANN基本保持了一年一個版本的升級節奏,目前最新的版本是CANN 3.0。
與此前相比,CANN 3.0已經統一了編程架構,能夠做到端邊云全場景協同。在看到“端邊云”時,我最早是有幾分疑惑的:現在很多廠商都在談“端邊云管”, 為什么CANN 3.0偏偏少了一個“管”呢?
其實,問題的關鍵在于AI本身就體現在“端邊云”,與“管”無涉。華為的技術專家告訴胖頭陀,至少在當前,開發者并沒有在“管”上做應用開發的需求。
在統一的APP編程語言之外,華為CANN 3.0還包含了統一網絡構圖接口、高性能計算引擎和算子庫,以及包括驅動、虛擬化、媒體、集合通信等能力在內的基礎服務。
也就是說,華為CANN 3.0為企業的智能進化,提供了一套貫穿業務生命周期的完整工具包,客戶不再需要購買其他任何不必要的產品,就能完成從模型開發、算法訓練、商用遷移等工作,同時減少人為干預、降低開發成本,企業可以從此盡享AI之美。
軟件硬件 極致配合
如果你喜歡看綜藝節目,一定會注意到,現在這類節目的機位多到“令人發指”,每位嘉賓的一顰一笑都會被拍下來,從而讓錄制的節目更具現場感和鏡頭感,吸引盡可能多的觀眾。
不過,假若沒有后臺強大的視頻處理能力,再多的機位也只是擺設而已。
在視頻應用場景中,CANN 3.0能夠充分釋放AI硬件的性能。以搭載了CANN 3.0的華為Atlas 300I為例,它可以同時處理 80 路1080p、25FPS的高清視頻,是業界當前水準的2倍。
當然,我們只是用視頻來舉例,實際上在高效開發之外,極致性能是CANN 3.0的又一大價值。
目前,CANN 3.0高性能算子庫已擁有1000+經過深度優化的硬件親和算子,同時通過深度圖優化、自動圖拆分與融合、數據Pipeline智能優化等技術,CANN 3.0支撐極致性能的發揮,讓用戶投資在硬件上的每一分錢,都能發揮出最大的價值。
AI開發的效果,在很大程度上取決于軟硬件的協調。就像是我們熟悉的木桶理論,如果軟硬件不能做到匹配,系統的水準就只能勉強夠到最短的那一根。
在目前的各種主流異構計算架構中,絕大多數都是在自家處理器上表現優秀,換到別家就有可能拉胯。其實,從商業回報上來看,這也無可厚非。
華為CANN 3.0則不然。由于代碼是普適的,CANN 3.0可以毫無障礙地適配各種第三方廠商的機器學習系統,譬如谷歌的TensorFlow,最大程度地發揮軟硬件的效率和性能。
與此同時,CANN 3.0對全場景下訓練和推理的硬件也沒有強行限定,因此用戶只需開發一套代碼,就能在各種不同的操作系統和智能終端上復用,而這無疑能夠極大地降低用戶的開發成本,便于他們將已有的成功應用,復制和遷移到更多的場景中。
據介紹,從1.0升級到3.0,CANN在帶來更好性能的同時,也在不斷適配更多的第三方計算框架。在CANN 3.0架構下,企業無需關心自己究竟在用哪個計算框架,因為華為已經從底層做到了軟件與硬件的極致配合。
全面開放 靈活開發
我們的話題,最終還是要落在開發上,這也是千行百業面對智能時代時必須要跨越的一道坎兒,開發已經成為企業構建AI核心競爭力的關鍵因素。
面向不同水平的AI開發者,CANN 3.0沒有采取一刀切的模式,而是提供了普通(TBE-DSL)和專業(TBE-TIK)兩種算子開發模式,支持企業快速構建基于昇騰平臺的AI應用和業務。
其中,TBE-DSL的入門難度比較低,它可以自動實現數據的切分和調度,開發者也無需了解昇騰AI處理器的相關知識,直接調用已有的算子,節省70%的算子開發時間。
TBE-TIK相對就難一些,不像TBE-DSL只是在高層抽象編程,而是要深入到指令層,靈活地調用計算資源,進一步挖掘硬件的計算潛力,實現更加高效和復雜的應用。
當然,經過不斷的學習和實踐,開發者完全可以從“普通”走向“專業”, TBE-DSL和TBE-TIK之間并非難以跨越的天塹。
需要指出的是,CANN 3.0在頂層提供了昇騰芯片面向應用的調用接口AscendCL,它的作用是讓代碼在未來的CANN 4.0,或是更高的版本下,依舊可以使用,而且能夠做到運行效率不縮水。
該模式下,居中調停的AscendCL提供了Device、Context、Stream、內存、模型和算子等統一調用接口(API),開發者可以用任何的框架,譬如Tensorflow、Caffe、Mindspore等,方便快捷地調用這些API,而無需關心計算資源優化等問題。
此外,用戶還可以使用AscendCL封裝實現第三方lib庫,以便提供昇騰AI處理器的運行管理、資源管理能力。
目前,華為在昇騰社區里為CANN 3.0開設了專區,這里也可以下載到社區版和商用版,前者是快速提供新特性的體驗版,后者則是滿足商用標準的穩定版本。
在專區里,開發者可以和華為的研究人員實現高效的互動,及時反饋在體驗版里遇到的問題,然后華為會進行快速的版本迭代。同時,社區為也開發者提供了交流分享的平臺。
作為引領科技革命和產業變革的重要驅動力,AI正在深刻改變我們的學習、工作和生活。毫不夸張地講,擁有CANN 3.0,企業就擁有了開啟智能未來的金鑰匙。
你的未來,準備好了沒有?
欲看更多文章