跳轉到主要內容
工程的博客

以數據為中心的ML平台的必要性Beplay体育安卓版本

為什麼從一個以模型為中心轉向以數據為中心的方法解決麵臨的最大挑戰MLOps嗎
分享這篇文章
這個博客是第一個在一係列MLOps和治理模式。下一個博客將由約瑟夫•布拉德利和將討論如何選擇正確的數據科學技術和機器學習與客戶根據自己的工作經驗。beplay体育app下载地址

介紹

最近,我了解到機器學習項目的失敗率仍然非常高。研究表明,85 - 96%的項目之間從來沒有生產。這些數字是更具有意義的增長機器學習(ML)和數據科學在過去的五年裏。這個故障率占多少?

企業成功與ML計劃,他們需要一個全麵了解的風險以及如何解決這些問題。在這篇文章中,我們試圖闡明如何實現通過遠離毫升的以模型為中心的視圖係統向以數據為中心的觀點。我們還將深入MLOps和模型管理和利用的重要性,以數據為中心的ML平台如磚。Beplay体育安卓版本

毫升的數據的應用程序

當然,每個人都知道毫升的數據是最重要的組成部分。幾乎每一個數據科學家聽到:“垃圾,垃圾”和“數據科學家80%的時間花在了清洗數據”。這些格言仍然在今天像五年前那樣,但參考數據上下文中的純粹培訓的成功榜樣。如果輸入訓練數據是垃圾,那麼該模型輸出將垃圾,所以我們花80%的時間確保數據是幹淨的和我們的模型是有用的預測。然而,模型訓練隻有一個組件的生產ML體係。

機器學習的規則,研究科學家馬丁Zinkevich強調實現可靠的數據管道和基礎設施業務指標和遙測之前訓練你的第一個模型。他還主張在一個簡單的模型測試管道或啟發式來確保數據如預期流動之前,任何生產部署。根據Zinkevich,成功毫升應用程序係統的設計考慮更廣泛的需求第一,,不過分專注於訓練和推理的數據。

Zinkevich不是唯一一個這樣看待這個世界。Tensorflow擴展(敏感性)團隊在Google引用Zinkevich和回聲,構建現實世界毫升應用程序需要一些心智模型變化(或者對應)。”

著名的人工智能研究人員Andrew Ng最近也談到需要擁抱以數據為中心的機器學習係統的方法,而不是曆史的以模型為中心的的方法。Ng的上下文中談到這個改善模型通過更好的訓練數據,但我認為他是接觸更深層次的東西。來自這兩個領導人的信息是,部署成功的ML應用程序需要一個重點的轉變。而不是問,什麼數據我需要訓練一個有用的模型嗎?的問題應該是:我需要測量什麼數據和維護應用程序的成功我毫升?

自信地測量和維持成功,必須收集各種數據,以滿足業務和工程需求。例如,我們如何知道如果我們業務kpi觸及這個項目嗎?或者,我們的模型及其數據記錄在哪裏?是誰負責這個模型,我們如何跟蹤它的血統?看著毫升中的數據流的應用程序可以解釋這些數據點被發現。

下圖展示了一個可能的數據流在一個虛構的web應用程序,它使用毫升推薦植物購物者和自己的每一個階段的角色。

流的數據流建立在磚Lakehouse毫升應用程序項目。

在這個圖中,源數據流從web應用程序中間存儲,然後派生表。這些是用於監測、報告、工程特點和模型訓練。關於模型的附加元數據提取,從測試和服務收集日誌審計和遵從性。項目,忽略或無法管理這些數據表現不佳的風險或完全失敗,無論如何毫升模型執行特定的任務。

毫升工程、MLOps &治理模型

就像DevOps和數據治理降低了風險,成為學科本身,毫升工程已成為一門學科來處理操作(又名MLOps)和治理毫升的應用程序。基本上有兩種類型的風險,需要在這種情況下:管理風險固有毫升不符合外部係統的應用係統和風險。如果數據管道基礎設施、kpi模型監測和文檔缺乏,那麼您的係統變得不穩定或無效的風險增加。另一方麵,一個設計良好的應用程序未能遵守公司,監管和道德要求運行失去資金的風險,接受罰款或聲譽損失。

組織如何管理這種風險呢?MLOps和模型管理仍處於早期階段,但是並沒有官方的標準或定義。因此,基於我們的經驗與客戶合作,我們建議有用的定義來幫你想想。beplay体育app下载地址

