ゼファーネットのロゴ

オープンソースツールを使用したMLOpsの概要

日付:

この記事は、の一部として公開されました データサイエンスブログソン.

データサイエンスプロジェクトの中核はデータであり、それを使用して予測モデルを構築します。誰もが興奮し、実際のビジネスシナリオを模倣したほぼ完璧な結果をもたらすMLモデルの構築に集中しています。 この結果を達成しようとすると、データサイエンスプロジェクトの他のさまざまな側面、特に運用面を無視する傾向があります。 MLプロジェクトは本質的に反復的であるため、すべての要因、構成、および結果を追跡すること自体が非常に困難な作業になる可能性があります。

データサイエンスチームの成長と分散に伴い、チーム間の効果的なコラボレーションが重要になります。 このブログで探求するオープンソースツール、つまり DVCスタジオ および MLフロー すべての反復からの変更/結果を自動的に追跡することにより、これらの課題のいくつかに対処するのに役立ちます。 さらに追加するために、両方のツールは、結果がきちんと表示される非常にインタラクティブなUIを提供します。もちろん、UIはカスタマイズ可能です!!。

前提条件はありますか?

必要なのは、機械学習、Python、バージョン管理アカウントの基本です。例:Github。 このブログでは、Kaggleの 南アフリカの心臓病データセット 実験の実行に使用されます。 ターゲット変数はCHD(冠状動脈性心臓病)になります。

Note:DVC StudioとMLflowの両方のユースケースを簡単にするために、同じデータセットを使用して同じモデルを構築します。 私たちの目的は、両方のツールの機能を理解することであり、モデル構築を微調整することではありません。

DVCスタジオ

DVCはオープンソースのツール/ライブラリであり、Github、Gitlab、Bitbucketなどのバージョン管理ツールにプラグインして、実験や追跡のためにMLプロジェクトをインポートできます。 スタジオには、実験/指標を追跡するためのUIがあります。 DVCについて詳しく知るには、 機能を使用.

インストールとセットアップ:   pip インストール dvc インストールには問題ないはずです。 Windows版のインストールの詳細については、以下を参照してください。 DVCをインストールします。 クイックリファレンスとして、Githubからコードをダウンロード/クローンできます。 あなたはからコードをダウンロード/クローンすることができます githubの クイックリファレンス。

データセットをロードして分割し、モデル構築ステップを実行します。 すべてのコード/ファイルはsrcフォルダーの下にあります。ブログを比較的短くするために、このセクションのコードウォークスルーをスキップしてください。 から完全なコードとウォークスルーにアクセスできます ブログ.

先に進む前に、DVCで実験とKPIがどのように追跡されるかを見てみましょう。

MLOps用のDVCスタジオ
DVCでの実験追跡

出典:著者

上記でお気づきのように、出力はコンソールに表示され、インタラクティブではありません。MLモデルにとって非常に重要なプロットはどうでしょうか。 定義されたしきい値で結果をフィルタリングする方法はありますか? 例:0.7より高い精度の実験を表示する必要がある場合。 唯一の方法は、その特定のデータをフィルタリングするためのコードを記述することです。 そこで、DVCスタジオは非常にシンプルでインタラクティブになっています。 次のセクションでUIについて説明します。

DVCスタジオ: 以下の手順に従って、DVCスタジオをセットアップします。

ステップ1: URLに移動します https://studio.iterative.ai, Githubでサインインすると、表示されます ビューを追加する 画面の右上に表示されます。

ステップ2: 私たちが持っているGitHubリポジトリは、をクリックしてDVCスタジオにマッピングする必要があります Git統合設定を構成します。

ステップ 3:ステップ2が完了すると、Git統合セクションが開きます。 リポジトリを選択し、アクセスを提供します。

Git統合セクション| MLOps
マップしてacを付与する

出典:著者

ステップ 4:マッピングされると、リポジトリは以下のようにビューの作成に使用できるようになります。

ビューを追加| MLOps
DVCリポジトリのビューを作成する

出典:著者

ステップ5: 上記の手順が完了したら、リポジトリをクリックしてトラッカーを開きます。

レポとオープントラッカー| MLOps
DVCスタジオ実験トラッカーUI

出典:著者

モデルの比較: 選択したモデルを選択して、をクリックします 比較 結果を表示します。

モデル比較
モデルの比較

出典:著者

実験を実行します。  実験を実行するにはXNUMXつの方法があります。

1.すべての変更を行い、コードをGithubリポジトリにチェックインします。 DVCスタジオは、追跡のためにスタジオのメト​​リックを自動的にプルします。

2.もうXNUMXつの方法は、DVCスタジオUIに変更を加え、実験を実行してから、それをGithubにプッシュすることです。

MLフロー

MLflowは、ML実験を追跡するためのオープンソースツールです。 DVCスタジオと同様に、コラボレーションを支援し、さまざまな実験と分析を実行します。 MLflowの詳細については、 機能を使用.

作業環境の設定:

ダウンロード/クローン用のコードリポジトリには、次の場所からアクセスできます。 githubの。 モデル構築用のmlflowおよびその他のライブラリをインストールし、コードの可読性を向上させるために構成ファイルを設定します。 ファイルは下にあります MLフロー フォルダにコピーします。

モデルメトリクスの監視: 最後のメトリックと現在のメトリックが追跡され、スナップショットのように一覧表示されます。 反復回数が増えると、変更を追跡することは困難なプロセスになり、モデルのパフォーマンスの向上に集中するのではなく、変更と結果のメトリックの追跡に多くの時間を費やします。

パスメトリック 古い新しい reportscores.jsonのロジスティック精度を変更します 0.62069 0.65517 0.03448 reportscores.json roc_auc 0.65093 0.72764 0.07671 reportscores.json test_score 62.06897 65.51724 3.44828 reportscores.json train_score 71.96532 74.27746 2.31214

MLflowは私たちに素晴らしいものを与えます MLflow UI これは、UI上のすべてを追跡するのに役立ちます。 これで、実験を実行する準備が整いました(分類.py)、メトリックは追跡され、以下のコードコマンドを使用してUIに表示されます。

mlflow ui ##これが出力INFO:waitress:Servingonです http://127.0.0.1:5000

URLはローカルホストのものです。URLをクリックすると、UIで結果を表示できます。 UIは非常にユーザーフレンドリーで、関連するメトリックを簡単にナビゲートして探索できます。 下の赤いボックスで強調表示されているセクションは、関心のあるメトリックの追跡を示しています。

MLF低

MLflow実験トラッカーUI

出典:著者

おわりに

このブログでは、MLOpsの概要を確認し、オープンソースツールを使用して実装しました。 DVCスタジオ および MLflow。 これらのMLOpsツールを使用すると、変更の追跡とモデルパフォーマンスの手間を省くことができるため、ドメイン固有のチューニングとモデルパフォーマンスにさらに集中できます。

MLOpsは今後も進化を続け、ツールに追加された機能により、データサイエンスチームの生活が機械学習プロジェクトの運用面の管理をはるかに容易にします。

あなたがブログが好きなら、ここにMLOpsに関する記事があります。 実験を続けてください!

DevOpsとMLops

DVCを使用したML実験の追跡

My LinkedIn & githubの

参考文献

https://dvc.org/

https://www.mlflow.org/docs/latest/quickstart.html

ソース:https://www.analyticsvidhya.com/blog/2022/01/overview-of-mlops-with-open-source-tools/

スポット画像

最新のインテリジェンス

スポット画像