BigQuery ML の概要

概要

BigQuery ML を使用すると、BigQuery で標準 SQL クエリを使用して、機械学習モデルを作成し実行できます。BigQuery ML では、既存の SQL ツールやスキルを活用できるので、誰でも簡単に機械学習を利用できます。BigQuery ML では、データを移動する必要がないため、開発スピードを向上させることができます。

BigQuery ML では、次のものを使用できます。

  • Google Cloud Console
  • bq コマンドライン ツール
  • BigQuery REST API
  • Jupyter ノートブックやビジネス インテリジェンス プラットフォームなどの外部ツール

大規模なデータセットで機械学習を行うには、ML フレームワークに対する高度なプログラミング技術と知識が必要になります。このため、どの組織でもソリューションの開発はごく限られたメンバーで行われています。データをよく理解していても、プログラミングの経験が少なく、機械学習に詳しくないデータ アナリストは除外されています。

BigQuery ML では、既存の SQL ツールやスキルで機械学習を使用できるため、データ アナリストも機械学習を簡単に利用できます。アナリストは、BigQuery ML を使用して BigQuery に ML モデルを構築し、評価できます。スプレッドシートや他のアプリケーションに少量のデータをエクスポートする必要はありません。データ サイエンス チームのリソースを待つ必要もありません。

BigQuery ML でサポートされるモデル

BigQuery ML のモデルは、ML システムがトレーニング データから学習したモデルです。

BigQuery ML は次のモデルをサポートしています。

  • 線形回帰(予測) - たとえば、特定の日の商品アイテムの売上。ラベルは実数値です(正負の無限大や NaN にすることはできません)。
  • 2 項ロジスティック回帰(分類) - たとえば、お客様が購入をするかどうかの判断。ラベルの値は 2 つだけです。
  • 多項ロジスティック回帰(分類)このモデルは、複数の考えうる値を予測する際に利用できます。たとえば、入力が低値、中央値、高値のどれかを判定する際に利用できます。ラベルには、最大 50 個の一意の値を指定できます。BigQuery ML では、多項ロジスティック回帰トレーニングの場合、交差エントロピー損失関数を持つ多項式分類を使用します。
  • K 平均法クラスタリング(データ セグメンテーション)。お客様のセグメントの識別などが該当します。K 平均法は教師なし学習にあたるため、モデルのトレーニングを行う際に、トレーニングや評価用にラベルの指定やデータの分割を行う必要はありません。
  • 行列分解(商品のレコメンデーション システムの作成)。過去の顧客行動、トランザクション、商品評価を使用して商品のおすすめを作成し、これらのレコメンデーションを使用して、カスタマイズされたカスタマー エクスペリエンスを提供できます。
  • 時系列(時系列予測)。この機能を使用すると、数百万の時系列モデルを作成して予測に使用できます。このモデルは、異常値、季節性、休日を自動的に処理します。
  • ブーストツリーXGBoostベースの分類モデルと回帰モデルの作成)。
  • ディープ ニューラル ネットワーク(DNN)分類モデルと回帰モデル用に TensorFlow ベースのディープ ニューラル ネットワークを構築します。
  • AutoML Tables。特徴量エンジニアリングやモデル選択を行わずに、最適なモデルを作成できます。AutoML Tables は、さまざまなモデル アーキテクチャを検索して最適なモデルを決定します。
  • TensorFlow モデルのインポート。この機能を使用すると、トレーニング済みの TensorFlow モデルから BigQuery ML モデルを作成して、BigQuery ML で予測を行えます。

BigQuery ML では、トレーニングと予測のために複数の BigQuery データセットのデータが含まれるモデルを使用できます。

BigQuery ML の利点

クラウドベースのデータ ウェアハウスで ML を使用する場合と比べて、BigQuery ML には次のような利点があります。

  • BigQuery ML では、既存のビジネス インテリジェンス ツールやスプレッドシートを使用してモデルを構築し、実行できます。主要なデータ ウェアハウス ユーザーであるデータ アナリストが機械学習を簡単に使用できます。予測分析は、組織全体でビジネス上の意思決定を行うのに役立ちます。
  • Python や Java で ML ソリューションをプログラミングする必要はありません。モデルは、データ アナリストが慣れている SQL により、BigQuery でトレーニングされます。
  • BigQuery ML では、データ ウェアハウスからデータをエクスポートする必要がないため、モデルの開発スピードと革新性を向上させることができます。データは BigQuery ML が ML に提供します。データのエクスポートと再フォーマットには、次のデメリットがあります。

    • 複数のツールが必要になるため、複雑さが増大します。
    • スピードが低下します。Python ベースの ML フレームワークでは、大量のデータを移動して再フォーマットするため、BigQuery のモデル トレーニングよりも時間がかかります。
    • ウェアハウスからデータをエクスポートするには、複数のステップが必要になります。データの調査能力も制限されます。
    • 法的規制(HIPAA ガイドラインなど)で規制される可能性があります。

サポートされるリージョン

BigQuery ML は、BigQuery と同じリージョンでサポートされています。サポートされているリージョンとマルチ リージョンの一覧については、ロケーションのページをご覧ください。

割り当て

BigQuery ML 固有の上限に加えて、BigQuery ML 関数と CREATE MODEL ステートメントを使用するクエリも、BigQuery クエリジョブの割り当てと上限の対象となります。

BigQuery ML のすべての割り当てと制限の詳細については、割り当てと制限をご覧ください。

料金

BigQuery ML モデルは、テーブルやビューなどと同様に BigQuery データセットに格納されます。BigQuery ML の料金については、BigQuery ML の料金をご覧ください。

BigQuery のストレージの料金については、ストレージの料金をご覧ください。BigQuery ML のクエリの料金については、クエリの料金をご覧ください。

リソース

機械学習と BigQuery ML の詳細については、次のリソースをご覧ください。

次のステップ