近日,“算網筑基、開源啟智、AI賦能”第四屆OpenI/O啟智開發者大會于深圳成功舉行。大會圍繞中國算力網資源基座、開源社區服務支撐環境、國家級開放創新應用平臺三大部分,探討如何高效建設適合我國的人工智能開源生態體系。
會上,百度飛槳聯合大會,圍繞“引領前沿技術,推動產業升級”的主題,舉辦“深度學習與大模型產業應用專場”論壇。
作為飛槳的生態合作伙伴,昆侖芯科技受邀參與該論壇并進行主題演講,與多位人工智能技術專家和資深工程師,從算法、硬件及大模型等不同視角進行深入探討,介紹各領域深度學習及大模型在產業應用的最新進展與技術突破。
昆侖芯科技資深架構師 侯玨
本篇以下內容整理于昆侖芯科技資深架構師侯玨題為《昆侖芯×飛槳——AI產業實踐與“芯”生態》演講實錄。
大家好,我是來自昆侖芯科技的侯玨。很高興有這個機會跟大家交流和分享。我分享的題目是《昆侖芯×飛槳——AI產業實踐與“芯”生態》。本次主題演講分為四個方面:
1. 關于昆侖芯科技
2. 昆侖芯x飛槳生態
3. 大模型:訓練和推理
4. AI產業實踐
01
關于昆侖芯科技
昆侖芯科技前身是百度智能芯片及架構部,2011年開始研發基于FPGA的加速器,截止2017年,FPGA系列的加速器部署數量超過12000片。2018年,我們正式啟動了昆侖芯AI芯片產品的研發,發布第一代產品,2020年成功進行了大規模部署。緊接著,第二代系列產品于2021年8月成功量產,到了2022年,昆侖芯二代產品就開始啟動互聯網及相關行業的交付,不斷有項目在落地中。
從我們十幾年來的AI芯片及其相關行業的經驗來看,AI芯片產業化要重點解決三個問題。我們內部一致認為,可以把三個問題稱為三道窄門:一定要過的門,而且門還挺窄。
首先芯片要量產,量產是前提。只有把芯片做到量產、規模化,才能平攤前期流片、研發、設計等一系列成本。并且,一個芯片是不是能夠成功量產,也是衡量芯片本身是否成熟的一個標志。
其次,有配套的軟件生態。這個軟件生態指的是芯片自己的軟件以及周邊的一些軟件。顯而易見,如果我們只做了一個芯片給客戶,客戶不知道如何使用芯片,或者說不知道芯片能夠給其業務帶來怎樣的幫助,在市場上就沒有什么競爭力。所以,我們在做軟件生態時,除了做昆侖芯自己的一套軟件棧,包括編譯器、SDK、算子庫、模型庫等,還為開發者社區以及一定量的用戶構建了整個的軟件生態。
最后,做產品化。雖然我們說一定要成就客戶,要完成具體的項目來實現我們的業務落地,但實際上更重要的是投入長期努力,把一款芯片做好,把一組芯片做好,長期地做出產品來,才能夠保證我們的商業模式是可持續發展的狀態。
然后介紹一下昆侖芯科技的產品。首先向大家展示的是昆侖芯二代產品系列中的R200加速卡,是一個全高全長雙槽位的卡,可以進行INT8、INT16、FP16、FP32多種精度的計算。算力、內存、訪存帶寬等細節可參見上圖表格。R200可以搭配昆侖芯軟件棧,也可以搭配飛槳上層的軟件棧。例如,昆侖芯可支持飛槳的深度學習框架,同時支持飛槳框架的各種相關周邊套件,進行推理、訓練。
大家會想,只有一張卡也許干不了什么事。因此,針對多卡并行計算的需求,我們又做了一個加速器組。大家可以買一些R200加速卡自己拼,但應該沒有我們拼的好,因為我們在做加速器組時,專門做了卡片間的互聯,可達200GB/s。當然,8張卡在一起,算力和顯存也達到了原來的8倍。單機多卡的形式基本上可以滿足最常見的單機的推理或者并行訓練的需求。
有的朋友可能仍覺得不方便,為此,我們聯合飛槳以及百度的全功能AI開發平臺BML,做了一個開箱即用的昆侖芯軟硬集成一體機。圖上是一個2U的服務器,里面有面板、CPU、內存、開發平臺等所有東西。此外,還集成了飛槳的穩定發布版本,以及內置了100多個各行各業的模型,真正做到了開箱即用。也就是說,從我們這買了一臺2U或4U的服務器,只需要插個電線和網線,就可以用了。
02
昆侖芯×飛槳生態
首先,我們說深度學習框架是AI時代的操作系統,AI芯片是AI時代的核心算力支撐。框架和芯片的關系大概就如圖所示:框架在中間,上面是應用和服務編排,底下是芯片。大家的業務應用都需要通過業務模型和服務編排,再跑到框架,框架負責把用戶的腳本、組網代碼、參數、優化器等拿到。更準確的說,框架把各種神經網絡層、優化算法、學習率衰減等數據拿到之后,會把實際的計算過程翻譯成各個算子,下發到AI芯片上進行真正的計算,算好了之后再把結果拿回框架里,繼續調下一個算子。
我們按照這個邏輯做了昆侖芯和飛槳的適配,原則是你要什么,我就有什么。接下來為大家介紹下重點。
首先從下往上說,最底下是設備管理層。飛槳的框架有一個設備管理模塊,對接著我們提供的驅動和運行時模塊,也就是昆侖芯的runtime,這樣框架就能識別到我們的設備,并且往我們的設備上下發指令,包括申請內存等。
再往上是計算執行層。這一層是以飛槳的算子庫為主,飛槳的算子庫有大量的算子,其中很多是昆侖芯提供的,也有很多是昆侖芯與飛槳一起提供的。在昆侖芯軟件棧中,有XDNN算子庫和XTDK編程接口。從飛槳角度看,可以像調用其它異構計算硬件一樣,把要執行的操作,通過算子調用的方式下發到設備上,也就是大家所說的:我們要launch一個kennel,然后去拿結果,在host上發起操作,在device上執行,設備內部算好了再返回給框架。有了這兩件事,單機單卡所有的事都能搞定。
但大家會發現單機單卡越來越不夠用,所以上面還有一個分布式通信層。昆侖芯有集合通信庫(Communication library),把它和飛槳的分布式通信(fleet)模塊結合起來,就可以做到通信所需要的send、receive、all_reduce等,也就可以實現單機多卡、多機多卡的訓練和推理。
從時間軸上來看,我們跟飛槳的合作從2018開始,合作經歷了從簡單到困難、從推理到訓練、從相對單一的場景擴展到了更復雜的場景的不同階段。我們一共支持了大概300多個算子,還有大規模驗證的50多個模型。(沒準兒我正在做主題演講的同時,昆侖芯和飛槳的QA同學又測試通過了模型,這個數兒還得往上加。)對應的流水線和單元測試我們也都有,這是穩定、正式的發布情況。此外,還有200多個小模型跑通了飛槳TIPC認證的全流程。
需要注意的是,并不是只有50多個模型可以跑,而是因為飛槳框架已經有了這個機制,萬一遇到了個別很奇怪的算子,沒法放在device上算,就可以自動fallback到CPU上,速度也許會慢點,但也能算。并且我們也在不斷更新中,將業界最新的論文、百度各種自研的模型加入到我們的支持列表中來。
上圖列出了一些我們已經適配好的模型,有圖像分類、檢測、分割、OCR、自然語言處理(NLP)等。其中有一些是飛槳特色的模型,例如PPYOLO、PPOCR等“PP”開頭的模型。在飛槳的官方網站上也可以看到,如何使用昆侖芯進行編譯、安裝,運行飛槳的各種操作,可供大家參考。
03
大模型:訓練和推理
下一部分是介紹我們在大模型上專門進行的一些工作,包括訓練和推理兩部分。
訓練部分,昆侖芯可全部支持飛槳的四種數據并行方式:數據并行(DP)、分組切分并行(Sharding)、張量模型并行(MP)、流水線并行(PP)。如果大家用飛槳運行這四種并行方式時很順利,在用昆侖芯計算時應該也不會有什么問題,只需要把大家熟悉的set_device操作,在昆侖芯的設備上執行。原理很簡單,所有飛槳需要的操作我們都可以支持,有kennel、通信算子,那么這些支持就都不是難事。
此外,我們也支持飛槳的各種套件,例如PaddleClass、PaddleDetection等。大家在用PaddleClass、PaddleDetection時,把模型配置中的yaml文件中的項目use_xpu=true打開一下即可。
推理部分,針對Transformer,我們專門開發了XPU Faster Transformer工具,可以對算子進行fusion,在針對這些Transformer類型的網絡結構時進行加速,并且可以節約很多顯存。我們在上面進行了很多針對性的性能優化,使它可以在昆侖芯硬件上充分發揮優勢。
04
AI產業實踐
首先來看一個典型的工業質監場景。一個工業攝像機拍攝一組零件的健康狀況,通過機械臂把不合格的產品踢掉。
這個原理看似是圖片上那么簡單,但需要做到推理、訓練兩件事才能實現。例如要有機構硬件、深度學習平臺、推理引擎、Serving、模型訓練等等,這些事情做完后就可以拿到一個高效率、高速度的工業質檢流水線。
還有一個文檔相關的案例。可能有法律界或相關行業的朋友知道“三書一函”。首先需要對文檔進行分析、導入,包括文字識別、語義分析、語義理解,做成一個知識圖譜并保存,就可以進行完整的檢測和語義分析,最后拿到結果排序,實現了業務全流程的數字化,同時支持用戶的自定義模型。
昆侖芯落地案例豐富,前面兩個案例是選擇的比較通俗易懂的進行講解。上圖是一個全棧的技術生態圖景,從底層的芯片、服務器,到中間的昆侖芯SDK,再到飛槳框架,我們就可以幫助大家把業務目標落地。
本次主題分享的題目是“芯”生態,“芯”是“芯片”的“芯”,也是“昆侖芯”的“芯”。我希望昆侖芯和飛槳,以及一系列上層應用,可以在各行各業發揮出力量,從芯片、框架到算法,從軟件到硬件,持續做大做強,和各位開發者、客戶一起互相促進、互相成就、共同進步。
最后,非常感謝大家的聆聽,歡迎大家訪問昆侖芯科技的官網。
-
AI
+關注
關注
87文章
30741瀏覽量
268896 -
開發者
+關注
關注
1文章
564瀏覽量
17005 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113 -
飛槳
+關注
關注
0文章
33瀏覽量
2286 -
昆侖芯科技
+關注
關注
0文章
27瀏覽量
613
原文標題:分享|昆侖芯科技資深架構師侯玨:昆侖芯×飛槳——AI產業實踐與“芯”生態
文章出處:【微信號:昆侖芯科技,微信公眾號:昆侖芯科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論