ML Inferencing(推論) - 指模型在新資料上進行預測的過程,real time(在資料到達時迅速做出決策,注重速度)、Batch(一次分析大量資料,注重準確)
Inferencing at the Edge
- Edge devices通常是運算能力較低、靠近資料產生地的裝置,常用於網路連線受限的環境
- SLM(Small Language Model)
部署在邊緣裝置,延遲低、運算資源少、可離線運作、在地推論
- LLM(Large Language Model)
部署在遠端伺服器,延遲高、必須連網、模型強大
ML專案流程
- 想要解決甚麼問題
- 將問題轉換為ML可解的問題:這部分需要data scientist、data engineers、ML architects、subject matter共同協力確定ML是否適合解決該問題
- 收集資料與特徵工程:對資料轉成可用格式、整合資料並了解資料特性;在做Feature engineering包括create、transform和extract variables
- 訓練、調整、評估模型:可能需要額外的 feature engineering和tune hyperparameters;EDA(exploratory data analysis)用於計算統計數據、視覺化資料、建立相關矩陣,以了解特徵間的關聯性,並找到重要特徵
- 反覆進行增強資料直到得到滿意的模型性能:檢視資料與特徵以改進模型或是再次tune hyperparameters直到滿意的模型出現
- 測試並部署:為使用者提供預測結果也就是進行Inferencing,並且選擇部署方式ex:real-time、batch、serverless、asynchronous、on-premises
- 部署後進行監控和除錯:檢查模型是否達到預期的效能,及早偵測問題並處理
- 將正確的預測結果加入原始資料集重新訓練模型:模型必須持續改進和優化
Hyperparameter Tuning
- Hyperparameter: 定義模型結構、學習演算法及訓練過程的設定,包含learning rate、batch size、epochs、regularization
- 可以提升模型準確度、減少overfitting並增強generalization
- 可以使用Grid search,、random search或是SageMaker Automatic Model Tuning(AMT)
- learning rate:訓練過程中更新模型權重時,每一步的大小(越小收斂越慢,但精準度高)
- batch size:一次迭代更新模型權重時使用的訓練樣本數(batch小更穩定的學習,但計算時間較長)
- epochs:模型遍歷整個訓練資料集的次數(太少會underfitting,太多會overfitting)
- regularization:用於調整模型簡單與複雜的平衡(增加模型的regularizations能減少overfitting)
- overfitting:可能因為訓練資料量太少、訓練輪次過多或模型過於複雜而發生,防止方法有
增加訓練資料量
early stopping,避免輪次過多
data augmentation
也可以調整學習率、批次大小和輪次