0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何去識別和跟蹤模型漂移

倩倩 ? 來源:IT168 ? 2020-03-20 14:06 ? 次閱讀

機器學習模型的訓練,通常是通過學習某一組輸入特征與輸出目標之間的映射來進行的。一般來說,對于映射的學習是通過優(yōu)化某些成本函數(shù),來使預測的誤差最小化。在訓練出最佳模型之后,將其正式發(fā)布上線,再根據(jù)未來生成的數(shù)據(jù)生成準確的預測。這些新數(shù)據(jù)示例可能是用戶交互、應用處理或其他軟件系統(tǒng)的請求生成的——這取決于模型需要解決的問題。在理想情況下,我們會希望自己的模型在生產(chǎn)環(huán)境中進行預測時,能夠像使用訓練過程中使用的數(shù)據(jù)一樣,準確地預測未來情況。

當我們將模型部署到生產(chǎn)中時,往往會假設未來將使用到的數(shù)據(jù)會類似于過去模型評估期間所使用的數(shù)據(jù)。具體來說,我們可能會假設,特征和目標的分布將保持相當?shù)暮愣ā5沁@種假設通常不成立。趨勢會隨著時間的推移而變化,人們的興趣會隨著季節(jié)的變化而變化,股票市場會起伏不定。因此,我們的模型必須適應這些變化。

世界是持續(xù)變化的,因此模型部署應視為一個連續(xù)的過程,而不是完成第一次部署之后就扭頭去開展下一個項目。如果機器學習團隊的工程師發(fā)現(xiàn)數(shù)據(jù)分布與原始訓練集的數(shù)據(jù)分布有明顯出入,則需要重新訓練模型。這個現(xiàn)象——通常被稱為模型漂移(model drift)——可以緩解,但是會帶來額外的開銷,如監(jiān)視基礎設施、監(jiān)督和流程等等。

在本文中,筆者想對模型漂移下定義,并討論如何去識別和跟蹤模型漂移。然后,我將描述如何重新訓練模型,來減輕漂移對預測性能的影響,并對應多久重新訓練一次模型做出建議。最后,我將介紹啟用模型重新訓練的幾種方法。

什么是模型漂移?

模型漂移是指,由于環(huán)境的變化違反了模型假設,而導致模型的預測性能隨時間而降低。模型漂移有點用詞不當,因為變化的不是模型,而是模型運行的環(huán)境。因此,概念漂移(concept drift)一詞實際上可能是一個更好的用詞,不過兩個術語都描述了相同的現(xiàn)象。

請注意,筆者對模型漂移的定義實際上包括幾個可以更改的變量。預測性能將下降,它將在一段時間內(nèi)以某種速率下降,并且這種下降會歸因于違反建模假設的環(huán)境變化。在確定如何診斷模型漂移以及如何通過模型再訓練糾正模型漂移時,應考慮這些變量中的每一個。

如何跟蹤模型漂移?

目前業(yè)內(nèi)已有多種識別和跟蹤模型漂移的技術。在介紹這些技術之前,值得一提的是,并沒有一種萬能的方法。不同的模型問題需要不同的解決方案,您可能有、也可能沒有相應的基礎架構或資源來利用某些技術策略。

模型性能降級

識別模型漂移的最直接方法是明確預測性能是否已下降,同時量化這種下降。測量實時數(shù)據(jù)上已部署模型的準確性是一個眾所周知的難題。之所以出現(xiàn)這種困難,部分原因是我們需要訪問生成的模型的預測和基本事實信號。出于以下這些原因,這可能無法實現(xiàn):

·預測的數(shù)據(jù)在生成后沒有存儲——別讓這種事發(fā)生在你身上。

·預測已存儲,但是您無法訪問基本事實標簽。

·預測和標簽均可用,但不能結合在一起。

即使預測和標簽可以合并在一起,也可能需要一段時間才能使用標簽。例如一個可以預測下一季度收入的財務預測模型。在這種情況下,只有在該季度過去之后才能觀察到實際收入,所以直到那個時候你才能夠量化模型的效果。在此類預測問題中, 回填預測(即訓練模型,并根據(jù)過去的歷史數(shù)據(jù)生成預測)可以幫助您了解模型性能下降的速度。

