BigQuery の AI と ML の概要
BigQuery ML では、GoogleSQL クエリを使用して、ML モデルの作成と実行を行えます。BigQuery ML モデルは、テーブルやビューと同様に BigQuery データセットに格納されます。BigQuery ML では、Vertex AI モデルと Cloud AI API にアクセスして、テキスト生成や機械翻訳などの AI タスクを実行することもできます。Gemini for Google Cloud は、BigQuery タスクの AI を活用した支援も提供します。BigQuery の AI を活用した機能の一覧については、Gemini in BigQuery の概要 をご覧ください。
通常、大規模なデータセットで ML や AI を実行するには、ML フレームワークに対する高度なプログラミング技術と知識が必要になります。このため、どの組織でもソリューションの開発はごく限られたメンバーで行われています。データをよく理解していても、プログラミングの経験が少なく、ML に詳しくないデータ アナリストは除外されています。しかし、BigQuery ML を使用すると、SQL 実務担当者が既存の SQL ツールとスキルを使用して、モデルの構築と評価を行い、LLM と Cloud AI API から結果を生成できます。
BigQuery ML の機能は、次の方法で操作できます。
- Google Cloud コンソール
- bq コマンドライン ツール
- BigQuery REST API
- BigQuery に統合された Colab Enterprise ノートブック
- Jupyter ノートブックやビジネス インテリジェンス プラットフォームなどの外部ツール
BigQuery ML の利点
クラウドベースのデータ ウェアハウスで ML や AI を使用する他のアプローチに比べて、BigQuery ML にはいくつかの利点があります。
- BigQuery ML では、既存のビジネス インテリジェンス ツールやスプレッドシートを使用してモデルを構築し、実行できます。主要なデータ ウェアハウス ユーザーであるデータ アナリストが ML と AI を簡単に使用できます。このため、予測分析が組織全体でビジネス上の意思決定の改善につながります。
- Python や Java を使用して ML や AI ソリューションをプログラミングする必要はありません。データ アナリストにはなじみのある SQL 言語を使用して、モデルをトレーニングし、AI リソースにアクセスします。
BigQuery ML では、データ ウェアハウスからデータを移動する必要がないため、モデル開発とイノベーションを迅速化できます。データは BigQuery ML が ML に提供します。これには次の利点があります。
- 必要なツールが減るため、複雑さが軽減されます。
- BigQuery でモデルをトレーニングするために Python ベースの ML フレームワーク用に大量のデータを移動してフォーマットする必要がないため、本番環境への移行を加速できます。
詳細については、BigQuery ML で ML 開発を加速する方法の動画をご覧ください。
生成 AI と事前トレーニング済みモデル
リモートモデルを使用して、BigQuery ML から Vertex AI モデルと Cloud AI API にアクセスし、次のタスクを実行できます。
- テキスト生成。Vertex AI のテキストまたはマルチモーダルのモデルを使用します。
- テキストまたはマルチモーダルのエンベディング。Vertex AI エンベディング モデルを使用します。
- 自然言語処理。Cloud Natural Language API を使用します。
- 機械翻訳。Cloud Translation API を使用します。
- ドキュメント処理。Document AI API を使用します。
- 音声文字変換。Speech-to-Text API を使用します。
- コンピュータ ビジョン。Cloud Vision API を使用します。
サポートされているモデル
BigQuery ML のモデルは、ML システムがトレーニング データから学習したモデルです。以降のセクションでは、BigQuery ML がサポートするモデルの種類について説明します。
内部でトレーニングされたモデル
BigQuery ML には、次のモデルが組み込まれています。
- 貢献度分析(プレビュー)は、特定の指標の値に対する 1 つ以上のディメンションの影響を特定するために使用します。たとえば、店舗の場所と販売日が店舗の収益に与える影響を把握できます。詳細については、貢献度分析の概要をご覧ください。
- 線形回帰は、類似のリモートデータでトレーニングされたモデルを使用して、新しいデータの数値指標の値を予測します。ラベルは実数です。正の無限大、負の無限大、NaN(非数値)にすることはできません。
- ロジスティック回帰。入力が
low-value
、medium-value
、high-value
のいずれであるかなど、2 つ以上の有効な値を分類する場合に使用されます。ラベルには、最大 50 個の一意の値を指定できます。 - K 平均法クラスタリング。データ セグメンテーションに使用されます。たとえば、このモデルは顧客セグメントの識別に使用されます。K 平均法は教師なし学習にあたるため、モデルのトレーニングを行う際にラベルは必要なく、トレーニングや評価用にデータの分割を行う必要もありません。
- 行列分解。商品のレコメンデーション システムの作成に使用されます。過去の顧客行動、トランザクション、商品評価を使用して商品のおすすめを作成し、これらのレコメンデーションを使用して、カスタマイズされたカスタマー エクスペリエンスを提供できます。
- 主成分分析(PCA)。主成分を計算し、それらを使用してデータに基底変換を実行するプロセスです。一般に、データのバリエーションをできるだけ多く保持しながら、各データポイントを最初のいくつかの主成分にのみ射影して低次元のデータを取得することで、次元数を削減するために使用されます。
- 時系列。時系列予測に使用されます。この機能を使用すると、数百万の時系列モデルを作成して予測に使用できます。このモデルは、異常値、季節性、休日を自動的に処理します。
内部でトレーニングされたモデルの CREATE MODEL
ステートメントでドライランを実行すると、モデルを実行した場合に処理されるデータ量を見積もることができます。
外部でトレーニングされたモデル
次のモデルは BigQuery ML の外部にあり、Vertex AI でトレーニングされます。
- ディープ ニューラル ネットワーク(DNN)。分類モデルと回帰モデル用に TensorFlow ベースのディープ ニューラル ネットワークを構築します。
- ワイド&ディープ。レコメンデーション システム、検索、ランキングに関する問題など、スパース入力による大規模な回帰と分類問題(多くの特徴値を持つカテゴリ特徴)に役立ちます。
- オートエンコーダ。スパースデータ表現をサポートする TensorFlow ベースのモデルを作成します。BigQuery ML のモデルは、教師なし異常検出や非線形次元削減などのタスクに使用できます。
- ブーストツリー。XGBoost に基づく分類モデルと回帰モデルを作成します。
- ランダム フォレスト。トレーニング時の分類、回帰、その他のタスク用に、複数の学習方法のディシジョン ツリーを構築するために使用します。
- AutoML。表形式データの分類モデルと回帰モデルを高速かつ大規模に構築してデプロイする教師あり ML サービスです。
外部でトレーニングされたモデルの CREATE MODEL
ステートメントでドライランを実行すると、モデルを実行した場合に処理されるデータ量を見積もることができます。
リモートモデル
BigQuery では、Vertex AI にデプロイされたモデルを使用するリモートモデルを作成できます。デプロイされたモデルを参照するには、リモートモデルの CREATE MODEL
ステートメントでモデルの HTTPS エンドポイントを指定します。
リモートモデルの CREATE MODEL
ステートメントはバイトを処理しません。また、BigQuery の料金も発生しません。
インポートされたモデル
BigQuery ML を使用すると、BigQuery の外部でトレーニングされたカスタムモデルをインポートして、BigQuery 内で予測を実行できます。Cloud Storage から BigQuery にインポートできるモデルは次のとおりです。
- Open Neural Network Exchange(ONNX)。ML モデルを表すオープン標準形式です。ONNX を使用すると、PyTorch や scikit-learn などの一般的な ML フレームワークでトレーニングされたモデルを BigQuery ML で使用できます。
- TensorFlow。ML と AI 用の無料のオープンソース ソフトウェア ライブラリです。TensorFlow はさまざまなタスクで使用できますが、特にディープ ニューラル ネットワークのトレーニングと推論に重点を置いています。トレーニング済みの TensorFlow モデルを BigQuery ML モデルとして BigQuery に読み込んでから、BigQuery ML で予測を実行できます。
- TensorFlow Lite。モバイル デバイス、マイクロコントローラなどのエッジデバイス向けの TensorFlow の軽量バージョンです。TensorFlow は、既存の TensorFlow モデルを最適化して、モデルサイズの縮小と推論の高速化を実現します。
- XGBoost。最適化された分散勾配ブースト ライブラリで、効率性、柔軟性、ポータビリティに優れた設計になっています。これは、勾配ブースティング フレームワークで ML アルゴリズムを実装します。
インポートされたモデルの CREATE MODEL
ステートメントはバイトを処理しません。また、BigQuery の料金も発生しません。
BigQuery ML では、トレーニングと予測のために複数の BigQuery データセットのデータが含まれるモデルを使用できます。
モデル選択ガイド
BigQuery ML と Vertex AI
BigQuery ML は、Google Cloud の AI と ML 用のエンドツーエンドのプラットフォームである Vertex AI と統合されています。BigQuery ML モデルを Model Registry に登録し、それらのモデルをエンドポイントにデプロイしてオンライン予測を行うことができます。詳しくは以下をご覧ください。
- Vertex AI での BigQuery ML モデルの使用方法については、Vertex AI で BigQuery ML モデルを管理するをご覧ください。
- Vertex AI に精通していない場合は、BigQuery ユーザー用の Vertex AI で BigQuery ML との統合の詳細をご覧ください。
- Vertex AI と BigQuery ML で AI モデルを簡素化する方法の動画をご覧ください。
BigQuery ML と Colab Enterprise
Colab Enterprise ノートブックを使用して、BigQuery で ML ワークフローを実行できるようになりました。ノートブックを使用すると、SQL、Python、その他の一般的なライブラリや言語を使用して ML タスクを実行できます。詳細については、ノートブックを作成するをご覧ください。
サポートされるリージョン
BigQuery ML は、BigQuery と同じリージョンでサポートされています。詳細については、BigQuery ML のロケーションをご覧ください。
料金
モデルのトレーニングとモデルに対するクエリの実行に使用したコンピューティング リソースに対して課金されます。作成するモデルのタイプは、モデルのトレーニング先とそのオペレーションに適用される料金に影響します。モデルに対するクエリは常に BigQuery で実行され、BigQuery コンピューティングの料金が使用されます。リモートモデルは Vertex AI モデルを呼び出すため、リモートモデルに対するクエリでも Vertex AI の料金が発生します。
トレーニング済みモデルで使用されるストレージに対して、BigQuery ストレージの料金に基づいて課金されます。
詳細については、BigQuery ML の料金をご覧ください。
割り当て
BigQuery ML 固有の上限に加えて、BigQuery ML 関数と CREATE MODEL
ステートメントを使用するクエリも、BigQuery クエリジョブの割り当てと上限の対象となります。
制限事項
- BigQuery ML は、Standard エディションでは使用できません。
- BigQuery ML は自動スケーリング スロットをトリガーしません。BigQuery エディションで BigQuery ML を使用するには、スロットのベースライン数を設定する必要があります。この制限は外部でトレーニングされたモデルにのみ適用され、内部でトレーニングされたモデルには適用されません。モデルの種類の詳細については、サポートされているモデルをご覧ください。
次のステップ
- BigQuery ML の使用を開始するには、BigQuery ML で機械学習モデルを作成するをご覧ください。
- ML と BigQuery ML の詳細を確認する。以下のリソースをご覧ください。
- Model Registry を使用した MLOps については、Vertex AI で BigQuery ML モデルを管理するをご覧ください。