在今年大會的公開課環(huán)節(jié),百度效率云團(tuán)隊聯(lián)合百度視覺技術(shù)部貢獻(xiàn)了一堂名為“DevOps for AI: Deploy ML Application
via DevOps
Pipelines”的公開課。公開課以開發(fā)一個著名品牌面包店識別商品、自動生成訂單服務(wù)為場景,結(jié)合現(xiàn)場實操向?qū)W員及來賓展示了通過百度效率云及AIFlow開發(fā)AI服務(wù)的全流程。公開課吸引了眾多對AI開發(fā)及DevOps感興趣的工程師以及技術(shù)人員的參與。
公開課上提到的AI服務(wù)到底是什么?開發(fā)一個AI服務(wù)和開發(fā)其它服務(wù)有哪些異同呢?
一、AI服務(wù)及開發(fā)挑戰(zhàn)
01. AI服務(wù)是什么,他的開發(fā)過程是怎樣的?
以AI視覺能力為例,一個完整的AI服務(wù)包括了基于AI模型的AI基礎(chǔ)能力,也包括了對外提供服務(wù)的工程代碼,最終用戶通過不同的客戶端對服務(wù)進(jìn)行訪問。
AI服務(wù)的示例
一個完整的AI服務(wù)開發(fā)包括了工程代碼開發(fā)、模型訓(xùn)練以及最終的集成階段。
在工程代碼開發(fā)階段,工程師像開發(fā)普通服務(wù)一樣通過coding, build, test等活動,最終產(chǎn)出發(fā)布物
在模型訓(xùn)練部分,工程師經(jīng)過數(shù)據(jù)收集與標(biāo)注、數(shù)據(jù)處理、模型訓(xùn)練與調(diào)優(yōu)等活動最終產(chǎn)出一個AI模型
接下來,工程師需要將工程部分的發(fā)布物和AI模型打包在一起形成最終的產(chǎn)出物,并將最終產(chǎn)出物發(fā)布到線上
AI服務(wù)開發(fā)的過程
02. AI產(chǎn)品研發(fā)面臨的挑戰(zhàn)有哪些?
相對于傳統(tǒng)軟件開發(fā)而言,AI產(chǎn)品的研發(fā)面臨著諸多挑戰(zhàn):
1、項目協(xié)作難:項目涉及開發(fā)、測試、運(yùn)維等多角色,而AI項目往往額外涉及多個AI算法團(tuán)隊,溝通、協(xié)調(diào)成本高,工作效率低
2、技術(shù)要求高:AI研發(fā)流程更長且專業(yè)性要求更高
3、環(huán)境周邊成本高:AI數(shù)據(jù)、模型、服務(wù)、工具維護(hù)使用成本高、安全風(fēng)險大
4、技術(shù)復(fù)用難:業(yè)務(wù)閉環(huán)迭代慢,且無法快速規(guī)模化遷移應(yīng)用已有能力
二、AI服務(wù)開發(fā)全生命周期解決方案
針對以上問題,百度內(nèi)部通過多年的探索和實踐,最終形成了一套針對AI服務(wù)的DevOps解決方案。該方案涵蓋了模型訓(xùn)練的部分,以及服務(wù)代碼開發(fā)的DevOps部分,并已經(jīng)實現(xiàn)了全部的產(chǎn)品化,被百度內(nèi)部多個AI開發(fā)團(tuán)隊所使用。整套方案貫徹了DevOps理念中自動化一切的部分, 包括:
1、服務(wù)代碼–模型組裝–服務(wù)部署自動化
2、訓(xùn)練工具源碼–訓(xùn)練工具集成自動化
3、訓(xùn)練數(shù)據(jù)管理–模型訓(xùn)練–模型評估自動化
AI服務(wù)全周期解決方案
整個方案包括兩大重要工具以及支撐機(jī)器學(xué)習(xí)訓(xùn)練的GPU服務(wù)器,他們分別是:
01. 重要工具:百度效率云
百度效率云(以下簡稱效率云)是百度自主研發(fā)的一站式DevOps解決方案,凝聚了百度多年來在軟件工程領(lǐng)域的探索和實踐經(jīng)驗。效率云在百度內(nèi)部服務(wù)10000+工程師的日常產(chǎn)品管理、開發(fā)、測試、發(fā)布等研發(fā)工作,每天支持百度內(nèi)部30000+次的云端編譯、70000+次的構(gòu)建、700+次的服務(wù)發(fā)布。
效率云已經(jīng)加入百度智能云產(chǎn)品序列,于2019年5月正式對外提供服務(wù)。百度效率云目前同時服務(wù)外部2000+企業(yè)及個人客戶的項目管理,研發(fā),測試等研發(fā)工作。
效率云的核心理念是: 用先進(jìn)的軟件工程技術(shù)使復(fù)雜的開發(fā)工作更簡單!
效率云產(chǎn)品架構(gòu)
整個效率云包括三大平臺類工具和四大主要功能模塊,分別是產(chǎn)品和項目管理工具iCafe、代碼托管和協(xié)同開發(fā)平臺iCode、持續(xù)交付平臺iPipe;
四大主要功能模塊包括靜態(tài)代碼掃描工具iScan、容器化構(gòu)建工具iBuild、構(gòu)建產(chǎn)物管理工具iRepo和由aiXcoder提供的智能開發(fā)助手iXcoder。
效率云主要功能模塊
和其他研發(fā)平臺相比,效率云具備以下幾個獨特的差異化功能:
基于用戶故事地圖的產(chǎn)品規(guī)劃
代碼入庫前的云端流水線:
與大多數(shù)基于pull request的流水線不同,效率云提倡進(jìn)一步將質(zhì)量保證手段前置。工程師在提交代碼后、代碼入庫之前即經(jīng)過一系列的自動化代碼檢查和Code Review環(huán)節(jié);只有通過所有的質(zhì)量保證手段,代碼方可合入到當(dāng)前代碼庫中。
即插即用的智能開發(fā)助手
基于特征識別的靜態(tài)代碼分析手段
02. 重要工具:AIFlow
AIFlow是百度成熟的一站式AI能力研發(fā)平臺,在百度內(nèi)部已率先落地應(yīng)用于視覺領(lǐng)域,并正在與自然語言處理、大數(shù)據(jù)部、知識圖譜、飛槳等團(tuán)隊一起協(xié)作,共同推進(jìn)AI基礎(chǔ)平臺建設(shè)。
該平臺在百度內(nèi)部已經(jīng)過150+重點項目的驗證,收錄數(shù)據(jù)12.6億、模型1745個、工具567個、覆蓋流量3600w/天。
在AI行業(yè)開發(fā)的多年探索中,AIFlow團(tuán)隊充分調(diào)研了AI應(yīng)用者、AI開發(fā)者(策略、架構(gòu))等不同群體的訴求、發(fā)掘了資源管理混亂且需求響應(yīng)慢、流程多而復(fù)雜且各環(huán)節(jié)復(fù)用性低的痛點;因此,在設(shè)計上側(cè)重以下幾個特點:
1、數(shù)據(jù)、模型、工具統(tǒng)一托管,支持共享復(fù)用
2、AI能力自動化流程構(gòu)建,支持?jǐn)?shù)據(jù)閉環(huán)迭代
3、沉淀AI解決方案,支持快速規(guī)模化應(yīng)用
通過產(chǎn)品的不斷打磨,AIFlow設(shè)計了諸多被用戶廣泛稱贊的亮點功能:
亮點功能1:可視化畫板搭建工作流,實現(xiàn)任意端到端的視覺研發(fā)解決方案輸出
1、易操作:用戶根據(jù)不同需求(數(shù)據(jù)處理、模型訓(xùn)練、服務(wù)部署)從畫板左側(cè)依次拖拽輸入(數(shù)據(jù)/模型)、工具(數(shù)據(jù)處理、模型訓(xùn)練、服務(wù)部署、自動評測)等資源,并在畫板右側(cè)配置對應(yīng)參數(shù),即可構(gòu)建任意端到端的AI研發(fā)流程
2、可復(fù)用:用戶構(gòu)建的研發(fā)流程可定期自動執(zhí)行;并通過保存工作流、另存配置等不同方式,實現(xiàn)流程復(fù)用
3、便管理:以項目為維度,將對應(yīng)的數(shù)據(jù)、工具、模型、服務(wù)等資源統(tǒng)一聚合管理,提升資源利用率
亮點功能2:數(shù)據(jù)倉庫支持對訓(xùn)練數(shù)據(jù)進(jìn)行多種高階操作
支持順序瀑布流式或表格方式樣本預(yù)覽,格式化數(shù)據(jù)并畫框展示
支持任意字段分布統(tǒng)計
?
支持任意字段的快速樣本查詢
03. GPU服務(wù)器:百度-浪潮聯(lián)合開發(fā)的AI超級計算平臺
不論是AI效率云還是AIFlow,智能化應(yīng)用的背后都是計算力在發(fā)揮重要作用?;贘DM模式,百度與浪潮聯(lián)合開發(fā)出X-MAN系列超級AI計算平臺,為AI和深度學(xué)習(xí)應(yīng)用提供了強(qiáng)大的算力支持。同時,結(jié)合百度在平臺層和應(yīng)用層的先進(jìn)方案,百度與浪潮也在共建一個更完善的AI生態(tài),將軟硬件的一體化方案推向更大的產(chǎn)業(yè)市場,效率云和AIFlow就是一個很好的實踐。
效率云免費試用
重磅好消息!百度效率云及AIFlow現(xiàn)面向各企業(yè)、個人用戶開放免費試用,掃描下方二維碼,進(jìn)入微信群,了解百度DevOps的系列課程,免費體驗效率云服務(wù)!
百度效率云官網(wǎng):https://cloud.baidu.com/product/xly.html