ITBear旗下自媒體矩陣:

百度飛槳框架2.0正式版重磅發(fā)布,一次端到端的“基礎(chǔ)設(shè)施”革新

   時間:2021-03-15 15:22:24 來源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評論無障礙通道

在人工智能時代,深度學(xué)習(xí)框架下接芯片,上承各種應(yīng)用,是“智能時代的操作系統(tǒng)”。近期,我國首個自主研發(fā)、功能完備、開源開放的產(chǎn)業(yè)級深度學(xué)習(xí)框架飛槳發(fā)布了2.0正式版,實現(xiàn)了一次跨時代的升級。

這次2.0版本的發(fā)布對于飛槳來說,可以說是一次“基礎(chǔ)設(shè)施”的全面更新?lián)Q代!生活中,我們看到過很多基礎(chǔ)設(shè)施建設(shè)工程,例如西電東送、南水北調(diào)、高鐵建設(shè)等等,這些在保證生產(chǎn)生活設(shè)施正常運行、推動整個社會的經(jīng)濟發(fā)展和人們生活水平改善的過程中,以一種 “潤物細無聲”的形式扮演著關(guān)鍵基礎(chǔ)性角色!此次飛槳升級就是以這樣方式悄然為整個產(chǎn)業(yè)及生態(tài)的發(fā)展繁榮奠定基礎(chǔ)、積蓄能量、增添后勁!下面將為廣大開發(fā)者詳細介紹飛槳都做了哪些“基礎(chǔ)設(shè)施”級別的關(guān)鍵工程。

使用飛槳框架2.0更高效地開發(fā)AI模型

成熟完備的動態(tài)圖模式

此次升級,飛槳將默認的開發(fā)模式升級為命令式編程模式,即大家常說的動態(tài)圖。飛槳框架2.0支持用戶使用動態(tài)圖完成深度學(xué)習(xí)相關(guān)領(lǐng)域全類別的模型算法開發(fā)。動態(tài)圖模式下可以讓開發(fā)者隨時查看變量的輸入、輸出,方便快捷的調(diào)試程序, 帶來最佳的開發(fā)體驗。為了解決動態(tài)圖的部署問題,飛槳提供了全面完備的動轉(zhuǎn)靜支持,在Python語法支持覆蓋度上達到領(lǐng)先水平。開發(fā)者在動態(tài)圖編程調(diào)試的過程中,僅需添加一個裝飾器,即可無縫平滑地自動實現(xiàn)靜態(tài)圖訓(xùn)練或模型保存。同時飛槳框架2.0還做到了模型存儲和加載的接口統(tǒng)一,保證動轉(zhuǎn)靜之后保存的模型文件能夠被純動態(tài)圖加載和使用。

在飛槳框架2.0版本上,官方支持的動態(tài)圖算法數(shù)量達到了200+,涵蓋計算機視覺、自然語言處理、語音、推薦等多個領(lǐng)域,并且在動態(tài)圖的訓(xùn)練效率和部署效率方面都有所提升。2.0版本的動態(tài)圖支持了自動混合精度和量化訓(xùn)練功能,實現(xiàn)了比靜態(tài)圖更簡潔靈活的混合精度訓(xùn)練接口,達到媲美靜態(tài)圖的混合精度和量化訓(xùn)練效果。無論從功能還是性能角度,飛槳的動態(tài)圖在國產(chǎn)深度學(xué)習(xí)框架中都處于領(lǐng)先地位!

同時,為了推進各個主流場景的產(chǎn)業(yè)級應(yīng)用,飛槳的系列開發(fā)套件也隨飛槳框架2.0完成了升級,全面支持動態(tài)圖開發(fā)模式。從開發(fā)、訓(xùn)練到預(yù)測部署提供優(yōu)質(zhì)體驗。如視覺領(lǐng)域的圖像分割套件PaddleSeg,隨飛槳框架2.0升級后,涵蓋了高精度和輕量級等不同特點的大量高質(zhì)量分割模型,采用模塊化的設(shè)計,提供了配置驅(qū)動和API調(diào)用兩種應(yīng)用方式,幫助開發(fā)者更便捷地完成全流程圖像分割應(yīng)用;又如自然語言處理領(lǐng)域的PaddleNLP,與飛槳框架2.0深度適配,擁有覆蓋多場景的網(wǎng)絡(luò)模型、簡潔易用的全流程API,以及動靜統(tǒng)一的高性能分布式訓(xùn)練能力,非常便于二次開發(fā),大大提升建模效率。具體可以參見下面鏈接中的項目示例。

