title: MLパイプライン構築入門 date: 2025-01-05 authors: [hinako, nomu] tags: [機械学習, MLOps, Vertex AI] summary: Vertex AIを使ったMLパイプラインの構築方法について解説します。複数の著者で執筆したサンプル記事です。 draft: false

はじめに

機械学習モデルを本番環境で運用するためには、再現性のあるパイプラインの構築が不可欠です。今回はVertex AI Pipelinesを使った構築方法を紹介します。

パイプラインの基本構成

MLパイプラインは、以下のステップで構成されます。

  1. データの取得・前処理
  2. 特徴量エンジニアリング
  3. モデルのトレーニング
  4. 評価
  5. デプロイ

Kubeflow Pipelinesを使った実装

from kfp import dsl
from kfp.v2 import compiler

@dsl.component
def preprocess_data(input_path: str, output_path: str):
    import pandas as pd

    df = pd.read_csv(input_path)
    # 前処理ロジック
    df.to_csv(output_path, index=False)

@dsl.component
def train_model(data_path: str, model_path: str):
    from sklearn.ensemble import RandomForestClassifier
    import joblib
    import pandas as pd

    df = pd.read_csv(data_path)
    X = df.drop('target', axis=1)
    y = df['target']

    model = RandomForestClassifier()
    model.fit(X, y)
    joblib.dump(model, model_path)

@dsl.pipeline(name='ml-training-pipeline')
def training_pipeline(input_path: str):
    preprocess_task = preprocess_data(
        input_path=input_path,
        output_path='/tmp/processed.csv'
    )
    train_model(
        data_path=preprocess_task.outputs['output_path'],
        model_path='/tmp/model.joblib'
    )

モニタリングの重要性

パイプラインを構築したら、以下の点をモニタリングしましょう。

  • パイプラインの実行時間
  • モデルのパフォーマンス指標
  • データドリフト

まとめ

MLパイプラインを構築することで、モデルの再現性と運用効率を大幅に向上させることができます。