こんにちは!
シナリオを考えてみましょう。1 人のデータ サイエンティストが、膨大な量のデータをかき分けようとして自分のシステムで作業を進めています。クリーニング、並べ替え、処理、およびモデルの構築を行い、新しく処理されたデータに対して予測を実行します。この科学者は、Jupyter Notebook、Airflow、Anaconda、Pandas、データ ストレージ、クラウド仮想マシンなど、自由に使えるツールをたくさん持っています。
彼女はモデルを何時間もトレーニングしましたが、完璧には達しませんでした。モデルは本来あるべきパフォーマンスを発揮しませんでした。彼女は窓の外を見ています - もう日暮れです。彼女はまだ、別のパラメーター セットを使用してモデルをテストし、実験のさまざまなメトリック セットを追跡する必要があります。
彼女は自分のシステムのスイッチを切り、1 日で終了し、次の日には別のモデルを試します。これは、新しいデータとパラメーターの束を使った別のアプローチです。これは、数日、数週間、数か月にわたる長いプロセスです。
モデルに関連するすべての実験とすべてのアーティファクトが保存されない可能性があるため、彼女が実験のために特定のパラメーターの組み合わせを試した時点に戻ることは困難です。知識が失われることがあります。追跡は、ML モデルの改善に不可欠です。
複数の実験を実行し、データ管理を行い、コード、実験メトリック、プロット、モデル、およびデータ アーティファクトも追跡できる包括的な IDE スタイルの環境があれば、この孤独なレンジャー シナリオは回避できると思います。それはどれほどクールでしょうか?
話がうますぎるように聞こえますが、これがDVC VSCode 拡張機能が試みていることです。
DVCは、実験、モデル、および関連するアーティファクトを追跡するための優れたツールですが、これは CLI であり、データ サイエンス コミュニティの多くの人は慣れていないか、慣れていない可能性があります。
次のような一連の厄介な CLI コマンドを学ばなければならなかった時代は終わりました。
DVC の使用がより簡単に、より楽しくなりました。
Iterative Team は、データ管理、バージョン管理、および実験のための DVC CLI コマンドの機能と、Visual Studio Code IDE の洗練されたエレガントなコーディング エクスペリエンスを組み合わせた VS Code 拡張機能を提供します。
現在の形式の拡張機能は、次の機能を提供します。
VS Code コマンド パレット メニューに統合されました。 F1 を押してパレットを開き、「DVC」と入力して、自由に使用できる DVC 関連のコマンドをすべて表示します。
ワークスペースで実行された実験の詳細なビューを提供します。 CLI モードでのコマンドdvc exp show
に相当します。
実験の実行によって生成されたプロットをワークスペースで表示できます。異なる実験のプロットを比較できます。リアルタイムで更新されたプロットを表示することもできます。
この機能を使用して、ワークスペースのステータスを確認できます。このビューからdvc checkout
、 dvc commit
、 dvc add
、 dvc push
およびdvc pull
を実行できます。
ワークスペース内のリソースを追跡するための小さなウィンドウ。ここから、ファイル アクションを実行したり、特定のリソースをpush
およびpull
したり、追跡されたデータセット内のデータを管理したりできます。
View Container は、VS Code アイコン バーの DVC アイコンをクリックしてアクティブ化できます。ワークスペース内の実験とリソースに関する一般的な情報を提供します。
拡張機能を使用する場合、CLI のみと比較していくつかの利点があります。
DVC 拡張機能の使用は、4 つのステップに要約できます。
システムに DVC がインストールされていることを確認してください。ターミナルで次のコマンドを実行できます。
$ pip3 install dvc
または、OS 固有のインストールについては、こちらのガイドに従ってください。
VS Code に移動し、拡張メニューで DVC を検索します。 [インストール] をクリックします。
https://www.youtube.com/watch?v=INjOkuanRpc
これで、DVC 拡張機能の準備が整いました。拡張機能の使用法に慣れるために、サンプル ML プロジェクトをダウンロードします
サンプル プロジェクトはリポジトリからダウンロードできます。 VS Code でフォルダーを開きます。 DVC 拡張機能は、DVC バイナリと Python 環境を検出する必要があります。
特定の環境がある場合は、 F1 を押してDVC: Setup The Workspace
を選択できます。
コンパイラ パスと Python 環境のバイナリ パスを指定します。
DVC ビュー コンテナー タブで、現在のワークスペースの DVC 実験を表示できます。
実験を開始するには、データをプルする必要があります。 F1 を押して VS Code コマンド パレットを開き、 DVC: Pull
を選択します。
[ DVC: Show DVC Output
を選択すると、出力を表示できます。
注: 現時点では、チームはまだ VS Code プラグインの DVC リモート ストレージ オプションに取り組んでいます。コマンド ラインまたは構成ファイルを介してストレージをリモートに設定する必要があります。
params.yaml
ファイルのパラメーターを変更し、VS Code コマンド パレットで [ DVC: Modify Experiment Param(s),Rest and Run
を選択できます。
https://www.youtube.com/watch?v=buuoKsGZvvo
拡張機能を使用して、実験を確認し、プロットされたグラフを表示することもできます。
そして一番のチェリーは、拡張機能を使用すると、実験をチェリーピックできることです.しゃれ意図!
https://www.youtube.com/watch?v=N0VdjyQCo3Q
それだけではありません。個々の実験を実行し、特定のパラメーターを変更できます。
多くの時間がかかる実験のために、グラフをライブで表示したい場合 - おそらく多くのエポックを持つ DL モデルを言ってください。
リアルタイムでも見ることができます。実験を実行し、DVC トレイのプロット ボタンをクリックするだけです。
https://www.youtube.com/watch?v=ov5ScDPV6Rw
すべてがうまく完了したら、変更をコミットしてプッシュすることもできます。
反復チームは、すぐに拡張機能にさらにエキサイティングな機能を追加する予定です。乞うご期待。
私たちにあなたを留めさせないでください、先に進んで実験を始めてください.ハッピー DVC タイム!
ML Ops プラクティショナーとして、さまざまなデータ サイエンス チームと協力してさまざまな課題に取り組んでいます。有料のものとオープンソースのものの両方で、さまざまなツールが市場で入手できます。世界中の見知らぬ人が同様の問題を解決するのを積極的に支援しているコミュニティとの親族関係があるため、私はオープンソース ツールに傾倒する傾向があります。
このアプローチは、ML コミュニティにとって非常に重要です。なぜなら、私たちはまだ採用段階にあり、優れたツールが問題をより迅速かつ自信を持って解決するのに役立つからです。 ML パイプラインの複数のステージと統合された一元化されたツールは、データ サイエンス チームが問題を解決するのに大いに役立ちます。彼らは、インフラストラクチャやセットアップよりもモデルの改善に集中できます。これが、私が DVC ツールに惹かれた理由です。
この素晴らしい拡張機能を作成したIterativeのチームに感謝し、将来さらに多くの魔法が見られることを期待しています。