Azure Machine Learning とは

完了

Azure Machine Learning は、機械学習システムのエンドツーエンドのライフサイクルを作成および管理するためのプラットフォームです。 Azure Machine Learning はフレームワークに依存しないので柔軟性に優れ、TensorFlow、PyTorch、ONNX、MLFlow、Scikit-learn などの好みのテクノロジを使用できます。

Azure Machine Learning を使うと、ML フレームワークに慣れているユーザーが、コードを使ってモデルのトレーニングとデプロイをすばやく行えるほか、他のユーザーに強力なビジュアル ツールを提供できます。 すべてのトレーニング スクリプト、モデル、ログ、計算は、Azure Machine Learning の共有ワークスペースで集中管理されます。これは、機械学習システムの構築およびデプロイのすべての手順を支援します。つまり、ユーザーはモデルに集中し、残りの作業は Azure Machine Learning に任せておくことができます。

Azure Machine Learning には、データとモデルのログ、監視、ガバナンスをサポートする包括的な機能スイートが用意されており、意図したとおりにモデルを動作させ、効果的に関係者に伝えることができます。

Azure Machine Learning スタジオとは

Azure Machine Learning スタジオは、Web UI を通じてモデルを視覚的に作成、トレーニング、管理するためのノーコード ソリューションとコード優先ソリューションを備えたブラウザーベースのサービスです。 Azure Machine Learning スタジオでは、Python SDK をネイティブにサポートされている Jupyter Notebook とシームレスに統合し、共同でメモやコーディングを行うことができます。 Azure Machine Learning スタジオ内のデータは、直感的なデータの視覚化と AI 支援の画像またはテキストのラベル付け機能を使用して簡単に管理できます。

Screenshot of an experiment in Azure Machine Learning studio.

モデルの作成

Azure Machine Learning でモデルを作成するには、いくつかの方法があります。 トレーニングは、ローカル コンピューターで行うことも、Azure クラウド (仮想マシンやコンピューティング クラスターなど) で行うこともできます。

Python を使用したコード

Azure Machine Learning SDK for Python を使用すると、Jupyter Notebook を含む複数の環境からのサービスと対話できます。 Notebook では、実行可能なコード、視覚化、コメントの共同環境をもたらします。 スタジオには、Azure Machine Learning の作業を開始するために使用できるサンプル ノートブックが含まれています。

Screenshot of Azure Machine Learning notebooks.

AutoML

"自動機械学習 (AutoML)" では、最適な機械学習モデルの作成が自動化され、データ サイエンスの専門知識があるかどうかに関係なく、自分のデータにとって最適なモデルを見つけるのに役立ちます。 分類、回帰、時系列予測を専門にした AutoML 実験では、タスクに応じて異なる機能、アルゴリズム、パラメーターを使用して、最も適していると思われるモデルにスコアが付けられます。 その後、これらのモデルをそのままデプロイしたり、さまざまなプラットフォームおよびデバイス上で実行できる ONNX 形式にエクスポートしたりできます。 AutoML は、汎用性と速度に優れているため、経験豊富なデータ科学者にも初心者のデータ科学者にも出発点としてよく使用されます。

AutoML は、Azure Machine Learning スタジオで、または Python SDK を通じて使用できます。

次の画像で、モデルを構築し推奨する AutoML パイプラインの概要を示します。

azure automl pipeline

Designer

ノーコードのオプションを選択する場合、Azure Machine Learning スタジオ内の "Azure Machine Learning デザイナー" には、データセットとモジュールを操作するためのドラッグ アンド ドロップ コントロールを備えたビジュアル キャンバスが用意されています。Azure Machine Learning デザイナー内のモジュールは、データ イングレス関数からトレーニング、スコアリング、検証プロセスまで多種多様な目的を持つアルゴリズムです。 これらのリンクされたモジュールでは、次の例に示すように、ML モジュールを構築、テスト、デプロイするための効果的な ML パイプラインが作成されます。

Screenshot of Azure Machine Learning designer.

Compute

ML 環境に必要なコンピューティング リソースは、Azure Machine Learning を介して割り当てたりアタッチしたりすることができます。 探索的データ分析を行うために Jupyter Notebook を強化するコンピューティングから、トレーニングに使用するクラスターや、大規模な運用環境推論のためにデプロイするマネージド エンドポイントまで、すべて Azure Machine Learning を通じて作成して管理できます。

データの管理

Azure Machine Learning を使用すると、データ準備やインジェストの時間のかかるプロセスが合理化され、協力して取り組めるようになります。 このプラットフォームは、Azure Synapse、Azure Databricks、他の Azure サービス スイートとスムーズに統合され、データ エンジニアリング パイプラインでの生データの抽出、変換、データストアへの読み込み (ETL) に役立ちます。

データストアとラベル付け

Azure Machine Learning では、生データがデータストアに安全に格納されるので、スクリプトの外部ソースに依存する必要がなくなり、元の生データの整合性を損なわずにトレーニング セットを実験できます。 格納後は、データの消去、変換、ラベル付けを行い、データストアからトレーニング セットを作成できます。 Azure Machine Learning には、表、画像、テキストのデータのラベル付けを支援するツールが用意されており、ラベルを提案したり、データへのラベル付けを完全に自動化したりできる機械学習システムが組み込まれています。 次の例は、Azure Machine Learning スタジオで進行中の人間主導の複数ラベル分類プロジェクトを示しています。

Screenshot of multi-label classification in Azure Machine Learning studio.

MLOps

デプロイ時に完璧に機能しているモデルを含め、すべてのモデルは、ハイ パフォーマンスを維持するために、長期間にわたって監視し、再トレーニングする必要があります。 Azure Machine Learning には、簡単にデプロイできるように、データ準備、トレーニング、スコアリング、再利用可能なソフトウェア環境のための反復可能な手順を作成する、"機械学習の運用 (MLOps)" 機能が用意されています。 これらの再現可能なパイプラインと環境によって、継続的インテグレーション/継続的デリバリー (CI/CD) という操作性が機械学習ワークフローにもたらされます。

これらの機能に加えて、Azure Machine Learning には、ML ライフサイクル内のイベントについて通知し、さらにはこれらに対応する MLOps 監視ツールも用意されています。 この制御を使用すると、モデルのパフォーマンスの低下やデータセット内の問題をすばやく特定し、対応できます。 ガバナンス情報も Azure Machine Learning 内で提供されるため、完全な実行履歴を表示し、モデルのライフ サイクル内でのチーム メンバーのアクションを追跡することができます。