1. 程式人生 > >MLCC筆記18 - 生產機器學習系統(Production ML Systems)

MLCC筆記18 - 生產機器學習系統(Production ML Systems)

預測 學習 inf 批量 mar .com 哪些 人臉檢測 就會

除了實現機器學習算法之外,機器學習還包含許多其他內容。生產環境機器學習系統包含大量組件。
無需自行構建所有內容,而是應該盡可能重復使用常規機器學習系統組件。
通過了解機器學習系統的一些範例及其要求,可以明確實際需要哪些組件。

技術分享圖片

1- 靜態訓練與動態訓練(Static vs. Dynamic Training)

從廣義上講,訓練模型的方式有兩種:
靜態模型

  • 采用離線訓練方式:只訓練模型一次,然後使用訓練後的模型一段時間。
  • 易於構建和測試:使用批量訓練和測試,對其進行叠代,直到達到良好效果。
  • 仍然需要對輸入進行監控
  • 模型容易過時

動態模型

  • 采用在線訓練方式:數據會不斷進入系統,通過不斷地更新系統將這些數據整合到模型中。
  • 隨著時間推移不斷為訓練數據註入新數據,定期同步更新版本。
  • 使用漸進式驗證,而不是批量訓練和測試。
  • 需要監控、模型回滾和數據隔離功能
  • 會根據變化作出相應調整,避免了過時問題

2- 靜態推理與動態推理(Static vs. Dynamic Inference)

可以選擇以下任一推理策略:
離線推理

  • 使用 MapReduce 或類似方法批量進行所有可能的預測。
  • 記錄到表格中,然後提供給緩存/查詢表。
  • 優點:不需要過多擔心推理成本。
  • 優點:可以使用批量方法。
  • 優點:可以在推送之前對數據預測執行後期驗證。
  • 缺點:只能對我們知曉的數據進行預測,不適用於存在長尾的情況。
  • 缺點:更新可能延遲數小時或數天。

在線推理

  • 使用服務器根據需要進行預測。
  • 優點:可在新項目加入時對其進行預測,非常適合存在長尾的情況。
  • 缺點:計算量非常大,對延遲較為敏感,可能會限制模型的復雜度。
  • 缺點:監控需求更多。

3- 數據依賴關系(Data Dependencies)

特征管理

  • 輸入數據(特征)決定機器學習系統的行為。
  • 選擇輸入信號時要謹慎。

對輸入數據提出的問題

  • 可靠性:信號不可用時會出現什麽情況?您知道嗎?
  • 版本控制:計算此信號的系統是否發生過變化?多久一次?會出現什麽情況?
  • 必要性:信號的實用性是否能證明值得添加此信號?
  • 相關性:是否有任何輸入信號密不可分,以至於需要采取額外策略來梳理它們?
  • 反饋環:哪個輸入信號可能會受到我的模型輸出的影響?

4- 檢查理解

問題

1-以下哪個關於在線(動態)訓練的表述是正確的?

  • 幾乎不需要對訓練作業進行監控。
  • 模型會在新數據出現時進行更新。
  • 在推理時幾乎不需要監控輸入數據。

2-以下哪些關於離線訓練的表述是正確的?

  • 在推理時幾乎不需要監控輸入數據。
  • 與在線訓練相比,離線訓練需要對訓練作業進行的監控較少。
  • 模型會在收到新數據時進行更新。
  • 您可以先驗證模型,然後再將其應用到生產中。

3-在離線推理中,我們會一次性根據大批量數據做出預測。然後將這些預測納入查詢表中,以供以後使用。以下哪些關於離線推理的表述是正確的?

  • 我們將能夠快速對世界上的變化作出響應。
  • 對於給定的輸入,離線推理能夠比在線推理更快地提供預測。
  • 我們會對所有可能的輸入提供預測。
  • 我們將需要在長時間內小心監控輸入信號。
  • 生成預測之後,我們可以先對預測進行驗證,然後再應用。

