生產(chǎn)環(huán)境測試模型的四種方法
盡管在本地(通過驗(yàn)證集和測試集)對(duì)機(jī)器學(xué)習(xí)模型進(jìn)行了嚴(yán)格測試,但立即用新模型替換舊模型仍不是一個(gè)好想法。
一種更可靠的策略是在生產(chǎn)環(huán)境中測試模型(基于真實(shí)的實(shí)時(shí)數(shù)據(jù))。雖然這聽起來有些冒險(xiǎn),但現(xiàn)實(shí)中經(jīng)常這么做,而且并不復(fù)雜。下圖展示了四種常見策略:
● 當(dāng)前模型稱為“舊模型”(legacy model)。
● 新模型稱為“候選模型”(candidate model)。
#1)A/B測試
● 將傳入的請求不均勻地分配給舊模型和候選模型。
● 故意限制候選模型的暴露程度,以避免潛在風(fēng)險(xiǎn)。因此,發(fā)送到候選模型的請求數(shù)量一定要少。
2#)金絲雀測試(Canary Testing)
● 在 A/B 測試中,由于流量被隨機(jī)重定向到任一模型,而不考慮用戶特征,因此可能會(huì)影響所有用戶。
● 在金絲雀測試中,候選模型首先向生產(chǎn)環(huán)境中的一小部分用戶發(fā)布,并逐步向更多用戶推廣。
像OpenAI發(fā)布新模型時(shí)就采用這種策略。
3#)交錯(cuò)測試
● 這涉及將多個(gè)模型的預(yù)測結(jié)果混合在響應(yīng)中。
● 以亞馬遜的推薦引擎為例。在交錯(cuò)部署中,主頁上顯示的推薦一部分可能來自舊模型,而另一部分則來自候選模型。
4#)影子測試(Shadow Testing)
● 以上所有技術(shù)都會(huì)影響一些(或所有)用戶。
● 影子測試(或暗啟動(dòng))讓我們在不影響用戶體驗(yàn)的情況下,在生產(chǎn)環(huán)境中測試新模型。
● 候選模型與現(xiàn)有的舊模型一起部署,并像舊模型一樣處理請求。然而,輸出不會(huì)發(fā)送回用戶,而是被記錄下來,供稍后使用,以便與舊模型進(jìn)行性能對(duì)比。
● 我們明確地部署候選模型,而不是離線測試,因?yàn)樯a(chǎn)環(huán)境很難在離線環(huán)境中復(fù)制。
影子測試提供了在生產(chǎn)環(huán)境中無風(fēng)險(xiǎn)測試候選模型的機(jī)會(huì)。
本文轉(zhuǎn)載自公眾號(hào)人工智能大講堂
