本頁面提供 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 預測函式:
您必須先使用 CREATE MODEL
DDL 陳述式註冊模型,才能搭配 ML.PREDICT
函式使用。
您也可以使用 SAFE.ML.PREDICT
傳回 null
,而非預測中的錯誤。如果執行大型查詢時,可以容許部分預測失敗,這項功能就非常實用。
PostgreSQL
您可以對 PostgreSQL 使用下列 ML 預測函式:
如要使用函式,可以從 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 的高可用性:
- Spanner 機器學習模型必須在後端使用多個 Vertex AI 端點,才能啟用容錯移轉。
- Vertex AI 端點必須符合 Vertex AI 服務水準協議。
- Vertex AI 端點必須提供足夠的容量,才能處理傳入的流量。
- Vertex AI 端點必須使用靠近 Spanner 資料庫的不同區域,才能避免區域性中斷。
- 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 端點,因為這些專案可能沒有適當的法規遵循設定。