Microsoft の機械学習製品とテクノロジの比較
Microsoft の機械学習製品およびテクノロジについて説明します。 機械学習ソリューションを最も効果的に構築、デプロイ、管理する方法を選択する際に役立つように、選択肢を比較します。
クラウドベースの機械学習製品
Azure クラウドでの機械学習には、次の選択肢があります。
クラウド オプション | 説明 | この製品でできること |
---|---|---|
Azure Machine Learning | 機械学習用のマネージド プラットフォーム | 事前トレーニング済みモデルを使用。 または、Python と CLI を使用して、Azure でモデルをトレーニング、デプロイ、管理する |
Azure Cognitive Services | REST API および SDK を使用して実装された事前構築済みの AI 機能 | 標準のプログラミング言語を使用して、インテリジェント アプリケーションをすばやく構築する。 機械学習とデータ サイエンスの専門知識は不要 |
Azure SQL Managed Instance の Machine Learning Services | SQL のデータベース内機械学習 | Azure SQL Managed Instance 内でモデルをトレーニングおよびデプロイする |
Azure Synapse Analytics の機械学習 | 機械学習を使用した分析サービス | Azure Synapse Analytics 内でモデルをトレーニングおよびデプロイする |
Azure SQL Edge での ONNX を使用した機械学習と AI | IoT の SQL での機械学習 | Azure SQL Edge 内でモデルをトレーニングおよびデプロイする |
Azure Databricks | Apache Spark ベースの分析プラットフォーム | オープンソースの機械学習ライブラリおよび MLflow プラットフォームとの統合を使用して、モデルとデータ ワークフローを構築およびデプロイする |
オンプレミスの機械学習製品
オンプレミスでの機械学習には、次の選択肢があります。 クラウド上の仮想マシンでオンプレミスのサーバーを実行することもできます。
オンプレミスの選択肢 | 説明 | この製品でできること |
---|---|---|
SQL Server Machine Learning サービス | SQL のデータベース内機械学習 | SQL Server 内でモデルをトレーニングおよびデプロイする |
SQL Server ビッグ データ クラスター上の Machine Learning Services | ビッグ データ クラスターでの機械学習 | SQL Server ビッグ データ クラスターでモデルをトレーニングおよびデプロイする |
開発プラットフォームおよびツール
次の開発プラットフォームとツールを機械学習に利用できます。
プラットフォーム/ツール | 説明 | この製品でできること |
---|---|---|
Azure Data Science Virtual Machine | データ サイエンス ツールがプレインストールされた仮想マシン | 事前に構成された環境で機械学習ソリューションを開発する |
ML.NET | オープン ソースでクロスプラットフォームの機械学習 SDK | .NET アプリケーション用の機械学習ソリューションを開発する |
Windows 機械学習 | Windows 10 機械学習プラットフォーム | Windows 10 デバイス上のトレーニング済みのモデルを評価する |
SynapseML | Apache Spark 用のオープンソースで分散型の機械学習およびマイクロサービス フレームワーク | Scala および Python 用のスケーラブルな機械学習アプリケーションを作成して展開する。 |
Azure Data Studio の Machine Learning 拡張機能 | Azure Data Studio のオープンソースでクロスプラットフォームの機械学習拡張機能 | パッケージの管理、機械学習モデルのインポート、予測、SQL データベースの実験を実行するためのノートブックの作成を行う |
Azure Machine Learning
Azure Machine Learning は、機械学習モデルを大規模にトレーニング、デプロイ、および管理するために使用されるフル マネージド クラウド サービスです。 オープンソース テクノロジを完全にサポートしているため、TensorFlow、PyTorch、scikit-learn などの数万のオープンソース Python パッケージを使用できます。 コンピューティング インスタンス、 Jupyter ノートブック、 Azure Machine Learning for Visual Studio Code 拡張機能、Visual Studio Code でのリソース管理やトレーニング ワークフローおよびデプロイのモデル化を可能にする無料の拡張機能など、ツールも豊富に用意されています。 Azure Machine Learning には、モデルの生成とチューニングを簡単に、効率よく、かつ正確に自動化する機能が含まれています。
クラウド規模での機械学習のための Python SDK、Jupyter ノートブック、R、および CLI を使用します。 少量のコードまたはコードなしのオプションでは、Azure Machine Learning の対話型の デザイナー をスタジオで使用し、事前に構築された機械学習アルゴリズムを使用してモデルを簡単かつ迅速に構築、テスト、およびデプロイします。
Azure Machine Learning の無料評価版。
Item | 説明 |
---|---|
Type | クラウドベースの機械学習ソリューション |
サポートされている言語 | Python、R |
機械学習のフェーズ | モデル トレーニング デプロイ MLOps/管理 |
主な利点 | Code First (SDK)、スタジオおよびドラッグ アンド ドロップ デザイナーの Web インターフェイス作成オプション。 スクリプトと実行履歴を一元管理して、モデルのバージョンを簡単に比較できます。 クラウドまたはエッジ デバイスへのモデルのデプロイと管理が簡単です。 |
考慮事項 | モデル管理モデルについて、ある程度の知識が必要です。 |
Azure AI サービス
Azure AI サービス は、自然なコミュニケーション方法を使用するアプリを構築できる一連の "事前構築済み" API です。 "事前構築済み" という用語は、アプリケーションで使用するモデルをトレーニングするために、データセットやデータ サイエンスの専門知識を必要としないことを示しています。 すべて準備されており、数行のコードを書くだけで、アプリが見る、聞く、話す、理解する、ユーザーのニーズを解釈することを可能にする API および SDK としてパッケージ化されています。 次のようなインテリジェントな機能をアプリに簡単に追加できます。
- ビジョン: 物体検出、顔認識、光学式文字認識 (OCR) など。 詳細については、「Computer Vision、 Face、 Azure AI Document Intelligence」を参照してください。
- Speech: Speech-to-Text、Text-to-Speech、Speaker Recognition など。 詳細については、「Speech Services 」を参照してください。
- 言語: 翻訳、感情分析、キーフレーズ抽出、言語理解など。 Translator、 Text Analytics、 Language Understanding、 QnA Makerのドキュメントをご覧ください。
- 意思決定: 異常検出、コンテンツ モデレーション、強化学習。 詳細については、「Anomaly Detector、 Content Moderator、 Personalizer」を参照してください。
Azure AI サービスは、デバイスやプラットフォームにまたがるアプリを開発する場合に使用します。 API は、継続的に品質改善され、設定も簡単です。
Item | 説明 |
---|---|
Type | インテリジェントなアプリケーションを構築するための API |
サポートされている言語 | サービスに依存するさまざまなオプション。 標準言語は、C#、Java、JavaScript、Python です。 |
機械学習のフェーズ | デプロイ |
主な利点 | REST API および SDK を介して利用可能な事前トレーニング済みモデルを使用して、インテリジェント アプリケーションを構築します。 視覚、音声、言語、意思決定による自然なコミュニケーション方法に対応するさまざまなモデル。 機械学習やデータ サイエンスの専門知識は不要です。 |
SQL 機械学習
SQL 機械学習 では、オンプレミスとクラウドの両方で、リレーショナル データに対する Python と R での統計分析、データ視覚化、予測分析を追加します。 現在のプラットフォームとツールは次のとおりです。
- SQL Server Machine Learning サービス
- SQL Server ビッグ データ クラスター上の Machine Learning Services
- Azure SQL Managed Instance の Machine Learning Services
- Azure Synapse Analytics の機械学習
- Azure SQL Edge での ONNX を使用した機械学習と AI
- Azure Data Studio の Machine Learning 拡張機能
SQL 機械学習は、SQL のリレーショナル データに対する組み込みの AI および予測分析が必要な場合に使用します。
Item | 説明 |
---|---|
Type | オンプレミスでのリレーショナル データの予測分析 |
サポートされている言語 | Python、R、SQL |
機械学習のフェーズ | データの準備 モデル トレーニング デプロイ |
主な利点 | データベース関数に予測ロジックをカプセル化して、データ層ロジックに簡単に含めることができます。 |
考慮事項 | アプリケーションのデータ層として SQL データベースが想定されています。 |
Azure Data Science Virtual Machine
Azure Data Science Virtual Machine は、Microsoft Azure クラウド上のカスタマイズされた仮想マシン環境です。 Windows と Linux Ubuntu の両方のバージョンで使用できます。 この環境は、データ サイエンスと機械学習ソリューション開発に特化して構築されています。 よく使われる多くのデータ サイエンス、機械学習フレームワークなどのツールが事前にインストールおよび構成されており、高度な分析のためのインテリジェントなアプリケーションの構築をすぐに始めることができます。
Data Science VM は、単一のノードでジョブを実行またはホストする必要がある場合や、 1 台のマシンで処理をリモートでスケールアップする必要がある場合に使用します。
Item | 説明 |
---|---|
Type | データ サイエンス用のカスタマイズされた仮想マシン環境 |
主な利点 | データ サイエンス ツールおよびフレームワークのインストール、管理、トラブルシューティングに要する時間を短縮できます。 よく使用されるツールとフレームワークの最新バージョンがすべて含まれています。 仮想マシンのオプションには、集中的なデータ モデリングのためのグラフィックス処理ユニット (GPU) 機能を備えたスケーラブルなイメージが含まれます。 |
考慮事項 | オフラインのときは仮想マシンにアクセスできません。 仮想マシンの実行には Azure の料金が発生するため、必要な場合にのみ実行するように注意する必要があります。 |
Azure Databricks
Azure Databricks は、Microsoft Azure クラウド プラットフォーム用に最適化された Apache Spark ベースの分析プラットフォームです。 Databricks は、ワンクリックでのセットアップ、効率化されたワークフロー、およびデータ サイエンティスト、データ エンジニア、ビジネス アナリストの間のコラボレーションを可能にする対話型ワークスペースを実現するために、Azure に統合されています。 データのクエリ実行、視覚化、およびモデル化を行うには、Web ベースのノートブックで Python、R、Scala、および SQL コードを使用します。
Databricks は、Apache Spark 上で機械学習ソリューションの構築に関して共同作業する場合に使用します。
Item | 説明 |
---|---|
Type | Apache Spark ベースの分析プラットフォーム |
サポートされている言語 | Python、R、Scala、SQL |
機械学習のフェーズ | データの準備 データの前処理 モデル トレーニング モデル チューニング モデル推論 管理 デプロイ |
ML.NET
ML.NET は、オープンソースでクロスプラットフォームの機械学習フレームワークです。 ML.NET を使用すると、カスタム機械学習ソリューションを構築し、.NET アプリケーションに統合できます。 ML.NET は、機械学習モデルおよびディープ ラーニング モデルのトレーニングとスコアリングのために、TensorFlow、ONNX のような一般的なフレームワークとの相互運用性をさまざまなレベルで提供します。 画像分類モデルのトレーニングなど、リソースを集中的に使用するタスクの場合、Azure を利用してクラウドでモデルをトレーニングできます。
ML.NET は、機械学習ソリューションを .NET アプリケーションに統合する場合に使用します。 コード ファーストのエクスペリエンス向け API か、わずかなコードしか使用しないエクスペリエンス向け Model Builder または CLI を選択します。
Item | 説明 |
---|---|
Type | .NET でカスタムの機械学習アプリケーションを開発するためのオープンソースのクロスプラットフォーム フレームワーク |
サポートされている言語 | C#、F# |
機械学習のフェーズ | データの準備 トレーニング デプロイ |
主な利点 | データ サイエンスや機械学習の経験は不要 使い慣れたツール (Visual Studio、Microsoft Visual Studio Code) と言語を使用する .NET が実行される場所へのデプロイ 拡張可能 拡張性 ローカル ファースト エクスペリエンス |
Windows 機械学習
Windows 機械学習 インターフェース エンジンを使用すると、アプリケーションでトレーニング済みの機械学習モデルを使用して、トレーニング済みのモデルを Windows 10 デバイス上でローカルで評価できます。
Windows 機械学習は、Windows アプリケーション内でトレーニング済みの機械学習モデルを使用する場合に使用します。
アイテム | 説明 |
---|---|
Type | Windows デバイスでのトレーニング済みモデルの推論エンジン |
サポートされている言語 | C#/C++、JavaScript |
SynapseML
SynapseML (旧称 MMLSpark) は、大規模スケーラブルな機械学習 (ML) パイプラインの作成を簡略化するオープンソース ライブラリです。 SynapseML は、テキスト分析、洞察、異常検出など、その他さまざまな機械学習タスクに対して、API を提供します。 SynapseML は Apache Spark 分散コンピューティング フレームワーク上に構築され、SparkML/MLLib ライブラリと同じ API を共有するため、SynapseML モデルを既存の Apache Spark ワークフローにシームレスに埋め込むことができます。
SynapseML では、ディープ ラーニングとデータ サイエンスのための多くのツールが Spark エコシステムに追加されます。 Spark Machine Learning パイプラインと Light Gradient Boosting Machine (LightGBM) のシームレスな統合、 LIME (モデルの解釈可能性)、 OpenCV などが含まれます。 これらのツールを使うと、 Azure Databricks や Cosmic Spark などの任意の Spark クラスター上で強力な予測モデルを作成できます。
SynapseML では、新しいネットワーク機能も Spark エコシステムに導入されます。 HTTP on Spark プロジェクトでは、ユーザーは任意の Web サービスを SparkML モデルに埋め込むことができます。 さらに、SynapseML では、大規模な Azure AI サービス を調整するための使いやすいツールが提供されます。 運用レベルの展開では、Spark Serving プロジェクトにより、Spark クラスターによって支えられた、高スループットで待機時間がミリ秒未満の Web サービスが実現されます。
Item | 説明 |
---|---|
Type | Apache Spark 用のオープンソースで分散型の機械学習およびマイクロサービス フレームワーク |
サポートされている言語 | Scala 2.11、Java、Python 3.5 以降、R (ベータ) |
機械学習のフェーズ | データの準備 モデル トレーニング デプロイ |
主な利点 | スケーラビリティ Streaming および Serving 互換 フォールトトレランス |
考慮事項 | Apache Spark が必要 |
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Zoiner Tejada | 最高経営責任者 (CEO) およびアーキテクト
次のステップ
- Microsoft から入手できるすべての人工知能 (AI) 開発製品の詳細については、 Microsoft AI プラットフォームを参照してください。
- Microsoft を使用して AI ソリューションおよび Machine Learning ソリューションを開発するためのトレーニングについては、 Microsoft Learn トレーニングを参照してください。