一般來說,您可以透過下列兩種方式訓練模型:
表 1. 主要優缺點。
靜態訓練 | 動態訓練 | |
---|---|---|
優點 | 更簡單。您只需要開發及測試模型一次。 | 更具彈性模型會持續追蹤特徵和標籤之間的關係變化。 |
缺點 | 有時會較為過時。如果特徵和標籤之間的關係隨時間變化,模型的預測結果就會變差。 | 工作量增加。您必須持續建構、測試及發布新產品。 |
如果資料集確實不會隨時間變化,請選擇靜態訓練,因為建立和維護靜態訓練的成本比動態訓練低。不過,資料集通常會隨時間變化,即使是您認為恆定不變的資料集 (例如海平面) 也是如此。結論:即使使用靜態訓練,您仍必須監控輸入資料是否有變動。
舉例來說,假設您訓練的模型要預測使用者購買花束的機率。由於時間緊迫,因此模型只使用 7 月和 8 月的花卉購買行為資料集訓練一次。這個模型在幾個月內運作良好,但在情人節期間,由於使用者行為出現大幅變化,因此預測結果不準確。
如要進一步瞭解靜態和動態訓練,請參閱管理機器學習專案課程。
練習:測試您的理解程度
下列哪兩項關於靜態 (離線) 訓練的敘述正確無誤?
模型會在收到新資料時保持最新狀態。
事實上,如果您在離線狀態下訓練模型,模型就無法在收到新資料時加以納入。如果您嘗試從中學習的分布隨著時間而變化,這可能會導致模型失效。
您可以在正式工作環境中套用模型前先驗證模型。
是的,離線訓練可讓您在將模型導入實際工作環境前,充分驗證模型成效。
相較於線上訓練,離線訓練對訓練工作的監控需求較低。
一般來說,離線訓練的監控需求較為簡單,因此您不必考量許多實際工作環境的考量。不過,訓練模型的頻率越高,您就需要投入越多的監控資源。您也應定期進行驗證,確保程式碼 (及其依附元件) 的變更不會對模型品質造成負面影響。
在推論期間,您只需監控少量輸入資料。
雖然這似乎違反直覺,但您確實需要在供應時監控輸入資料。如果輸入資料分布有所變動,模型的預測結果可能就會變得不可靠。舉例來說,假設模型只訓練夏季服飾資料,卻突然用於預測冬季的服飾購買行為。
以下哪個敘述與動態 (線上) 訓練相關?
模型會在收到新資料時保持最新狀態。
這是線上訓練的主要優點;您可以讓模型在收到新資料時進行訓練,藉此避免許多過時問題。
您只需監控訓練工作,
事實上,您必須持續監控訓練工作,確保訓練工作處於正常狀態並正常運作。您還需要支援基礎架構,例如在訓練過程中發生錯誤 (例如工作有錯誤或輸入資料損毀) 時,能夠將模型回溯至先前的快照。
在推論期間,您只需監控少量輸入資料。
就像靜態離線模型一樣,監控動態更新模型的輸入內容也相當重要。您可能不會受到季節性影響,但輸入資料 (例如上游資料來源的異常) 突然大幅變動,仍可能導致預測結果不準確。