paint-brush
ML 実験の新たな希望by@yashnayak
1,589
1,589

ML 実験の新たな希望

Yashaswi Nayak2022/07/04
Read on Terminal Reader
Read this story w/o Javascript

DVC VSCode 拡張機能は、データ管理、バージョン管理、および実験のための DVC コマンドの機能と、Visual Studio Code の洗練されたエレガントなコーディング エクスペリエンスを組み合わせたものです。 DVC は、実験、モデル、および関連するアーティファクトを追跡するための優れたツールですが、これは CLI であり、データ サイエンス コミュニティの多くの人は慣れていないか、慣れていない可能性があります。

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - ML 実験の新たな希望
Yashaswi Nayak HackerNoon profile picture


こんにちは!


シナリオを考えてみましょう。1 人のデータ サイエンティストが、膨大な量のデータをかき分けようとして自分のシステムで作業を進めています。クリーニング、並べ替え、処理、およびモデルの構築を行い、新しく処理されたデータに対して予測を実行します。この科学者は、Jupyter Notebook、Airflow、Anaconda、Pandas、データ ストレージ、クラウド仮想マシンなど、自由に使えるツールをたくさん持っています。


彼女はモデルを何時間もトレーニングしましたが、完璧には達しませんでした。モデルは本来あるべきパフォーマンスを発揮しませんでした。彼女は窓の外を見ています - もう日暮れです。彼女はまだ、別のパラメーター セットを使用してモデルをテストし、実験のさまざまなメトリック セットを追跡する必要があります。


彼女は自分のシステムのスイッチを切り、1 日で終了し、次の日には別のモデルを試します。これは、新しいデータとパラメーターの束を使った別のアプローチです。これは、数日、数週間、数か月にわたる長いプロセスです。


モデルに関連するすべての実験とすべてのアーティファクトが保存されない可能性があるため、彼女が実験のために特定のパラメーターの組み合わせを試した時点に戻ることは困難です。知識が失われることがあります。追跡は、ML モデルの改善に不可欠です。


複数の実験を実行し、データ管理を行い、コード、実験メトリック、プロット、モデル、およびデータ アーティファクトも追跡できる包括的な IDE スタイルの環境があれば、この孤独なレンジャー シナリオは回避できると思います。それはどれほどクールでしょうか?

話がうますぎるように聞こえますが、これがDVC VSCode 拡張機能が試みていることです。


DVCは、実験、モデル、および関連するアーティファクトを追跡するための優れたツールですが、これは CLI であり、データ サイエンス コミュニティの多くの人は慣れていないか、慣れていない可能性があります。


次のような一連の厄介な CLI コマンドを学ばなければならなかった時代は終わりました。


DVC の使用がより簡単に、より楽しくなりました。


DVC VSCode 拡張機能

Iterative Team は、データ管理、バージョン管理、および実験のための DVC CLI コマンドの機能と、Visual Studio Code IDE の洗練されたエレガントなコーディング エクスペリエンスを組み合わせた VS Code 拡張機能を提供します。


現在の形式の拡張機能は、次の機能を提供します。


1.コマンドパレット

VS Code コマンド パレット メニューに統合されました。 F1 を押してパレットを開き、「DVC」と入力して、自由に使用できる DVC 関連のコマンドをすべて表示します。


2.実験表

ワークスペースで実行された実験の詳細なビューを提供します。 CLI モードでのコマンドdvc exp showに相当します。


3. プロット / ライブ プロット

実験の実行によって生成されたプロットをワークスペースで表示できます。異なる実験のプロットを比較できます。リアルタイムで更新されたプロットを表示することもできます。


4. ソース管理管理

この機能を使用して、ワークスペースのステータスを確認できます。このビューからdvc checkoutdvc commitdvc adddvc pushおよびdvc pullを実行できます。


5. 追跡された成果物 - データセット、モデル、およびトークナイザー

ワークスペース内のリソースを追跡するための小さなウィンドウ。ここから、ファイル アクションを実行したり、特定のリソースをpushおよびpullしたり、追跡されたデータセット内のデータを管理したりできます。


6. DVC ビュー コンテナ / トレイ

View Container は、VS Code アイコン バーの DVC アイコンをクリックしてアクティブ化できます。ワークスペース内の実験とリソースに関する一般的な情報を提供します。


拡張機能を使用する場合、CLI のみと比較していくつかの利点があります。

  • CLI の複雑さを隠し、経験から摩擦を取り除きます。
  • 既存の機能を強化し、追加のビジュアライゼーションを提供します。
  • データ サイエンス ワークフローをビルド コンテキストに移動 - フォーカス時間の予期しない中断が少なくなります。
  • 実験のパフォーマンスをリアルタイムで表示
  • みんなVSコード大好き❤️🙂


DVC 拡張機能 - はじめに

DVC 拡張機能の使用は、4 つのステップに要約できます。

  1. インストール - (1 回)
  2. プロジェクトとデータの設定
  3. 実験
  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 ビュー コンテナー タブで、現在のワークスペースの 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のチームに感謝し、将来さらに多くの魔法が見られることを期待しています。