「機械学習モデルのログと管理のためのトップツール」
Top tool for logging and managing machine learning models
機械学習において、実験トラッキングはすべての実験メタデータを1つの場所(データベースまたはリポジトリ)に保存します。モデルのハイパーパラメータ、性能の測定値、実行ログ、モデルのアーティファクト、データのアーティファクトなど、すべてが含まれています。
実験ログの実装方法はさまざまです。スプレッドシートは1つのオプションです(もはや使用されていません!)、またはテストの追跡にGitHubを使用することもできます。
機械学習の実験を追跡することは常にMLの開発において重要なステップでしたが、以前は手間のかかる、遅くてエラーが発生しやすい手続きでした。
- 鑑識分類器をだます:敵対的な顔生成における生成モデルの力
- ハイパーパラメータ最適化のためのトップツール/プラットフォーム2023年
- 「xTuringに会ってください:たった3行のコードで自分自身の大規模言語モデル(LLM)を作成できるオープンソースツール」
近年、機械学習の実験管理とトラッキングのための現代的なソリューションの市場が発展し増加しました。現在、さまざまな選択肢があります。オープンソースまたはエンタープライズソリューション、スタンドアロンの実験トラッキングフレームワーク、エンドツーエンドのプラットフォームなど、適切なツールを必ず見つけることができます。
MLFlowのようなオープンソースのライブラリやフレームワークを利用するか、Weights & Biases、Cometなどのこれらの機能を備えたエンタープライズツールプラットフォームを購入することが、実験ログを行うための最も簡単な方法です。この記事では、データサイエンティストにとって非常に役立つ実験トラッキングツールをいくつか紹介しています。
MLFlow
MLflowは、実験、再現性、デプロイメント、および中央モデルレジストリを含む機械学習ライフサイクルを管理するオープンソースプラットフォームです。複数の機械学習ライブラリからモデルを異なるプラットフォームに配布およびサービングする(MLflowモデルレジストリ)機能も提供しています。MLflowは現在、MLコードを再利用可能で再現可能な形式でパッケージングする機能(MLflowプロジェクト)、パラメータと結果を記録および比較するための実験のトラッキング機能(MLflowトラッキング)をサポートしています。さらに、モデルのバージョン管理、ステージ遷移、注釈など、MLflowモデルのライフサイクル全体を共同で管理するための中央モデルストアも提供しています。
Weights & Biases
Weights & Biasesは、実験トラッキング、データセットのバージョン管理、およびモデルの管理により、より速くより優れたモデルを生成するためのMLOpsプラットフォームです。Weights & Biasesはプライベートインフラストラクチャにインストールすることも、クラウドで利用することもできます。
Comet
Cometは、現在のインフラストラクチャとツールと連携してモデルを管理、可視化、最適化する機械学習プラットフォームです。コード、ハイパーパラメータ、メトリックを自動的に追跡するために、スクリプトまたはノートブックに2行のコードを追加するだけで使用できます。
Cometは、ML実験の全ライフサイクルのためのプラットフォームです。コード、ハイパーパラメータ、メトリック、予測、依存関係、システムメトリックを比較してモデルのパフォーマンスの違いを分析することができます。モデルはモデルレジストリに登録して、エンジニアリングへの簡単な引き継ぎが可能であり、トレーニングランからデプロイまでの完全な監査トレイルで使用中のモデルを把握することができます。
Arize AI
Arize AIは、MLチームがプロダクションでより成功したAIを提供および維持するための機械学習可観測性プラットフォームです。Arizeの自動モデルモニタリングおよび可観測性プラットフォームにより、MLチームは問題が発生したときに問題を検出し、なぜ問題が発生したかをトラブルシューティングし、モデルのパフォーマンスを管理することができます。コンピュータビジョンおよび自然言語処理モデルの非構造化データの埋め込みを監視することで、チームは次にラベル付けするデータを予測的に特定し、プロダクションでの問題をトラブルシューティングすることもできます。ユーザーはArize.comで無料アカウントにサインアップできます。
Neptune AI
Neptuneプラットフォームを使用すると、MLモデルの構築メタデータを管理および記録することができます。チャート、モデルのハイパーパラメータ、モデルのバージョン、データのバージョンなどを記録することができます。
Neptuneはクラウドでホストされているため、設定する必要はありません。いつでもどこでも実験にアクセスできます。あなたとあなたのチームはすべての実験を1つの場所で共同で整理することができます。どの調査もチームメンバーと共有し、共同で作業することができます。
Neptuneを使用するには、「neptune-client」をインストールする必要があります。また、プロジェクトを組織する必要があります。このプロジェクトでは、NeptuneのPython APIを使用します。
Sacred
Sacredは、機械学習の実験を行うための無料のツールです。Sacredを利用するには、まず実験を設計する必要があります。実験を行うためにJupyter Notebooksを使用している場合は、「interactive=True」と渡す必要があります。ツールを使用して、MLモデルの構築メタデータを管理および記録することができます。
Omniboard
OmniboardはSacredのウェブベースのユーザーインターフェースです。このプログラムはSacredのMongoDBデータベースと接続します。各実験の測定値とログが表示されます。Sacredが収集するすべてのデータを表示するには、オブザーバーを選択する必要があります。デフォルトのオブザーバーは「MongoObserver」と呼ばれています。MongoDBデータベースが接続され、このデータを含むコレクションが作成されます。
TensorBoard
ユーザーは通常、TensorFlowのグラフィカルツールボックスであるTensorBoardを使用し始めます。TensorBoardには、機械学習モデルの可視化やデバッグに役立つツールがあります。モデルグラフを検査したり、埋め込みを低次元空間に投影したり、損失や精度などの実験メトリクスを追跡したりすることができます。
TensorBoard.devを使用すると、機械学習の実験の結果をアップロードして配布することができます(TensorBoardには協力機能がありません)。TensorBoardはオープンソースでローカルにホストされていますが、TensorBoard.devは管理されたサーバー上の無料サービスです。
Guild AI
機械学習の実験を追跡するためのシステムであるGuild AIは、Apache 2.0のオープンソースライセンスで配布されています。その機能により、分析、可視化、差分操作、パイプラインの自動化、AutoMLのハイパーパラメータの調整、スケジューリング、並列処理、リモートトレーニングなどが可能になります。
Guild AIには、実験の比較に役立ついくつかの統合ツールも付属しています。
- スプレッドシート形式の実行(フラグとスカラーデータを含む)を表示できるGuild Compareというカーソルベースのツール。
- 実行を表示し、結果を比較できるWebベースのプログラムGuild View。
- 2つの実行にアクセスできるコマンドGuild Diff。
Polyaxon
Polyaxonは、スケーラブルで繰り返し可能な機械学習とディープラーニングのアプリケーションのためのプラットフォームです。その設計者の主な目標は、コストを削減しながら出力と生産性を向上させることです。モデル管理、実行オーケストレーション、規制コンプライアンス、実験の追跡、実験の最適化など、数多くの機能を備えています。
Polyaxonを使用すると、コードとデータをバージョン管理し、重要なモデルメトリクス、ハイパーパラメータ、可視化、アーティファクト、リソースを自動的に記録することができます。後でログされたメタデータを表示するために、Polyaxon UIやTensorBoardなどの他のボードと組み合わせることもできます。
ClearML
ClearMLは、マシンラーニングプロセスを効率化するためのツールのコレクションを備えたオープンソースプラットフォームで、Allegro AIチームによってサポートされています。デプロイメント、データ管理、オーケストレーション、MLパイプラインの管理、データ処理などがパッケージに含まれています。これらの特性は、5つのClearMLモジュールで利用できます。
- 実験、モデル、ワークフローデータはClearMLサーバーに保存され、Webベースの実験マネージャーもサポートしています。
- Pythonモジュールを使用して既存のコードベースにClearMLを統合します。
- オブジェクトストレージとファイルシステムの上に構築された、データ管理とバージョン管理プラットフォームであるClearML Dataにより、スケーラブルな実験とプロセスの複製が可能になります。
- ClearML Sessionを使用して、リモートのVSCodeやJupyter Notebooksのインスタンスを起動します。
ClearMLを使用すると、モデルトレーニング、ハイパーパラメータの最適化、ストレージオプション、プロットツール、および他のフレームワークやライブラリを統合することができます。
Valohai
モデルのデプロイからデータの抽出まで、すべてが自動化されているMLOpsプラットフォームValohai。ツールの作成者によれば、Valohaiは「セットアップ不要の機械オーケストレーションとMLFlowのような実験の追跡を提供します」。実験の追跡は主な目的ではありませんが、バージョン管理、実験の比較、モデルの系譜、トレーサビリティなどの機能を提供しています。
Valohaiはさまざまなソフトウェアやツールと互換性があり、任意の言語やフレームワークと連携することができます。クラウドプロバイダーまたはオンプレミスでセットアップすることができます。このプログラムには、よりシンプルにするための多くの機能があり、チームワークを重視して開発されています。
Pachyderm
Pachydermはオープンソースのエンタープライズグレードのデータサイエンスプラットフォームで、ユーザーはマシンラーニングの全体のサイクルを制御することができます。拡張性、実験構築、追跡、データの起源などのオプションがあります。
このプログラムには、次の3つのバージョンがあります。
- コミュニティによって開発され、サポートされているオープンソースのPachyderm。
- エンタープライズエディションでは、ユーザーの選択したKubernetesインフラストラクチャ上に完全なバージョン管理プラットフォームをセットアップすることができます。
- PachydermのホストされたマネージドバージョンはHub Editionと呼ばれています。
Kubeflow
Kubeflowは、Kubernetesのための機械学習ツールキットの名前です。その目標は、Kubernetesのスケーリング機能を活用して機械学習モデルの拡張を簡素化することです。プラットフォームには特定のトラッキングツールがありますが、プロジェクトの主な目標は異なります。主要なコンポーネントには、以下のものがあります:
- Kubeflow Pipelinesは、スケーラブルな機械学習(ML)ワークフローをデプロイし、Dockerコンテナに基づくビルドを行うためのプラットフォームです。最も頻繁に利用されるKubeflowの機能です。
- Kubeflowの主なユーザーインターフェースはCentral Dashboardです。
- KFServingというフレームワークを使用してKubeflowモデルをインストールおよび提供し、Notebook Serversというサービスを使用して対話型Jupyterノートブックを作成および管理します。
- KubeflowでのMLモデルのトレーニングには、Training Operators(例:TensorFlow、PyTorch)を参照してください。
Verta.ai
企業のMLOpsのためのプラットフォームはVertaと呼ばれます。このプログラムは、機械学習ライフサイクル全体を管理しやすくするために作成されました。その主な特徴は、トラック、コラボレート、デプロイ、およびモニターの4つの言葉で要約することができます。これらの機能は、Vertaのコア製品であるExperiment Management、Model Deployment、Model Registry、およびModel Monitoringにすべて含まれています。
Experiment Managementコンポーネントでは、機械学習の実験を監視および可視化し、さまざまな種類のメタデータを記録し、実験を探索および比較し、モデルの再現性を確保し、MLプロジェクトでの協力を行うなど、さまざまな作業を行うことができます。
Vertaは、TensorFlow、PyTorch、XGBoost、ONNXなど、いくつかのよく知られたMLフレームワークをサポートしています。オープンソース、SaaS、エンタープライズバージョンのサービスがすべて利用可能です。
Fiddler AI
Fiddlerは、エンタープライズ向けのモデルパフォーマンス管理の先駆者です。Fiddlerを使用して、MLモデルを監視、説明、分析、改善することができます。
統合環境は共通の言語、集中制御、および実行可能な洞察を提供し、信頼性を持ってML/AIを実用化します。スケールで内部の安定した安全なMLOpsシステムを構築する際の固有の課題に対応しています。
SageMaker Studio
SageMaker Studioは、AWSプラットフォームのコンポーネントの1つです。データサイエンティストや開発者が最高の機械学習(ML)モデルを構築、トレーニング、使用することができるようにします。これは、機械学習のための最初の完全な開発環境(IDE)です。prepare、construct、train and tune、deploy、manageの4つのパートで構成されています。実験のトラッキング機能は、3番目のtrain & tuneによって処理されます。ユーザーはハイパーパラメータのチューニングを自動化し、トレーニングランのデバッグ、実験の記録、比較、整理を行うことができます。
DVC Studio
iterative.aiによって推進されるDVCツールスイートには、DVC Studioが含まれています。MLプロジェクトのための視覚的なインタフェースであるDVC Studioは、テストの追跡、可視化、チームとの共同作業を支援するために作成されました。DVCは、元々機械学習用のオープンソースのバージョン管理システムとして意図されていました。このコンポーネントは、データサイエンティストがMLモデルを共有および複製できるようにするために現在も使用されています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- NotebookLM グーグルの実験的なAIノートブック、学習と洞察のための向上したもの
- 「PolyLM(Polyglot Large Language Model)に会ってください:640BトークンでトレーニングされたオープンソースのマルチリンガルLLMで、2つのモデルサイズ1.7Bと13Bが利用可能です」
- 「2023年のトップコンピュータビジョンツール/プラットフォーム」
- 非ユークリッド空間における機械学習
- 「アルマンド・ソラール・レザマが初代ディスティングイッシュド・カレッジ・オブ・コンピューティング・プロフェッサーに任命されました」
- 「コーヒーマシンを介して侵害された – 知っておくべき6つのスマートホームセキュリティの脅威」
- 「Transformerモデルの実践的な導入 BERT」