「BigQuery MLがどういうサービスなのか知りたい!」
「BigQuery MLを活用することでどういうメリットがあるのだろうか?」
近年経営におけるデータ活用の重要性がよく議論されていますが、データはあるのに高度なプログラマーやMLの深い専門知識を持った人材がいないために、機械学習によるデータ活用を半ば諦めかけている企業の方もいらっしゃるのではないでしょうか。
もし今既にデータ基盤としてBigQueryを使われている、またはBigQueryの使用を検討している場合、BIgQuery MLによるデータの機械学習の実行は試してみる価値があります。本記事ではBigQuery MLについて詳しく解説していきます。
BigQuery MLとは
BigQuery MLはGoogle Cloudのデータ分析基盤であるBigQuery内で機械学習モデルを構築し、データに対して直接クエリを実行できるユーザーフレンドリーなプラットフォームです。
従来のデータ分析ツールとは異なり、BigQuery MLを使用することで、データサイエンティストやアナリストはSQLクエリを介して簡単に機械学習モデルをトレーニングできます。これにより、データ分析と機械学習を効果的に統合し、データから価値を抽出するプロセスが大幅に効率化されます。
他の機械学習のサービスと大きく異なる点は、SQLで学習済みのモデルから選択して、機械学習が可能という点であり、必ずしも高度なプログラマー人材やML人材を必要としない点です。
またBigQuery自体コストパフォーマンスに優れたサービスである上に、そのBigQuery上で完結するため、他の機械学習サービスと比べて低コストで機械学習を実行できるという点もBigQuery MLの魅力です。
BigQuery MLによる機械学習の実行は以下のステップにより成り立ちます。
- データの準備
- モデルの作成
- モデルのトレーニング
- 評価と予測
- デプロイと運用
これらのステップがコンソール画面上での操作と、SQLによって可能です。
(bqコマンドラインツールとJupyterノートブックなどの外部ツールもサポートしています。)
BigQuery MLでサポートされているモデル
それではBigQuery MLでサポートされている学習済みのモデルを紹介します。
・線形回帰
特定の日の商品の売り上げなど、予測に使用します。
・ロジスティック回帰
入力が低値、中央値、高値のどれかを分類する場合に使用します。
・K平均法クラスタリング
顧客セグメントの識別など、データセグメンテーションを行います。教師なし学習にあたるため、モデルのトレーニングを行う際に、ラベルの指定やデータの分割が必要ありません。
・行列分解
商品のレコメンデーションシステムの作成を行います。過去の顧客行動、トランザクション、商品評価を使用して、商品のおすすめを作成し、これらのレコメンデーションを使用して、パーソナライズされたカスタマーエクスペリエンスの提供が可能です。
・主成分分析(PCA)
主成分を計算し、それを使用してデータに基づいて変更を行うプロセスです。一般に、各データポイントを最初のいくつかの主要コンポーネントのみに投影して低次元データを取得し、データの変動を可能な限り維持することによって、次元数を減らすために使用されます。
・時系列
時系列予測を行います。この機能を使用すると、数百万の時系列モデルを作成して予測に使用できます。このモデルは、異常値、季節性、休日を自動的に処理します。
BigQuery MLでサポートされているモデル② Vertex AIでトレーニングされているモデル
次に紹介するモデルはGoogle CloudのAIプラットフォームであるVertex AIでトレーニングされている、BIgQuery MLでも使用可能なモデルです。
・ディープ ニューラル ネットワーク(DNN)
分類モデルと回帰モデル用にTensorFlowベースのディープニューラルネットワークを構築します。
・ワイド & ディープ
レコメンデーション システム、検索、ランキングに関する問題などの、スパース入力による大規模な大規模回帰回帰と分類問題(多数の可能な特徴値を持つカテゴリ特徴)に役立ちます。
・オートエンコーダ
スパースデータ表現をサポートする TensorFlow ベースのモデルを作成するためのものです。モデルは、BigQuery MLで教師なし異常検出や非線形次元数の削減などのタスクのために使用されます。
・ブーストツリー
XGBoostに基づく分類モデルと回帰モデルを作成するためのものです。
・ランダムフォレスト
トレーニング時に分類、回帰、その他のタスクを行うために複数の学習方法のディシジョンツリーを構築するためのものです。
・Vertex AI AutoML Tables
表形式のデータを使用して、構造化データに基づきMLモデルを高速かつ大規模に構築する教師ありMLサービスです。
BigQuery MLでサポートされているモデル③ 外部からのインポート
更にBigQuery MLでは外部でトレーニングされたカスタムモデルを、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 MLにより、回帰と分類、クラスタリング、レコメンド、時系列予測、特徴量エンジニアリングといったデータ分析が可能です。次に、ビジネス上の施策に落とし込めるレベルでの分析の活用事例をご紹介します。
・カスタマーセグメンテーション
顧客データを分析し、セグメンテーションモデルをトレーニングして、異なる顧客セグメントに合わせたマーケティング戦略を開発します。
・チャーン予測
顧客の行動データを使用して、チャーン(離脱)予測モデルを構築し、顧客の離脱を事前に識別し、リテンション対策を講じます。
・商品推薦
顧客の過去の購買履歴をもとに、個別の商品推薦モデルをトレーニングして、クロスセルとアップセルの機会を活用します。
・不正検出
トランザクションデータを分析し、不正行為を検出するモデルをトレーニングして、セキュリティを向上させます。
まとめ
本記事ではBigQuery MLについてその特徴と、サポートしているモデル、活用事例について紹介しました。
SQLベースの機械学習、Google Cloudの他のサービスとの統合、コストパフォーマンスが特徴的で、他のMLサービスと比較してもとても使い始めやすいサービスと言えます。私自身もMLについては知識のない状態で、BigQuery MLを使って飲食店の売り上げ予測データを出してみた時に、データとSQLの知識があればMLを活用することができるのかと感動しました!
本記事を読んで、BigQuery MLやクラウド上のMLサービスについて興味を持っていただけたのであれば幸いです。
株式会社KUIXではGCPを用いたシステムの開発やコンサルティングを行っています。本格的なGCP環境の構築・導入をご検討される際は、ぜひ一度ご連絡ください!お問い合わせはこちらから

