簡介:在 BigQuery 使用 AI 與機器學習

BigQuery ML 可讓您使用 GoogleSQL 查詢或 Google Cloud 控制台,建立及執行機器學習 (ML) 模型。BigQuery ML 模型會儲存在 BigQuery 資料集中,與資料表和檢視區塊類似。您也可以透過 BigQuery ML 存取 Vertex AI 模型Cloud AI API,執行人工智慧 (AI) 任務,例如生成文字或進行機器翻譯。Gemini 版 Google Cloud 也提供 AI 輔助功能,協助您完成 BigQuery 工作。如要查看 BigQuery 的 AI 輔助功能清單,請參閱 Gemini in BigQuery 總覽

一般來說,要對大型資料集執行機器學習或 AI 技術,需要進行大量程式設計,並具備機器學習架構的知識。因此每間公司只有少數人員能開發解決方案。這些人還不包含資料分析師,因為分析師雖然瞭解資料,但機器學習和程式設計專業知識有限。不過有了 BigQuery ML,SQL 從業人員就能運用現有的 SQL 工具和技能來建構及評估模型,並以 LLM 和 Cloud AI API 生成結果。

您可以透過以下管道使用 BigQuery ML 功能:

  • Google Cloud 控制台使用者介面,可透過 UI 使用模型。(預覽)
  • Google Cloud 控制台查詢編輯器,可使用 SQL 查詢處理模型。
  • bq 指令列工具
  • BigQuery REST API
  • BigQuery 中的整合式 Colab Enterprise 筆記本
  • Jupyter 筆記本或企業智慧平台等外部工具

使用 BigQuery ML 的好處

相較於其他將機器學習或 AI 與雲端式資料倉儲搭配使用的做法,BigQuery ML 能為您帶來多項好處:

  • 透過 BigQuery ML,資料分析人員可以使用現有的商業智慧工具與試算表來建立及執行模型,讓所有人員都能使用機器學習和 AI 技術。預測分析可以提供資訊,做為整個機構的業務決策依據。
  • 您不必使用 Python 或 Java 設計機器學習/AI 解決方案,您可以使用資料分析師熟悉的 SQL 語言訓練模型及存取 AI 資源。
  • BigQuery ML 可免除從資料倉儲移動資料的需求,因此能加快模型開發和創新速度。BigQuery ML 會將機器學習技術導入資料中,這有以下優點:

    • 需要的工具較少,因此複雜度較低。
    • 您不需要針對 Python 機器學習架構,遷移大量資料並設定資料格式,就能在 BigQuery 訓練資料,因此可加快投入生產的速度。

    詳情請觀看「如何運用 BigQuery ML 加快機器學習開發速度」影片。

您可以使用 CREATE MODEL 陳述式中的預設設定和推論函式,建立及使用 BigQuery ML 模型,即使沒有太多機器學習知識也能輕鬆上手。不過,如果具備機器學習開發生命週期的基本知識,例如特徵工程和模型訓練,有助於最佳化資料和模型,進而獲得更出色的結果。建議您使用下列資源,熟悉機器學習技術和程序:

生成式 AI 和預先訓練模型

您可以使用 BigQuery ML 功能執行各種生成式 AI 工作。

支援的模型

BigQuery ML 中的模型會呈現 ML 系統自訓練資料學習到的內容。以下各節說明 BigQuery ML 支援的模型類型。如要進一步瞭解如何為不同類型的模型建立預留指派作業,請參閱「將運算單元指派給 BigQuery ML 工作負載」。

內部訓練的模型

BigQuery ML 內建下列模型:

  • 貢獻度分析可判斷一或多個維度對特定指標值的影響。例如,查看商店位置和銷售日期對商店收益的影響。詳情請參閱貢獻分析總覽
  • 線性迴歸:使用以類似遠端資料訓練的模型,預測新資料的數值指標值。標籤為實值,也就是說,標籤不可為正無限大、負無限大或 NaN (非數字)。
  • 邏輯迴歸適用於分類兩個以上的可能值,例如輸入是 low-valuemedium-valuehigh-value。標籤最多可有 50 個不重複的值。
  • K-means 叢集適用於資料區隔。舉例來說,這個模型會找出顧客區隔。K-means 是一種非監督式的學習技術,讓模型訓練無須藉助標籤或拆分資料即可執行訓練或評估。
  • 矩陣分解適用於建立產品建議系統。您可以根據過往的顧客行為、交易和產品評分建立產品建議,然後將這些建議用於個人化顧客體驗。
  • 主成分分析 (PCA) 是指計算主成分,並使用這些主成分對資料執行基底變更的程序。通常用於維度縮減,方法是將每個資料點投影到前幾個主成分上,以取得低維度資料,同時盡可能保留資料的變異。
  • 時間序列用於執行時間序列預測。您可以使用這項功能建立數百萬個時間序列模型,並用於預測。ARIMA_PLUSARIMA_PLUS_XREG 時間序列模型提供多種調整選項,並自動處理異常狀況、季節性和節慶。

    如果您不想管理自己的時間序列預測模型,可以搭配 BigQuery ML 的內建 TimesFM 時間序列模型 (搶先版) 使用 AI.FORECAST 函式執行預測。

