解讀CRISP-ML(Q):機器學習生命周期流程
譯文譯者 | 布加迪
審校 | 孫淑娟
目前,沒有用于構(gòu)建和管理機器學習(ML)應用程序的標準實踐。機器學習項目組織得不好,缺乏可重復性,而且從長遠來看容易徹底失敗。因此,我們需要一套流程來幫助自己在整個機器學習生命周期中保持質(zhì)量、可持續(xù)性、穩(wěn)健性和成本管理。
圖1. 機器學習開發(fā)生命周期流程
使用質(zhì)量保證方法開發(fā)機器學習應用程序的跨行業(yè)標準流程(CRISP-ML(Q))是CRISP-DM的升級版,以確保機器學習產(chǎn)品的質(zhì)量。
CRISP-ML(Q)有六個單獨的階段:
1. 業(yè)務和數(shù)據(jù)理解
2. 數(shù)據(jù)準備
3. 模型工程
4. 模型評估
5. 模型部署
6. 監(jiān)控和維護
這些階段需要不斷迭代和探索,以構(gòu)建更好的解決方案。即使框架中有順序之分,后一階段的輸出可以決定我們要不要重新檢查前一階段。
圖2. 每個階段的質(zhì)量保證
質(zhì)量保證方法被引入到框架的每個階段。這套方法有要求和約束,比如性能指標、數(shù)據(jù)質(zhì)量要求和穩(wěn)健性。它有助于降低影響機器學習應用程序成功的風險。它可以通過持續(xù)監(jiān)控和維護整個系統(tǒng)來實現(xiàn)。
比如說:在電子商務企業(yè),數(shù)據(jù)和概念漂移會導致模型退化;如果我們沒有部署系統(tǒng)來監(jiān)控這些變化,公司就會蒙受損失,即失去客戶。
業(yè)務和數(shù)據(jù)理解
開發(fā)流程一開始,我們需要確定項目范圍、成功標準和ML應用程序的可行性。之后,我們開始數(shù)據(jù)收集和質(zhì)量驗證過程。這個過程漫長而又充滿挑戰(zhàn)。
范圍:我們希望通過使用機器學習流程實現(xiàn)的目標。是留住客戶,還是通過自動化降低運營成本?
成功標準:我們必須定義清晰和可衡量的業(yè)務、機器學習(統(tǒng)計指標)和經(jīng)濟(KPI)成功指標。
可行性:我們需要確保數(shù)據(jù)可用性、機器學習應用程序的適用性、法律約束、穩(wěn)健性、可擴展性、可解釋性和資源需求。
數(shù)據(jù)收集:通過收集數(shù)據(jù),對其進行版本控制以實現(xiàn)可重復性,并確保源源不斷的真實數(shù)據(jù)和生成數(shù)據(jù)。
數(shù)據(jù)質(zhì)量驗證:通過維護數(shù)據(jù)描述、要求和驗證來確保質(zhì)量。
為了確保質(zhì)量和可重復性,我們需要記錄數(shù)據(jù)的統(tǒng)計屬性和數(shù)據(jù)生成過程。
數(shù)據(jù)準備
第二階段很簡單。我們將為建模階段準備數(shù)據(jù)。這包括數(shù)據(jù)選擇、數(shù)據(jù)清洗、特征工程、數(shù)據(jù)增強和規(guī)范化。
1. 我們從特征選擇、數(shù)據(jù)選擇以及通過過采樣或欠采樣來處理不平衡類入手。
2. 然后,專注于減少噪音和處理缺失值。出于質(zhì)量保證的目的,我們將添加數(shù)據(jù)單元測試,以減少錯誤值。
3. 視模型而定,我們執(zhí)行特征工程和數(shù)據(jù)增強,比如獨熱編碼和聚類。
4. 規(guī)范化和擴展數(shù)據(jù)。這可降低特征有偏差的風險。
為了確保可重復性,我們創(chuàng)建了數(shù)據(jù)建模、轉(zhuǎn)換和特征工程管道。
模型工程
業(yè)務和數(shù)據(jù)理解階段的約束和要求將決定建模階段。我們需要了解業(yè)務問題以及我們將如何開發(fā)機器學習模型來解決這些問題。我們將專注于模型選擇、優(yōu)化和訓練,將確保模型性能指標、穩(wěn)健性、可擴展性、可解釋性,并優(yōu)化存儲和計算資源。
1. 模型架構(gòu)和類似業(yè)務問題方面的研究。
2. 定義模型性能指標。
3. 模型選擇。
4. 通過整合專家來了解領域知識。
5. 模型訓練。
6. 模型壓縮和集成。
為確保質(zhì)量和可重復性,我們將存儲模型元數(shù)據(jù)并進行版本控制,比如模型架構(gòu)、訓練和驗證數(shù)據(jù)、超參數(shù)以及環(huán)境描述。
最后,我們將跟蹤ML試驗,并創(chuàng)建ML管道,以創(chuàng)建可重復的訓練流程。
模型評估
這是我們測試并確保模型已準備好部署的階段。
- 我們將在測試數(shù)據(jù)集上測試模型性能。
- 通過提供隨機或虛假數(shù)據(jù),評估模型的穩(wěn)健性。
- 增強模型的可解釋性,以滿足監(jiān)管部門要求。
- 自動或請教領域?qū)<遥瑢⒔Y(jié)果與初始成功指標進行比較。
為了質(zhì)量保證,評估階段的每一步都被記錄下來。
模型部署
模型部署是我們將機器學習模型集成到現(xiàn)有系統(tǒng)中的階段。該模型可以部署在服務器、瀏覽器、軟件和邊緣設備上。來自模型的預測可用于BI儀表板、API、Web應用程序和插件。
模型部署流程:
- 定義硬件推理。
- 生產(chǎn)環(huán)境中的模型評估。
- 確保用戶接受和可用性。
- 提供后備方案,最大程度地減少損失。
- 部署策略。
監(jiān)控和維護
生產(chǎn)環(huán)境中的模型需要持續(xù)監(jiān)控和維護。我們將監(jiān)控模型時效性、硬件性能和軟件性能。
持續(xù)監(jiān)控是流程的第一部分;如果性能降到閾值以下,自動做出決定,針對新數(shù)據(jù)重新訓練模型。此外,維護部分不僅限于模型的重新訓練。它需要決策機制,獲取新數(shù)據(jù)、更新軟硬件以及根據(jù)業(yè)務用例改進ML流程。
簡而言之,就是持續(xù)集成、訓練和部署ML模型。
結(jié)論
訓練和驗證模型是ML應用程序的一小部分。將最初的想法變成現(xiàn)實需要幾個過程。我們在本文中介紹了CRISP-ML(Q) 以及它如何側(cè)重風險評估和質(zhì)量保證。
我們先定義業(yè)務目標、收集和清理數(shù)據(jù)、構(gòu)建模型、拿測試數(shù)據(jù)集驗證模型,然后將其部署到生產(chǎn)環(huán)境中。
該框架的關鍵組件是持續(xù)監(jiān)控和維護。我們將監(jiān)控數(shù)據(jù)和軟硬件指標,以確定是重新訓練模型還是升級系統(tǒng)。
如果您不熟悉機器學習操作,想了解更多信息,請閱讀DataTalks.Club評述的??免費MLOps課程??。您將獲得所有六個階段的上手經(jīng)驗,了解CRISP-ML的實際實施。
原文標題:??Making Sense of CRISP-ML(Q): The Machine Learning Lifecycle Process??,作者:Abid Ali Awan