飛槳框架2.0動態(tài)圖模型:

https://github.com/PaddlePaddle/models/tree/develop/dygraph

全新PaddleSeg項目應(yīng)用實例:

https://aistudio.baidu.com/aistudio/projectdetail/1339458

全新PaddleNLP項目應(yīng)用示例:

https://aistudio.baidu.com/aistudio/projectdetail/1329361

API體系全新升級

API是用戶使用深度學(xué)習(xí)框架的直接入口,對開發(fā)者使用體驗起著至關(guān)重要的作用,飛槳一直以來對API設(shè)計以及整體API體系的完善給予高度重視。飛槳框架2.0對 API體系進行了全新升級,讓開發(fā)者們在使用飛槳研發(fā)的過程中可以體驗到隨心所欲、暢通無阻的愉悅感覺。

體系化: 基于長期的產(chǎn)業(yè)實踐積累與用戶使用習(xí)慣的洞察,飛槳重新梳理和優(yōu)化了API的體系結(jié)構(gòu),使其更加清晰、科學(xué),讓廣大開發(fā)者可以更容易地根據(jù)開發(fā)使用場景找到想要的API。此外可以通過class和functional兩種形式的API來模塊化的組織代碼和搭建網(wǎng)絡(luò),提高開發(fā)效率。同時,API的豐富度有了極大的提升,共計新增API 217個,優(yōu)化修改API 195個。

簡潔化:提供更適合低代碼編程的高層API。像數(shù)據(jù)增強、建立數(shù)據(jù)流水線、循環(huán)批量訓(xùn)練等可以標準化的工作流程,以及一些經(jīng)典的網(wǎng)絡(luò)模型結(jié)構(gòu),在飛槳框架2.0中,都被封裝成了高層API?;陲w槳高層API,開發(fā)者只需10行左右代碼就可以編寫完成訓(xùn)練部分的程序。最為重要的是,高層API與基礎(chǔ)API采用一體化設(shè)計,即在編程過程中可以同時使用高層API與基礎(chǔ)API,讓用戶在簡捷開發(fā)與精細化調(diào)優(yōu)之間自由定制。新API體系完全兼容歷史版本,同時飛槳提供了升級工具,幫助開發(fā)者降低升級遷移成本。

飛槳開源框架2.0 API參考文檔:

https://www.paddlepaddle.org.cn/documentation/docs/zh/api/index_cn.html

使用飛槳框架2.0更高效地訓(xùn)練AI模型

訓(xùn)練更大規(guī)模的模型

眾所周知,飛槳框架的英文名Paddle便是并行分布式訓(xùn)練學(xué)習(xí)的縮寫,分布式可以說是飛槳與生俱來的特性。飛槳支持包括數(shù)據(jù)并行、模型并行、流水線并行在內(nèi)的廣泛并行模式和多種加速策略。在飛槳框架2.0版本中,新增支持了混合并行模式,即數(shù)據(jù)并行、模型并行、流水線并行這三種并行模式可以相互組合使用,更高效地將模型的各網(wǎng)絡(luò)層甚至某一層的參數(shù)切分到多張GPU卡上進行訓(xùn)練,從而實現(xiàn)支持訓(xùn)練千億參數(shù)規(guī)模的模型。

業(yè)內(nèi)首個通用異構(gòu)參數(shù)服務(wù)器架構(gòu)

