MLOps Academy · レッスン

スケジュールでバッチスコアリングする

データセット全体を予測し、結果を保存します。

レッスン 1/413 ステップ

「スケジュールでバッチスコアリングする」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。

バッチスコアリングとは

バッチスコアリングでは、モデルをスケジュールに従ってデータセット全体に一度に適用し、すべての予測を後で使えるように保存します。📦

ユーザーは待っていない

バッチモードでは、誰もリアルタイムの回答を待ちません。ジョブはオフラインで実行されるため、数分や数時間かかっても問題ありません。

典型的な例

毎晩、すべての顧客の解約リスクをスコアリングする場面を考えてみてください。1 つのジョブがテーブルを読み込み、全行を予測して、結果を書き戻します。

読み取り、予測、書き込み

すべてのバッチジョブは同じ流れに従います。入力データを読み込み、そこに対してpredictを呼び出し、利用者が読み取れる場所に出力を保存します。

df = load_data()
preds = model.predict(df)
save(df.assign(score=preds))

複数の行を予測する

モデルは配列を得意とします。1行ずつループするより、DataFrame全体をpredictに渡すほうがはるかに高速です。処理がベクトル化されるためです。

preds = model.predict(df[features])

結果を保存する場所

バッチ予測の結果はテーブル、ファイル、またはデータウェアハウスに保存されます。アプリはモデルをリアルタイムで呼び出す代わりに、保存されたスコアを参照するだけで済みます。

スケジュールに従って実行する

cronやAirflowなどのスケジューラが、決められた時刻にジョブを起動します。データの変化速度に合わせて、この実行間隔は1時間ごと、毎晩、毎週などに設定できます。

# crontab: run every day at 2am
0 2 * * * python score_batch.py

バッチが低コストな理由

コンピューティングリソースを起動してすべてをスコアリングし、終了したら停止します。このバースト型のパターンでは、ジョブが実際に動作した時間の分だけ料金を支払います。

新しさとのトレードオフ

バッチのコストは情報の古さです。昨夜のスコアは数時間前のものかもしれないため、多少古い結果でも問題ないケースに適しています。

べき等で安全にする

再実行しても同じ結果になるようにジョブを設計します。べき等なジョブなら、失敗後に再試行しても重複が発生しません。

バッチを選ぶタイミング

予測対象があらかじめ分かっていて、数時間単位の鮮度で問題なく、即時性よりもシンプルさと低コストを重視する場合は、バッチを選びます。

確認問題

バッチスコアリングの主な欠点は何ですか。

まとめ

バッチスコアリングでは、スケジュールに従ってデータセット全体を予測し、結果を保存して高速に参照できるようにします。その代わり、低コストとシンプルさのために鮮度を犠牲にします。

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「スケジュールでバッチスコアリングする」レッスンは無料ですか?

はい。「スケジュールでバッチスコアリングする」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. スケジュールでバッチスコアリングする
  2. リアルタイムオンライン推論
  3. レイテンシー、スループット、コストのトレードオフ
  4. 予測を事前計算してキャッシュする
← MLOps Academyに戻る