4-在線推理指的是根據需要作出預測。也就是說,進行在線推理時,我們將訓練後的模型放到服務器上,並根據需要發出推理請求。以下哪些關於在線推理的表述是正確的?

  • 您可以先對預測進行後期驗證,然後再使用它們。
  • 您必須小心監控輸入信號。
  • 在進行在線推理時,您不需要像執行離線推理一樣,過多地擔心預測延遲問題(返回預測的延遲時間)。
  • 您可以為所有可能的條目提供預測。

5-以下哪個模型容易受到反饋環的影響?

  • 圖書推薦模型 - 根據小說的受歡迎程度(即圖書的購買量)向用戶推薦其可能喜歡的小說。
  • 選舉結果預測模型 - 在投票結束後對 2% 的投票者進行問卷調查,以預測市長競選的獲勝者。
  • 住宅價值預測模型 - 使用建築面積(以平方米為單位計算的面積)、臥室數量和地理位置作為特征預測房價。
  • 大學排名模型 - 將選擇率(即申請某所學校並被錄取的學生所占百分比)作為一項學校評分依據。
  • 人臉檢測模型:檢測照片中的人是否在微笑(根據每月自動更新的照片數據庫定期進行訓練)。
  • 交通狀況預測模型 - 使用海灘上的人群規模作為特征之一預測海灘附近各個高速公路出口的擁堵情況。

解答

1-
幾乎不需要對訓練作業進行監控。
實際上,您必須持續監控訓練作業,以確保它們狀態良好並按預期運轉。此外,您還需要支持型基礎架構,例如在訓練出現問題(比如錯誤作業或輸入數據損壞)時能夠讓模型回滾到之前的快照狀態。
模型會在新數據出現時進行更新。--- 正確
這是在線訓練的主要優勢,它允許模型在新數據加入時對其進行訓練,因而能避免大量過時問題。
在推理時幾乎不需要監控輸入數據。
和靜態離線模型一樣,請務必對動態更新模型的輸入數據進行監控。我們可能不會面臨較大的季節性效應帶來的風險,但如果輸入數據突然發生巨大變化(例如上遊數據源中斷),仍然會導致預測結果不可靠。

2-
在推理時幾乎不需要監控輸入數據。
與直覺相反,您的確需要在推理時監控輸入數據。如果輸入分布發生變化,則我們的模型預測可能會變得不再可靠。想象一下,假如一個模型僅對夏季服飾數據進行了訓練,然後突然被用來預測冬季的服飾購買行為。
與在線訓練相比,離線訓練需要對訓練作業進行的監控較少。--- 正確
一般而言,離線訓練在訓練時的監控需求比較適中,這使我們無需考慮很多生產方面的事宜。不過,您訓練模型的頻率越高,需要在監控方面投入的精力就越多。您還需要定期驗證,以確保代碼的更改(及其依賴關系)不會對模型質量產生不利影響。
模型會在收到新數據時進行更新。
實際上,如果我們采用離線訓練方式,模型將無法在新數據出現時包含新數據。當我們嘗試從中學習的分布會隨時間而變化時,這種情況會導致模型過時。
您可以先驗證模型,然後再將其應用到生產中。--- 正確
是的,離線訓練提供了足夠的機會來先驗證模型效果,然後再將其引入到生產中。

3-
我們將能夠快速對世界上的變化作出響應。
錯誤,這是離線推理的缺點之一。世界上如果有任何變化,我們都需要等到一組新的預測寫入到查詢表後,才能根據相應變化作出不同的響應。
對於給定的輸入,離線推理能夠比在線推理更快地提供預測。--- 正確
在離線推理的眾多優勢中,其中一項優勢是,預測一旦寫入到某個查詢表中,我們便能夠以最小的延遲提供預測。無需在收到請求時進行特征計算或模型推理。
我們會對所有可能的輸入提供預測。
錯誤,我們不會對所有可能的輸入提供預測。這是離線推理的缺點之一。我們只能對已知曉的樣本提供預測。如果我們要預測的事物集合是有限的,例如世界城市,則這種方法是可行的。但是對於用戶查詢等存在不尋常或罕見條目的長尾情況,我們可能無法通過離線推理系統實現全面覆蓋。
我們將需要在長時間內小心監控輸入信號。
這屬於我們實際上不需要長時間監控輸入信號的情況。原因是,將預測記錄到某個查詢表後,我們就不再依賴於輸入特征了。需要註意的是,模型的所有後續更新都將需要進行新一輪的輸入驗證。
生成預測之後,我們可以先對預測進行驗證,然後再應用。--- 正確
這的確是關於離線推理的一項實用功能。我們可以先對所有預測進行健全性檢查並驗證,然後再使用它們。