飛槳框架2.0推出了業(yè)內(nèi)首個通用異構(gòu)參數(shù)服務(wù)器技術(shù),解除了傳統(tǒng)參數(shù)服務(wù)器模式必須嚴格使用同一種硬件型號Trainer節(jié)點的枷鎖,使訓(xùn)練任務(wù)對硬件型號不敏感,即可以同時使用不同的硬件進行混合異構(gòu)訓(xùn)練,如CPU、GPU(也包括例如V100、P40、K40的混合)、AI專用加速硬件如昆侖芯片等,同時解決了搜索推薦領(lǐng)域大規(guī)模稀疏特征模型訓(xùn)練場景下,IO占比過高導(dǎo)致的計算資源利用率過低的問題。通過異構(gòu)參數(shù)服務(wù)器架構(gòu),用戶可以在硬件異構(gòu)集群中部署分布式訓(xùn)練任務(wù),實現(xiàn)對不同算力的芯片高效利用,為用戶提供更高吞吐,更低資源消耗的訓(xùn)練能力。

圖 異構(gòu)參數(shù)服務(wù)器架構(gòu)示意圖

通用異構(gòu)參數(shù)服務(wù)器架構(gòu)之所以被稱之為通用,主要在于其兼容支持三種訓(xùn)練模式:

1、可兼容全部由CPU機器組成的傳統(tǒng)參數(shù)服務(wù)器架構(gòu)所支持的訓(xùn)練任務(wù)。

2、可兼容全部由GPU或其他AI加速芯片對應(yīng)機器組成的參數(shù)服務(wù)器,充分利用機器內(nèi)部的異構(gòu)設(shè)備。

3、支持通過CPU機器和GPU或其他AI加速芯片對應(yīng)機器的混布,組成機器間異構(gòu)參數(shù)服務(wù)器架構(gòu)。

異構(gòu)參數(shù)服務(wù)器擁有非常高的性價比,如下圖所示,僅用兩個CPU機器加兩個GPU機器就可以達到與4個GPU機器相仿的訓(xùn)練速度,而成本至少可以節(jié)約35%。

分布式訓(xùn)練教程:

https://fleet-x.readthedocs.io/en/latest/paddle_fleet_rst/distributed_introduction.html

使用飛槳框架2.0更廣泛地部署AI模型到各種硬件

全面深度適配各種人工智能硬件

AI產(chǎn)業(yè)的廣泛應(yīng)用離不開各種各樣的人工智能硬件的繁榮,飛槳可以說深諳其道,持續(xù)努力打造繁榮的硬件生態(tài)。當前包括英特爾、英偉達、ARM等諸多芯片廠商紛紛開展對飛槳的支持。飛槳還跟飛騰、海光、鯤鵬、龍芯、申威等CPU進行深入適配,并結(jié)合麒麟、統(tǒng)信、普華操作系統(tǒng),以及百度昆侖、海光DCU、寒武紀、比特大陸、瑞芯微、高通、英偉達等AI芯片深度融合,與浪潮、中科曙光等服務(wù)器廠商合作形成軟硬一體的全棧AI基礎(chǔ)設(shè)施。當前飛槳已經(jīng)適配和正在適配的芯片或IP型號達到29種,處于業(yè)界領(lǐng)先地位。

圖 飛槳硬件生態(tài)路線圖

在百度直接搜索“飛槳”進入官網(wǎng),或者github搜索“PaddlePaddle”,立即體驗飛槳開源框架2.0版本

飛槳框架2.0安裝:

https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/2.0/install/pip/linux-pip.html

10分鐘快速上手飛槳框架2.0:

https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/02_paddle2.0_develop/01_quick_start_cn.html

飛槳框架2.0使用教程:

https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/index_cn.html

飛槳框架2.0應(yīng)用實踐:

https://www.paddlepaddle.org.cn/documentation/docs/zh/tutorial/index_cn.html

如果您想詳細了解更多飛槳的相關(guān)內(nèi)容,請參閱以下文檔。

飛槳官網(wǎng)地址·

https://www.paddlepaddle.org.cn/

飛槳開源框架項目地址·

GitHub: https://github.com/PaddlePaddle/Paddle

Gitee: https://gitee.com/paddlepaddle/Paddle

舉報 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version