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