六條規則讓你更快部署機器學習模型!
資料科學和機器學習幾乎可以改善組織的任何方面的業務,但其前提是企業的想法得到了實施。在過去的一年裡,我們學到了很多關於更快地構建和部署機器學習模型的知識,我們希望分享一些我們在這裡學到的東西。
情況介紹
在我們的組織中,我們需要儘快為我們的分析投資產生回報。我們需要更快地將機器學習模型部署到生產中。最重要的是,我們不希望很好的想法卻束之高閣。
傳統上,我們將每個資料產品構建為定製解決方案。每個自定義解決方案之間幾乎沒有重複應用。我們需要的是資料產品的裝配線。
因此,我們構建了一條用於構建、測試和部署資料產品的裝配線,我們將之為機器學習平臺。有了它,我們現在可以在幾分鐘內將模型部署到生產中。我們不再需要等待很長時間才能獲得分析投資的回報。
我們在此過程中學到了什麼
在此過程中,我們學習了一些有關如何安全快速地構建、測試和部署機器學習模型的重要規則。這些規則改變了我們的工作方式,希望發現它們對你和你的組織有用。
(1)採用自助服務
在我們的機器學習平臺存在之前,資料科學家將建立的模型交給IT團隊,以便他們可以為每個模型建立資料管道和模型部署環境。有些模型在部署之前甚至被改寫為不同的語言。
我們構建了機器學習平臺,為模型構建者提供了透過內部模型治理流程自行部署模型的能力。自助服務是加快發展的關鍵。
(2)使用容器來提供基礎設施的抽象
容器提供了隔離和版本模型的好方法。如果你的組織使用標準伺服器負載,可能會發現很難在該標準伺服器上安裝依賴項和工件,容器解決了這個問題。你可能發現由伺服器管理人員安裝軟體包需要太長時間,容器也解決了這個問題。你可能需要在一段時間內託管同一模型的新版本和舊版本,每個版本都需要一組不同的依賴項,容器也有助於版本控制策略。
(3)資料科學家需要關心程式碼質量
為資料科學家提供自助服務部署模型到生產的能力,同時還有編寫產品質量程式碼的責任。這可能意味著你的模型構建團隊必須完成他們的軟體工程遊戲。而瞭解一點Python語法並呼叫API,並不能使你成為一名優秀的軟體工程師。當你構建組織將在生產系統中使用的軟體時,軟體質量與資料和模型質量一樣重要。
這可能意味著採用測試驅動開發和程式碼審查等實踐,這意味著嘗試配對程式設計。在你使用它時,應該仔細考慮使用膝上型電腦的方式和時間以及對軟體質量的影響。幸運的是,這些模式在軟體工程領域是眾所周知的,並且對於大多數群體來說都是可以採用的。
(4)如果沒有自動化,則不會完成。
平臺速度和穩定性都取決於模型部署平臺和流程的自動化。如果你想加快速度,那麼在採用自動化方面要毫不妥協。
在我們的機器學習平臺上,我們實現了整個模型生命週期的自動化。持續整合和持續交付驅動模型測試和平臺上的模型部署。
我們還實現了底層平臺基礎設施的配置和部署的自動化。透過這樣做,我們的團隊學會了將這些自動化虛擬機器視為可支配資源。不需要人員登入到伺服器進行管理,所有管理任務都是自動化的。這意味著無論擴充套件多少,每個伺服器都會得到一致的配置。我們不是升級伺服器,而是自動使用新的基礎設施重新部署平臺。
(5)構建支援整個模型生命週期的平臺
到目前為止,我們專注於構建、培訓和部署,但這只是機器學習模型生命週期的第一部分。許多模型經歷漂移,並隨著時間推移效能下降。而部署的模型需要進行監控和重新安裝,每個部署的模型都應記錄所有輸入、輸出和異常。模型部署平臺需要提供日誌儲存和模型效能視覺化。
在我們的機器學習平臺上,每個模型都將每個執行記錄為通用格式。每個託管模型應用程式都以通用方式發出日誌。我們路由和儲存這些日誌,使用它們來監控模型效能,並幫助識別漂移。最後,我們會自動建立模型儀表板,以提供有關每個模型執行情況的其他見解。
密切關注模型效能是有效管理機器學習模型生命週期的關鍵。你不能忽視模型監控作為模型整個生命週期的一部分。
(6)標準化的共同開發方法
軟體工程師提出了可用於構建行動式和彈性應用程式的出色方法和設計模式。如果你的模型構建者瞭解這些方法,那麼很多方法都可以輕鬆地適應機器學習應用程式。
獲得的結果
結合這六條規則有助於我們獲得更快的結果,我希望它們也能為你的組織提供幫助。資料科學應該是關於建立具有影響力的軟體。如果有的話,白皮書、儀表板、文字雲和餅圖就不會再削減它,而獲得成果需要付出更多的努力。
這不是一條容易的道路。蘋果公司創始人史蒂夫•賈伯斯說:"在優秀的創意與產品之間隔著巨大的鴻溝。"為了快速進入市場,可能需要採用DevOps。這意味著你的團隊可能需要升級其軟體工程技能組合。
但是這是值得的。過去有時需要12個月的時間的工作現在需要幾分鐘才能完成。更重要的是,我們不是在構建分析貨架。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545819/viewspace-2220769/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 谷歌機器學習43條規則:機器學習工程的最佳實踐經驗谷歌機器學習
- 谷歌機器學習規則要點簡析:43條黃金法則谷歌機器學習
- 機器學習基礎——規則化(Regularization)機器學習
- Codd的ER模型12條規則模型
- TensorFlow Serving: 高效能機器學習模型部署利器機器學習模型
- 機器學習模型機器學習模型
- 機器學習筆記——模型選擇與正則化機器學習筆記模型
- 【機器學習】在生產環境使用Kafka構建和部署大規模機器學習機器學習Kafka
- 規則引擎與機器學習比較與結合機器學習
- 使用pmml實現跨平臺部署機器學習模型機器學習模型
- 讓機器學習告訴你,你的siri在想什麼!機器學習
- 機器學習模型部署--打通前後端任督二脈機器學習模型後端
- 如何管理機器學習模型機器學習模型
- 欺騙機器學習模型機器學習模型
- 機器學習模型說你有精神病,信不信?機器學習模型
- 機器學習導圖系列(5):機器學習模型及神經網路模型機器學習模型神經網路
- 圖解來啦!機器學習工業部署最佳實踐!10分鐘上手機器學習部署與大規模擴充套件 ⛵圖解機器學習套件
- 機器學習——決策樹模型機器學習模型
- 機器學習之模型選擇機器學習模型
- 機器學習之模型診斷機器學習模型
- 機器學習之模型評估機器學習模型
- 【機器學習】--隱語義模型機器學習模型
- 使用pmml跨平臺部署機器學習模型Demo——房價預測機器學習模型
- 機器學習模型python線上服務部署的兩種例項機器學習模型Python
- 從預處理到部署:如何使用Lore快速構建機器學習模型機器學習模型
- Docker部署深度學習模型Docker深度學習模型
- 讀懂本文讓你和深度學習模型“官宣”深度學習模型
- 機器學習入門規劃機器學習
- TensorFlow.js:讓你在瀏覽器中也能玩轉機器學習JS瀏覽器機器學習
- 【機器學習】--關聯規則演算法從初識到應用機器學習演算法
- 學術科研無從下手?27 條機器學習避坑指南,讓你的論文發表少走彎路機器學習
- 吳恩達機器學習筆記 —— 18 大規模機器學習吳恩達機器學習筆記
- 從模型到部署,教你如何用Python構建機器學習API服務模型Python機器學習API
- 害怕部署機器學習模型?這裡有一篇手把手教程機器學習模型
- 機器學習 第六節 第二課機器學習
- 機器學習筆試題精選(六)機器學習筆試
- 機器學習【模型,策略,演算法】機器學習模型演算法
- 《機器學習_05_線性模型_最大熵模型》機器學習模型熵