正如Josh Wills 指出的那樣,在部署模型之前您可以做的最重要的事情之一就是試圖了解離線環(huán)境中的模型漂移。數(shù)據(jù)科學家應想辦法回答以下問題:“如果我使用六個月前的數(shù)據(jù)對這組特征進行訓練,并將其應用于今天生成的數(shù)據(jù),那么這個模型比我一個月前未經(jīng)訓練而創(chuàng)建并應用到今天的模型差多少呢?”。離線執(zhí)行此分析,您可以估計模型性能下降的速度以及需要重新訓練的頻率。當然,這種方法的前提是要有一臺“時光機”來訪問過去任何時候的實時數(shù)據(jù)。

檢查訓練和實時數(shù)據(jù)的特征分布

由于隨著輸入特征的分布逐漸偏離訓練數(shù)據(jù)的分布,模型性能會下降,因此比較這些分布是推斷模型漂移的好方法。請注意,這里說的是推斷而不是檢測模型漂移,因為我們沒有觀察到預測性能的實際下降,而是“預計”會出現(xiàn)下降。在由于數(shù)據(jù)生成這一過程的性質(zhì),而無法觀察到實際基本事實的情況下,這會非常有用。

每個特征需要監(jiān)視許多不同的東西,包括:

·可能值的范圍

·值直方圖

·該功能是否接受NULL,如果是,則預期的NULL數(shù)量

能夠通過控制界面快速監(jiān)控這些分布,是朝正確方向邁出的一步。當特征差異很大時,可以通過自動跟蹤訓練服務偏差并在特性差異顯著時發(fā)出警告,進一步實現(xiàn)這一點。

檢查特征之間的關聯(lián)

許多模型會假定特征之間的關系必須保持固定。因此,您還需要監(jiān)視各個輸入特征之間的成對關聯(lián)。如您的ML測試分數(shù)是多少?ML生產(chǎn)系統(tǒng)的規(guī)范等等,可以通過以下方法實現(xiàn):

·監(jiān)視特征之間的相關系數(shù)

·訓練具有一兩個特征的模型

·訓練一組模型,每個模型都刪除其中一個特征

檢查目標分布

如果目標變量的分布發(fā)生顯著變化,那么模型的預測性能幾乎一定會變差。《機器學習:技術債務高息信用卡》的作者指出,一種簡單而有用的診斷方法是跟蹤目標分布。與訓練數(shù)據(jù)的偏差可能意味著需要重新評估部署模型的質(zhì)量,但請記住,“這絕不是一項全面的測試,因為它可以通過空模型來滿足,該模型可以簡單地預測標簽出現(xiàn)的平均值,而無需考慮輸入特征?!?/p>

模型再訓練到底是什么意思?

模型再訓練似乎是一個超負荷的操作,它是否只涉及到尋找現(xiàn)有模型架構的新參數(shù)?對于更改超參數(shù)搜索空間怎么樣?如何搜索不同的模型類型(RandomForest,SVM等)?我們可以包括新特征還是可以排除以前使用的特征?這些都是很好的問題,因此盡可能明確這些問題是非常重要的。要回答這些問題,重要的是直接考慮我們要解決的問題——也就是說,減少模型漂移對我們部署的模型的影響。

在將模型部署到生產(chǎn)數(shù)據(jù)之前,科學家需要經(jīng)過嚴格的模型驗證過程,其中包括:

·匯編數(shù)據(jù)集–收集來自不同來源(例如不同數(shù)據(jù)庫)的數(shù)據(jù)集。

·特征工程–從原始數(shù)據(jù)中提取列,提高預測性能。

·模型選擇–比較不同的學習算法。

·錯誤估計–在搜索空間上進行優(yōu)化,找到最佳模型并估計其泛化誤差。