MLOps(機器學習操作)productionized模型和它的積極管理任務,包括它的穩定性和有效性。換句話說,MLOps主要關心的是保持毫升的功能應用程序通過更好的數據,模型和開發人員操作。簡單地說,MLOps = ModelOps + DataOps + DevOps。

模型管理,另一方麵,是模型的控製和管理,其任務及其對周邊係統的影響。它主要關心如何毫升應用程序功能的更廣泛的後果在現實世界中。

為了說明這種區別,想象一個極端的例子,有人構建一個功能強大毫升應用程序用於秘密我比特幣在你的設備。這將是非常有效的,但其缺乏對社會治理有負麵影響。在同一時間,你可以寫400頁的合規和審計報告的信用風險模型,以滿足聯邦法規,但如果應用程序不穩定或有效,那麼它就是缺乏運營維度。

所以,構建一個係統功能和尊重人類價值,我們需要兩個。至少操作負責維護正常運行時間與穩定和每個組織承擔法律和經濟責任的ML他們創建的應用程序。今天,這個責任是相對有限的,因為人工智能的監管環境是處於起步階段。然而,領先企業和學術機構在空間塑造其未來工作。就像GDPR造成數據管理的主要波空間,看起來類似的監管是毫升的必然性。

基本功能

有區分操作和管理,我們現在在問:需要哪些具體的功能來支持他們?答案大致分為六類:

數據處理和管理

自創新毫升的大部分發生在開放源碼,支持結構化非結構化數據類型和開放格式和api是一個先決條件。係統還必須處理和管理kpi,管道模型訓練/推論,目標漂移、測試和日誌記錄。請注意,並不是所有的管道處理數據以同樣的方式和相同的SLA。根據用例,訓練管道可能需要gpu,監測管道可能需要流和一個推理管道可能需要低延遲的在線服務。功能訓練之間必須保持一致(離線)和服務(在線)環境中,導致許多特色商店作為解決方案。有多容易為工程師管理特性,重試失敗的工作,理解數據沿襲,並遵守法規要求喜歡GDPR嗎?選擇將這些功能可能導致重大波動的ROI。

安全合作

現實世界毫升工程是一個跨職能的工作,全麵的項目管理和持續的數據團隊和業務涉眾之間的協作是成功的關鍵。訪問控製中發揮很大的作用,讓正確的組織一起工作在同一個地方數據,代碼和模型,同時限製人類的錯誤或不當行為的風險。這個概念延伸到分離的開發和刺激的環境。

測試

確保係統滿足預期質量,測試應該運行代碼、數據和模型。這包括管道的單元測試代碼覆蓋特性工程、培訓、服務和指標,以及端到端集成測試。模型應做基線精度在人口和地理細分,功能的重要性,偏見,輸入模式衝突和計算效率。數據應做PII敏感的存在或HIPAA和訓練數據/服務傾斜,以及驗證閾值特性和目標漂移。理想的自動化,測試減少人為錯誤的可能性和援助。

監控

定期監測係統可以幫助識別和響應事件,對其構成威脅的穩定性和有效性。多久可以發現當關鍵管道失敗時,模型變得陳舊或新版本導致內存泄漏在生產?上次所有輸入特性表刷新或有人試圖訪問受限製的數據嗎?這些問題的答案可能需要混合的生活(流),定期(批處理)和事件驅動更新。

再現性

這是指能夠驗證模型的輸出通過重建其定義(代碼),輸入(數據)和係統環境(依賴性)。如果一個新的模型顯示出人意料地表現不佳或包含偏向一段的人口,組織需要能夠審計功能使用的代碼和數據工程和培訓、複製另一個版本,並重新部署。同樣,如果一個模型在生產中表現奇怪的是,我們如何能夠調試不繁殖嗎?

文檔

記錄毫升應用尺度操作知識,降低技術債務的風險,作為防範合規行為。這包括會計和可視化的係統架構;模式、參數和依賴關係的特性,模型和指標;和報告的每一個模型在生產和相應的治理需求。

一個以數據為中心的機器學習平台的必要性Beplay体育安卓版本

在最近的一次網絡研討會,馬泰Zaharia上市易於采用通過數據團隊一起與數據集成基礎設施協作功能在ML平台的特性。Beplay体育安卓版本

在這方麵,數據科學工具,從一個以模型為中心的方法本質上都是有限的。他們所提供的高級模型管理功能的軟件,分開關鍵數據管道和生產環境。這種脫節的架構依賴其他服務處理的基礎設施——最關鍵的組成部分數據

