只需三步即可將您的自定義 ML 模型遷移至 Google Cloud

來源: Google Cloud
作者:Google Cloud
時間:2021-03-01
17446
許多企業(yè)正逐漸意識到擁有機器學習模型只是將其 ML 驅動的應用程序朝著投入生產邁出的一小步,更為重要的是要構建端到端流水線。

許多企業(yè)正逐漸意識到擁有機器學習模型只是將其 ML 驅動的應用程序朝著投入生產邁出的一小步,更為重要的是要構建端到端流水線。

Google Cloud 提供一個大規(guī)模訓練和部署模型的工具 —— Cloud AI Platform,這一平臺整合了多種編排工具 (orchestration tool),例如,TensorFlow Extended 和 KubeFlow Pipelines(KFP)。不過,經常會有這樣的情況:企業(yè)已經在其自己的生態(tài)系統(tǒng)中使用 scikit-learn 和 xgboost 之類的框架構建了模型,將這些模型移植到云可能既復雜又耗時。

由于所涉及的所有樣板的量,即使對于有著豐富 Google Cloud Platform (GCP) 經驗的 ML 從業(yè)者,要將scikit-learn 模型(或者同等模型)遷移至 AI Platform 可能也要耗費較長時間。ML Pipeline Generator 是一個允許用戶在 GCP 中輕松部署現(xiàn)有 ML 模型的工具,無服務器模型訓練和部署以及更快地將其解決方案推向市場能夠讓用戶受益匪淺。

本文概要介紹了這一解決方案的工作原理以及預期的用戶遷移之旅,同時,提供了在 AI Platform 中編排TensorFlow 訓練作業(yè)的相關指南。

概述

ML Pipeline Generator 允許擁有預構建 scikit-learn、xgboost 和TensorFlow 模型的用戶在 GCP 中利用其自有代碼和數(shù)據快速生成并運行端到端 ML 流水線。

要做到這一點,用戶必須填寫描述其代碼元數(shù)據的配置文件。庫會接受這個配置文件并生成所有必要的樣板,以供用戶使用模板引擎以協(xié)調的方式在云中訓練和部署其模型。此外,訓練TensorFlow 模型的用戶還可以使用Explainable AI 功能來更好地了解其模型。

在下圖中,我們將重點介紹生成的流水線的架構。用戶將使用自己的數(shù)據、定義執(zhí)行數(shù)據預處理的方式,并且添加其 ML 模型文件。一旦用戶填寫了配置文件,他們可以使用簡單的python API 生成自包含樣板代碼,代碼負責執(zhí)行指定的任何預處理、將其數(shù)據上傳至 Google Cloud Storage (GCS) 以及利用超參數(shù)調試啟動訓練作業(yè)。一旦完成上述操作,模型即可被部署以供使用,并且根據模型類型,執(zhí)行模型可解釋性分析。整個流程是通過KubeFlow Pipelines 進行編排。

b4a880820d7880585a51203c35eb21d7.png

分步指南

我們將向您詳解如何利用給定的模型配置參數(shù)和模型代碼構建端到端Kubeflow Pipeline 以訓練和使用模型。我們將基于Census Income Data Set(人口調查收入數(shù)據集)構建一個流水線來訓練一個淺層的TensorFlow 模型。利用 Cloud AI Platform 訓練該模型并可在 Kubeflow UI 中對其進行監(jiān)控。

開始之前

為了確保您能完全使用解決方案,需要對 GCP 中的一些項進行設置:

1. 您需要一個 Google Cloud 項目以運行此演示。我們建議創(chuàng)建一個新項目并確保為該項目啟用下列 API。

1.   Compute Engine(計算引擎) 

2.   AI Platform Training and Prediction(AI 平臺訓練與預測)

3.   Cloud Storage(云存儲)

2. 安裝Google Cloud SDK,以便您可以通過命令行訪問所需要的 GCP 服務。SDK安裝后,利用您以上所創(chuàng)建的項目的項目 ID 來設置應用程序默認憑據。

gcloud auth login

gcloud auth application-default login

gcloud config setproject [PROJECT_ID]

3. 如果您尋求使用此解決方案在KubeFlow Pipelines 部署 ML 模型,在您的項目中創(chuàng)建基于AI Platform Pipelines 的新的 KFP 實例。記下實例的主機名(表單中的 Dashboard URL: [vm-hash]-dot-[zone].Pipelines.googleusercontent.com)。

4. 最后,創(chuàng)建存儲桶,這樣,就能在 GCS 中存儲數(shù)據和模型。記下存儲桶 ID。

第一步:設置環(huán)境

從github repo克隆演示代碼 ,并創(chuàng)建一個 Python 虛擬環(huán)境。

git clonehttps://github.com/GoogleCloudPlatform/ml-pipeline-generator-python.git

cd ml-pipeline-generator-python

python3 -m venv venv

source ./venv/bin/activate

安裝ml-pipeline-gen 包。

pip install ml-pipeline-gen

下列文件使我們能夠確保生成模型并正常運行:

1. examples/ 目錄包含 sklearn、Tensorflow 和 XGBoost 模型的示例代碼。我們將使用examples/kfp/model/tf_model.py 在 KubeFlow Pipelines 中部署 TensorFlow 模型。不過,如果您使用自己的模型,可利用您的模型代碼修改tf_model.py 文件。

2. examples/kfp/model/census_preprocess.py 會下載 Census Income 數(shù)據集并為模型預處理該數(shù)據集。對于您的自定義模型,可根據需要修改預處理腳本。

