添加小助手:小助手
1.免費資料領取:點擊上方鏈接添加小助手回復【大數據合集】免費領取《大數據典藏版合集》
回復【算法合集】免費領取《互聯網核心算法合集》
2.添加交流群:點擊上方鏈接添加小助手回復【大數據交流群】加入“大數據交流群”
回復【算法交流群】加入“算法交流群”
- 獲得第一手技術干貨文章:關注微信公眾號“DataFunTalk”
分享嘉賓:藍翔 百度 資深研發工程師
編輯整理:張蘭蘭 人民銀行
出品平台:DataFunTalk
導讀:近期,DataFunSummit AI基礎軟件架構峰會以線上形式成功召開,其中深度學習框架論壇更是雲集了各大著名科技企業的頂級專家。來自百度飛槳的資深研發工程師藍翔老師在大會上為大家系統地介紹了源於產業實踐的開源深度學習平台——飛槳,包括飛槳的核心技術,在各行各業中的廣泛應用,以及飛槳在生態建設上的突出成績。
01 飛槳深度學習平台
從2010年開始,百度開始全面布局人工智能技術。2016年,百度正式將飛槳開源,把人工智能技術分享給了廣大開發者。歷經5年,飛槳已經發展成完整的全景圖,集深度學習核心訓練和推理框架、基礎模型庫、端到端開發套件和豐富的工具組件於一體,是中國首個自主研發、功能豐富、開源開放的產業級深度學習平台。
--
1. 飛槳全景圖
- 核心框架
在飛槳全景圖中,最底部為飛槳核心框架,為開發者提供了動態圖和靜態圖兩種編程范式,訓練方面包含了大規模的分布式訓練和產業數據的處理能力,推理部署能力包括服務器端、移動端、網頁前端等,同時通過模型壓縮工具,可以幫助開發者獲得更小體積的模型和更高的性能。
- 基礎模型庫
基礎模型庫目前覆蓋了主流的深度學習研究領域,如自然語言處理、計算機視覺、推薦、語音等,包含多類任務的SOTA模型。開發者可以直接使用,也可以做二次研發,從而滿足用戶不同需求。
- 端到端開發套件
在基礎模型庫的基礎上,飛槳還封裝了端到端的開發套件,以滿足用戶更高級的需求,通過開發套件,用戶可以像搭積木一樣更快更好地開發、訓練和部署模型。
工具組件
為了進一步提升開發效率,針對企業的需求,如強化學習、聯邦學習以及前沿技術,如量子機器學習、生物計算等領域的需求,飛槳團隊還開發了相應的工具組件,以幫助開發者和企業快速落地AI應用。
- 飛槳企業版
針對企業實際應用需求,飛槳企業版以飛槳深度學習開源平台為基礎,提供了EasyDL零門檻AI開發平台和BML全功能AI開發平台兩個平台,旨在為企業提供更好的開發壞境,讓企業更加聚焦於業務與創新。
--
2. 飛槳核心技術
當前深度學習在大規模產業化方面面臨諸多挑戰。
首先在開發階段,模型實現復雜,開發效率較低;
在訓練階段,產業界的數據量大,訓練時間長,反復訓練困難;
在部署階段,實際產業落地的要求很高,同時多硬件還會帶來了很大的部署成本;
產業模型庫包含的模型較少,無法滿足開發者的應用訴求。
面對這些挑戰,飛槳實現了四大特性,下面將分別詳細介紹。
① 開發便捷的深度學習框架
飛槳自然完備地兼容支持便於性能優化的靜態圖和易於調試的動態圖兩種編程范式,默認編程范式采用動態圖,並完美地實現了動靜統一。開發者使用飛槳可以便捷地獲得動態圖編程調試,一行代碼轉靜態圖訓練部署的良好開發體驗。
此外,飛槳還設計了具有獨創性的中間表示——ProgramDesc,它區別於常用的圖表達方式,使得表達簡潔,更好承接上一層編程范式,以及兼顧性能。ProgramDesc還可以更加方便地無縫銜接分布式訓練和推理。此外,在編譯優化方面,ProgramDesc層之外還有圖的表達方式,形成雙層中間表示的結構。
為了更高效地提供動態圖和靜態圖兩種編程范式,飛槳的底層設計把可以復用的模塊形成公用部分,僅從接口和執行邏輯上來區分兩種編程模式,這樣設計可以實現兩種范式的靈活轉換。飛槳提供了全面完備的動轉靜支持,在Python語法支持覆蓋度上達到領先水平。開發者在動態圖編程調試的過程中,只需在動態圖上添加一個裝飾器,就可以無縫平滑地自動轉化成靜態圖,代碼改動量最小。
此外,飛槳還做到了模型存儲和加載的接口統一,保證動轉靜之后保存的模型文件能夠被純動態圖加載和使用。
飛槳為了簡化用戶的開發成本,還設計了高層API。高層API同時支持動態圖和靜態圖,所以使用高層API時不用考慮所使用的編程范式。高層API對數據預處理、數據加載、模型組網、模型訓練、模型評估、模型保存等都進行了封裝,每個步驟僅使用幾行代碼即可實現。同時高層API對計算機視覺、自然語言處理等領域API也做了封裝,例如transformer中的encoder結構,這樣的設計不僅簡化了代碼,還保證了模型效果和高性能。
高層API的應用效果,對於新用戶來說屏蔽了底層的具體細節,減少了學習成本、上手更快,代碼量的減少使得開發效率可以提高50%。高層API和基礎API采用一體化設計,兩者可以互相配合使用,兼顧開發的便捷性和靈活性。
② 超大規模深度學習模型訓練技術
大規模分布式訓練歷來是飛槳非常有特色的一個功能,領先其它框架實現了千億稀疏特征、萬億參數、數百節點並行訓練技術。
此外,飛槳還覆蓋支持包括模型並行、流水線並行在內的廣泛並行模式和加速策略,率先推出業內首個通用異構參數服務器模式和4D混合並行策略,引領大規模分布式訓練技術的發展趨勢。
③ 多端多平台推理部署引擎
對於推理架構方面,飛槳設計了端邊雲全面支持的推理引擎架構,由於采用了和訓練框架一體的內部表達和算子庫,可以完美地實現即訓即用,以及最全面的模型支持。除了最廣泛的硬件和操作系統平台支持之外,我們也設計並開發了可靈活插拔的加速庫,以契合不同場景下部署任務的特點。
部署方面,飛槳還擁有全流程、全場景推理部署工具鏈。開發訓練得到的模型可以通過飛槳模型壓縮工具PaddleSlim的剪枝、量化或蒸餾技術來進一步優化,然后可以使用服務器、移動端/邊緣端、網頁端等不同硬件場景的推理引擎進行部署。從生態來看,飛槳還支持其它框架模型在飛槳平台部署,也支持將飛槳模型轉換為ONNX格式部署。
④ 產業級的開源模型庫
當前官方模型庫支持的算法數量超過400個,覆蓋計算機視覺、自然語言處理、推薦、語音等多個領域,並包含經過產業實踐長期打磨的主流模型以及在國際競賽中的奪冠模型,助力快速產業應用。
隨着國產硬件的不斷發展,訓練和推理端新型AI芯片的適配面臨着很大挑戰。
為了對接愈加豐富的各類硬件,飛槳框架設計了適配統一方案,多層次、多維度降低軟硬件適配和融合優化的成本。針對不同的硬件特性,分別提供了算子開發與映射、子圖與整圖接入以及編譯器后端接入三類不同方案供廠商根據硬件特性靈活選擇。飛槳自研了三個優化方案:高性能基礎算子庫(Kernel Primitive API)、NNAdapter、編譯器CINN,分別對AI算子庫、圖、編譯器后端進行軟硬件結合的深度融合優化。目前飛槳可以說已經是硬件接入成本最低的框架。
基於成熟完備的硬件適配統一方案,飛槳硬件生態持續繁榮,包括英特爾、英偉達、ARM等諸多芯片廠商紛紛開展對飛槳的支持,並主動在開源社區為飛槳貢獻代碼。飛槳還跟飛騰、海光、鯤鵬、龍芯、申威等CPU進行深入融合適配,並結合麒麟、統信、普華操作系統,以及百度昆侖、海光DCU、寒武紀、比特大陸、瑞芯微、高通、英偉達等Al芯片深度融合,與浪潮、中科曙光等服務器廠商合作形成軟硬一體的全棧Al基礎設施。當前飛槳適配的芯片或IP超過30種,處於業界領先地位。
02 飛槳應用案例
飛槳擁有豐富的產業實踐案例,以山東國家電網輸電線路可視化通道環境監測為例。
該項目需要對近景和遠景中的輸電線路進行檢測,並且需要在原有數萬存量監控設備基礎上進行優化。存量的監控設備算力小、功耗低,為此飛槳團隊選擇了YOLOv3模型。
首先該模型可以滿足精度上的要求,然后通過飛槳模型壓縮工具PaddleSlim進行剪裁、蒸餾、量化,使之可以部署到內存有限的存量設備上;最后通過飛槳輕量化推理引擎Paddle Lite成功部署上線,實現了輸電通道的可視化巡檢、重大火情極速預警。
03 飛槳生態建設
良好的生態有助於用戶更便捷地使用開源產品。當前飛槳開源社區累計提交commits超過50萬次,以PR或ISSUE提交形式的開源貢獻者超過了15000人。
飛槳會定期組織各種分享活動,將來自各地的開發愛好者集中在一起相互交流,並通過AI Studio學習與實訓社區,為廣大開發者免費提供豐富的教程、視頻課程以及算力。
在企業方向,飛槳還會舉辦AI快車道、AICA首席AI架構師培養計划等培訓活動,為產業界培養更多的人才,不斷提升飛槳的影響力。
04 精彩問答
Q1:Paddle Lite和TensorFlow Lite區別?
A:Paddle Lite 是一個高性能、輕量級、靈活性強且易於擴展的深度學習推理框架,定位於支持包括移動端、嵌入式以及服務器端在內的多硬件平台,因此在硬件支持方面,Paddle Lite對硬件支持更加完善,尤其是對國產AI硬件的支持,比如百度XPU、華為麒麟NPU、華為昇騰 NPU、聯發科APU等其他硬件,同時也支持更多的操作系統,比如Windows、MacOS等。另一方面,根據內部測試結果,Paddle Lite在部分主流推理模型上,以及部分主流硬件上也有更加優異的性能表現。
Q2:對於動態圖和靜態圖,支持動靜結合模型的決策在什么階段、有什么樣的動力推動了整個設計?
A:自2016年飛槳開源后,整個團隊就一直非常關注外部開發者的反饋。通過調研,很多開發者對動態圖的需求非常強烈。針對企業上線場景需求,推理部署的對接必須要有動態圖到靜態圖轉換的功能。2018年飛槳開始動態圖的開發,同時也籌備並實現了動靜轉換的功能。
今天的分享就到這里,謝謝大家。
閱讀更多技術干貨文章,請關注微信公眾號“DataFunTalk”
關於我們:
DataFun:專注於大數據、人工智能技術應用的分享與交流。發起於2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請近1000位專家和學者參與分享。其公眾號 DataFunTalk 累計生產原創文章500+,百萬+閱讀,13萬+精准粉絲。
注:歡迎轉載,轉載請留言或私信。