4-
您可以先對預測進行後期驗證,然後再使用它們。
一般而言,不可能先對所有預測進行後期驗證然後再使用它們,因為預測是根據需要進行的。不過,您可以監控總體預測特性,以提供一定程度的健全性檢查,但在發現問題時可能已經為時已晚。
您必須小心監控輸入信號。--- 正確
是,信號可能會因上遊問題而突然改變,從而損害我們的預測。
在進行在線推理時,您不需要像執行離線推理一樣,過多地擔心預測延遲問題(返回預測的延遲時間)。
預測延遲通常是在線推理中一個令人擔憂的問題。遺憾的是,您不一定能夠通過添加更多推理服務器解決預測延遲問題。
您可以為所有可能的條目提供預測。--- 正確
正確,這是在線推理的一項優勢。收到的每個請求都會獲得一個分數。在線推理能夠處理長尾分布(包含許多罕見條目的分布),例如影評中可能包含的所有句子占用的空間。

5-
圖書推薦模型 - 根據小說的受歡迎程度(即圖書的購買量)向用戶推薦其可能喜歡的小說。--- 正確
圖書推薦有可能吸引用戶購買,而且這些額外銷量將作為輸入項反饋回模型,從而使該模型更有可能在將來推薦同樣的圖書。
選舉結果預測模型 - 在投票結束後對 2% 的投票者進行問卷調查,以預測市長競選的獲勝者。
如果此模型直到投票結束之後才發布其預測,則其預測結果不可能會影響投票者的行為。
住宅價值預測模型 - 使用建築面積(以平方米為單位計算的面積)、臥室數量和地理位置作為特征預測房價。
快速更改房屋位置、建築面積或臥室數量以響應價格預測是不可能的,因此不可能形成反饋環。但是,房屋大小與臥室數量之間可能存在關聯(房屋越大,房間可能越多),這種關聯需要單獨梳理清楚。
大學排名模型 - 將選擇率(即申請某所學校並被錄取的學生所占百分比)作為一項學校評分依據。--- 正確
此模型的排名可能會提高學生對高評分學校的興趣,從而使這些學校收到的申請增加。如果這些學校錄取的學生人數繼續保持不變,則選擇率會增大(錄取的學生所占百分比會下降)。這樣會提升這些學校的排名,從而進一步提高未來有意申請這些學校的學生的興趣,如此循環下去…
人臉檢測模型:檢測照片中的人是否在微笑(根據每月自動更新的照片數據庫定期進行訓練)。
這種模型不會生成反饋環,因為模型預測結果不會對我們的照片數據庫產生任何影響。但是,在這種模型中,輸入數據的版本控制非常重要,因為每月更新可能會對模型帶來無法預見的影響。
交通狀況預測模型 - 使用海灘上的人群規模作為特征之一預測海灘附近各個高速公路出口的擁堵情況。--- 正確
有些準備前往海灘的遊客可能會根據交通狀況預測結果來制定出行計劃。如果海灘上人群規模很大且交通預計會擁堵,則許多人可能會另做打算。這樣一來,海灘上遊客的數量就會減少,進而使模型作出交通暢通的預測,然後這又會導致前往海灘的遊客增加,這樣,這個循環就會反復下去。

MLCC筆記18 - 生產機器學習系統(Production ML Systems)