規(guī)避發(fā)布風(fēng)險(xiǎn),破解算法模型更新難題,Tempo灰度服務(wù)了解一下
2022-04-29 10:30:54
次
面對(duì)話展示的情況,相信每一位算法模型開發(fā)人員都似曾相識(shí):
A:不就是調(diào)整幾個(gè)參數(shù)嗎?怎么新模型發(fā)布那么慢?
B:哪怕只是調(diào)整幾個(gè)參數(shù),我們也需要停止整個(gè)模型服務(wù)進(jìn)行更新,這影響的業(yè)務(wù)就太廣泛了。
B:而且新模型需要反復(fù)測(cè)試,如果貿(mào)然上線出問(wèn)題,老的歷史模型又不可用了,說(shuō)不定這次服務(wù)又要停好久….
數(shù)據(jù)算法模型開發(fā)不易,發(fā)布更新也不是一件簡(jiǎn)單的事情。尤其是在一些組織架構(gòu)復(fù)雜、業(yè)務(wù)規(guī)模龐大的企業(yè),每次算法模型優(yōu)化更新都像是在打仗,例如:
● 模型調(diào)試工作反反復(fù)復(fù),測(cè)試速度總是趕不上提需求的速度…
● 為了最大限度降低對(duì)日常數(shù)據(jù)分析平臺(tái)服務(wù)的影響,必須在三更半夜無(wú)人在意的時(shí)間段才能發(fā)布...
● 小心再小心,也少有進(jìn)入實(shí)際生產(chǎn)環(huán)境后完全沒有bug出現(xiàn)的算法模型,而一旦更新模型出現(xiàn)問(wèn)題,就往往會(huì)造成不可挽回的損失。
我們發(fā)現(xiàn),傳統(tǒng)的模型更新方式不僅無(wú)法快速實(shí)現(xiàn)業(yè)務(wù)側(cè)的分析需求,也給技術(shù)側(cè)人員制造了巨大的工作負(fù)擔(dān)。那該如何打破這種僵局呢?來(lái)試試灰度服務(wù)吧!
一、什么是灰度服務(wù)?
首先,我們先需要科普一下什么是灰度服務(wù):
灰度服務(wù):又稱金絲雀發(fā)布,這一術(shù)語(yǔ)源于過(guò)去歐洲煤礦工人把籠養(yǎng)的金絲雀帶入礦井的傳統(tǒng)。礦工通過(guò)金絲雀來(lái)了解礦井中一氧化碳的濃度,如果一氧化碳的濃度過(guò)高,金絲雀就會(huì)中毒,從而使礦工知道應(yīng)該立刻撤離。
對(duì)應(yīng)到數(shù)據(jù)算法模型開發(fā)工作中,則是指在發(fā)布更新算法模型時(shí),先通過(guò)少量的試點(diǎn)測(cè)試確認(rèn)新模型沒有執(zhí)行問(wèn)題,確保無(wú)誤后再全部推廣應(yīng)用的方式。
通過(guò)創(chuàng)建灰度服務(wù),算法模型開發(fā)人員就可以只根據(jù)發(fā)布策略做同步服務(wù)的轉(zhuǎn)發(fā),并根據(jù)運(yùn)行情況靈活變更綁定的同步服務(wù)。這個(gè)過(guò)程就像是素描作畫時(shí)在黑與白之間使用灰色讓畫面能夠平滑過(guò)度的方法,所以又叫灰度發(fā)布/服務(wù)。
這種發(fā)布方式的最大優(yōu)勢(shì)在于可以做到在不中斷正常服務(wù)的情況下進(jìn)行升級(jí)。因此通過(guò)采用灰度服務(wù),可以幫助企業(yè)有效規(guī)避以下兩類問(wèn)題;
二、如何做到模型迭代兼顧穩(wěn)定數(shù)據(jù)服務(wù)?
對(duì)于已經(jīng)有一定數(shù)字化運(yùn)營(yíng)基礎(chǔ)的企業(yè)來(lái)說(shuō),他們的數(shù)據(jù)分析服務(wù)已經(jīng)在各個(gè)部門中得到了深度應(yīng)用,算法模型的應(yīng)用發(fā)布往往牽扯到很多具體業(yè)務(wù)環(huán)節(jié)的執(zhí)行,涉及的數(shù)據(jù)量也非常龐大。在傳統(tǒng)算法模型更新的過(guò)程中,他們往往最擔(dān)心2個(gè)問(wèn)題:
1、模型迭代不順暢,反復(fù)修改拖慢整體進(jìn)度
測(cè)試環(huán)境和真實(shí)的生產(chǎn)環(huán)境有著很大區(qū)別,很多問(wèn)題在測(cè)試環(huán)境中無(wú)法發(fā)現(xiàn),而正式發(fā)布之后再調(diào)整又會(huì)打亂整體的開發(fā)計(jì)劃。
2、發(fā)布問(wèn)題導(dǎo)致經(jīng)濟(jì)損失
模型一旦發(fā)布之后就無(wú)法回退到歷史版本,模型錯(cuò)誤導(dǎo)致服務(wù)中斷之后,日常業(yè)務(wù)運(yùn)營(yíng)也會(huì)因此受到影響,很有可能造成不可挽回的經(jīng)濟(jì)損失。
而采取灰度服務(wù)之后,我們就可以在模型更新的過(guò)程中避免上述問(wèn)題,實(shí)現(xiàn):
1、模型平滑迭代
通過(guò)小流量驗(yàn)證方式,直接在灰度階段就能發(fā)現(xiàn)、調(diào)整并優(yōu)化模型在真實(shí)生產(chǎn)環(huán)境中運(yùn)行會(huì)出現(xiàn)的問(wèn)題,保證正式上線模型萬(wàn)無(wú)一失 。
2、降低發(fā)布風(fēng)險(xiǎn)
規(guī)避一定的發(fā)布風(fēng)險(xiǎn),降低模型迭代升級(jí)所影響的范圍,避免造成其它更多不必要的經(jīng)濟(jì)損失。
采取灰度服務(wù)之后,開發(fā)團(tuán)隊(duì)就可以在不對(duì)日常業(yè)務(wù)運(yùn)行造成影響的前提下靈活調(diào)整模型更新節(jié)奏,將新模型逐步替代舊模型,使得服務(wù)穩(wěn)定和模型迭代兩不誤,將運(yùn)營(yíng)損失降到最低。
三、如何使用Tempo AI快速配置灰度服務(wù)
當(dāng)然,灰度服務(wù)雖好,在真實(shí)的生產(chǎn)環(huán)境中,一樣也需要復(fù)雜的設(shè)計(jì)流程和一定的人力投入才能實(shí)現(xiàn),甚至其實(shí)現(xiàn)難度要比傳統(tǒng)的發(fā)布方式更高:
灰度服務(wù)的難點(diǎn):
1、灰度服務(wù)需要更嚴(yán)謹(jǐn)?shù)姆桨冈O(shè)計(jì),灰度的業(yè)務(wù)范圍,如何分析并運(yùn)用分析結(jié)果,這都需要精于業(yè)務(wù)流程的人去精心設(shè)計(jì),而非純IT人員能夠完成的。
2、灰度服務(wù)測(cè)試覆蓋方式必須多樣且能滿足灰度方案的需求
3、灰度發(fā)布之后的數(shù)據(jù)必須得到妥善的記錄和監(jiān)控,方便后續(xù)調(diào)整。
基于灰度服務(wù)的搭建難點(diǎn),我們特別在Tempo AI中設(shè)計(jì)了更加便捷的灰度服務(wù)模塊,擺脫傳統(tǒng)搭建流程中復(fù)雜的編碼工作,只需幾步點(diǎn)選,即可快速完成灰度服務(wù)的配置,通過(guò)降低操作門檻,讓灰度服務(wù)可以更加方便地結(jié)合實(shí)際業(yè)務(wù)流程進(jìn)行。
?Tempo AI新建灰度服務(wù)流程
進(jìn)入任意空間中的發(fā)布區(qū),點(diǎn)擊灰度服務(wù)的【+】按鈕,新建灰度服務(wù)。在“灰度服務(wù)”彈框中配置灰度服務(wù)的基礎(chǔ)信息,包括:服務(wù)名稱、服務(wù)地址、選擇同步服務(wù)以及對(duì)應(yīng)的發(fā)布策略。如下圖:
之后用戶就可以進(jìn)行發(fā)布策略的設(shè)置,一般分為2種情況:
1、只綁定同步服務(wù):
用戶不需要選擇發(fā)布策略,默認(rèn)發(fā)布策略為指定服務(wù);
2、綁定兩個(gè)同步服務(wù):
用戶可選擇發(fā)布策略包括:流量切分或指定服務(wù),默認(rèn)發(fā)布策略為流量切分(同步服務(wù)1權(quán)重占80,同步服務(wù)2權(quán)重占20)。
灰度服務(wù)的配置信息填寫完成后,點(diǎn)擊“確定”按鈕,完成“灰度服務(wù)”的創(chuàng)建。
簡(jiǎn)單的操作流程,可以讓業(yè)務(wù)人員也直接參與到模型調(diào)試、發(fā)布的工作中,有效降低溝通成本。另外,Tempo AI的服務(wù)監(jiān)控借助了數(shù)據(jù)可視化分析手段,讓監(jiān)控結(jié)果展示更加直觀、清晰。下面小T簡(jiǎn)單為大家分解一下Tempo AI灰度服務(wù)配置的步驟;
?Tempo AI灰度服務(wù)配置流程
在發(fā)布區(qū)“灰度服務(wù)”模塊下,查看該空間中當(dāng)前用戶擁有權(quán)限的灰度服務(wù)。點(diǎn)擊灰度服務(wù)名稱,左側(cè)展示該灰度服務(wù)綁定的同步服務(wù)信息,右側(cè)展示該灰度服務(wù)的創(chuàng)建人、創(chuàng)建日期、所屬空間等基礎(chǔ)信息,可以對(duì)灰度服務(wù)進(jìn)行服務(wù)配置、服務(wù)監(jiān)控、服務(wù)審計(jì)、分享成果、發(fā)布或取消發(fā)布等操作。