因此,訪問控製、測試和文檔的整個流程的數據分布在多個平台。Beplay体育安卓版本分離這些此時似乎是任意的,已經建立,增加了不必要的複雜性和失敗的風險對於任何毫升的應用程序。

一個以數據為中心的ML平台帶來業務指Beplay体育安卓版本標與數據模型和功能,監測和合規。結合它們,並在這一過程中,從根本上是簡單。輸入lakehouse體係結構

Lakehouse平Beplay体育安卓版本台架構

Lakehouses被定義為以數據為中心,結合數據的靈活性和可擴展性的湖泊和數據倉庫的性能和數據管理。他們的開源性質使它容易毫升與數據集成的生活。不需要出口數據的專有係統為了使用ML Tensorflow這樣的框架,PyTorch或scikit-learn。這也使得他們采取變得容易得多。

磚機器學習是建立在一種lakehouse架構和支持關鍵MLOps和治理需求包括安全協作、模型管理、測試和文檔。

數據處理和管理

管理和流程的種類和體積毫升應用程序所需的數據源,數據磚使用Apache火花和三角洲湖的高性能組合。這些統一批處理和流媒體工作負載,在pb級別操作,用於監測、指標、日誌記錄和培訓/推理建立有或沒有gpu的管道。三角洲湖的數據管理功能使它容易保持符合規定特色商店與三角洲緊密集成,火花和MLflow特性發現和簡單的培訓和推理的工作服務。多步驟的管道可以如期執行工作或通過API調用,重試和電子郵件通知。低延遲的在線服務,磚提供托管MLflow模型服務測試、發布功能在線商店,和集成與Kubernetes環境或管理雲服務Azure毫升和Sagemaker生產。

管理數據存儲的功能

安全合作

除了定義數據訪問權限表,雲資源或用戶身份級別,磚也支持訪問控製的模型、代碼、計算和憑證。這些讓用戶co-edit co-view筆記本在工作區中符合安全策略。行政功能,限製訪問生產環境和敏感數據使用客戶金融服務、醫療保健和政府在世界各地。beplay体育app下载地址

測試

磚回購允許用戶將他們的項目與版本控製係統和自動化的構建和測試服務器詹金斯Azure DevOps。這些可以用於單元測試和集成測試時提交代碼。磚還提供MLflow人可以觸發在模型的生命周期的關鍵階段——例如推廣分期或生產。這些事件可以強迫一個評估基線模型的準確性,功能的重要性,偏見,和計算效率,拒絕候選人失敗或邀請代碼審查和通過標簽相應的模型。的簽名或MLflow模型的輸入模式也可以提供日誌記錄時間和測試與生產環境的數據契約的兼容性。

測試結果可以觸發MLflow生命周期事件注冊模型

監控

持續監測、結構化流和三角洲湖可以結合使用磚的SQL可視化係統遙測、kpi和功能分布實時利益相關者儀表板。周期,將批處理作業保持靜態的曆史審計日誌表重新進行分析。跟上團隊可以得到重要事件電子郵件或鬆弛的通知工作失敗。保持輸入特征的有效性,常規統計特性分布的測試應該執行和MLflow記錄。比較運行很容易分辨特性和目標的形狀分布正在發生變化。如果一個分布或應用程序延遲度量違反一個閾值,一個警報從SQL分析可以觸發一個培訓工作使用人自動重新部署一個新版本。改變模型的狀態MLflow模型中的注冊表可以通過相同的人提到監控測試。這些警報是至關重要的維持生產模型的有效性。

再現性

MLflow是一個通用的框架跟蹤從實驗到部署和管理模型。代碼,數據源,庫的依賴關係可以記錄、基礎設施和模型(或自動對數),培訓時間與其他任意構件世鵬科技電子講解員pandas-profiling。這允許複製的訓練點擊一個按鈕。這個數據是保存在模型提升為集中模型注冊他們設計的,作為一個審計跟蹤,數據沿襲和作者。在注冊表中維護模型版本很容易迅速回滾模型構件破壞變化,而工程師追溯到源頭進行調試和調查。

MLflow再現性

文檔

