判断深度学习模型的稳定性_全自动搭建定制化深度学习模型
EasyDL服務(wù)自動(dòng)化生成與部署
EasyDL定制化訓(xùn)練和服務(wù)平臺(tái)基于百度業(yè)界領(lǐng)先算法,旨在為用戶(hù)量身定制業(yè)務(wù)專(zhuān)屬AI模型。通過(guò)靈活的配置,用戶(hù)可以將模型發(fā)布為公有云API、設(shè)備端離線(xiàn)SDK、本地服務(wù)器部署包、軟硬一體方案等多種輸出方式的AI服務(wù)。目前,EasyDL已支持基于圖像、聲音、文本、視頻等文件形式的AI處理,已在工業(yè)、零售、金融、物流、互聯(lián)網(wǎng)、安防監(jiān)控等多個(gè)行業(yè)落地。本文將深入介紹EasyDL如何在保證模型服務(wù)質(zhì)量的同時(shí),即時(shí)響應(yīng)用戶(hù)實(shí)際生產(chǎn)環(huán)境的要求,完成自動(dòng)化服務(wù)落地部署的全部流程。
服務(wù)自動(dòng)化生成
EasyDL的每個(gè)功能服務(wù),都包含為用戶(hù)定制化訓(xùn)練的模型和配置,在EasyDL專(zhuān)業(yè)版中,模型服務(wù)還支持用戶(hù)自定義的服務(wù)邏輯(包括預(yù)處理、預(yù)測(cè)、后處理等)。如此繁多的定制化功能,使得每個(gè)模型服務(wù)都不盡相同,需要具備自動(dòng)化、可擴(kuò)展的服務(wù)生成能力,才能在保證高質(zhì)量的前提下縮短模型部署至生產(chǎn)環(huán)境的整體時(shí)間。為了實(shí)現(xiàn)EasyDL服務(wù)的自動(dòng)化生成,我們構(gòu)建了一條完整的流水線(xiàn)系統(tǒng),經(jīng)過(guò)編譯、測(cè)試、加固、集成、發(fā)布等環(huán)節(jié),最終實(shí)現(xiàn)交付。
流程首先進(jìn)入編譯階段。服務(wù)端代碼由用戶(hù)自定義代碼、EasyDL mini-server、第三方庫(kù)等多個(gè)模塊組成,在編譯時(shí),mini-server負(fù)責(zé)對(duì)服務(wù)進(jìn)行集成。一方面,mini-server完成了模型框架適配、第三方庫(kù)集成等工作,提供了簡(jiǎn)單易用的模型預(yù)測(cè)服務(wù);另一方面,mini-server提供了服務(wù)鑒權(quán)、模型加解密等功能,保證服務(wù)在公有云、私有云等開(kāi)放場(chǎng)景部署的安全性。
在流水線(xiàn)上,我們配置了諸多測(cè)試環(huán)節(jié),以保障服務(wù)質(zhì)量。按服務(wù)集成前后之階段不同,測(cè)試分為靜態(tài)測(cè)試和集成測(cè)試兩部分。完成編譯后,就進(jìn)入靜態(tài)測(cè)試階段。靜態(tài)測(cè)試主要完成代碼層面的測(cè)試,包括:單元測(cè)試、靜態(tài)代碼掃描、源碼安全掃描等。在模型服務(wù)部署到集成環(huán)境后,則會(huì)完成回歸測(cè)試、性能測(cè)試、服務(wù)安全檢查等測(cè)試環(huán)節(jié)。
在需要進(jìn)行端計(jì)算的場(chǎng)景中,EasyDL與百度大腦EasyEdge 端計(jì)算模型生成平臺(tái)無(wú)縫對(duì)接,采用EasyEdge 的模型轉(zhuǎn)換、適配和加速等基礎(chǔ)組件,自動(dòng)生成可用于設(shè)備端部署的 SDK。
在對(duì)EasyDL服務(wù)進(jìn)行私有化部署交付時(shí),為保證模型在傳輸及輸出到公有云、私有云時(shí)的安全性,團(tuán)隊(duì)對(duì)EasyDL增加了安全加固和模型加密環(huán)節(jié)。例如,在安全加固環(huán)節(jié)中設(shè)置了代碼混淆、可執(zhí)行程序加固等,避免程序被逆向分析或動(dòng)態(tài)調(diào)試。
而后,EasyDL會(huì)通過(guò)mini-server預(yù)制模板進(jìn)行鏡像制作,并在鏡像制作完成后將服務(wù)部署到集成環(huán)境中。此時(shí),只有通過(guò)所有集成測(cè)試的模型服務(wù)才能發(fā)布。選擇私有化部署的模型則還要接入EasyPack私有部署支持平臺(tái),最終生成一鍵部署包交付用戶(hù)使用。
服務(wù)自動(dòng)化部署
EasyDL提供可一鍵發(fā)布模型的在線(xiàn)推理服務(wù),用戶(hù)可選擇在EasyDL頁(yè)面啟動(dòng)模型校驗(yàn)服務(wù),或直接獲取專(zhuān)屬的高精度云端API接口。這一系列簡(jiǎn)單便捷的產(chǎn)品體驗(yàn)依托于EasyDL強(qiáng)大的自動(dòng)化部署能力,使其能為用戶(hù)的定制化AI需求提供一套完整的開(kāi)發(fā)流程:支持模型快速上下線(xiàn)、彈性伸縮、升級(jí)與遷移,實(shí)現(xiàn)模型高并發(fā)、低延遲的在線(xiàn)推理,滿(mǎn)足用戶(hù)多版本模型在線(xiàn)無(wú)縫切換等。
服務(wù)管理方面,有別于數(shù)據(jù)庫(kù)+業(yè)務(wù)邏輯的通用業(yè)務(wù)框架,定制化的深度學(xué)習(xí)應(yīng)用通常由用戶(hù)模型網(wǎng)絡(luò)與推理框架構(gòu)建而成。在各行業(yè)數(shù)據(jù)爆炸的今天,每秒產(chǎn)生的新數(shù)據(jù)都可能推動(dòng)模型效果的提升,模型快速迭代意味著大量新服務(wù)的發(fā)布與頻繁地服務(wù)變更。EasyDL模型服務(wù)管理構(gòu)建于Kubernetes之上,自動(dòng)裝配用戶(hù)定制化模型網(wǎng)絡(luò)與推理框架,并創(chuàng)建服務(wù)訪(fǎng)問(wèn)端點(diǎn),實(shí)現(xiàn)模型服務(wù)發(fā)現(xiàn)與自動(dòng)負(fù)載均衡。自動(dòng)化部署為每個(gè)模型服務(wù)分配多個(gè)容器實(shí)例,以保障良好的可用性。靈活的擴(kuò)縮容操作能夠快速滿(mǎn)足大客戶(hù)的并發(fā)調(diào)用需求。
資源管理方面,作為在線(xiàn)服務(wù),推理框架須額外關(guān)注推理性能,在模型效果與性能不可兼得的情況下,服務(wù)有必要支持GPU、FPGA等異構(gòu)計(jì)算資源。與通用業(yè)務(wù)應(yīng)用不同的是,EasyDL設(shè)計(jì)中考慮到了計(jì)算密集型的AI應(yīng)用對(duì)異構(gòu)硬件的依賴(lài),通過(guò)允許模型服務(wù)在CPU/GPU間快速無(wú)縫遷移,滿(mǎn)足用戶(hù)在不同情景下對(duì)模型預(yù)測(cè)速度的要求。同時(shí),出于對(duì)資源利用率的考慮,EasyDL資源管理具備基于scale-to-zero的模型自動(dòng)回收與喚醒機(jī)制,其通過(guò)挖掘歷史調(diào)用量特征,對(duì)長(zhǎng)期無(wú)調(diào)用的模型執(zhí)行回收,并在新的請(qǐng)求到達(dá)時(shí)重新喚醒模型服務(wù)。
在基于數(shù)據(jù)學(xué)習(xí)的模型優(yōu)化閉環(huán)中,用戶(hù)常常須要更新模型并升級(jí)線(xiàn)上服務(wù)。借助EasyDL模型升級(jí)功能 ,用戶(hù)能夠輕松實(shí)現(xiàn)多個(gè)版本模型在線(xiàn)無(wú)縫切換。EasyDL的滾動(dòng)發(fā)布和流量控制,使線(xiàn)上不同版本的模型能在升級(jí)期間平穩(wěn)過(guò)渡,實(shí)現(xiàn)調(diào)用方流量零丟失。
EasyDL平臺(tái)的模型管理功能涵蓋了用戶(hù)定制化模型數(shù)據(jù)源接入、元數(shù)據(jù)管理等組件,并面向容器統(tǒng)一提供模型掛載卷。模型數(shù)據(jù)源方面,目前已支持百度對(duì)象存儲(chǔ)BOS、百度分布式文件系統(tǒng)AFS等多種持久化存儲(chǔ)。在EasyDL的自動(dòng)化部署流程中,模型管理為定制化模型提供緩存,使服務(wù)的多個(gè)容器實(shí)例能夠快速完成定制化模型的裝配,這一機(jī)制能夠顯著降低模型服務(wù)的部署時(shí)延。
總結(jié)
以上是生活随笔為你收集整理的判断深度学习模型的稳定性_全自动搭建定制化深度学习模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: matplotlib绘图_使用matpl
- 下一篇: android 脚本引擎,GitHub