Google Cloud Platform 上的 Vertex AI 已經是開發者的強大夥伴,提供了一系列先進的工具來構建、訓練和部署機器學習模型。現在,隨著深度與 Ray 的配合,AI 生態系統變得更加完整。Ray 是一個靈活且強大的分散式應用程式框架,能將複雜的任務巧妙地拆解成眾多小任務,並在多個機器或核心上同步執行,顯著提升計算效率。在 AI 領域,Ray 的獨特性使其成為加速機器學習模型訓練的理想工具。這種結合讓開發者能以更快的速度、更少的努力,輕鬆實現從構建到部署的整個過程,開啟了 AI 開發的新紀元。以下將帶領你更認識 AI/ML 進程,從 AI/ML 入門到建議你的學習下一步。無論你是剛開始接觸 AI/ML,還是已經在這個領域中尋求突破,這篇文章都將為你提供寶貴的見解和指引。

在擴展 AI/ML 工作負載時,開發人員和工程師面臨幾個重大挑戰。

  1. 挑戰一:較難獲取所需的人工智慧基礎設施。 AI/ML 工作負載需要大量運算資源,例如 CPU、GPU。開發人員需要有足夠的資源來運行他們的工作負載。
  2. 挑戰二:處理有效的 AI/ML 工作負載擴展所需的多種模式和程式介面。開發人員可能需要調整他們的程式碼,以便在他們可用的特定基礎設施上有效運作。這可能是一項耗時且複雜的任務。

為了因應這些挑戰,Ray 提供了一個全面且易於使用的 Python 分散式框架。使用 Ray 您可以配置可擴展的運算資源集群,並利用一系列特定於領域庫來有效地分配常見的 AI/ML 任務,例如訓練、服務和調整。 

在今年 Google Cloud 很高興地宣布,強大的分散式 Python 框架 Ray 與 Vertex AI 的無縫整合現已全面推出。這個整合方式使 AI 開發人員能夠在 Vertex AI 的多功能基礎架構上輕鬆擴展其 AI 工作負載,釋放機器學習、資料處理和分散式運算的潛力。

 

為什麼選擇使用 Vertex AI 的 Ray 呢?

  1. 加速可擴展的 AI 開發: Ray 的分散式運算框架為生成式人工智慧和預測式人工智慧提供了統一的體驗,並與 Vertex AI 的基礎設施服務無縫整合。將基於 Python 的機器學習、深度學習、強化學習、數據處理和科學計算工作負載從單一機器擴展到大型集群,可應對最苛刻的 AI 挑戰,而無需管理底層基礎設施的複雜性。
  2. 統一的開發體驗:將 Ray 的 API 與 Vertex AI SDK for Python 相集成,AI 開發人員現在可以透過最少的程式碼更改,從本地開發環境或 Vertex AI Colab Enterprise 中的互動式原型,無縫過渡到Vertex AI 託管基礎架構上的生產部署。
  3. 企業級安全性:  Vertex AI 強大的安全功能,包括 VPC 服務控制、專用服務連接和客戶管理的加密金鑰 (CMEK),可協助保護您的敏感資料和模型,同時利用 Ray 的分散式運算功能。 Vertex AI 的全面安全框架可以協助確保您的 Ray 應用程式符合嚴格的企業安全要求。

 

Vertex AI 與 Ray 入門 101

假設您想要調整一個小型語言模型 (SML),例如 Llama 或 Gemma。要使用 Ray on Vertex AI 微調 Gemma,首先您需要一個 Vertex AI 上的 Ray 集群,Ray on Vertex AI 讓您可以使用控制台或適用於 Python 的 Vertex AI SDK 在短短幾分鐘內創建該集群。您可以透過利用與 Google Cloud Logging 的整合或使用 Ray Dashboard 來監控叢集。

圖 1. 在 Vertex AI 上使用 Ray 建立集群

