The AI / news

Dvcパイプライン:再現可能な機械学習パイプラインの構築方法

Dvcパイプライン:再現可能な機械学習パイプラインの構築方法
1 min de lecture

PyImageSearchは、Gitと連携するデータおよびモデルバージョン管理ツールであるDVCを使用して、再現可能な機械学習パイプラインを構築するチュートリアルを公開しました。Vikram Singh氏によるこのガイドでは、データ前処理から評価までの複数ステップを連結し、単一のコマンドで再実行する方法を解説しています。

例題には、この分野で定番のIrisデータセットが使用されています。生データファイルiris.csvはまず、クラスの比率を維持した80/20の比率で、訓練セットとテストセットに分割されます。次にロジスティック回帰モデルの訓練が行われ、その後、精度を計算し分類レポートを生成する評価ステップが実行されます。チュートリアルでは、プロジェクト全体で使用されるライブラリはDVC 3.48.4、pandas 2.1.4、scikit-learn 1.3.2の3つのみであることが明記されています。

設定ファイルで連結される3つのステップ

各ステップはdvc.yamlファイルで記述され、実行するコマンド、ステップが依存するファイル、および生成する結果が指定されます。あるステップの出力は次のステップの入力として機能します。このように、データセットの変更はパイプライン全体を再実行しますが、訓練スクリプトのみの変更は訓練と評価のみを再実行します。

これらの依存関係はdvc.lockファイルに記録され、実行時のパイプラインの正確な状態が保存されます。著者によれば、このファイルはGitでバージョン管理する必要があり、これによりチームの他のメンバーや継続的インテグレーションサーバーが、dvc pullとdvc reproコマンドを使用して結果を再現できるようになります。何も変更されていない場合、DVCはステップが最新であることを示し、計算を実行しません。

実行の検査と比較

チュートリアルでは、いくつかの検査コマンドを紹介しています。dvc dagはステップのグラフを図式で表示し、dvc statusはどの依存関係が変更されたかを示し、dvc diffは出力を最後に保存されたバージョンと比較します。パフォーマンスの追跡には、dvc metrics showが最後の実行のメトリクスを表示し、dvc metrics diffがコミット間でメトリクスを比較します。

提示された例では、30のテストサンプルによる評価で0.9333の精度が得られています。著者は、同じロジックを使用して、パラメータやデータの変更による影響を追跡でき、進歩だけでなく退歩も特定できると述べています。

チュートリアルでは最後に、オプションの拡張機能について言及しています。ハイパーパラメータはparams.yamlファイルに移動でき、グラフは出力として追跡でき、特徴量エンジニアリングやハイパーパラメータ探索などの新しいステップを、他のステップを変更することなくグラフに追加できます。DVCはその後、関連する部分のみを再計算します。