此過程會產(chǎn)生一些最佳的模型,然后將其部署到生產(chǎn)中。由于模型漂移具體是指所選模型的預測性能由于特征/目標數(shù)據(jù)分布的變化而下降,因此模型再訓練不應該帶來不同的模型生成過程。確切地說,重新訓練只是指在新的訓練數(shù)據(jù)集上重新運行生成先前選擇的模型的過程。功能、模型算法和超參數(shù)搜索空間都應保持相同??梢赃@樣想,再訓練不涉及任何代碼更改,只涉及改變訓練數(shù)據(jù)集。

這并不是說模型的未來迭代不應包含新特征或不考慮其他算法類型/體系結構。只是說,這些類型的更改會產(chǎn)生完全不同的模型——在部署到生產(chǎn)環(huán)境之前,應該對它們進行不同的測試。根據(jù)您的機器學習團隊的成熟程度,理想情況下,此類更改將與A / B測試一起引入,以測量新模型對預先確定的興趣指標(例如用戶參與度或保留率)的影響。

應該多久重新訓練一次模型

到目前為止,我們已經(jīng)討論了什么是模型漂移以及識別它的多種方法。于是問題就變成了,我們該如何補救?如果模型的預測性能由于環(huán)境變化而下降,解決方案是在反映當前實際情況的新訓練集上對模型進行重新訓練。那么,您應該多久重新訓練一次模型?如何確定新的訓練集?對于最困難的問題,答案是視情況而定。但如何視情況而定呢?

有時機器學習問題本身會給出何時需要重新訓練模型的建議。例如,假設您正在一家大學招生辦工作,并負責建立一個可以預測學生下學期是否會回來的學生流失模型。該模型將在期中后直接用于對當前學生群體進行預測。被確定有流失風險的學生將自動被納入輔導課程或其他干預措施。

下面我們思考一下這種模型的時間范圍。由于我們每學期一次批量生成預測,因此沒有必要再頻繁地重新訓練模型,因為我們將無法訪問任何新的訓練數(shù)據(jù)。因此,在觀察上學期的哪些學生退學后,我們可能選擇在每個學期開始時重新訓練我們的模型。這就是定期再訓練計劃的一個示例。從這個簡單的策略開始,往往是一個好辦法,但是您需要確定重新訓練的頻率??焖俑牡挠柧毤赡苄枰刻旎蛎恐苓M行一次訓練。較慢的發(fā)行版本可能需要每月或每年進行重新訓練。

如果您的團隊已經(jīng)具備了監(jiān)控上一節(jié)中所討論的度量標準的基礎設施,那么將模型漂移的管理自動化可能是有意義的。這個解決方案需要跟蹤診斷,然后在實時數(shù)據(jù)上的診斷與訓練數(shù)據(jù)診斷不同時觸發(fā)模型再訓練。但這種方法也有其自身的挑戰(zhàn)。首先,您需要確定一個發(fā)散的閾值,它將觸發(fā)模型再訓練。如果閾值太低,則您可能會過于頻繁地進行再訓練,從而帶來高計算成本。如果閾值過高,則可能會因為不經(jīng)常進行再訓練,而導致生產(chǎn)中的模型偏劣質(zhì)。這比看起來要復雜得多,因為你必須去確定,要收集多少新的訓練數(shù)據(jù),才能代表世界的新狀態(tài)。在世界已經(jīng)發(fā)生改變時,用一個訓練集太小的模型來代替現(xiàn)有的模型也是沒有意義的。

如果您的模型已經(jīng)在對抗性環(huán)境中運行,則需要特別考慮。在諸如欺詐檢測這樣的設置中,對抗方會改變數(shù)據(jù)分布以使自己獲利。這些問題可以從在線學習中受益,在這之中,模型隨著新數(shù)據(jù)的出現(xiàn)而不斷更新。

如何重新訓練模型?

最后,但并非最不重要的一點,我們需要討論如何重新訓練模型。您用于模型再訓練的方法與您決定再訓練的頻率直接相關。

如果您打算定期去重新訓練模型,那么批量進行重新訓練就完全足夠了。這種方法涉及使用工作調(diào)度程序(例如Jenkins或Kubernetes CronJobs)定期地調(diào)度模型訓練過程 。