目前,Vertex AI 支援 Ray 2.9.3。此外,您可以定義自訂映像,從而在 Ray 叢集中包含的依賴方面,提供更大的靈活性。
運行 Ray 集群後,使用 Vertex AI 上的 Ray 來開發 AI/ML 應用程式非常簡單。流程可能會根據您的開發環境而有所不同。您可以在 Colab Enterprise 或您喜歡的任何 IDE 中使用 Vertex AI SDK for Python 建立與 Ray 集群的連接並以互動方式運行應用程式。或者,您可以選擇建立 Python 腳本,並使用 Ray Jobs API 以程式設計方式將其提交到 Vertex AI 上的 Ray 集群,如下所示。

圖 2. 在 Vertex AI 上的 Ray 上調整 Gemma

 

在 Vertex AI 上使用 Ray 來開發 AI/ML 應用程式具有多種優勢。在這種情況下,您可以利用 Vertex AI TensorBoard 來驗證您的調整作業。 Vertex AI TensorBoard 提供託管 TensorBoard 服務,讓您能夠追蹤、視覺化、比較您的調優作業,並與您的團隊有效協作。此外,您還可以使用 Cloud Storage 方便地儲存模型檢查點、指標等。讓您可以快速使用 AI/ML 下游任務的模型,包括使用射線資料產生批次預測,如下列程式碼所示。

# Libraries
import datasets
import ray

input_data = datasets.load_dataset(dataset_id)
ray_input_data = ray.data.from_huggingface(input_data)

predictions_data = ray_input_data.map_batches(
Summarizer,
concurrency=config[“num_gpus”],
num_gpus=1,
batch_size=config[‘batch_size’])

# Store resulting predictions
predictions_data.write_json(‘your-bucker-uri/preds.json’, try_create_dir=True)

 

實戰解析:連鎖超商的成功案例

對於任何大型企業,尤其是連鎖便利商店,準確的需求預測與企業的獲利能力直接相關。對一件商品進行正確的預測已經很困難了,但想像一下要為數百家商店預測數百萬件商品。擴展預測模型並不是一件容易的事。
H-E-B 是一家美國私人連鎖超市,在德克薩斯州和墨西哥擁有超過 435 家商店,它使用 Ray on Vertex AI 來實現速度、可靠性和可擴展性。
H-E-B 資料人工智慧副總裁 Carey Chou 表示:「 Ray 為 H-E-B 實現了分散式機器學習的變革效率,這對於大規模需求預測至關重要。我們對與 Google Cloud 的共同創新之旅以及透過 Ray on Vertex 整合增強對 Vertex AI 基礎設施的可訪問性感到興奮。這種整合在 HEB 的分散式機器學習領域發揮關鍵作用。」
Microfusion 宏庭科技針對連鎖餐飲業進行數據中台串接及輿情分析專案,致力於協助客戶打造卓越的數位化體驗。通過深入分析消費者評論,協助客戶洞察顧客需求,即時將Google Map的商家資訊與消費者評論回傳總公司,大幅降低與消費者的溝通距離,找出服務缺失之處,針對問題加以改進,進一步提升品牌形象。此詳細客戶案例分享不久後即將上線,敬請期待。先來看看過往宏庭科技客戶真心話分享吧!

 

NEXT STEP,為您提供寶貴建議

您是否正在嘗試擴展 AI/ML 應用程序,但遇到困難?首先在 Google Cloud 控制台中的Vertex AI 上建立 Ray 叢集– 新客戶在註冊時可獲得 300 美元的免費積分。
Ray on Vertex AI 將使您能夠建立創新且可擴展的應用程式。借助 Vertex AI 上的 Ray,在 Vertex AI 上擴展 Gen AI 和預測工作負載從未如此簡單,為您的組織釋放新的可能性!
如果您想了解有關 Vertex AI 上 Ray 的更多信息,請加入充滿活力的 Ray 社區和 Vertex AI Google Cloud 社區,分享您的經驗、提出問題並就新項目進行協作。另請查看以下資源:

 

本文翻譯並改寫自 Google Cloud 官方部落格。宏庭科技近年來也針對企業數據,利用AI技術達成企業商業效益,若有興趣者也歡迎聯絡宏庭科技,我們期待能持續將最熱門、最前線的話題帶到您面前。