title: MLパイプライン構築入門 date: 2025-01-05 authors: [hinako, nomu] tags: [機械学習, MLOps, Vertex AI] summary: Vertex AIを使ったMLパイプラインの構築方法について解説します。複数の著者で執筆したサンプル記事です。 draft: false
はじめに
機械学習モデルを本番環境で運用するためには、再現性のあるパイプラインの構築が不可欠です。今回はVertex AI Pipelinesを使った構築方法を紹介します。
パイプラインの基本構成
MLパイプラインは、以下のステップで構成されます。
- データの取得・前処理
- 特徴量エンジニアリング
- モデルのトレーニング
- 評価
- デプロイ
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パイプラインを構築することで、モデルの再現性と運用効率を大幅に向上させることができます。