將devop應用於資料科學和機器學習

2021-10-06 09:15:33 字數 2293 閱讀 7075

資料科學家與軟體開發人員有一些共同的實踐和需求。 資料科學家和軟體工程師都計畫,構造,編碼,迭代,測試和部署**以實現其目標。 對於軟體開發人員來說,這通常意味著定製編碼應用程式和微服務。 資料科學家與dataops進行資料整合,通過分析模型進行**,並建立儀表板以幫助終端使用者瀏覽結果。

希望實現運營工程師自動化和協作的devops工程師應擴大其範圍,並作為章程的一部分向資料科學家提供服務。

[理解機器學習的意義: 人工智慧,機器學習和深度學習:您需要知道的一切 。|機器學習的解釋 。|深度學習解釋了 。|通過infoworld大資料和分析報告時事通訊深入了解分析和大資料。]

擁有多個資料科學團隊的較大型組織可以投資於資料科學平台,例如alteryx analytics,databricks和dataiku,這些平台提供了用於開發,測試和部署分析模型的多種工具。 這些工具在資料操作和分析功能,整合選項,治理,面向業務使用者的工具以及部署選項上競爭。

並非每個組織都準備好在資料科學平台上進行投資,或者不是只有少量的資料科學團隊需要基本的操作能力。 在這些情況下,最好將devops最佳實踐應用於資料科學團隊,而不是選擇和測試平台。

為此,可以對軟體開發團隊使用的許多敏捷和開發範例進行一些重大調整,然後將它們應用於資料科學工作流。 儘管資料科學家的流程與開發人員的工作流程相似,但仍存在一些重要差異。

支援資料科學家需要在著手開發實踐和解決方案之前了解這些差異和其他差異。 這裡是一些起點。

像應用程式開發人員一樣,資料科學家對解決問題最感興趣,對配置工具的投入非常大,而對配置基礎結構的興趣通常較小。 但是與軟體開發人員不同,資料科學家可能沒有完全配置其開發工作流程的經驗和背景。 這為devop工程師提供了將資料科學家視為客戶 ,幫助定義他們的要求並掌握提供解決方案所有權的機會。

這可以從資料科學家的基礎設施開始。 他們使用python,r或其他語言編碼嗎? 他們使用哪些工具(jupyter,tableau,apache kafka和nltk)進行分析和建模? 它們將哪些資料庫和雲用作資料來源,用於儲存經過訓練的資料以及用於部署模型?

從那裡,devops工程師可以幫助選擇和標準化開發環境。 傳統上,這可以在計算裝置或虛擬桌面上完成。 無論哪種方式,將其應用程式和配置映象到開發環境都是與資料科學家合作的重要的第一步。

之後,devops工程師應檢查資料科學家將**儲存在何處,如何對**進行版本控制以及如何對**進行打包以進行部署。 一些資料科學家在使用版本控制工具(例如git)方面還比較陌生。 其他人可能正在使用**儲存庫,但尚未自動進行任何整合。 實現持續整合是開發人員工程師幫助資料科學家的第二個要點,因為它可以建立標準並省去測試新演算法的一些手動工作。

要記住的一件事是,某些saas和企業資料平台可能具有內建的版本控制,而不能自然地與為**設計的版本控制系統對接。 這些平台中的許多平台確實具有可以觸發整合和部署的api,或者可以模仿ci / cd管道的其他機制。

通過開發環境和標準化的持續整合,開發人員的工程師應該考慮自動化測試和生產環境的其他方面。 這可以通過使用諸如jenkins之類的工具引入部署管道並使用chef,puppet,ansible或其他工具將基礎結構配置為**來完成。

資料科學環境也是docker等容器以及kubernetes等容器管理和編排工具的理想選擇 。 資料科學環境通常是資料操作,資料管理和資料建模平台的組合,需要作為整合環境進行部署和管理。

了解執行資料整合,機器學習培訓和其他資料分析工作的規模和頻率至關重要。 devops工程師可能會發現多種模式,因為資料科學家會處理各種不同的工作負載,例如針對部分資料集頻繁測試新模型,計畫執行以重新訓練生產機器學習模型,以及特殊工作來訓練新的分析模型。 這些工作負載型別應幫助開發人員的工程師決定如何最好地配置和擴充套件雲基礎架構,以滿足不同的計算和儲存需求。

實施devop的最重要方面是促進具有衝突目標的

開發人員和工程師之間的協作 。 開發人員承受著頻繁發布應用程式更改的壓力,工程師對生產工作流程的效能和可靠性負責。 讓開發人員和工程師協作進行自動化並標準化配置可以實現這兩個目標。

資料科學家是這種合作的第三方。 他們經常面臨向主管和業務經理提供分析的壓力。 有時他們正在開發模型,希望開發人員可以在其應用程式中使用它們。 他們對可變容量的基礎架構有強烈的需求,並且在嘗試新平台,庫和基礎架構配置時,甚至比開發人員的要求更高。

資料科學家需要與開發人員和工程師建立這種夥伴關係,以提供成功的分析。 了解他們的目標,定義目標目標以及在devop實施上進行合作是這些小組如何協作和交付業務成果的方式。

資料科學應用 如何將資料科學應用於生產

資料科學應用 將資料科學應用於生產仍然是乙個巨大的挑戰。不僅需要頻繁地更新已部署的資料科學,而且可用的資料來源和型別也會swift變化,可用於其分析的方法也會swift變化。這種可能性的不斷增長使得依靠精心設計和商定的標準或僅在專有工具的框架內工作限制了。knime一直致力於提供乙個開放平台,通過新...

將 XSLT 轉換應用於 DataSet

dataset的writexml方法使您能夠以 xml 資料形式來編寫dataset的內容。隨後的一項常見任務是使用 xsl 轉換 xslt 將該 xml 轉換為另一種格式。不過,通過使dataset與xmldatadocument同步,可以將 xslt 樣式表應用於dataset的內容,而不必首先...

Launchable將機器學習應用於軟體測試

與jenkins ci cd平台的建立者川口浩介 kohsuke kawaguchi 共同創立的startup launchable 正在將機器學習應用於軟體測試。該公司的技術可以在源 發生更改的情況下 每次測試失敗的可能性。launchable仍處於隱身模式,可以提供 更智慧型 的測試和 更快 的...