ステージ:取り込み、準備、学習、評価
学習を明確でキャッシュ可能なステップに分割します。
「ステージ:取り込み、準備、学習、評価」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。
1つの大きなスクリプトからステージへ
すべてを行う1つのtrain.pyは、再利用しにくくデバッグにも時間がかかります。これをstagesに分割すると、各ステップが明確になり、個別に実行できるようになります。🧩
代表的な4つのステージ
多くの学習パイプラインは、ingest, prep, train, evalという同じ構成に従います。各ステージは入力を受け取り、次のステージが読み取る出力を生成します。
ステージ1:Ingest
ingestステージでは、データベースやバケットなどのデータソースから生データを取得し、決められたローカルパスに書き込みます。まだクリーニングは行いません。
import pandas as pd
df = pd.read_csv("s3://bucket/raw.csv")
df.to_parquet("data/raw.parquet")ステージ2:Prep
prepステージでは、生データをクリーニングして変換し、モデルが扱える特徴量にします。欠損値やエンコーディングを処理し、学習用とテスト用のデータに分割します。
ステージ3:Train
trainステージでは、準備済みの特徴量を読み込んでモデルを学習し、次のステージが評価できるよう、学習済みの成果物をディスクに保存します。
model.fit(X_train, y_train)
joblib.dump(model, "models/model.pkl")ステージ4:Eval
evalステージでは、保存したモデルを読み込み、保留していたテストセットで評価し、精度などの指標を追跡可能なファイルに書き込みます。
score = model.score(X_test, y_test)
json.dump({"accuracy": score}, open("metrics.json", "w"))ステージ間では変数ではなくファイルを渡す
ステージ同士は、メモリ上の変数ではなくディスク上のファイルを介して連携します。この分離により、他のステージを実行し直さずに、1つのステージだけを再実行できます。
ステージをキャッシュできる理由
各ステージには固定された入力と出力があるため、ツールはその結果をcacheできます。入力が変わっていなければ、そのステージ全体がスキップされます。
各ステージを独立したスクリプトにする
各ステージには、役割を明確にした小さなscriptを1つ割り当てます。ingest.py、prep.py、train.py、eval.pyは入力を読み取り、出力を書き込むだけです。
ステージでDAGを構成する
ステージはDAG(有向グラフ)としてつながります。各ステップは、それより前のステップに依存します。Evalはtrainに、trainはprepに、prepはingestに依存します。
明確なステージでデバッグが簡単になる
実行が失敗したとき、ステージが分かれていれば、どこで問題が起きたか正確にわかります。パイプライン全体ではなく、失敗したステージだけを再実行できます。
理解度チェック
ステージ間の連携方法を確認しましょう。
復習:Ingest、Prep、Train、Eval
学習処理を、ファイルを介してデータを渡す、キャッシュ可能な4つのstagesに分割する方法を学びました。明確なステージに分けると、再実行が速くなり、デバッグも大幅に簡単になります。🚀
よくある質問
「ステージ:取り込み、準備、学習、評価」レッスンは無料ですか?
はい。「ステージ:取り込み、準備、学習、評価」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。
「ステージ:取り込み、準備、学習、評価」で何を学びますか?
学習を明確でキャッシュ可能なステップに分割します。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MLOps Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「ステージ:取り込み、準備、学習、評価」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMLOps Academyレッスンでコードを書いて実行できますか?
はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ステージ:取り込み、準備、学習、評価
- DVCのステージでパイプラインを定義する
- 変更のないステップをキャッシュしてスキップする
- params.yamlで実行をパラメーター化する