3. 工具從 config.yaml 文件讀取所需的元數(shù)據來為流水線構建工件。打開 examples/kfp/config.yaml.example 模板文件查看示例元數(shù)據參數(shù),您可以在在此找到詳細的模式。

4. 如果您要使用 Cloud AI Platform 的超參數(shù)調試功能,可在hptune_config.yaml 文件中包含參數(shù),并將其路徑添加到 config.yaml。您可以在此處查看 hptune_config.yaml 的模式。

第二步:設置所需要的參數(shù)

1. 復制 kfp/ 示例目錄

cp -r examples/kfp kfp-demo

cd kfp-demo

2. 使用 config.yaml.example 模板創(chuàng)建 config.yaml 文件并使用項目 ID、存儲桶 ID、您之前記下的 KFP 主機名以及模型名更新下列參數(shù)。

project_id: PROJECT_ID

bucket_id: BUCKET_ID

data:

  train: “gs://BUCKET_ID/MODEL_NAME/data/adult.data.csv”

  evaluation:"gs://BUCKET_ID/MODEL_NAME/data/adult.test.csv"

   prediction:

     input_data_paths:

        - "gs://BUCKET_ID/MODEL_NAME/inputs/*"

orchestration :

         host: “KUBEFLOW_PIPELINE_HOST_URL”

第三步:構建流水線并訓練模型

有了配置參數(shù)后,我們就準備好了生成所有模塊,它們將構建流水線以訓練TensorFlow 模型。運行 demo.py 文件。

pythondemo.py

首次運行 KubeFlow Pipelines 演示時,工具會提供適用于GKE 集群的 Workload Identity,以修改 Dashboard URL。要部署您的模型,只需在 config.yaml 中更新 URL 并再次運行演示。

demo.py 腳本從公共 Cloud Storage 存儲桶下載人口調查數(shù)據集、按照examples/kfp/model/census_preprocess.py 準備數(shù)據集以進行訓練和評估、將數(shù)據集上傳到 config.yaml中指定的Cloud Storage URL、構建訓練的流水線圖并將該圖上傳到 KubeFlow Pipelines 應用程序實例作為試驗。

一旦提交該圖以供運行,可在 KubeFlowPipelines UI 中對運行進度進行監(jiān)控。打開 Cloud AI Platform Pipelines 頁并且打開您的 KubeFlow Pipelines 集群的 Dashboard。

注意:

如果您要使用 Scikit-learn 或者XGBoost 示例,可遵循如上所述的相同步驟,但要利用上述類似的變更來修改 examples/sklearn/config.yaml,無需額外步驟來創(chuàng)建 KubeFlowPipelines 實例。要了解詳細信息,請參考 public repo 中的指南或者遵循我們使用 Jupyter notebook 撰寫的詳盡教程。

結論

在本文中,我們?yōu)槟榻B了如何通過三個輕松步驟將您的自定義ML 模型遷移至 Google Cloud 以進行訓練和部署。大部分繁瑣工作都由解決方案完成,用戶只需提供自己的數(shù)據和模型定義,并且說明希望如何處理訓練和服務。

我們詳解了一個示例,公共代碼庫包含針對其他支持框架的示例。我們邀請您使用該工具并且開始能夠為您的機器學習工作負載帶來云的諸多優(yōu)勢之一。

立即登錄,閱讀全文
版權說明:
本文內容來自于Google Cloud,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關文章
Google Cloud細說AI變現(xiàn)途徑:用戶一年暴增10倍
Google Cloud細說AI變現(xiàn)途徑:用戶一年暴增10倍
Google云計算平臺(Google Cloud)首席執(zhí)行官Thomas Kurian在高盛舉行的會議上,說明了該公司究竟是通過哪些途徑將AI變現(xiàn)。
Google Cloud
谷歌云
云計算
2024-09-132024-09-13
云計算平臺GCP的服務存在權限提升漏洞,未經授權的攻擊者可借此訪問敏感數(shù)據
云計算平臺GCP的服務存在權限提升漏洞,未經授權的攻擊者可借此訪問敏感數(shù)據
7月24日安全企業(yè)Tenable披露影響Google Cloud Platform(GCP)的權限提升漏洞ConfusedFunction,這項弱點發(fā)生在名為Cloud Functions的無服務器運算服務,以及稱作Cloud Build的CICD渠道服務。
Google Cloud
谷歌云
云計算
2024-07-272024-07-27
Gemini為核心,Google云計算AI戰(zhàn)略聚焦云服務和生產力GAI
Gemini為核心,Google云計算AI戰(zhàn)略聚焦云服務和生產力GAI
過去一年,企業(yè)GAI應用的風潮席卷全球,成了三大公有云積極搶攻的新戰(zhàn)場,微軟靠著OpenAI助攻,去年在這場云計算GAI大戰(zhàn)中取得先機,而Google后來居上,靠著自家PaLM模型和GAI生產力工具來迎戰(zhàn),AWS則是到去年底年會上,對于企業(yè)GAI應用布局才有比較完整的布局與披露。
Google Cloud
谷歌云
云計算
2024-05-042024-05-04
谷歌免去將數(shù)據轉移出云平臺的費用
谷歌免去將數(shù)據轉移出云平臺的費用
谷歌云宣布,將停止向遷移到競爭對手平臺的客戶收取費用,這給該行業(yè)的數(shù)據可攜帶性做法帶來了顯著的變化。該聲明適用于Cloud BigTable、BigQuery、云存儲、Cloud SQL、Filestore、Datastore、Persistent Disk和Spanner客戶。
Google Cloud
谷歌云
2024-01-162024-01-16
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家