2023年のMLOpsの景色:トップのツールとプラットフォーム
2023年のMLOpsの景色 トップのツールとプラットフォーム
2023年にMLOpsの世界に深く入り込むと、数々のツールやプラットフォームが存在し、モデルの開発、展開、監視の方法を形作っています。総合的な概要を提供するために、この記事ではMLOpsおよびFMOps(またはLLMOps)のエコシステムにおける主要なプレーヤーを、オープンソースとクローズドソースの両方のツールを含めて、主な特徴と貢献を強調して探求します。
MLOpsの風景
2023年のMLOpsの風景の特徴の一つは、オープンソースとクローズドソースのソリューションが共存していることです。オープンソースのツールは、柔軟性、コミュニティのサポート、さまざまなワークフローへの適応性などの理由で、大きな影響力を持っています。一方、クローズドソースのプラットフォームは、エンタープライズ向けの機能、強化されたセキュリティ、ユーザーサポートなどを提供しています。
以下は、2023年の風景の概要図です:
この記事の残りの部分では、以下のカテゴリに分類される市場での90以上のMLOpsツールとプラットフォームに焦点を当てて紹介します:
- エンドツーエンドの機械学習オペレーション(MLOps)プラットフォーム
- 実験の追跡、モデルのメタデータの保存と管理
- データセットのラベリングと注釈付け
- データの保存とバージョン管理
- データ品質の監視と管理
- フィーチャーストア
- モデルハブ
- モデル品質のテスト
- ワークフローオーケストレーションとパイプラインツール
- モデルの展開と提供
- モデルの可観測性
- 責任あるAI
- コンピューティングとインフラストラクチャ
- GPUクラウドサーバー
- [NEW] サーバーレスGPU
- [NEW] ベクトルデータベースとデータ検索
- [NEW] ファウンデーションモデルトレーニングフレームワーク
この記事は、2023年に登場したLLMOpsとMLOpsのツールとプラットフォームの包括的な概要を提供することで、多様なツールの風景を理解し、MLOpsの旅での情報に基づいた意思決定を支援します。
MLOpsツールとプラットフォームの評価方法
すべてのソフトウェアソリューションと同様に、MLOps(機械学習オペレーション)のツールとプラットフォームを評価することは、さまざまな要素を考慮する複雑な作業です。以下に、ニーズと好みに応じてMLOpsのツールとプラットフォームを評価する際に考慮すべきいくつかの主要な要素を示します。
-
1
クラウドとテクノロジー戦略 -
2
組織のテックスタックとの整合性 -
3
営利面の詳細 -
4
組織内の知識とスキル -
5
主要なユースケースと/またはユーザージャーニー -
6
ユーザーサポートの体制 -
7
アクティブなユーザーコミュニティと将来のロードマップ
クラウドとテクノロジー戦略
クラウドプロバイダーやテクノロジースタックに合わせ、ML開発で使用するフレームワークや言語をサポートするMLOpsツールを選択してください。たとえば、AWSを使用している場合、他のAWSサービスと統合されたMLOpsプラットフォームであるAmazon SageMakerを好むかもしれません。
組織のテックスタックとの整合性
MLOpsツールが既存のツールやワークフロー(データソース、データエンジニアリングプラットフォーム、コードリポジトリ、CI/CDパイプライン、監視システムなど)とどれだけ良く統合するかを考慮してください。たとえば、実験トラッカーであるneptune.aiは、30以上のMLOpsツールとプラットフォームと統合されています。
営利面の詳細
MLOpsツールやプラットフォームを評価する際に、営利面の詳細を考慮してください。価格モデル、隠れたコストを含む価格設定を評価し、予算とスケーリングの要件に合致していることを確認してください。ベンダーサポートとメンテナンス条件(SLAとSLO)、契約に関する合意、交渉の柔軟性を確認し、組織のニーズに合わせるためのフリートライアルや概念証明(PoC)を活用して、商用契約に踏み切る前にツールの価値を評価することができます。
組織内の知識とスキル
MLチームの専門知識と経験レベルを評価し、それに合わせたツールを選択してください。たとえば、PythonとRに熟達しているチームの場合、Parquet、JSON、CSVなどのオープンデータ形式や、PandasやApache Spark DataFramesをサポートするMLOpsツールを選ぶことができます。
主なユースケースおよびユーザージャーニー
ML(機械学習)を使用して解決したい主要なビジネスの問題とデータサイエンティストのニーズを特定し、それらを効果的に処理できるツールを選択します。たとえば、チームがレコメンドシステムや自然言語処理アプリケーションに取り組んでいる場合、これらのユースケースに対応する組み込みアルゴリズムやテンプレートを持つMLOpsツールが必要となるでしょう。
ユーザーサポートの体制
提供元やベンダーからのサポートの利用可能性と品質、ドキュメンテーション、チュートリアル、フォーラム、カスタマーサービスなどを考慮してください。また、ツールのアップデートや改善の頻度と安定性も確認してください。
活発なユーザーコミュニティと将来のロードマップ
フィードバック、洞察、ベストプラクティスを提供できる強力で活発なユーザーコミュニティと開発者が存在するツールを検討してください。ベンダーの評判を考慮するだけでなく、ツールのアップデートの受け取り方、ロードマップの表示、目標との整合性も確認してください。
エンドツーエンドのMLOpsプラットフォーム
エンドツーエンドのMLOpsプラットフォームは、データの準備やモデル開発からデプロイメントやモニタリングまで、MLワークフロー全体を統合したエコシステムを提供します。
エンドツーエンドのMLOpsプラットフォームの主な機能
エンドツーエンドのMLOpsプラットフォームには、次のような幅広い重要な機能とツールが組み合わされています:
- データ管理と前処理: データの取り込み、保存、前処理のための機能を提供し、トレーニングと評価のためのデータを効率的に管理し準備することができます。データラベリング、データバージョニング、データ拡張、人気のあるデータストレージシステムとの統合機能も含まれます。
- 実験とモデル開発: プラットフォームは、実験の設計と実行、異なるアルゴリズムとアーキテクチャの試行、モデルのパフォーマンスの最適化のための機能を提供する必要があります。ハイパーパラメータの調整、自動モデル選択、モデルメトリクスの可視化などの機能も含まれます。
- モデルのデプロイとサービング: コンテナ化、API管理、スケーラブルなサービングインフラストラクチャのための機能を提供することで、シームレスなモデルのデプロイとサービングを実現します。
- モデルのモニタリングとパフォーマンストラッキング: プラットフォームには、デプロイされたMLモデルのパフォーマンスをリアルタイムで監視およびトラッキングする機能が含まれます。ログ記録、モデルメトリクスのモニタリング、異常検知、アラート機能などがあり、モデルの信頼性、安定性、最適なパフォーマンスを確保することができます。
- コラボレーションとバージョン管理: データとMLチームの間のコラボレーションをサポートし、コード、モデル、実験を共有できるようにします。また、MLアーティファクトの変更と改訂の管理に対応するバージョン管理機能も提供されるため、再現性を確保し、効果的なチームワークを容易にします。
- 自動パイプライン化とワークフローオーケストレーション: タスクスケジューリング、エラーハンドリングなどの機能を備えた自動パイプライン化とワークフローオーケストレーションのツールを提供し、複雑なMLパイプラインを定義および管理できるようにします。これにより、MLワークフローの管理と実行が簡素化されます。
- モデルガバナンスとコンプライアンス: モデルガバナンスとコンプライアンスの要件を満たす必要があります。このため、MLソリューションに倫理的な考慮事項、プライバシー保護、規制のコンプライアンスを実装することができます。モデルの説明可能性、公正性評価、プライバシー保護、コンプライアンストラッキングなどの機能が含まれます。
- MLツールとライブラリとの統合: 好みのMLツールを活用し、幅広いリソースにアクセスできる柔軟性と拡張性を提供します。これにより、生産性が向上し、最新の技術を活用することができます。
Amazon SageMaker
Amazon SageMakerは、データの前処理、モデルのトレーニング、実験のための統合インターフェースを提供し、データサイエンティストが簡単にコラボレーションやコードの共有を行うことができます。SageMaker Studioには、組み込みのアルゴリズム、自動モデルチューニング、AWSサービスとのシームレスな統合機能が備わっており、大規模な機械学習ソリューションの開発とデプロイメントに強力なプラットフォームです。
Microsoft Azure ML Platform
Azure Machine Learningプラットフォームは、さまざまなプログラミング言語とフレームワークをサポートするコラボレーションワークスペースを提供します。Azure Machine Learningを使用すると、データサイエンティストは事前に構築されたモデルを活用し、機械学習タスクを自動化し、他のAzureサービスとシームレスに統合することができます。これにより、クラウド上の機械学習プロジェクトに効率的かつスケーラブルなソリューションが実現されます。
Google Cloud Vertex AI
Google Cloud Vertex AIは、AutoMLを使用した自動モデル開発と一般的なフレームワークを使用したカスタムモデルトレーニングの両方を統合した環境を提供します。組み込みのコンポーネントとGoogle Cloudサービスとの統合により、Vertex AIはエンドツーエンドの機械学習プロセスを簡素化し、データサイエンスチームがスケールできるモデルの構築とデプロイを容易にします。
Qwak
Qwakは、完全に管理され、アクセス可能で信頼性のあるMLプラットフォームであり、モデルの開発と展開、およびマシンラーニングパイプライン全体のモニタリングを行うためのものです。完全なエンドツーエンドのプラットフォームではありませんが、データの変換と保存を可能にするフィーチャーストアも提供しています。必要なときに簡単にスケーリングできる課金方式です。
Domino Enterprise MLOps Platform
Domino Enterprise MLOps Platformは以下を提供します:
- 再現可能で再利用可能なワークフローのシステム・オブ・レコード。
- 好きなツールと言語を使用して、モデルの開発、展開、およびモニタリングを1か所で行う統合モデルファクトリー。
- インフラストラクチャとガバナンスのためのセルフサービスインフラポータル。
Databricks
Databricksは、データレイクアーキテクチャを使用して構築されたビッグデータ処理、機械学習、および分析のためのクラウドネイティブプラットフォームです。このプラットフォームは、データに関連するすべての作業に対して、ビルディング、展開、共有、およびメンテナンスなどの企業グレードのソリューションのための統一されたツールセットを提供します。
DataRobot
DataRobot MLOpsは、自動モデル展開、モニタリング、およびガバナンスなどの機能を提供します。DataRobot MLOpsは、データサイエンティスト、データエンジニア、およびITオペレーションの間のコラボレーションを促進し、モデルを本番環境にスムーズに統合します。
W&B(Weights & Biases)
W&Bは、データサイエンスチームが実験を追跡し、データセットをバージョン管理および反復し、モデルのパフォーマンスを評価し、モデルを再現し、結果を視覚化し、回帰を検出し、結果を同僚と共有するための機械学習プラットフォームです。このプラットフォームは、ハイパーパラメータ最適化、モデルトレーニングワークフローの自動化、モデル管理、プロンプトエンジニアリング、およびノーコードMLアプリ開発の機能も提供しています。
Valohai
Valohaiは、機械学習プロジェクトの管理と自動化のための共同作業環境を提供します。Valohaiを使用すると、パイプラインを定義し、変更を追跡し、クラウドリソースまたは独自のインフラストラクチャで実験を実行できます。機械学習ワークフローを簡素化し、バージョン管理、データ管理、およびスケーラビリティの機能も提供します。
Kubeflow
Kubeflowは、Kubernetes上でスケーラブルでポータブルなMLワークロードを実行するために作られたオープンソースの機械学習プラットフォームです。データの前処理、トレーニング、サービング、およびモニタリングなど、エンドツーエンドのMLワークフローを容易にするためのツールとコンポーネントを提供します。
Kubeflowは、人気のあるMLフレームワークと統合され、バージョニングとコラボレーションをサポートし、Kubernetesクラスタ上でのMLパイプラインの展開と管理を簡素化します。Kubeflowドキュメンテーションをご覧ください。
Metaflow
Metaflowは、データサイエンティストと機械学習エンジニアがデータサイエンスプロジェクトを構築、管理、展開するのを支援します。データサイエンスワークフローの定義と実行を容易にする高レベルのAPIを提供します。また、データサイエンスプロジェクトの再現性と信頼性を向上させるためのさまざまな機能も提供します。NetflixはMetaflowで何百から何千ものMLプロジェクトを実行しており、そのスケーラビリティの高さがわかります。
Metaflowは、研究、開発、および製品化に使用でき、さまざまな他のツールやサービスと統合することもできます。Metaflowドキュメントをご覧ください。
実験の追跡、モデルのメタデータの保存と管理
実験の追跡とモデルのメタデータの管理ツールを使用すると、実験のパラメータ、メトリックス、および視覚化を追跡し、再現性を確保し、コラボレーションを容易にすることができます。
メタデータの保存と管理ツールを考える際には、以下の点に注意する必要があります:
- 一般的なビジネス関連アイテム:価格モデル、セキュリティ、サポート。
- セットアップ:どれくらいのインフラストラクチャが必要であり、ワークフローに簡単に組み込めるか。
- 柔軟性、スピード、アクセシビリティ:メタデータ構造をカスタマイズできますか?言語/フレームワーク/インフラストラクチャ、フレームワーク、またはインフラストラクチャからアクセスできますか?ワークフローに対して十分に高速かつ信頼性がありますか?
- モデルのバージョン管理、系統、パッケージング:モデルと実験をバージョン管理して再現できますか?下流で使用されるデータ/モデル/実験との完全なモデル系統を確認できますか?
- メタデータのログと表示:APIとUIでサポートされるメタデータの種類は何ですか?オーディオ/ビデオを再生できますか?フレームワークに対してデフォルトで提供されるものは何ですか?
- 実験とモデルの比較と視覚化:どのような視覚化がサポートされていますか?平行座標プロットはありますか?画像を比較できますか?システム情報をデバッグできますか?
- 実験、モデル、および関連するメタデータの整理と検索:ツールでワークフローをきれいに管理できますか?UIをカスタマイズできますか?実験とモデルを簡単に見つけることができますか?
- モデルのレビュー、コラボレーション、および共有:本番環境に移行する前に、モデルを自動的に承認できますか?チームとの実験にコメントやディスカッションができますか?
- CI/CD/CTの互換性:CI/CDツールとの連携はうまくいきますか?連続トレーニング/テスト(CT)をサポートしていますか?
- 統合とサポート:モデルトレーニングフレームワークと統合できますか?オーケストレーションとパイプラインツールの中で使用できますか?
研究または製品化の問題がモデルのメタデータにある場合、より具体的な解決策を比較して選択することができます:
- 実験追跡ツール、
- モデルレジストリ、
- MLメタデータストア。
MLflow
MLflowは、エンドツーエンドの機械学習ライフサイクルを管理するためのオープンソースプラットフォームです。実験の追跡、バージョン管理、展開の機能を提供します。MLflowを使用すると、データサイエンスチームは簡単に実験をログに記録し、比較し、メトリックを追跡し、モデルとアーティファクトを整理することができます。
neptune.ai
neptune.aiは、多くの実験を実行する研究チームと製品チームのために作られたMLメタデータストアです。チームは実験をログに記録し、可視化し、ハイパーパラメータ、メトリック、出力ファイルを追跡することができます。Neptuneは、実験や結果の共有などのコラボレーション機能を提供し、チームが協力して作業することを容易にします。MLOpsツールやライブラリとの統合は20以上あり、既に使用している可能性があります。
手作業、自家製、またはオープンソースのソリューションとは異なり、neptune.aiはスケーラブルな完全なコンポーネントであり、ユーザーアクセスの管理、開発者向けのユーザーエクスペリエンス、コラボレーション機能を備えています。
それは特にMLチームにとって価値があります。WaabiのAIチームが実験の追跡ワークフローを最適化するのにどのようにNeptuneが役立ったかの例をご覧ください。
「製品は私たちの実験のワークフローに非常に役立っています。私たちの会社のほぼすべてのプロジェクトは、現在のニーズを満たすようですべての実験をNeptuneを使用して追跡しています。また、これらの実験は組織内の誰でも閲覧できるため、実験の実行を参照したり、結果を共有したりするのが非常に簡単です。」- Waabiの研究科学者、ジェームズ・トゥ氏
- ドキュメントに入る
- チームとのカスタムデモを行いたい場合はお問い合わせください
Comet ML
Comet MLはクラウドベースの実験追跡と最適化プラットフォームです。データサイエンティストは、実験をログに記録し、比較し、可視化し、コード、ハイパーパラメータ、メトリック、出力を追跡することができます。Cometは、対話型の可視化、コラボレーション機能、人気のあるMLライブラリとの統合を提供し、実験追跡の包括的なソリューションとなっています。
AimStack
AimStackは、数千の追跡されたメタデータシーケンスを扱うために設計されたオープンソースのAIメタデータトラッキングツールです。トレーニングラン、プロンプトセッションなどを探索し比較するための高性能で直感的なUIを提供します。実験の進捗状況を追跡し、異なるアプローチを比較し、改善のための領域を特定するのに役立ちます。
データセットのラベリングと注釈
データセットのラベリングと注釈ツールは、モデルの高品質なトレーニングデータを準備するための重要なコンポーネントです。これらのツールは、データの注釈を容易にし、正確で一貫したラベリングを確保するための効率的なワークフローを提供します。
データセットのラベリングと注釈ツールの主な機能
データセットのラベリングと注釈ツールには次のような機能が含まれる必要があります:
- データモダリティのサポート:音声、パーケット、ビデオ、テキストデータなど、複数のデータタイプをサポートすること。センサーリーディングや3D磁気共鳴画像(MRI)医療データセットなどの特殊なデータセットタイプもサポートすること。
- 効率的なコラボレーション:注釈者間のシームレスなコラボレーションを可能にし、複数のユーザーが同時に作業し、進捗状況を追跡し、タスクを割り当て、効果的にコミュニケーションできるようにすること。これにより、効率的な注釈ワークフローが実現されます。
- 堅牢でカスタマイズ可能な注釈インターフェース:使いやすくカスタマイズ可能な注釈インターフェースは、注釈者がデータを簡単にラベル付けし、注釈付けを行うことができるようにするため、バウンディングボックス、ポリゴン、キーポイント、テキストラベルなどの機能を提供します。これにより、注釈の精度と一貫性が向上します。
- MLフレームワークとの統合:人気のあるMLフレームワークとのシームレスな統合により、注釈付きのデータセットを直接モデルのトレーニングと評価に使用することができます。これにより、データ変換の複雑さがなくなり、ML開発のワークフローが向上します。
- バージョニングと監査:注釈の異なるバージョンを追跡および管理する機能を提供し、包括的な監査機能を備えることで、注釈プロセス全体の透明性、再現性、責任を確保します。
- データ品質管理:頑健なデータセットのラベリングと注釈ツールは、相互注釈者間の一致分析、レビューワークフロー、データの検証チェックなどの品質管理メカニズムを組み込んでおり、注釈の正確性と信頼性を確保します。
- シームレスなデータのエクスポート:データセットのラベリングと注釈ツールは、注釈付きデータをJSON、CSV、TFRecordなどのさまざまな形式でシームレスにエクスポートできるようにする必要があります。これにより、注釈付きデータセットをMLワークフローに統合することが容易になります。
2023年のラベリングオプションは、エキスパートラベラーをサポートするツールやサービスから、クラウドソーシングサービス、サードパーティの注釈者、プログラムによるラベリングまで、さまざまなものがあります。
Labelbox
Labelboxは、共同注釈、品質管理、自動化などの機能と機能を提供するデータラベリングプラットフォームです。
Amazon SageMaker Ground Truth
SageMaker Ground Truthは、高品質な注釈を使用してトレーニングデータを効率的にラベル付けおよび注釈付けするための完全管理型のデータラベリングサービスです。
Scale AI
Scale AIは、画像、ビデオ、テキストデータのためのさまざまな注釈ツールを提供するデータ注釈プラットフォームです。
SuperAnnotate
SuperAnnotateは、画像とビデオの注釈タスクに特化したプラットフォームです。
Snorkel Flow
Snorkel Flowは、自動データラベリング、統合モデルトレーニングと分析、エンハンスドドメインエキスパートのコラボレーションを実現するデータ中心のAIプラットフォームです。
Kili
Kiliは、データサイエンティスト、機械学習エンジニア、ビジネスユーザーがデータを効率的かつ効果的にラベル付けするためにどこからでもアクセスできるクラウドベースのプラットフォームです。
Encord Annotate
Encord Annotateは、AIを補助とする画像注釈、ビデオ注釈、およびデータセット管理を行う自動注釈プラットフォームです。
データの保存とバージョン管理
データの整合性を保つために、データの保存とバージョン管理ツールが必要です。これにより、実験と分析の再現性が確保され、正確なMLモデルの開発と展開が可能になります。
データセットの保存とバージョン管理ツールの主な機能
頑強なデータセットの保存とバージョン管理ツールは、以下の機能を提供するべきです。
- 安全でスケーラブルなストレージ:データセットの保存とバージョン管理ツールは、大量のデータを安全に格納するためのスケーラブルなインフラストラクチャを提供し、データのプライバシーとアクセスおよび管理の可用性を確保します。
- データセットのバージョン管理:データセットのトラッキング、管理、バージョン管理の能力は、再現性と実験のために重要です。
- メタデータの管理:頑強なメタデータ管理機能により、データセットの説明、注釈、前処理手順、ライセンスの詳細などの関連情報をデータセットに関連付けることができ、データの組織化と理解を向上させることができます。
- コラボレーションのワークフロー:データセットの保存とバージョン管理ツールは、複数のユーザーが同時にデータセットにアクセスして貢献できるコラボレーションワークフローをサポートする必要があります。
- データの整合性と一貫性:これらのツールは、データの破損を検出し防止するためにチェックサムやハッシュ関数を実装することで、データの整合性を確保し、信頼性を維持します。
- MLフレームワークとの統合:人気のあるMLフレームワークとのシームレスな統合により、MLパイプライン内で保存されたデータセットを直接アクセスして利用できます。
DVC
DVCはデータセットとモデルのバージョン管理のためのオープンソースツールです。Gitと統合され、データバージョニングのためのGitのようなインターフェースを提供し、変更の追跡、ブランチの管理、データチームとの効果的な協力を可能にします。
Dolt
DoltはGit上に構築されたオープンソースのリレーショナルデータベースシステムです。従来のデータベースの機能とGitのバージョニングと協力機能を組み合わせています。Doltを使用すると、構造化データのバージョニング(DVCとの統合)、管理が容易になり、変更の追跡、協力、データの整合性の維持が容易になります。
LakeFS
LakeFSはデータレイクのバージョニングと管理機能を提供するオープンソースプラットフォームです。データレイクとクラウドオブジェクトストレージの間に位置し、データレイクの変更のバージョニングと管理をスケールで行うことができます。LakeFSはデータの再現性、協力、データガバナンスをデータレイク環境内で容易にします。
Pachyderm
Pachydermは、大規模なデータ処理とバージョニングに重点を置いたオープンソースのデータバージョニングとラインナッジツールです。データのラインナッジの追跡、バージョニング、再現性の機能を提供し、複雑なデータサイエンスワークフローの管理に適しています。
Delta Lake
Delta Lakeは、信頼性、ACIDトランザクション、データバージョニングを提供するオープンソースのストレージレイヤーです。Apache Sparkなどのビッグデータ処理フレームワークで大規模な構造化および非構造化データを高性能かつ耐久性を持って管理できます。Delta Lakeはデータの一貫性を確保し、ビッグデータワークフロー内で効率的なバージョニングと管理を可能にします。
データ品質の監視と管理
モデルのパフォーマンスに影響を与える可能性のある異常やシフトを特定するために、データ品質、一貫性、分布を継続的に監視したい場合があります。データ監視ツールはデータの品質を監視するのに役立ちます。データ管理は、データ資産を効果的に整理、保存、管理し、アクセシビリティ、セキュリティ、コンプライアンスを確保することを含みます。
これらの実践は、データの整合性を維持し、協力を促進し、再現性を容易にし、信頼性の高い正確な機械学習モデルの開発と展開をサポートするために重要です。
データ品質監視と管理ツールの主な機能
データ品質監視と管理は、次のような機能を提供します:
- データプロファイリング: ツールは包括的なデータプロファイリング機能を提供する必要があります。これにより、データセットの特性、統計情報、分布を分析し理解することができ、データ品質の問題に対する洞察が深まります。
- 異常検知: 効果的な異常検出メカニズムを使用すると、外れ値、欠損値などのデータの異常を識別し、MLモデルの正確性とパフォーマンスに影響を与える可能性のあるデータの異常をフラグ付けすることができます。
- データバリデーション: ツールは、バリデーションルールを定義し、データセットが事前に定義された基準と規格に準拠していることを確認するためのチェックを実行することで、データのバリデーションを容易にする必要があります。
- データクレンジング: 高品質なデータを維持するために、データのエラーや不整合、外れ値を検出および修正する能力は重要です。ツールは、データ補完、外れ値の削除、ノイズ低減技術などのデータクレンジングの機能を提供する必要があります。
- MLワークフローとの統合: MLワークフローとパイプラインとの統合により、データ品質監視と管理プロセスを全体的なML開発ワークフローに組み込むことができ、データ品質の継続的な監視と改善を保証します。
- 自動化とアラート機能: ツールは、データ品質監視タスクを効率化するための自動化機能を提供し、潜在的なデータ品質の問題について通知するアラートメカニズムを備えている必要があります。
- ドキュメンテーションと監査: ドキュメンテーションと監査機能が利用可能であれば、MLエンジニアはデータ品質の変化を時間の経過にわたって追跡できるため、透明性、再現性、データガバナンスポリシーの遵守が保証されます。
Great Expectations
Great Expectationsは、データ品質の検証と監視のためのオープンソースライブラリです。データ品質に関する期待を定義し、データのドリフトを追跡し、データの分布の変化を監視することができます。Great Expectationsはデータプロファイリング、異常検知、バリデーション機能を提供し、機械学習ワークフローのための高品質なデータを保証します。
Talend Data Quality
Talend Data Qualityは、データプロファイリング、クレンジング、モニタリング機能を備えた包括的なデータ品質管理ツールです。Talendを使用すると、データ品質を評価し、異常を特定し、データクレンジングプロセスを実装することができます。
モンテカルロ
モンテカルロは、データ品質の問題に対するリアルタイムな監視とアラート機能を提供する人気のあるデータ可観測性プラットフォームです。データパイプラインの障害、データの変化、異常を検出し、防止することができます。モンテカルロは、機械学習と分析のための高品質で信頼性のあるデータを確保するためのデータ品質チェック、プロファイリング、モニタリングの機能を提供します。
Soda Core
Soda Coreは、SQL、Spark、およびPandasでアクセス可能なデータのためのオープンソースのデータ品質管理フレームワークです。データ品質チェックの定義と検証、データパイプラインのモニタリング、リアルタイムでの異常の特定が可能です。
Metaplane
Metaplaneは、データ品質のモニタリングと管理を提供するプラットフォームで、データプロファイリング、品質チェック、ラインエージを備えています。データパイプラインの可視化、リアルタイムでのデータ品質の監視、データの問題の特定と対処をサポートします。Metaplaneは、共同作業、異常検出、データ品質ルールの管理をサポートしています。
Databand
Databandは、データワークフローを監視・管理するデータパイプライン可観測性プラットフォームです。データラインエージ、データ品質モニタリング、データパイプラインのオーケストレーションに関する機能を提供します。データ品質を追跡し、パフォーマンスのボトルネックを特定し、データパイプラインの信頼性を向上させることができます。
フィーチャーストア
フィーチャーストアは、MLフィーチャーを保存、管理、提供するための中央リポジトリを提供し、モデルのトレーニングと提供の両方でフィーチャーの値を検索・共有できるようにします。
フィーチャーストアの主な機能
信頼性のあるフィーチャーストアのツールは、次のような機能を提供するべきです:
- フィーチャーエンジニアリングパイプライン:効果的なフィーチャーストアのツールは、データ変換とフィーチャー抽出のステップを含むフィーチャーエンジニアリングパイプラインを定義・管理できるようにすることで、高品質のMLフィーチャーを生成します。
- フィーチャーサービング:フィーチャーストアのツールは、効率的なサービング機能を提供する必要があります。これにより、モデルのトレーニング、推論、リアルタイムの予測に使用するMLフィーチャーを取得・提供できます。
- スケーラビリティとパフォーマンス:フィーチャーストアのツールは、大量のデータを処理し、リアルタイムのフィーチャー取得をサポートするためのスケーラビリティとパフォーマンスの最適化を提供する必要があります。これにより、効率的かつ応答性の高いMLワークフローが確保されます。
- フィーチャーバージョニング:ツールは、MLフィーチャーのバージョニングをサポートする必要があります。これにより、変更の追跡、異なるバージョンの比較、トレーニングとサービングのためのフィーチャー処理技術の一貫性が確保されます。
- フィーチャーバリデーション:ツールは、MLフィーチャーの品質と整合性を検証するメカニズムを提供する必要があります。これにより、データの不整合、欠損値、外れ値を検出し、MLモデルの正確性とパフォーマンスに影響を与える可能性がある問題を検知できます。
- フィーチャーメタデータ管理:ツールは、MLフィーチャーに関連するメタデータの管理をサポートする必要があります。これには、説明、データソース、変換ロジック、統計的な特性などが含まれます。これにより、透明性とドキュメンテーションが向上します。
- MLワークフローとの統合:MLワークフローとパイプラインとの統合は、フィーチャーエンジニアリングとフィーチャーサービングプロセスを全体のML開発ライフサイクルに統合するのに役立ちます。これにより、モデル開発ワークフローを再現可能にすることができます。
2023年には、より多くの企業がフィーチャーストアとセルフサーブのフィーチャープラットフォームを構築し、チームやプロジェクト間でのフィーチャーの共有と検索を実現しています。
Feast
Feastは、MLOpsワークフローでのフィーチャーの管理、提供、発見を行うための中央集権型かつスケーラブルなオープンソースのフィーチャーストアです。機械学習モデルのトレーニングと推論のためのフィーチャーを定義、保存、提供することができます。Feastは、バッチおよびリアルタイムのフィーチャーサービングをサポートし、異なるMLライフサイクルの段階でのフィーチャーの効率的なアクセスと再利用を可能にします。
Tecton
Tectonは、フィーチャーのエンドツーエンドライフサイクルを管理するためのフィーチャープラットフォームです。既存のデータストアと統合し、フィーチャーエンジニアリング、フィーチャーストレージ、サービング、モニタリングのコンポーネントを提供し、チームの生産性を向上させ、MLパイプラインを運用化するのに役立ちます。
Hopsworks Feature Store
Hopsworks Feature Storeは、データ集約型のMLワークロード向けのオープンソースのフィーチャープラットフォームです。Hopsworks Feature Storeを使用して、データエンジニアリングとMLOpsワークフローをサポートしながら、機械学習モデル用のフィーチャーを構築、管理、提供できます。データのラインエージ、ガバナンス、共同作業を確保します。これにより、データエンジニアリングとMLOpsワークフローのエンドツーエンドサポートが提供されます。
Featureform
Featureformは、任意のデータインフラストラクチャと共に使用できるオープンソースの仮想特徴ストアです。データサイエンスチームに以下のようなサポートができます。
- 特徴エンジニアリングの障壁を取り除く
- バージョン管理を通じて時間の経過とともに特徴を管理する
- 組織全体で特徴を共有する
- データプロファイリング、特徴のドリフト検出、特徴の影響分析など、特徴の品質管理のためのツールを提供する
Databricks Feature Stores
Databricks Feature Storeは、機械学習ワークフローで特徴を管理するための集中管理およびスケーラブルなソリューションです。統合されたリポジトリを活用して特徴を保存、検索、提供することができ、重複を排除しコードの再利用性を向上させることができます。Apache SparkとDelta Lakeとの統合により、効率的なデータ処理が可能であり、データの整合性とバージョン管理が保証されます。オフラインストア(主にバッチ推論用)とオンラインストア(リアルタイムスコアリング用の低遅延DB)を提供しています。
バージョン管理、メタデータ管理、特定時点でのルックアップ、データの起源などの機能により、Databricks Feature Storeはコラボレーションを向上させ、生産性を向上させ、データサイエンティストが繰り返しの特徴エンジニアリング作業ではなくモデル開発に集中できる環境を提供します。
Google Cloud Vertex AI Feature Store
Google Cloud Vertex AI Feature Storeは、機械学習ワークロード向けの特徴管理サービスです。チームに特徴の保存、検索、提供の機能を提供します。
Vertex AI Feature Storeを使用すると、データサイエンティストはプロジェクト間で特徴をアクセスし再利用することができ、バージョン管理およびメタデータ管理の機能を活用し、他のGoogle Cloudサービスとシームレスに統合することができます。これにより、MLOpsパイプラインをスムーズにすることができます。
モデルハブ
モデルハブは、MLモデルの管理、共有、展開を一元化するプラットフォームです。モデルの管理を効率化し、コラボレーションを促進し、MLモデルの展開を加速することができます。
モデルハブの主な機能
モデルハブは、次のような機能を提供する必要があります。
- モデルの検索: モデルハブツールは、パフォーマンスメトリックス、ドメイン、アーキテクチャ、または特定の要件に基づいて関連するモデルを探索し見つけるための検索機能を提供します。
- モデルの共有: ツールは、他のチームメンバーや組織全体とMLモデルを共有するためのメカニズムを提供し、コラボレーション、知識共有、事前トレーニング済みモデルの再利用を促進します。
- モデルメタデータの管理: ツールは、MLモデルに関連するメタデータの管理をサポートします。説明、解決するタスクの種類、パフォーマンスメトリックス、トレーニング構成、バージョン履歴などの情報を管理し、モデルのドキュメント作成と再現性を容易にします。
- MLワークフローとの統合: MLワークフローやパイプラインとの統合により、モデルハブの機能をML開発ライフサイクルに組み込むことができ、モデルのトレーニング、評価、展開プロセスを簡素化することができます。
- モデルガバナンスとアクセス制御: モデルハブツールは、アクセス制御、使用許可、共有ポリシーの設定に対するガバナンス機能を提供し、データプライバシー、セキュリティ、規制要件の遵守を保証します。モデルカードの含まれた良い実装例です。
- モデルの展開: モデルハブツールは、モデルの機能をテストし、クラウドプラットフォーム、エッジデバイス、オンプレミスインフラストラクチャなど、さまざまな環境にMLモデルをシームレスに展開するための推論APIを提供します。
- モデルのバージョン管理: ツールは、モデルハブ内でのMLモデルのバージョン管理をサポートし、変更の追跡、異なるバージョンの比較、MLモデルのトレーニングと展開時の再現性を確保します。
Hugging Face Models Hubs
Hugging Face Model Hubは、さまざまなMLタスクに対して事前トレーニングされたモデルを共有、発見、利用するための人気のあるプラットフォームおよびエコシステムです。Hugging Faceコミュニティのメンバーは、モデルのチェックポイントをすべてホストし、簡単な保存、発見、共有ができます。トランスフォーマーなどの最先端のアーキテクチャを含む、テキスト分類、感情分析、質問応答などのタスクに対する広範なモデルのコレクションを提供しています。
豊富な言語サポートと主要なディープラーニングフレームワークとの統合により、Model Hubは事前トレーニングされたモデルとライブラリを既存のワークフローに簡単に統合することができ、研究者、開発者、データサイエンティストにとって貴重なリソースとなります。
Kaggle Models
Kaggle Modelsを使用すると、データサイエンティストはKaggleでトレーニング済みの数百の機械学習モデルを検索し、発見し、共有することができます。また、コンペティションから事前トレーニングされたモデルを共有することもできます。事前トレーニングされたモデルを使用して、機械学習モデルを迅速かつ簡単に構築することができます。
Tensorflow Hub
TensorFlow Hubは、特定のデータセットでトレーニングされた機械学習モデルのリポジトリであり、または自分のユースケースに作成されたモデルを提供することもできます。さまざまなMLモデルをライブラリやWeb API呼び出しとして無料で利用できるため、転移学習を可能にします。単一のコード行でモデル全体をソースコードのランタイムにダウンロードできます。
問題ドメインは以下のように分類されます:
- テキスト: 言語モデリング、テキスト検索、質問応答、テキスト生成、要約など
- 画像: 分類、物体検出、スタイル転送など
- ビデオ: ビデオ分類、生成、音声、テキストなど
- オーディオ: 音声からテキストの埋め込みや音声合成など
ハイパーパラメータ最適化
2023年現在、ハイパーパラメータ最適化ツールの風景はあまり変わっていません。業界でトップのツールは変わらず存在しています。
Optuna
Optunaは、Pythonでのオープンソースのハイパーパラメータ最適化フレームワークです。柔軟でスケーラブルなソリューションを提供し、最適なハイパーパラメータ構成の検索を自動化します。Optunaは、木構造パルゼン推定器(TPE)やグリッドサーチなどのさまざまな最適化アルゴリズムをサポートし、検索空間と目的関数を定義するためのユーザーフレンドリーなインターフェースを提供します。
Hyperopt
Hyperoptは、他の最適化アルゴリズムと組み合わせた、ハイパーパラメータ最適化のためのオープンソースのライブラリです。ランダムサーチ、パルゼン推定器の木(TPE)などを組み合わせて使用します。Hyperoptは、検索空間と目的関数を定義するためのシンプルなインターフェースを提供し、複雑なハイパーパラメータ構成の最適化に特に適しています。
SigOpt
SigOptは、データサイエンスと機械学習チームがモデルを最適化するための商用ハイパーパラメータ最適化プラットフォームです。ベイジアン最適化を含むさまざまな最適化アルゴリズムを提供し、ハイパーパラメータ空間を効率的に探索します。
このプラットフォームは、人気のある機械学習ライブラリやフレームワークとの統合が容易であり、既存のワークフローに簡単に組み込むことができます。SigOptの注目すべき機能の一つは、「ブラックボックス」最適化の処理が可能であることであり、プロプライエタリや機密性の高いアーキテクチャを持つモデルの最適化に適しています。
モデル品質テスト
モデル品質テストツールは、MLモデルの信頼性、頑健性、および精度を確保するための機能を提供します。
モデル品質テストツールの主な機能
モデル品質テストツールには、以下のような機能が必要です:
- モデル評価手法: MLモデルのパフォーマンスを評価するための評価手法。精度、適合率、再現率、F1スコア、曲線下の面積(AUC)などのメトリクスを使用して、モデルの効果を客観的に評価します。
- パフォーマンスメトリクス: ツールは、異なるドメインやタスクにわたるモデル品質を評価するためのさまざまなパフォーマンスメトリクスを提供する必要があります。分類問題のAUC、F1スコア、物体検出の平均適合率(mAP)、言語モデルのperplexityなどのメトリクスが含まれます。
- エラー分析: モデル品質テストツールは、MLモデルが行うエラーのタイプを理解し特定するためのエラー分析を支援するべきです。これにより、モデルの弱点を把握し、改善のための優先順位を付けることができます。
- モデルバージョニングと比較: モデル品質テストツールは、異なるモデルバージョンのパフォーマンスを比較し、変更のモデル品質への影響を追跡するためのモデルバージョニングと比較をサポートする必要があります。
- ドキュメンテーションとレポート: ツールは、モデル品質テストプロセスの文書化、実験構成のキャプチャ、レポートの生成などの機能を提供する必要があります。これにより、透明性、再現性、およびコラボレーションが容易になります。
- MLワークフローとの統合: モデル品質テストプロセスを全体のML開発ライフサイクルに組み込むためのMLワークフローやパイプラインとの統合をサポートする必要があります。これにより、モデル品質の継続的なテストと改善が確保されます。
- フェアネステスト: 倫理的なAIの文脈において、ツールはフェアネステストの機能を提供し、異なる人口グループや機密属性にわたるモデルの予測の偏りや格差を評価および緩和することができます。
Deepchecks
Deepchecksは、最小限の努力で機械学習モデルとデータを包括的に検証するためのPythonパッケージです。これには、モデルのパフォーマンス、データの整合性、分布の不一致など、さまざまな問題に関連するチェックが含まれます。
Truera
Trueraは、機械学習モデルの信頼性と透明性を実現するために設計されたモデルインテリジェンスプラットフォームです。モデルの品質保証に焦点を当て、データサイエンスチームがモデルのリスクを特定し軽減するのに役立ちます。Trueraには、モデルのデバッグ、説明可能性、公平性評価などの機能があり、モデルの振る舞いに対する洞察を得て、潜在的な問題やバイアスを特定するのに役立ちます。詳細はドキュメントを参照してください。
Kolena
Kolenaは、チームの統一と信頼性を構築するための厳格なテストとデバッグのプラットフォームです。また、結果と洞察を記録するためのオンラインプラットフォームも含まれています。Kolenaは、主に大規模なMLユニットテストと検証プロセスに焦点を当てています。以下の機能を提供します。
- Data Studio: プロジェクト内のテストシナリオを検索し、エッジケースを特定するためのツール
- Test Case Manager: テストスイートとテストケースを管理・制御し、テストカバレッジを可視化するツール
- Debugger: モデルのエラーを分析し、新しいテストシナリオを特定するためのツール
Web上のapp.kolena.ioを介してインターフェースを提供し、Kolena Pythonクライアントを介してプログラム的に操作することができます。
ワークフローのオーケストレーションとパイプラインツール
ワークフローのオーケストレーションとパイプラインツールは、複雑なMLワークフローの効率化と自動化に欠かせないコンポーネントです。
ワークフローのオーケストレーションとパイプラインツールの主な機能
ワークフローのオーケストレーションとパイプラインツールは、以下の機能を提供する必要があります。
- タスクのスケジューリングと依存関係の管理: ワークフローのオーケストレーションとパイプラインツールは、タスク間の依存関係を定義し、正しい順序で自動的に実行するための堅牢なスケジューリング機能を提供し、スムーズなワークフローの実行を保証します。
- ワークフローのモニタリングと可視化: ワークフローのオーケストレーションとパイプラインツールは、ワークフローの進捗状況を追跡し、リソースの使用状況を監視し、ワークフローの依存関係を可視化するためのモニタリングと可視化機能を提供します。これにより、より良い洞察とトラブルシューティングが可能になります。
- 再現性とバージョン管理: ワークフローのオーケストレーションとパイプラインツールは、コードバージョン、データセット、依存関係を含むワークフローの設定全体をキャプチャして再現性をサポートする必要があります。これにより、再現性とデバッグのために過去の実行を追跡することができます。
- MLフレームワークとの統合: ワークフローのオーケストレーションとパイプラインツールは、一般的なMLフレームワークとの統合をサポートする必要があります。これにより、モデル開発において好みのMLライブラリやツールを活用し、ワークフローのオーケストレーションとパイプラインシステム内での互換性と柔軟性を確保できます。
- エラーハンドリングと再試行メカニズム: ツールは、信頼性と回復力を確保するために、堅牢なエラーハンドリングと再試行メカニズムを提供する必要があります。これにより、障害や失敗したタスク、例外的なケースを優雅に処理できます。
- 分散コンピューティングとスケーラビリティ: 大規模なMLワークフローを処理するための分散コンピューティング機能を備えているため、分散コンピューティングフレームワークやクラウドインフラストラクチャを活用してワークフローをスケールアップし、大量のデータを処理することができます。
ZenML
ZenMLは、ポータブルで本番向けのMLOpsパイプラインを構築するための拡張可能なオープンソースのMLOpsフレームワークです。データサイエンティストとMLOpsエンジニアが協力して本番向けの開発を行うために作られています。詳細なコンセプトについては、ドキュメントを参照してください。
Kedro Pipelines
Kedroは、モジュラーなデータサイエンスパイプラインを構築するためのPythonライブラリです。Kedroは、再利用可能なコンポーネントから構成されるデータサイエンスワークフローを作成する際にお手伝いし、データパイプライニングのスピードアップ、データサイエンスのプロトタイピングの改善、パイプラインの再現性の促進を目指しています。Kedroのドキュメントをチェックしてください。
Flyte
Flyteは、大規模なMLパイプラインのオーケストレーションのためのプラットフォームです。Flyteを使用すると、デプロイメント、メンテナンス、ライフサイクル管理、バージョン管理、トレーニングなどのタスクを実行することができます。また、FeastやPyTorch、TensorFlow、Whylogsなどのプラットフォームやパッケージと統合することもできます。Samhita Alla氏によるこの記事では、MLOpsでのFlyteの応用について簡単な解説がされています。詳細については、ドキュメントを参照してください。
プリフェクト
プリフェクトは、データパイプラインや複雑なワークフローのオーケストレーションを簡素化するオープンソースのワークフロー管理システムです。タスクのスケジューリング、依存関係の管理、エラーハンドリングなどの機能を提供し、データワークフローの効率的かつ信頼性の高い実行を保証します。
Pythonベースのインフラストラクチャと使いやすいダッシュボードを備えたプリフェクトは、データエンジニアリングおよびデータサイエンスチームの生産性と再現性を向上させます。
Mage AI
Mageは、データの変換と統合のためのデータパイプラインを構築、実行、管理するためのオープンソースのツールです。以下の機能があります:
- オーケストレーション:監視可能なデータパイプラインのスケジュールと管理。
- ノートブック:データパイプラインのコーディング用のインタラクティブなPython、SQL、およびRエディタ。
- データ統合:サードパーティのソースから内部のデスティネーションにデータを同期する機能。
- ストリーミングパイプライン:リアルタイムデータの受信と変換。
- dbtとの統合:DBTモデルの構築、実行、管理のための統合。
モデルの展開とサービング
モデルの展開とサービングツールは、トレーニング済みモデルを本番環境に展開し、エンドユーザーや下流システムに予測を提供する機能を提供します。
モデルの展開とサービングツールの主な機能
モデルの展開とサービングツールは、次のような機能を提供する必要があります:
- 展開プラットフォームとの統合:クラウドサービスやコンテナオーケストレーションフレームワークなどの展開プラットフォームとの互換性と統合により、選択したインフラストラクチャ上でMLモデルを展開および管理することができます。
- モデルのバージョニングと管理:頑健なバージョニングと管理機能を備え、異なるバージョンのMLモデルを展開および提供し、モデルのパフォーマンスを追跡し、必要に応じて以前のバージョンに戻すことができます。
- APIとエンドポイントの管理:エンドポイントの定義と管理、認証と認可の処理、展開されたMLモデルにアクセスするための便利なインターフェースの提供など、APIとエンドポイントの管理機能を含める必要があります。
- 自動スケーリングと負荷分散:自動スケーリングと負荷分散の機能を提供し、さまざまなワークロードを処理し、展開されたモデルの複数のインスタンス間で受信リクエストを効率的に分散します。
- モデルの設定とランタイムの柔軟性:モデルの設定とランタイム環境の柔軟性を含める必要があります。モデルの設定をカスタマイズしたり、リソースの割り当てを調整したり、展開要件に最適なランタイム環境を選択したりすることができます。
- 異なる展開パターンのサポート:バッチ処理、リアルタイム(ストリーミング)推論、推論プロセッサ(REST APIまたは関数呼び出しの形式)のサポートが必要です。
BentoML
BentoMLは、本番環境での機械学習のためのオープンプラットフォームです。モデルのパッケージングとモデルの管理を簡素化し、本番環境でのモデルのサービングワークロードを最適化し、予測サービスの作成、展開、およびモニタリングを加速します。
Seldon Core
Seldon Coreは、Kubernetes上での大規模なマシンラーニングモデルと実験の展開を容易かつ迅速に行うためのフレームワークを備えたオープンソースプラットフォームです。
これは、クラウドに依存しない、安全で信頼性の高いシステムであり、一貫したセキュリティおよび更新ポリシーによって維持されています。
Seldon Coreの概要:
- 事前パッケージ化された推論サーバー、カスタムサーバー、または言語ラッパーを使用してMLモデルをコンテナ化する簡単な方法。
- 予測子、トランスフォーマー、ルーター、コンバイナーなどの強力で豊富な推論グラフ。
- モデルがそれぞれのトレーニングシステム、データ、およびメトリックに遡及できるメタデータの起源。
- PrometheusおよびGrafanaとの統合を備えた高度でカスタマイズ可能なメトリック。
- Elasticsearchとのロギング統合によるモデル入出力リクエストの完全な監査。
NVIDIA Triton Inference Server
NVIDIA Triton Inference Serverは、ディープラーニングモデルの統一された管理およびサービングインターフェースを提供するオープンソースソフトウェアです。TensorFlow、PyTorch、ONNXなどのさまざまなディープラーニングフレームワークをサポートし、本番環境での機械学習モデルの展開とスケーリングをサポートします。
Triton Inference Serverは、データサイエンティストや機械学習エンジニアにとって貴重なツールです。これにより、以下のことが可能になります:
- 機械学習モデルを迅速かつ容易に本番環境に展開する。
- 需要に応じて機械学習モデルをスケーリングする。
- 単一のインタフェースから複数の機械学習モデルを管理する。
- 機械学習モデルのパフォーマンスを監視する。
NVIDIA TensorRT
NVIDIA TensorRTは、低遅延かつ高スループットの推論アプリケーションを提供する高性能なディープラーニング推論最適化およびランタイムです。これを使用して、NVIDIA GPU上でディープラーニングモデルの推論を高速化することができます。
TensorRTは、データサイエンティストや機械学習エンジニアにとって関連性があります。なぜなら、TensorRTを使用することで以下のことが可能になるからです:
- モデルの推論パフォーマンスを向上させる。TensorRTは、NVIDIA GPU上でディープラーニングモデルを最適化することができ、大幅なパフォーマンス向上をもたらすことがあります。
- モデルのサイズを削減する。TensorRTは、ディープラーニングモデルのサイズを削減することもできます。これにより、モデルの展開と使用が容易になります。
- モデルをより効率的にする。TensorRTは、特定のハードウェアプラットフォームに最適化することで、ディープラーニングモデルをより効率的にすることができます。
OctoML
OctoMLは、エンジニアが任意のハードウェア、クラウドプロバイダ、またはエッジデバイス上で機械学習モデルを迅速に展開するのを支援する機械学習アクセラレーションプラットフォームです。これは、オープンソースのApache TVMコンパイラフレームワークプロジェクトの上に構築されています。
OctoMLには、機械学習モデルを展開するための良い選択肢となるいくつかの機能があります。これらの機能には、次のものが含まれます:
- 統一されたモデル形式:異なるハードウェアやクラウドプロバイダでモデルを展開しやすくする統一されたモデル形式。
- 事前学習済みモデルリポジトリ:事前学習済みモデルを見つけて展開するためのモデルリポジトリ。
- モデル展開パイプライン:本番環境へのモデル展開を容易にするモデル展開パイプライン。
- モデル監視ダッシュボード:展開されたモデルのパフォーマンスを監視するためのモデル監視ダッシュボード。
モデルの可観測性
モデルの可観測性ツールを使用すると、展開された機械学習モデルの動作、パフォーマンス、および健全性についての洞察を得ることができます。
モデルの可観測性ツールの主な機能
モデルの可観測性ツールは、次のような機能を提供する必要があります:
- ログ記録とモニタリング:展開された機械学習モデルに関連する主要なメトリック、イベント、およびシステムの動作のログ記録とモニタリングを可能にし、リアルタイムでモデルのパフォーマンス、リソース使用状況、および予測を可視化します。
- モデルのパフォーマンストラッキング:正確性、精度、再現率などのメトリックを含む、モデルのパフォーマンスを時間の経過とともに追跡および分析し、モデルの効果の包括的なビューを提供します。
- データドリフトとコンセプトドリフトの検出:入力データの分布の変化であるデータドリフトと、入力と出力の関係の変化であるコンセプトドリフトを検出および監視する機能を備えており、データパターンの変化に関連する問題を特定し解決できます。
- アラートと異常検知:ツールは、重要なイベント、パフォーマンスの偏差、またはモデルの振る舞いの異常をMLエンジニアに通知するアラート機構を提供し、タイムリーな対応とトラブルシューティングを可能にします。
- 可視化とダッシュボード:モデルの振る舞い、パフォーマンスのトレンド、または特徴の重要性を情報豊かでインタラクティブな可視化とカスタマイズ可能なダッシュボードで作成します。
- モデルのデバッグと原因分析:モデルのパフォーマンス、予測、または入力データに関連する問題の調査と診断を支援するためのモデルのデバッグと原因分析のツールを提供します。
- コンプライアンスと規制要件:データプライバシー、説明可能性、公平性などのコンプライアンスと規制要件に対応するための機能を提供し、展開されたモデルが倫理的および法的基準に準拠していることを保証します。
- MLワークフローと展開パイプラインとの統合:これにより、モデルの可観測性プロセスを開発ライフサイクルに組み込んで、展開された機械学習モデルの継続的なモニタリングと改善を保証できます。
WhyLabs
WhyLabsは、データサイエンティストや機械学習エンジニアがAIモデルとそれらを供給するデータパイプラインの健全性を監視するのを支援するAI可観測性プラットフォームです。モデルのパフォーマンスのモニタリング、ドリフトの検出、データ品質の問題の特定など、さまざまなツールを提供しています。
WhyLabsは、データサイエンティストや機械学習エンジニアに関連があります。なぜなら、以下のことを支援するからです:
- モデルの品質と正確性を確保する。
- データのドリフトを検出する。
- データ品質の問題を特定する。
Arize AI
Arize AIは、データサイエンティストと機械学習エンジニアがモデルを本番環境で監視しトラブルシューティングするのを支援する機械学習の可観測性プラットフォームです。モデルのパフォーマンスをモニタリングし、ドリフトを検出し、データ品質の問題を特定するためのさまざまなツールを提供します。
Mona
Monaは、データサイエンティストと機械学習エンジニアに、AIシステムの可視化を向上させるエンドツーエンドのモニタリングソリューションを提供します。時間とともにシステムの挙動に関する情報の単一のソースを確保することから始まります。継続的に主要なパフォーマンス指標を追跡し、挙動の不正な部分についての積極的な洞察を提供することで、チームが予防的で効率的な是正措置を取ることができるようにします。
Monaはリアルタイムの洞察を提供することで、問題が表面化する数週間または数ヶ月前に問題を検出し、異常を迅速に解決することができます。
Superwise
Superwiseは、データサイエンティストと機械学習エンジニアがモデルを本番環境で監視しトラブルシューティングするのを支援するモデルの可観測性プラットフォームです。モデルのパフォーマンスをモニタリングし、ドリフトを検出し、データ品質の問題を特定するためのさまざまなツールを提供します。
Superwiseは、データサイエンティストと機械学習エンジニアがAIモデルの品質と正確性を確保するのに役立つ強力なツールです。
Evidently AI
Evidently AIはオープンソースのMLモデルモニタリングシステムです。開発、検証、または本番モニタリング中の機械学習モデルを分析するのに役立ちます。このツールはPandas DataFrameからインタラクティブなレポートを生成します。
Aporia
Aporiaは、機械学習の可観測性のためのプラットフォームです。さまざまな業界のデータサイエンスと機械学習チームが、モデルの挙動をモニタリングし、ピークのモデルパフォーマンスを保証し、本番の機械学習を簡単にスケールさせるためにAporiaを使用しています。Aporiaでは、すべての機械学習ユースケースとモデルタイプをサポートし、ML可観測性体験を完全にカスタマイズすることができます。
責任あるAI
責任あるAIツールを使用することで、MLモデルを倫理的で公正、責任ある技術を用いて展開することができます。
責任あるAIツールの主な機能
責任あるAIツールは、次の機能を備えるべきです:
- 公平性評価: MLモデルの公平性を評価し、異なる人口グループや敏感な属性にわたるバイアスや差別的な振る舞いを特定する機能。
- 説明性と解釈性: MLモデルによって行われた決定を説明し解釈するための機能。
- 透明性と監査: MLモデルの透明性と監査を容易にし、モデルの開発と展開プロセス全体を追跡およびドキュメント化する機能。
- 堅牢性とセキュリティ: MLモデルの堅牢性とセキュリティに対処し、敵対的な攻撃やモデルの改ざんに対する防御技術を含む機能。これにより、悪意のある利用や予期しない脆弱性からMLシステムを保護します。
- 規制の遵守: データ保護の規制(例:GDPR)、業界固有のガイドライン、公平性の規制などの規制要件と業界基準に準拠するのを支援する機能。
- 倫理とガバナンス: MLシステムに倫理的な考慮事項とガバナンスプラクティスを取り入れるためのガイドラインとフレームワークを提供する機能。
- バイアスの緩和: MLモデル内のバイアスを緩和するための技術とアルゴリズムを含む機能。トレーニングデータやモデルの予測に存在する望ましくないバイアスを対処し削減することができます。
Arthur AI
Arthur AIは、データサイエンティストと機械学習エンジニアが自分のモデルの動作を理解するのを支援する機械学習の説明性プラットフォームです。モデルの予測を説明するためのさまざまなツールを提供します。これには次のものがあります:
- 特徴の重要性: モデルの予測において各特徴がどれだけ重要かを示す機能。
- 感度分析: 単一の特徴が変更された場合にモデルの予測がどのように変化するかを示す機能。
- カウンターファクトの説明: モデルの予測を変更するために入力をどのように変更する必要があるかを示す機能。
Fiddler AI
Fiddler AIは、モデルのモニタリングと説明可能なAIのプラットフォームであり、データサイエンティストと機械学習エンジニアが自分のモデルの動作を理解するのを支援します。モデルの予測を説明するためのさまざまなツールを提供します。
- 特徴の重要度:モデルの予測において各特徴がどれだけ重要かを示す。
- 感度分析:単一の特徴が変化した場合にモデルの予測がどのように変化するかを示す。
- 反事実的な説明:モデルの予測を変えるためには入力にどのような変更が必要かを示す。
インフラストラクチャ:計算、ツール、およびテクノロジー
計算とインフラストラクチャのコンポーネントは、機械学習(ML)システムの重要な要素であり、MLモデルのトレーニング、展開、およびスケールでの実行に必要なリソースと環境を提供します。
計算とインフラストラクチャツールの主要な機能
インフラストラクチャツールは、以下の機能を提供する必要があります:
- リソース管理:効率的なリソース管理のための機能を提供し、MLワークロードの要件に基づいてCPU、GPU、またはTPUなどの計算リソースを割り当ててプロビジョニングできるようにします。これにより、リソースの最適な利用とコスト効率が実現されます。
- 分散コンピューティング:並列処理、分散トレーニング、またはデータパーティショニングを活用するための分散コンピューティングフレームワークやテクノロジーをサポートします。
- 監視とパフォーマンス最適化:MLワークロードのパフォーマンスを追跡し、リソース使用状況を監視し、コンピューティングのボトルネックを検出し、MLシステム全体のパフォーマンスを最適化するための監視とパフォーマンス最適化の機能を提供します。
- 高可用性と障害耐性:ハードウェアの障害、ネットワークの中断、システムのクラッシュなどに対処するメカニズムを提供し、MLシステムの信頼性と中断のない運用を確保します。
- クラウドとオンプレミスのインフラストラクチャとの統合:クラウドプラットフォーム、オンプレミスのインフラストラクチャ、またはハイブリッド環境と統合し、特定のニーズと好みに基づいて異なる展開モデルとインフラストラクチャオプションの利点を活用します。
- セキュリティとデータプライバシー:暗号化、アクセス制御、およびデータ保護規制の遵守などのセキュリティ対策とデータプライバシー保護を組み込みます。これにより、ML操作中のデータの機密性と完全性が保たれます。
- コンテナ化と仮想化:コンテナ化と仮想化の技術を容易にし、MLモデル、依存関係、およびランタイム環境をポータブルなコンテナにパッケージ化することができます。
- スケーラビリティと弾力性:スケーラビリティと弾力性の機能を提供し、MLワークロードの需要に基づいて計算リソースを簡単にスケールアップまたはスケールダウンできるようにします。
Rayオープンソース
Anyscaleは、スケーラブルなコンピューティングのための統一フレームワークであるRayを開発しています。Rayオープンソースは、ラップトップからクラウドへのワークロードやアプリケーションを複雑なインフラストラクチャの構築や専門知識なしにシームレスにスケーリングするためのオープンソースで統一されたフレームワークです。
Nuclio
Nuclioは、データ、I/O、および計算集中型のワークロードに焦点を当てた高性能な「サーバーレス」フレームワークです。JupyterやKubeflowなどの人気のあるデータサイエンスツールとの統合が良く、さまざまなデータソースやストリーミングソースをサポートし、CPUとGPU上で実行することができます。
Run:ai
Run.aiは、AIおよび深層学習ワークロードのためのGPU計算リソースを最適化し、オーケストレーションを行います。下層のインフラストラクチャからワークロードを抽象化し、動的にプロビジョニングできる共有リソースプールを作成することで、高価なGPUを最大限に活用するAIワークロードの仮想化レイヤーを構築します。
単一のWebベースのUIから、実行時、キューイング、およびGPUの利用状況を含むリアルタイムの可視性を保持し、プロビジョニングすることができます。
MosaicMLプラットフォーム
MosaicMLプラットフォームは、LLMを微調整する場合に次の主要な利点を提供します:
- 複数のクラウドプロバイダー:異なるクラウドプロバイダーのGPUを利用するためのアカウント設定や必要な統合の手間をかけずに利用することができます。
- LLMトレーニングの設定:コンポーザライブラリには、さまざまなモデルのトレーニングとトレーニング目標のタイプに合わせたチューニング済みの設定があります。
- 管理されたインフラストラクチャ:オーケストレーション、効率最適化、および障害耐性(ノードの障害からの回復など)のための管理されたインフラストラクチャを提供します。
GPUクラウドサーバー
2023年には、GPUクラウドのベンダーも人気が急増しました。ベンダーのオファリングは2つのクラスに分けられます:
- GPUクラウドサーバーは、長期間実行される(ただし、事前に割り込み可能な場合もあります)マシンです。
- サーバーレスGPUは、トラフィックがない場合にはゼロにスケーリングされるマシンです。
Paperspace
Paperspaceは、モデルの構築、トレーニング、展開に利用できるGPUアクセラレート仮想マシンを提供する高性能クラウドコンピューティングプラットフォームです。人気のあるフレームワークとツールを事前に設定したインスタンスを提供し、データサイエンティストのセットアッププロセスを簡素化しています。
使いやすいインターフェースと柔軟な価格オプションにより、Paperspaceは強力なGPUリソースへの簡単なアクセスを可能にし、クラウドでの機械学習モデルのトレーニングと推論を迅速化します。
Lambda
Lambda GPUクラウドは、Lambda Labsが提供するクラウドベースのプラットフォームで、機械学習やディープラーニングのタスクに対応したGPUアクセラレート仮想マシンを提供しています。事前にインストールされたフレームワーク、使いやすいインターフェース、柔軟な価格オプションを備えています。Lambda GPUクラウドを使用することで、クラウド上の強力なGPUリソースに簡単にアクセスでき、機械学習モデルの開発と展開を簡素化することができます。
サーバーレスGPU
Modal
Modalは、クラウドベースの暗号化ソリューションを提供するプラットフォームです。クラウドでコードを書き実行し、カスタムコンテナを起動することができます。コード内でコンテナ環境を定義するか、事前に構築されたバックエンドを利用することができます。
Baseten
Basetenは、オートスケーリング、GPUアクセス、CRONジョブ、サーバーレス関数を備えたサーバーレスバックエンドで、MLパワードアプリケーションを構築するためのプラットフォームです。モデルトレーニングワークフローに依存せず、どのフレームワークでトレーニングされたモデルでも動作します。
ベクトルデータベースとデータ検索
ベクトルデータベースは、人間が生成したラベルやタグではなく、コンテンツに基づいて画像、ビデオ、テキスト、音声などの非構造化データを検索するために設計された新しいカテゴリのデータベース管理システムです。過去数年間にデータおよびソフトウェアチームによって使用が急増したいくつかのオープンソースおよび有料ソリューションがあります。
Pinecone
Pineconeは、オープンソースのLuceneライブラリをベースにしたベクトルデータベースで、高性能なベクトル検索アプリケーションの構築を容易にします。ベクトルのインデックス作成と検索を簡単にするシンプルなAPIを提供し、ファジー検索やオートコンプリートなどのさまざまな高度な機能もサポートしています。
Qdrant
Qdrantは、Rustで書かれたベクトル類似性検索エンジンおよびベクトルデータベースです。埋め込みを格納、検索、管理するための便利なAPIを備えた本番向けのサービスを提供します。ニューラルネットワークや意味に基づいたマッチング、ファセット検索など、さまざまなアプリケーションに役立ちます。
Weaviate
Weaviateは、オブジェクトとベクトルの両方を格納するオープンソースのベクトルデータベースです。クラウドネイティブなデータベースのフォールトトレランスとスケーラビリティを活用しながら、ベクトル検索と構造化フィルタリングを組み合わせることができます。これらはGraphQL、REST、さまざまな言語クライアントを介してアクセスできます。
Chroma
Chromaは、埋め込みを使用したAIアプリケーションを簡単に構築できるオープンソースのベクトルストアおよび埋め込みデータベースです。LangChainやLlamaIndexなどのプログラミングフレームワークと完全に統合され、開発、テスト、本番のAIアプリケーションの実行に単一のAPIを提供します。
Activeloop
ActiveloopのDeep Lakeは、基礎となるモデルトレーニングをパワーアップするベクトルデータベースであり、LangChain、LlamaIndex、Weights & Biasesなどの人気ツールと統合されています。マルチモーダルデータセットを使用してLLMを微調整し、埋め込みデータと元のデータの両方を自動バージョン管理で保存するため、埋め込みの再計算は不要です。
Milvus
Milvusは、埋め込みの類似性検索とAIアプリケーションのパワーを引き出すために構築されたオープンソースのベクトルデータベースです。Milvusは、展開環境に関係なく一貫したユーザーエクスペリエンスを提供し、非構造化データの検索をよりアクセスしやすくします。
LLMOpsと基礎モデルトレーニングフレームワーク
従来のPyTorch 2.0やTensorFlow 2などのモデルトレーニングフレームワークに加えて、過去10年間にわたり一貫して存在してきた他のモデルトレーニングツール以外にも、2023年にはいくつかの新しいツールが登場しました。これらのツールは、基礎モデルのトレーニングと微調整に使用されます。
ガードレール
ガードレールは、データサイエンティストが大規模な言語モデル(LLM)の出力に構造、タイプ、品質の保証を追加できるオープンソースのPythonパッケージです。ガードレールは以下の機能を提供します:
– LLMの出力に対してpydanticスタイルのバリデーションを行います。これには、生成されたテキストのバイアスチェックや生成されたコードのバグチェックなどの意味的なバリデーションも含まれます。
– バリデーションに失敗した場合には、再度LLMに問い合わせるなど、修正アクションを実行します。
– 構造とタイプの保証(JSONなど)を強制します。
LangChain
LangChainは、大規模な言語モデル(LLM)を使用するアプリケーションを構築するためのオープンソースのフレームワークです。LLMを使用する際に便利な機能をいくつか提供します:
- LLMとの対話のためのAPI。
- 事前学習済みのLLM。
- 特定のタスクに対してLLMを微調整するためのツール。
- LLMを使用するサンプルアプリケーション。
LLamaIndex
LLamaIndexは、外部データとLLMの間のシンプルで柔軟なインターフェースです。以下のツールを使って、非構造化データと構造化データに対するインデックスを容易に作成できます:
- 既存のデータソースとデータ形式(API、PDF、ドキュメント、SQLなど)へのデータコネクタ。
- LLM用のインデックス。これらのインデックスは、以下のようなコンテキスト学習における共通の手間や問題点を抽象化するのに役立ちます:
- プロンプトの挿入に使用するコンテキストの簡単なアクセス形式の保存。
- コンテキストが大きすぎる場合のプロンプトの制限(たとえばDavinciの場合は4096トークン)の処理。
- テキストの分割の処理。
- ユーザーがインデックスをクエリするインターフェース(入力プロンプトの提供)と、知識を拡張した出力を取得するためのインターフェース。
- コストとパフォーマンスのトレードオフを考慮した包括的なツールセット。
DUST
Dustは、実行コードを書かずに大規模な言語モデルアプリケーションを定義して展開する柔軟なフレームワークです。具体的には、以下の点を容易にします:
- 大規模な言語モデルアプリケーションの設計中に複数の例に同時に取り組むこと。
- 大規模な言語モデルアプリケーションの中間ステップで生成されたモデルの出力を調査すること。
- 細かい粒度でのバージョン管理システムの提供により、大規模な言語モデルアプリケーションの設計を反復すること。
結論
2023年において、MLOpsとLLMOpsの領域は、組織や個人が機械学習のライフサイクルの一部または完全なエンドツーエンドの管理を効果的に行うためのさまざまなツールとプラットフォームで満たされていました。このダイナミックなエコシステムは、オープンソースと商用のオファリングの両方を含み、MLワークフローのさまざまなステージに対応していました。この分野は急速に進化しており、実践者には効果的に機械学習をオペレーショナライズするための多くの選択肢がありました。
MLOpsツールとプラットフォームのFAQ
2023年の機械学習におけるデブオプスツールとしてどのようなツールが使用されていますか?
機械学習の領域で人気のあるデブオプスツールには、以下のものがあります:
- Jenkins、GitLab CI/CD、CircleCIなどの継続的インテグレーションとデプロイ(CI/CD)ツールは、自動化されたテスト、統合、およびデプロイメントを可能にするためにますます採用されています。
- DockerやKubernetesなどのコンテナ化ツールは、機械学習モデル、依存関係、およびインフラ構成をパッケージ化するために引き続き主流です。
- Ansible、Puppet、Chefなどの設定管理ツールは、インフラストラクチャの設定とプロビジョニングを自動化するために使用されますが、より操作可能で保守性の高いMLOpsプラットフォームが登場しているため、採用は少なくなっています。
どのようなMLOpsフレームワークが機密データと連携できますか?
データのプライバシーを重視し、機密データと連携できるいくつかのMLOpsフレームワークがあります。これらのフレームワークには、以下のものがあります:
TensorFlow Privacyは、差分プライバシーやフェデレーテッドラーニングなどのプライバシーセーフガードを組み込んだTensorFlowでの機密データ上でのモデルトレーニングのためのツールと技術を提供します。
PySyftは、フェデレーテッドラーニング、ホモモーフィック暗号化、セキュアマルチパーティ計算(MPC)などの技術を実装することで、安全でプライベートな機械学習を実現します。Intel OpenVINO(Open Visual Inference and Neural Network Optimization)ツールキットは、Intelハードウェア上で機械学習モデルを実行するための最適化機能を提供します。モデルの暗号化、改ざん耐性のあるモデル実行、セキュアな推論など、プライバシーとセキュリティを向上させる機能も含まれています。
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