首先我們先複習一下,當一個訓練階段完成時,會有哪些東西:當我們有了一個已經訓練好的模型,我們需要把他包裝成可以輸出的模型,除了常見的將 Model Dump 成一個 pickle, onnx 檔案外,我們還需要哪些元素,這裡我先用 AWS Sagemaker 服務來說明常用的三個元素:Artifacts, Config 和 Registry
Artifacts 是模型訓練過程中生成的各種數據和文件,通常包含
通常整個檔案在每一次訓練完成後會 tar.gz 包起來放在 S3 BUcket 中,以供後續的模型評估、調優或部署
補充一點,通常模型 Inference 或 Training 的環境都會包含一個標準的介面,只需要 Artifacts 的程式碼滿足這些介面的需求即可,但有一些特殊的模型環境介面無法滿足,就會需要設置 Dockerfile 來配置需要的環境
Config 是模型訓練和部署過程中的設定參數,例如學習率、批次大小、硬體選擇等,如果是 XGBoost 模型像是樹的深度, Learning Rate 等等都會被記錄,一般來說整個紀錄會記錄成一個文件檔案,而這個配置可以被重用跟版本化。通過這些設定,SageMaker 能夠明確地知道如何訓練模型以及如何進行推理。
Model Registry 是一個中心化的存儲空間,用於管理多個模型版本。用於版本控制、審核和模型生命周期管理。您可以從註冊庫中直接部署模型到生產環境。
整個研究與訓練的過程,最終的目的就是產生以下三個檔案,以確保整個機器學習模型可以被開發, 管理和部署:
雖然這三個元素我是先用 AWS Sagemaker 的元件來解釋,但其實在大多的 MLOps Framework 如 MLFlow 也都有引入類似的概念,他們都有共通的目的,就是將這些文件有一套標準的管理方式,並讓模型可以快速地被部署整個模型以及相對應的 pipline,達到自動化的監控與維護
然後有另一個挑戰是模型治理 (Model Governance),換句話說模型本生的 Operation 面都沒有問題,但是還是會有法律也就是合規上的挑戰,像是歐盟個人資料保護的GDPR,忽略這個問題很可能在模型上現實遇到很大的挑戰,因此我認為 Model Governance 與 MLOps 是非常密不可分的,在研究階段就應該同步思考這個可能不是那麼技術,但非常重要的合規性與法律問題
舉 2021 年提出將在 2024 年實施的 AI法規草案 為例,該草案將模型部署的應用系統分成不同的風險類別
可以看出除了個人資料的用途會有法規限制外,也會根據應用場景有不同的限制,不同的應用場景可能會有不同嚴格程度的法規,然而有這些法規是否就不能做任何應用?並不是的,而是會需要針對合規有個多的需求,舉兩個金融商品中的案例
這兩個例子想要表達的是,模型治理不是說不能做,而是需要由法務弄清楚法規,並在模型時作時也引入以下的系統,來幫助合規可以更智能且自動化的執行,包括了:
在實驗的最後階段我們引入模型的文件不只是要更好的鑑識 MLOps 系統,更是方便我們不會再遇到管理與合規性挑戰時,需要做很多 Adhoc 程式碼從而累積許多的技術債