您可以對內部訓練的模型執行 dry run,預估執行 CREATE MODEL 陳述式時會處理多少資料。

外部訓練的模型

下列模型屬於 BigQuery ML 外部模型,且在 Vertex AI 中訓練:

  • 深層類神經網路 (DNN):用於建立以 TensorFlow 為基礎的深層類神經網路,適用於分類和迴歸模型。
  • Wide & Deep 適用於一般的大規模迴歸和分類問題, 且輸入內容稀疏 (類別特徵 具有大量可能的特徵值),例如推薦系統、搜尋和排名問題。
  • 自動編碼器:用於建立以 TensorFlow 為基礎的模型,並支援稀疏資料表示法。您可以在 BigQuery ML 中使用這些模型,執行非監督式異常偵測和非線性降維等工作。
  • 增強型樹狀模型可用於建立以 XGBoost 為基礎的分類和迴歸模型。
  • 隨機森林 用於在訓練時建構多個學習方法決策樹,以進行分類、迴歸和其他工作。
  • AutoML 是一種監督式機器學習服務,可快速且大規模地建構及部署表格資料的分類和迴歸模型。

您無法對外部訓練模型執行 dry run CREATE MODEL 陳述式,估算執行這些陳述式時要處理的資料量。

遠端模型

您可以在 BigQuery 建立遠端模型,使用部署至 Vertex AI 的模型。您必須在遠端模型的 CREATE MODEL 陳述式中,指定部署的模型 HTTPS 端點,藉此參照該模型。

遠端模型的 CREATE MODEL 陳述式不會處理任何資料,因此不會產生 BigQuery 費用。

匯入的模型

BigQuery ML 可讓您匯入在 BigQuery 以外訓練的自訂模型,然後在 BigQuery 內執行預測作業。您可以將 Cloud Storage 中的以下模型匯入 BigQuery:

  • 開放式神經網路交換格式 (ONNX) 是表示機器學習模型的開放標準格式。使用 ONNX,您可以在 BigQuery ML 中使用以 PyTorch 和 scikit-learn 等熱門 ML 架構訓練的模型。
  • TensorFlow 是免費的開放原始碼軟體程式庫,適用於機器學習和人工智慧。TensorFlow 可用於各種工作,但特別著重於訓練和推論深度類神經網路。您可以將先前訓練的 TensorFlow 模型載入 BigQuery,做為 BigQuery ML 模型,然後在 BigQuery ML 中執行預測。
  • TensorFlow Lite 是 TensorFlow 的輕量版本,適用於行動裝置、微控制器和其他邊緣裝置。TensorFlow 會最佳化現有的 TensorFlow 模型,以縮減模型大小並加快推論速度。
  • XGBoost 是一種經過最佳化的分散式梯度提升程式庫,具備高效率、彈性和可攜性。並在梯度提升架構下實作機器學習演算法。

匯入的模型 CREATE MODEL 陳述式不會處理任何資料,因此不會產生 BigQuery 費用。

在 BigQuery ML 中,您可以將模型與多個 BigQuery 資料集的資料搭配使用,以便進行訓練和預測。

型號選取指南

這份決策樹會將機器學習模型對應至您想完成的動作。 下載模型選擇決策樹狀圖。

BigQuery ML 和 Vertex AI

BigQuery ML 與 Vertex AI 整合,後者是 Google Cloud中 AI 和 ML 的端對端平台。您可以將 BigQuery ML 模型註冊至 Model Registry,以便將這些模型部署至端點以進行線上預測。詳情請參閱下列文章:

BigQuery ML 和 Colab Enterprise

您現在可以使用 Colab Enterprise 筆記本,在 BigQuery 中執行機器學習工作流程。您可以使用筆記本,透過 SQL、Python 和其他熱門程式庫與語言完成機器學習工作。詳情請參閱「建立記事本」。

支援的地區

BigQuery ML 支援的區域與 BigQuery 相同。詳情請參閱 BigQuery ML 位置

定價

您需要支付訓練模型和對模型執行查詢所用的運算資源費用。您建立的模型類型會影響模型的訓練位置,以及適用於該作業的價格。對模型執行的查詢一律會在 BigQuery 中執行,並採用 BigQuery 運算價格。由於遠端模型會呼叫 Vertex AI 模型,因此對遠端模型發出的查詢也會產生 Vertex AI 費用。

您必須依據 BigQuery 儲存空間定價,支付訓練模型所用儲存空間的費用。

詳情請參閱 BigQuery ML 定價

配額

除了 BigQuery ML 特有的限制之外,使用 BigQuery ML 函式和 CREATE MODEL 陳述式的查詢也受限於 BigQuery 查詢工作的配額和限制。

限制

後續步驟