ITBear旗下自媒體矩陣:

解密百度飛槳框架2.0正式版,從開發(fā)、訓(xùn)練到部署全面換代

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

2016 年,百度 PaddlePaddle 打響了國(guó)產(chǎn)深度學(xué)習(xí)框架開源的第一槍。

2019 年 4 月,在 Wave Summit 深度學(xué)習(xí)開發(fā)者峰會(huì)上,首次發(fā)布了PaddlePaddle 的中文名“飛槳”,開始強(qiáng)調(diào)自己更適合中國(guó)開發(fā)者,以及更加專注于深度學(xué)習(xí)模型的產(chǎn)業(yè)實(shí)踐。與此同時(shí),飛槳的發(fā)展開始提速。

時(shí)間來到 2020 年,這一年是國(guó)產(chǎn)深度學(xué)習(xí)框架的高光時(shí)刻,作為國(guó)產(chǎn)領(lǐng)頭羊的飛槳?jiǎng)幼黝l頻,不斷更新升級(jí)。

2021 年 3 月,百度正式推出飛槳框架 2.0 正式版,實(shí)現(xiàn)了一次跨時(shí)代的升級(jí)。如今,在 GitHub 上,飛槳已收獲Star數(shù)量達(dá)到了14.6k,被越來越多的開發(fā)者所使用。

從開發(fā)、訓(xùn)練到部署:飛槳框架 2.0 從“更新升級(jí)”到“全面換代”

飛槳作為我國(guó)首個(gè)開源開放的深度學(xué)習(xí)平臺(tái),想要保持自己的地位,必須要有自己獨(dú)特的優(yōu)勢(shì)。經(jīng)過多年的更新迭代,飛槳已經(jīng)集開發(fā)便捷的核心框架、超大規(guī)模深度學(xué)習(xí)模型訓(xùn)練、多端多平臺(tái)部署的高性能推理引擎和覆蓋多領(lǐng)域的產(chǎn)業(yè)級(jí)模型庫(kù)四大核心技術(shù)于一體,始終保持技術(shù)領(lǐng)先與功能完備。如今飛槳已凝聚 265 萬開發(fā)者,服務(wù) 10萬多家企業(yè),創(chuàng)建了超過 34 萬個(gè)模型,幫助越來越多的行業(yè)完成AI賦能,實(shí)現(xiàn)產(chǎn)業(yè)智能化升級(jí)。

與之前的版本迭代相比,此次 2.0 版本的發(fā)布對(duì)于飛槳來說,不僅僅是一次常規(guī)升級(jí),而是一次“基礎(chǔ)設(shè)施”的全面更新?lián)Q代!這一次,百度從產(chǎn)業(yè)實(shí)踐的全流程出發(fā),對(duì) 深度學(xué)習(xí)模型的開發(fā)、訓(xùn)練、部署進(jìn)行了整體優(yōu)化,進(jìn)一步加速 AI 應(yīng)用的大規(guī)模落地。

一、更高效地開發(fā) AI 模型

1、成熟完備的動(dòng)態(tài)圖模式

由于命令式編程模式(動(dòng)態(tài)圖)對(duì)開發(fā)者的友好性,飛槳于 2019 年初也在推進(jìn)動(dòng)態(tài)圖功能。此次升級(jí),飛槳將默認(rèn)的開發(fā)模式升級(jí)為動(dòng)態(tài)圖,這標(biāo)志著飛槳的動(dòng)態(tài)圖功能已經(jīng)成熟完備。據(jù)了解,飛槳 框架2.0 支持用戶使用動(dòng)態(tài)圖完成深度學(xué)習(xí)相關(guān)領(lǐng)域全類別的模型算法開發(fā)。動(dòng)態(tài)圖模式下,開發(fā)者可以隨時(shí)查看變量的輸入、輸出,方便快捷的調(diào)試程序,帶來更好的開發(fā)體驗(yàn)。

為了解決動(dòng)態(tài)圖的部署問題,飛槳提供了全面完備的動(dòng)轉(zhuǎn)靜支持,在 Python 語法支持覆蓋度上達(dá)到領(lǐng)先水平。開發(fā)者在動(dòng)態(tài)圖編程調(diào)試的過程中,僅需添加一個(gè)裝飾器,即可無縫平滑地自動(dòng)實(shí)現(xiàn)靜態(tài)圖訓(xùn)練或模型保存。同時(shí)飛槳框架 2.0 還做到了模型存儲(chǔ)和加載的接口統(tǒng)一,保證動(dòng)轉(zhuǎn)靜之后保存的模型文件能夠被純動(dòng)態(tài)圖加載和使用。