a、服務(wù)配置
在服務(wù)配置中,可配置灰度的服務(wù)信息,可查看灰度服務(wù)的授權(quán)信息、流程參數(shù)、請(qǐng)求參數(shù)說(shuō)明和返回參數(shù)說(shuō)明。在服務(wù)信息處,該灰度服務(wù)信息進(jìn)行配置,可編輯服務(wù)名稱、服務(wù)別名、綁定的同步服務(wù)和對(duì)應(yīng)的發(fā)布策略。點(diǎn)擊“保持”按鈕,完成服務(wù)信息的配置變更。
在授權(quán)信息處,可查看授權(quán)信息,若同步服務(wù)未授權(quán),需要在原生服務(wù)中添加證書進(jìn)行服務(wù)授權(quán)。
在流程參數(shù)處,可查看流程參數(shù)。若同步服務(wù)的流程參數(shù)需要修改,需要在原生服務(wù)中進(jìn)行操作。
啟用和測(cè)試按鈕分別可以啟動(dòng)灰度服務(wù)和打開灰度服務(wù)測(cè)試界面對(duì)灰度服務(wù)進(jìn)行測(cè)試。測(cè)試成功后,即說(shuō)明灰度服務(wù)構(gòu)建成功。同時(shí),灰度服務(wù)也可通過(guò)第三方系統(tǒng)以API的方式進(jìn)行調(diào)用。
b、服務(wù)監(jiān)控
點(diǎn)擊發(fā)布區(qū)的“服務(wù)監(jiān)控”,可查看該服務(wù)的調(diào)用情況和運(yùn)行情況。
c、服務(wù)審計(jì)
點(diǎn)擊發(fā)布區(qū)的“服務(wù)審計(jì)”,可查看該服務(wù)的具體操作時(shí)間、操作人員和操作內(nèi)容。
如何規(guī)避執(zhí)行風(fēng)險(xiǎn),是企業(yè)日常生產(chǎn)運(yùn)營(yíng)必須要考慮的問(wèn)題,在企業(yè)數(shù)據(jù)治理和分析的過(guò)程中,我們也同樣需要注意風(fēng)險(xiǎn)控制和資源合理配置的問(wèn)題。
而灰度服務(wù)模塊正是我們基于多年的企業(yè)大數(shù)據(jù)分析項(xiàng)目實(shí)際經(jīng)驗(yàn)和客戶反饋,專門幫助企業(yè)用戶,尤其是不懂編碼技術(shù)的普通業(yè)務(wù)人員在規(guī)避業(yè)務(wù)運(yùn)營(yíng)風(fēng)險(xiǎn)的同時(shí),低成本高效順暢完成算法模型迭代的小工具。下次更新模型時(shí),不妨嘗試一下這個(gè)小功能喲~