BigQuery ML とは
BigQuery ML を使用すると、Google SQL クエリを使用して機械学習モデルを作成して実行できます。BigQuery ML は、SQL 実務担当者が既存の SQL ツールやスキルを使ってモデルを構築することを可能にし、ML をより多くの人が利用できるようにします。BigQuery ML ではデータを移動する必要がないため、開発スピードを向上させることができます。
BigQuery ML では、次のものを使用できます。
- Google Cloud Console
bq
コマンドライン ツール- BigQuery REST API
- Jupyter ノートブックやビジネス インテリジェンス プラットフォームなどの外部ツール
大規模なデータセットで機械学習を行うには、ML フレームワークに対する高度なプログラミング技術と知識が必要になります。このため、どの組織でもソリューションの開発はごく限られたメンバーで行われています。データをよく理解していても、プログラミングの経験が少なく、機械学習に詳しくないデータ アナリストは除外されています。
BigQuery ML では、既存の SQL ツールやスキルで機械学習を使用できるため、データ アナリストも機械学習を簡単に利用できます。アナリストは、BigQuery ML を使用して BigQuery に ML モデルを構築し、評価できます。スプレッドシートなどのアプリケーションに少量のデータをエクスポートする必要はありません。また、データ サイエンス チームの限られたリソースを待つ必要もありません。
サポートされているモデル
BigQuery ML のモデルは、機械学習(ML)システムがトレーニング データから学習したモデルです。BigQuery ML は次のモデルをサポートしています。
内部でトレーニングされたモデル
BigQuery ML には以下のモデルが組み込まれています。
- 線形回帰は予測に使用します。たとえば、このモデルは特定の日の商品アイテムの売上を予測します。ラベルは実数値です、つまり正負の無限大や NaN にすることはできません。
- ロジスティック回帰は、入力が低値、中央値、高値のどれかを分類する場合に使用します。 ラベルには、最大 50 個の一意の値を指定できます。
- K 平均法クラスタリング はデータ セグメンテーションを行います。たとえば、このモデルは顧客セグメントを識別します。K 平均法は教師なし学習にあたるため、モデルのトレーニングを行う際に、トレーニングや評価用にラベルの指定やデータの分割を行う必要はありません。
- 行列分解は、商品のレコメンデーション システムの作成用を行います。過去の顧客行動、トランザクション、商品評価を使用して商品のおすすめを作成し、これらのレコメンデーションを使用して、カスタマイズされたカスタマー エクスペリエンスを提供できます。
- 主成分分析(PCA)は、主成分を計算し、それを使用してデータに基づいて変更を行うプロセスです。一般に、各データポイントを最初のいくつかの主要コンポーネントのみに投影して低次元データを取得し、データの変動を可能な限り維持することによって、次元数を減らすために使用されます。
- 時系列は、時系列予測を行います。この機能を使用すると、数百万の時系列モデルを作成して予測に使用できます。このモデルは、異常値、季節性、休日を自動的に処理します。
外部でトレーニングされたモデル
次のモデルは BigQuery ML の外部にあり、Vertex AI でトレーニングされています。
- ディープ ニューラル ネットワーク(DNN)。分類モデルと回帰モデル用に TensorFlow ベースのディープ ニューラル ネットワークを構築します。
- ワイド & ディープは、レコメンデーション システム、検索、ランキングに関する問題などの、スパース入力による大規模な大規模回帰回帰と分類問題(多数の可能な特徴値を持つカテゴリ特徴)に役立ちます。
- オートエンコーダは、スパースデータ表現をサポートする TensorFlow ベースのモデルを作成するためのものです。モデルは、BigQuery ML で教師なし異常検出や非線形次元数の削減などのタスクのために使用されます。
- ブーストツリーは、XGBoost に基づく分類モデルと回帰モデルを作成するためのものです。
- ランダム フォレストは、トレーニング時に分類、回帰、その他のタスクを行うために複数の学習方法のディシジョン ツリーを構築するためのものです。
- Vertex AI AutoML Tables は、表形式のデータを使用して、構造化データに基づき ML モデルを高速かつ大規模に構築する教師あり ML サービスです。
リモートモデル
BigQuery では、Vertex AI エンドポイントまたは remote_service_type
オプションを使用してリモートモデルを作成できます。
インポートされたモデル
BigQuery ML を使用すると、BigQuery の外部でトレーニングされたカスタムモデルをインポートして、BigQuery 内で予測を行うことができます。次のモデルは、Cloud Storage から BigQuery にインポートできます。
- Open Neural Network Exchange(ONNX)は、ML モデルを表現するためのオープン標準形式です。ONNX を使用すると、PyTorch ML や scikit-learn などの一般的な ML フレームワークでトレーニングされたモデルを BigQuery ML で利用できます。
- TensorFlow は、ML と人工知能のための無料のオープンソース ソフトウェア ライブラリです。TensorFlow は幅広いタスクで使用できますが、特にディープ ニューラル ネットワークのトレーニングと推論に重点を置いています。トレーニング済みの TensorFlow モデルを BigQuery ML モデルとして BigQuery に読み込んでから、BigQuery ML で予測を行えます。
- TensorFlow Lite は、モバイル デバイス、マイクロコントローラ、他のエッジデバイスにデプロイする TensorFlow の軽量バージョンです。TensorFlow は、既存の TensorFlow モデルを最適化して、モデルサイズを縮小し、推論を高速化します。
- XGBoost は、最適化、分散勾配ブースティング ライブラリであり、非常に効率的で柔軟性があり、ポータブルです。Gradient Boosting フレームワークで ML アルゴリズムを実装しています。
BigQuery ML では、トレーニングと予測のために複数の BigQuery データセットのデータが含まれるモデルを使用できます。
モデル選択ガイド
BigQuery ML の利点
クラウドベースのデータ ウェアハウスで ML を使用する場合と比べて、BigQuery ML には次のような利点があります。
- BigQuery ML では、既存のビジネス インテリジェンス ツールやスプレッドシートを使用してモデルを構築し、実行できます。主要なデータ ウェアハウス ユーザーであるデータ アナリストが機械学習を簡単に使用できます。予測分析は、組織全体でビジネス上の意思決定を行うのに役立ちます。
Python や Java で ML ソリューションをプログラミングする必要はありません。トレーニングされたモデルには、データ アナリストが慣れている SQL 言語を使用して BigQuery でアクセスできます。
BigQuery ML では、データ ウェアハウスからデータをエクスポートする必要がないため、モデルの開発スピードと革新性を向上させることができます。ここでは、BigQuery ML がデータのあるところに ML をもたらします。データのエクスポートと再フォーマットと比較すると、BigQuery ML には次の利点があります。
- 必要なツールが減るため複雑さが軽減
- BigQuery ベースのモデル トレーニングでは、Python ベースの ML フレームワーク用に大量のデータを移動してフォーマットする必要がないため、本番環境への移行を加速できます。
詳細については、BigQuery ML を使用して機械学習開発を加速する方法の動画をご覧ください。
BigQuery ML と Vertex AI
BigQuery ML は、Google Cloud のエンドツーエンドの AI / ML プラットフォームである Vertex AI と統合されています。BigQuery ML モデルを Vertex AI Model Registry に登録すると、オンライン予測用に、これらのモデルをエンドポイントにデプロイできます。
- Vertex AI での BigQuery ML モデルの使用方法については、Vertex AI で BigQuery ML モデルを管理するをご覧ください。
- Vertex AI に精通していない場合は、BigQuery ユーザー用の Vertex AI で、BigQuery ML との統合の詳細を確認してください。
詳細については、動画 Vertex AI と BigQuery ML で AI モデルを簡素化する方法をご覧ください。
サポートされるリージョン
BigQuery ML は、BigQuery と同じリージョンでサポートされています。詳細については、BigQuery ML のロケーションをご覧ください。
料金
BigQuery ML モデルは、テーブルやビューなどと同様に BigQuery データセットに格納されます。BigQuery ML の料金については、BigQuery ML の料金をご覧ください。
BigQuery のストレージの料金については、ストレージの料金をご覧ください。BigQuery ML のクエリの料金については、クエリの料金をご覧ください。
割り当て
BigQuery ML 固有の上限に加えて、BigQuery ML 関数と CREATE MODEL
ステートメントを使用するクエリも、BigQuery クエリジョブの割り当てと上限の対象となります。
制限事項
- BigQuery ML は、Standard Edition ではご利用いただけません。
- BigQuery ML は自動スケーリング スロットをトリガーしません。BigQuery エディションで BigQuery ML を使用するには、ベースラインのスロットを設定する必要があります。
次のステップ
- BigQuery ML の使用を開始するには、BigQuery ML での機械学習モデルの作成をご覧ください。
- 機械学習と BigQuery ML の詳細を確認する。以下のリソースをご覧ください。
- Coursera Applying machine learning to your data with Google Cloud コース
- データと機械学習トレーニング プログラム
- 機械学習集中講座(英語)
- 機械学習の用語集
- Vertex AI Model Registry を使用した MLOps について確認する。Vertex AI を使用した MLOps をご覧ください。