在飛槳框架 2.0 版本上,官方支持的動(dòng)態(tài)圖算法數(shù)量達(dá)到了 270+,涵蓋計(jì)算機(jī)視覺、自然語言處理、語音、推薦等多個(gè)領(lǐng)域,并且在動(dòng)態(tài)圖的訓(xùn)練效率和部署效率方面都有所提升。2.0版本的動(dòng)態(tài)圖支持了自動(dòng)混合精度和量化訓(xùn)練功能,實(shí)現(xiàn)了比靜態(tài)圖更簡(jiǎn)潔靈活的混合精度訓(xùn)練接口,達(dá)到媲美靜態(tài)圖的混合精度和量化訓(xùn)練效果。

同時(shí),為了推進(jìn)各個(gè)主流場(chǎng)景的產(chǎn)業(yè)級(jí)應(yīng)用,飛槳的系列開發(fā)套件也隨飛槳框架 2.0 完成了升級(jí),全面支持動(dòng)態(tài)圖開發(fā)模式。

2、API體系全新升級(jí)

API 是用戶使用深度學(xué)習(xí)框架的直接入口,對(duì)開發(fā)者使用體驗(yàn)起著至關(guān)重要的作用。飛槳框架 2.0 對(duì) API 體系進(jìn)行了全新升級(jí),包括體系化的梳理以及簡(jiǎn)潔化的處理,而且飛槳框架 2.0的 新API 體系完全兼容歷史版本,同時(shí)飛槳提供了升級(jí)工具,幫助開發(fā)者降低升級(jí)遷移成本。

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

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

二、更高效地訓(xùn)練AI模型

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

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

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

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

圖片

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

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

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

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

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

三、更廣泛地部署AI模型到各種硬件

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

自主可控的必要性:TensorFlow、PyTorch 并不完美

很多人對(duì)國(guó)產(chǎn)深度學(xué)習(xí)框架的發(fā)展抱有懷疑態(tài)度,認(rèn)為這些工作只不過是在拾人牙慧,重復(fù)造輪子,而且 AI 開源框架的搭建是一項(xiàng)費(fèi)時(shí)費(fèi)力的龐大工程。如果沒有超越現(xiàn)有主流框架的想法,去重復(fù)造一套沒有技術(shù)創(chuàng)新的輪子,“性價(jià)比”似乎不高,對(duì)技術(shù)人員來說吸引力也不大。

然而 AI 的大規(guī)模落地仍然處在起步階段,深度學(xué)習(xí)技術(shù)依然在不斷發(fā)展,復(fù)雜程度也在不斷提高,而 TensorFlow、PyTorch 等國(guó)外框架并非沒有提升的空間,因此飛槳等國(guó)產(chǎn)框架依然有很大的機(jī)會(huì)。

業(yè)內(nèi)的一位算法工程師表示,TensorFlow 對(duì)稀疏模型的處理能力,大規(guī)模分布式計(jì)算能力,以及在 Embedding 內(nèi)存利用率上,仍然有提升空間,而且 TensorFlow 2.0 API 混亂的問題也亟待解決;而 PyTorch 也是類似,主要關(guān)注解決密集模型,對(duì)稀疏模型的關(guān)注度欠缺。

此外,飛槳免費(fèi)開放了很多預(yù)訓(xùn)練模型,可以直接在產(chǎn)業(yè)界落地,因此對(duì)于小型企業(yè)來說更有利,成本更低,同時(shí)也能取得不錯(cuò)的效果。由于 AI 正在從云端走向邊緣端,而飛槳對(duì)多芯片平臺(tái)的適配和支持,也帶了很大的部署優(yōu)勢(shì)。

與此同時(shí),百度也在加大構(gòu)建飛槳社區(qū)的扶持,因此中國(guó)開發(fā)者也可以獲得更及時(shí)、更個(gè)性化的支持。

今年 3 月美國(guó)國(guó)家人工智能安全委員會(huì)(the National Security Commission on Artificial Intelligence,NSCAI)發(fā)布的一份報(bào)告,提出了對(duì)于總統(tǒng)拜登、國(guó)會(huì)及企業(yè)和機(jī)構(gòu)的數(shù)十項(xiàng)建議,以期壓制中國(guó) AI 的發(fā)展。這也說明了構(gòu)建中國(guó)自主可控核心技術(shù)棧的重要性和必要性。

新加坡工程院院士、IEEE Fellow 顏水成在CSDN《2020-2021 中國(guó)開發(fā)者調(diào)查報(bào)告》中點(diǎn)評(píng)道“以飛槳為代表的國(guó)產(chǎn)框架已經(jīng)在快速崛起,其市場(chǎng)占有率已經(jīng)不可忽視。”

2021 年,基于飛槳的企業(yè)級(jí)的開發(fā)工具庫(kù)數(shù)量越來越多,內(nèi)容越來越豐富,加入飛槳生態(tài)社區(qū)的用戶越來越多。有著先發(fā)優(yōu)勢(shì)的百度,如今在 AI 基礎(chǔ)設(shè)施這一領(lǐng)域已經(jīng)走得更遠(yuǎn),也將走得更穩(wěn)。

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