GCP

BigQuery MLモデルをVertex AIにデプロイ: ロジスティック回帰と対策

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

BigQuery MLモデルデプロイの概要と目的

BigQuery MLからVertex AIへのモデル移行は、機械学習導入における重要なステップです。BigQueryではSQLベースでモデルをトレーニングできますが、本格的な運用にはVertex AIのようなMLOpsプラットフォームが必要になります。特に「モデルサイズ制限対策」の実装は、エクスポート失敗や予測性能低下を防ぐ上で不可欠です。本記事では、公式ドキュメントと併せて、ロジスティック回帰モデルから実験を開始する手順を解説します。


CREATE MODELステートメントによる基本的なモデル構築

BigQuery MLでは、SQLベースで機械学習モデルをトレーニングできます。特にCREATE MODELステートメントは、データ準備から評価までの全工程を簡潔に記述できるため、実務でも採用されています。

SQLベースのモデルトレーニングの基礎

CREATE MODELは、以下のように基本構文で使用します。

  • model_type:モデルの種類(ロジスティック回帰、XGBoostなど)を指定します。
  • input_label_cols:予測ターゲットとなるラベル列を指定します。

この構文は、トレーニングデータから特徴量とラベルを選択し、モデルを作成します。


ロジスティック回帰モデルとXGBoostモデルの比較

ロジスティック回帰とXGBoostは異なるアルゴリズム特性を持つため、用途やパラメータ設定が異なります。以下に両者の違いを表形式で示します。

項目 ロジスティック回帰モデル XGBoostモデル
特徴 線形分類器 決定木のアンサンブル(勾配ブースティング)
パラメータ例 max_depth(不要) max_depth(必須、木の深さ制限に使用)
適した用途 簡単な分類タスク 複雑な非線形データへの高精度予測

注意: max_depthはXGBoostモデル専用のパラメータであり、ロジスティック回帰モデルには適用できません。


モデルサイズ制限(10GB上限)対策と回避策

BigQuery MLで訓練したモデルをVertex AIにエクスポートする際には、10GBの上限制限があります。この制限を超える場合、エクスポートが失敗します。

制限の影響と発生条件

  • 適用対象: すべてのBigQuery MLモデル(XGBoost、ロジスティック回帰など)
  • 上限値: モデルファイル(パラメータ・構造情報など)の合計サイズが10GBを超えるとエクスポート不可

max_depthや特徴量選択による軽量化

以下のような対策を講じて、モデルサイズを削減できます。

XGBoostモデルの場合(max_depth設定例)

  • max_depth:決定木の深さを制限することで、パラメータ数が減少しモデルサイズが軽減されます。

特徴量選択

  • 特徴量選択:不要な列(たとえばtotal_charges)を除外することで、モデルサイズの削減が可能です。

Vertex AIへのモデル移行手順(gcloudコマンド含む)

BigQuery MLからVertex AIへモデルを移行する際には、以下の準備が必要です。

エクスポート前の準備作業

  1. プロジェクトID確認:Vertex AIに登録するプロジェクトIDを明確にします。
  2. アクセス権設定gcloud auth loginで認証し、Vertex AI用のサービスアカウントを作成します。

gcloudコマンドによるモデルのエクスポート(最新版)

以下のコマンドでBigQuery MLモデルをVertex AIにエクスポートできます。

  • --source-uri:BigQuery MLモデルのURIを指定します。
  • --destination-uri:エクスポート先のGCSバケットを指定します。

オンライン予測用エンドポイントの作成プロセス

Vertex AIに登録したモデルをオンラインで利用するには、エンドポイントを作成し、API経由で呼び出す必要があります。

Vertex AIモデルバージョンの登録とデプロイ手順

  1. Model Registryへの登録:以下のコマンドでモデルを登録します。
    bash
    gcloud ai models versions create v1 \
    --project=my-project \
    --region=us-central1 \
    --model-id=my-model-name \
    --framework=bqml \
    --uri="gs://my-bucket/models/customer_churn_model"

  2. エンドポイント作成: Vertex AI Consoleまたはgcloudコマンドでエンドポイントを作成します。

  3. API呼び出し例(注意: 安全性を確保してください)
    bash
    curl -X POST "https://us-central1-aiplatform.googleapis.com/v1/projects/my-project/locations/us-central1/endpoints/my-endpoint:predict" \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \ # **セキュリティリスク**: Bearerトークンは直接使用しないでください
    -H "Content-Type: application/json" \
    -d '{"instances": [{"age": 35, "monthly_charge": 50}]}'

⚠️ 警告: Authorization: Bearer $(gcloud auth print-access-token)は実運用では推奨されません。トークンを安全に管理する方法(例:環境変数やセキュアなストレージ)を使用してください。


SQLベースでのモデル評価方法と実践

BigQuery内でも、モデルの精度をSQLで評価できます。これは、デプロイ前の性能確認に役立ちます。

予測結果のデータベースへの保存

  • ML.PREDICT:トレーニング済みモデルを使用して、テストデータに対して予測を行います。

精度・AUC-ROCなどの算出方法

以下に精度とAUC-ROCを算出するSQLクエリ例を示します。

1. 正解率の計算

2. AUC-ROCの計算(ロジスティック回帰モデルの場合)


まとめと実験の開始

本記事では、BigQuery MLからVertex AIへのデプロイ手順を解説しました。具体的には以下のポイントをカバーしました:

  • CREATE MODELによるモデルトレーニング方法
  • モデルサイズの10GB制限と回避策(max_depth・特徴量選択)
  • gcloudコマンドでのVertex AIへの移行手順
  • オンライン予測用エンドポイントの作成プロセス
  • SQLベースでのモデル評価方法

公式ドキュメントと併せて、まずはロジスティック回帰モデルから実験を開始することをお勧めします。シンプルなモデルで手順を確認し、徐々に複雑なモデルへと進めてください。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-GCP