如果您具有自動模型漂移檢測功能,那么在識別出漂移時觸發(fā)模型重新訓練就很有意義。例如,您可能有定期的工作,將實時數(shù)據(jù)集的特征分布與訓練數(shù)據(jù)的特征分布進行比較。當識別出明顯的偏差時,系統(tǒng)可以自動安排模型再訓練以自動部署新模型。同樣,這可以通過諸如Jenkins的作業(yè)調(diào)度程序或使用 Kubernetes Jobs來執(zhí)行。

最后,利用在線學習技術更新當前正在生產(chǎn)的模型可能也是有意義的。這種方法依賴于使用當前部署的模型去“播種”一個新模型。隨著新數(shù)據(jù)的產(chǎn)生,模型參數(shù)將使用新的訓練數(shù)據(jù)進行更新。

結論

一般情況下,將模型部署到生產(chǎn)環(huán)境時,機器學習模型的預測性能往往都會下降。因此,工程師必須通過設置特定于ML的監(jiān)視解決方案和工作流來啟用模型重新訓練,從而為性能下降做好準備。雖然重新訓練的頻率因具體問題而異,但ML工程師可以從簡單的策略開始,隨著新數(shù)據(jù)的到來,該策略會定期對模型進行重新訓練,并發(fā)展為對模型漂移進行量化和做出反應的更復雜的過程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關注

    關注

    3

    文章

    4344

    瀏覽量

    62859
  • 模型
    +關注

    關注

    1

    文章

    3290

    瀏覽量

    49028
  • 機器學習
    +關注

    關注

    66

    文章

    8435

    瀏覽量

    132887
