Spanner Vertex AI 整合功能總覽

本頁面提供 Spanner Vertex AI 整合服務的總覽。Spanner Vertex AI 整合功能適用於 GoogleSQL 和 PostgreSQL 資料庫。

有了 Spanner Vertex AI 整合功能,您就能透過 GoogleSQL 和 PostgreSQL 介面,存取託管於 Vertex AI 的分類器和迴歸機器學習模型。這有助於將 ML 預測服務功能與使用 DQL/DML 查詢執行的一般 Spanner 資料存取作業無縫整合。

Spanner Vertex AI 整合功能的好處

與分別存取 Spanner 資料和 Vertex AI 預測端點的方法相比,使用 Spanner Vertex AI 整合服務生成機器學習預測結果有以下優點:

  • 成效:
    • 延遲時間更短:Spanner Vertex AI 整合功能可直接與 Vertex AI 服務通訊,因此在執行 Spanner 用戶端的運算節點與 Vertex AI 服務之間,不會有額外的往返行程。
    • 提升輸送量/平行處理能力:Spanner Vertex AI 整合功能會透過 Spanner 的分散式查詢處理基礎架構執行,支援高度可平行處理的查詢執行作業。
  • 使用者體驗:
    • 使用單一、簡單、連貫且熟悉的 SQL 介面,即可在 Spanner 規模層級上,同時簡化資料轉換和機器學習服務情境,降低機器學習的入門門檻,並提供更流暢的使用者體驗。
  • 費用:
    • Spanner Vertex AI 整合服務會使用 Spanner 運算容量,合併機器學習運算和 SQL 查詢執行的結果,因此不需要為此額外佈建運算資源 (例如在 Compute Engine 或 Google Kubernetes Engine 中)。

Spanner Vertex AI 整合功能的運作方式

Spanner Vertex AI 整合服務不會代管機器學習模型,而是依賴 Vertex AI 服務基礎架構。您不需要使用 Vertex AI 訓練模型,即可透過 Spanner Vertex AI 整合服務使用模型,但必須將模型部署至 Vertex AI 端點。

如要使用 Spanner 中儲存的資料訓練模型,可以採取下列做法:

Spanner Vertex AI 整合服務擴充了下列函式,可使用機器學習模型:

  • 使用 Spanner 資料的 SQL 呼叫模型,產生機器學習預測結果。您可以從 Vertex AI Model Garden 使用模型,也可以使用部署至 Vertex AI 端點的模型。

  • 生成文字嵌入,讓 LLM 將文字提示轉換為數字。如要進一步瞭解嵌入,請參閱「取得文字嵌入」。

使用 Spanner Vertex AI 整合函式

您可以使用 ML Predict 函式,透過 Spanner Vertex AI 整合服務中的模型,在 SQL 程式碼中生成預測或文字嵌入項目。這些函式如下:

GoogleSQL

您可以使用下列 GoogleSQL 的 ML 預測函式:

ML.PREDICT

您必須先使用 CREATE MODEL DDL 陳述式註冊模型,才能搭配 ML.PREDICT 函式使用。

您也可以使用 SAFE.ML.PREDICT 傳回 null,而非預測中的錯誤。如果執行大型查詢時,可以容許部分預測失敗,這項功能就非常實用。

PostgreSQL

您可以對 PostgreSQL 使用下列 ML 預測函式:

spanner.ML_PREDICT_ROW

如要使用函式,可以從 Vertex AI Model Garden 選取模型,或是使用已部署至 Vertex AI 的模型。

如要進一步瞭解如何在 Vertex AI 中將模型部署至端點,請參閱「將模型部署至端點」。

如要進一步瞭解如何使用這些函式產生機器學習預測結果,請參閱「使用 SQL 產生機器學習預測結果」。

如要進一步瞭解如何使用這些函式產生文字嵌入,請參閱「取得文字嵌入」。

定價

將 Spanner 與 Spanner Vertex AI 整合服務搭配使用時,Spanner 不會向您收取額外費用。不過,這項功能可能會有其他相關費用:

  • 您需要支付 Vertex AI 線上預測的標準費率。總費用取決於您使用的模型類型。部分模型類型會根據您使用的機器類型和節點數量,收取每小時固定費用。部分模型類型會收取通話費用。建議您在已設定明確預測配額的專案中,部署後者。

  • 您必須按標準費率支付 Spanner 與 Vertex AI 之間的資料轉移費用。總費用取決於執行查詢的伺服器所在區域,以及所呼叫端點所在的區域。為減少這方面的費用,請在與 Spanner 執行個體相同的區域中部署 Vertex AI 端點。使用多區域例項設定或多個 Vertex AI 端點時,請在同一洲部署端點。

服務水準協議

由於 Vertex AI 線上預測功能可用性較低,您必須正確設定 Spanner 機器學習模型,才能在使用 Spanner Vertex AI 整合服務時,維持 Spanner 的高可用性

  1. Spanner 機器學習模型必須在後端使用多個 Vertex AI 端點,才能啟用容錯移轉。
  2. Vertex AI 端點必須符合 Vertex AI 服務水準協議
  3. Vertex AI 端點必須提供足夠的容量,才能處理傳入的流量。
  4. Vertex AI 端點必須使用靠近 Spanner 資料庫的不同區域,才能避免區域性中斷。
  5. Vertex AI 端點應使用個別專案,以免發生專案預測配額問題。

冗餘 Vertex AI 端點的數量取決於其 SLA,以及 Spanner 查詢中的資料列數:

Spanner 服務水準協議 Vertex AI 服務水準協議 1 個資料列 10 列 100 列 1000 列
99.99% 99.9% 2 2 2 3
99.99% 99.5% 2 3 3 4
99.999% 99.9% 2 2 3 3
99.999% 99.5% 3 3 4 4

Vertex AI 端點不需要託管完全相同的模型。建議您將主要、複雜且運算密集型模型設為第一個端點,藉此設定 Spanner 機器學習模型。後續的容錯移轉端點可以指向運算密集度較低、擴充性較佳且可吸收流量尖峰的簡化模型。

限制

  • 模型輸入和輸出內容必須是 JSON 物件。

法規遵循

Assured Workloads 不支援 Vertex AI Prediction API。啟用「限制資源用量」限制會停用 Vertex AI API,以及 Spanner Vertex AI 整合功能。

此外,建議您建立 VPC Service Controls perimeter,確保生產資料庫無法連線至非生產專案中的 Vertex AI 端點,因為這些專案可能沒有適當的法規遵循設定。