概念後,文檔應該容易找,磚筆記本適合記錄管道,在平台和係統體係結構上運行。Beplay体育安卓版本除了筆記本之外,模型也可以被方便地記錄相關工件和闡明MLflow追蹤服務器,如上所述。跟蹤服務器和注冊中心還支持注釋模型和描述的生命周期階段通過UI和轉換API。這些都是重要的特性,使人類的判斷和反饋一個人工智能係統。

模型在注冊表中注釋

把它放在一起

說明開發毫升的經驗應用程序以數據為中心的ML平台上像磚的樣子,考慮以下場景:Beplay体育安卓版本

一組三個實踐者(機器學習數據工程師、科學家、工程師)的任務是建立一個推薦改善其在線商店銷售——plantly.shop。

首先,團隊會見業務涉眾確定KPI模型和指標要求,應用程序,和相應的數據管道,識別任何數據訪問和監管問題。工程師開始一個項目的數據版本控製,同步磚回購自己的代碼,然後使用Apache火花合作銷售和應用程序日誌數據吞入湖三角洲OLTP數據庫和Apache卡夫卡。所有的管道都是用火花結構化流和TriggerOnce建造的在未來提供交鑰匙流。數據表上定義的期望是為了確保質量,編寫單元測試和集成測試和火花在本地模式下在他們的IDE。表定義記錄有減價在共享筆記本在磚和複製到一個內部wiki。

數據科學家授予使用SQL訪問表,和他們使用磚AutoML,考拉和筆記本電腦開發一個簡單的基準模型預測如果用戶將購買植物展示給他們。二進製代碼,係統環境模型,數據沿襲和特性的重要性這個基線會自動記錄到MLflow追蹤服務器,使審計和簡單的再現性。

急於測試在生產管線,數據科學家促進模型MLflow模型注冊表。這觸發webhook,進而開始一係列的驗證測試毫升工程師寫的。經過檢查預測精度、兼容性與生產環境中,計算性能,和任何合規問題與訓練數據或預測(不能推薦入侵物種,我們能!),毫升工程師批準過渡到生產。MLflow模型用於公開服務模型通過REST API應用程序。

在接下來的版本中,模型是測試通過發送生產流量的一個子集API端點和監控係統涉及到的生活!日誌湧入三角洲湖,解析並在SQL可視化轉化率分析儀表盤,計算利用率、滾動預測分布和任何異常值。這些給業務利益相關者直接可見性如何執行他們的項目。

同時數據科學家忙於模型的版本2,推薦使用深度學習。他們轉了一個節點,GPU實例與啟用毫升運行時並與PyTorch開發解決方案自動跟蹤MLflow。這個模型執行遠比基線模型,但使用功能完全不同。他們保存這些三角洲湖,記錄每個特性,它的源表和代碼用於生成它。通過了所有的測試之後,模型是注冊的版本2工廠推薦。

大流行無疑導致植物銷售飆升和應對高於預期交通團隊使用mlflow.pyfunc.spark_udf生成預測的新模型在接近實時的火花結構化流。在接下來的版本中,每個人都推薦組合榕樹彈力,馬上賣出去。沒有驚喜!團隊慶祝他們的成功,但在一個安靜的時刻,數據科學家可以聽到含含糊糊地說“過度擬合”……

毫升的典型的數據流應用程序項目。

這個簡化的例子,一個現實生活中的工作流幫助動畫MLOps和治理與傳統的以數據為中心的ML平台上工作。Beplay体育安卓版本

結論

在這個博客中,我們試圖理解為什麼毫升計劃繼續失敗。我們發現,以模型為中心的方法來毫升無意中應用程序可以是一個巨大的風險來源。切換到以數據為中心的方法澄清這一風險的性質屬於應用程序函數本身,或符合外部係統。MLOps和治理是新興學科,尋求建立信心和derisk毫升舉措,他們完成通過一組基本功能。磚Lakehouse是證明以數據為中心的ML的平台,提供了這些功能,同時保持開放,容易接受。Beplay体育安卓版本

我們可能還是在機器學習的日子,但這並不覺得這將是更長的時間。AI將繼續改變每一個部門的經濟和我們的生活。采用以數據為中心的組織毫升MLOps和治理實踐的平台將在這種轉變中發揮作用。Beplay体育安卓版本

下一個步驟

看到現場演示這些概念,看到講台2021會話學會使用磚毫升全生命周期

在未來的文章中,我們希望更深入到磚如何實現這些功能的客戶。beplay体育app下载地址與此同時,這裏有一些參考資料來了解更多:


免費試著磚

相關的帖子

看到所有工程的博客的帖子
Baidu
map