收藏 人收藏

    評論

    相關推薦

    迅為瑞芯微RK3562開發(fā)板/核心板應用于人臉跟蹤、身體跟蹤、視頻監(jiān)控、自動語音識別

    可應用于人臉跟蹤、身體跟蹤、視頻監(jiān)控、自動語音識別(ASR)、圖像分類駕駛員輔助系統(tǒng)(ADAS)、車牌識別、物體識別等。 iTOP-3562
    發(fā)表于 01-18 10:45

    【「基于大模型的RAG應用開發(fā)與優(yōu)化」閱讀體驗】+大模型微調(diào)技術解讀

    句子)、異常值檢測(如使用統(tǒng)計方法或機器學習算法識別不符合常規(guī)的數(shù)據(jù)點)、數(shù)據(jù)標準化(如使用z-score標準化或min-max縮放)等步驟。數(shù)據(jù)重:特別是對于重復的文本片段,可以使用哈希函數(shù)快速識別
    發(fā)表于 01-14 16:51

    視頻目標跟蹤從0到1,概念與方法

    導讀從目標跟蹤的應用場景,底層模型,組件,類型和具體算法幾個方面對目標跟蹤做了全方面的介紹,非常好的入門文章。在今天的文章中,我們將深入研究視頻目標跟蹤。我們從基礎開始,了解目標
    的頭像 發(fā)表于 11-20 01:06 ?432次閱讀
    視頻目標<b class='flag-5'>跟蹤</b>從0到1,概念與方法

    手機識別模型案例

    新的可能性。同時,人工智能技術正在進入各種應用領域,在智慧城市、智能制造、智慧醫(yī)療、智慧農(nóng)業(yè)等領域發(fā)揮著重要作用。 本期介紹:模型案例:|?手機識別模型! RT-DETR RT-DETR是基于DETR架構的端到端對象檢測器,完全
    的頭像 發(fā)表于 11-18 11:01 ?187次閱讀
    手機<b class='flag-5'>識別</b><b class='flag-5'>模型</b>案例

    AI大模型在圖像識別中的優(yōu)勢

    AI大模型在圖像識別中展現(xiàn)出了顯著的優(yōu)勢,這些優(yōu)勢主要源于其強大的計算能力、深度學習算法以及大規(guī)模的數(shù)據(jù)處理能力。以下是對AI大模型在圖像識別中優(yōu)勢的介紹: 一、高效性與準確性 處理速
    的頭像 發(fā)表于 10-23 15:01 ?887次閱讀

    高抗噪性 電壓跟蹤

    電壓跟蹤
    jf_30741036
    發(fā)布于 :2024年09月29日 19:26:44

    TLV9002-Q1仿真模型是否包含參數(shù)的溫度漂移特性?

    從TI官網(wǎng)下載的TLV9002-Q1仿真模型(TLV9002 PSpice Model (Rev. D))是否包含參數(shù)的溫度漂移特性? 如果模型里面沒有包含溫漂特性的話,我司想對TLV9002仿真-40~125度溫度范圍內(nèi)對整
    發(fā)表于 07-31 07:25

    人臉識別模型訓練流程

    人臉識別模型訓練流程是計算機視覺領域中的一項重要技術。本文將詳細介紹人臉識別模型的訓練流程,包括數(shù)據(jù)準備、模型選擇、
    的頭像 發(fā)表于 07-04 09:19 ?1061次閱讀

    人臉識別模型訓練失敗原因有哪些

    人臉識別模型訓練失敗的原因有很多,以下是一些常見的原因及其解決方案: 數(shù)據(jù)集質(zhì)量問題 數(shù)據(jù)集是訓練人臉識別模型的基礎。如果數(shù)據(jù)集存在質(zhì)量問題,將直接影響
    的頭像 發(fā)表于 07-04 09:17 ?706次閱讀

    人臉識別模型訓練是什么意思

    人臉識別模型訓練是指通過大量的人臉數(shù)據(jù),使用機器學習或深度學習算法,訓練出一個能夠識別和分類人臉的模型。這個模型可以應用于各種場景,如安防監(jiān)
    的頭像 發(fā)表于 07-04 09:16 ?696次閱讀

    Transformer模型在語音識別和語音生成中的應用優(yōu)勢

    隨著人工智能技術的飛速發(fā)展,語音識別和語音生成作為人機交互的重要組成部分,正逐漸滲透到我們生活的各個方面。而Transformer模型,自其誕生以來,憑借其獨特的自注意力機制和并行計算能力,在
    的頭像 發(fā)表于 07-03 18:24 ?1254次閱讀

    【大語言模型:原理與工程實踐】大語言模型的預訓練

    大語言模型的核心特點在于其龐大的參數(shù)量,這賦予了模型強大的學習容量,使其無需依賴微調(diào)即可適應各種下游任務,而更傾向于培養(yǎng)通用的處理能力。然而,隨著學習容量的增加,對預訓練數(shù)據(jù)的需求也相應
    發(fā)表于 05-07 17:10

    蘋果ReALM模型在實體識別測試中超越OpenAI GPT-4.0

    “我們的模型識別各種類型實體方面都有顯著提升,即使是小尺寸模型,在屏幕實體識別準確性上也已超過原有的系統(tǒng)5%以上。在與GPT-3.5和GPT-4.0的比較中,小型
    的頭像 發(fā)表于 04-02 11:23 ?521次閱讀

    什么是零點漂移?零點漂移產(chǎn)生的原因及解決辦法

    零點漂移,也被稱為DC漂移、溫度漂移或基線漂移,是指當放大電路輸入信號為零(即沒有交流電輸入)時
    的頭像 發(fā)表于 02-05 16:00 ?3.1w次閱讀
    什么是零點<b class='flag-5'>漂移</b>?零點<b class='flag-5'>漂移</b>產(chǎn)生的原因及解決辦法

    輸出電壓的漂移現(xiàn)象 輸出電壓漂移的原因 輸出電壓漂移的解決方法

    輸出電壓的漂移現(xiàn)象 輸出電壓漂移的原因 輸出電壓漂移的解決方法 電壓漂移是指系統(tǒng)輸出的電壓在一段時間內(nèi)發(fā)生變化的現(xiàn)象。在實際電路中,電壓漂移
    的頭像 發(fā)表于 02-05 10:29 ?2902次閱讀