Azure Machine Learning とは

この記事では、ML モデルのトレーニング、デプロイ、自動化、管理、追跡に使用できるクラウドベースの環境である Azure Machine Learning について説明します。

Azure Machine Learning は、従来の ML からディープ ラーニング、教師あり学習と教師なし学習まで、あらゆる種類の機械学習に使用できます。 SDK を使用して Python または R のコードを記述するか、または Studio でのコード不要 (またはローコード) オプションを使用するかにかかわらず、Azure Machine Learning ワークスペースで機械学習およびディープ ラーニング モデルを構築、トレーニング、追跡できます。

ローカル コンピューターでトレーニングを開始し、その後、クラウドにスケールアウトします。

また、このサービスは、PyTorch、TensorFlow、scikit-learn、Ray RLlib など、ディープ ラーニングや強化のための一般的なオープン ソース ツールと連携します。

ヒント

無料試用版 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。 無料版または有料版の Azure Machine Learning を今すぐお試しください。 Azure サービスを使用するクレジットを取得できます。 このクレジットを使い切った後に、アカウントを保持して、無料の Azure サービスを使用できます。 明示的に設定を変更して課金を了承しない限り、クレジット カードに課金されることはありません。

機械学習とは

機械学習は、コンピューターで既存のデータを使って、将来の動き、結果、傾向を予測できるデータ サイエンスの手法の 1 つです。 機械学習を使用することで、明示的にプログラムすることなく、コンピューターが学習します。

機械学習からの予想や予測によってアプリやデバイスの機能性を高めることができます。 たとえばオンライン ショッピングでは、利用者が欲しいと考えそうな他の商品を、過去の購入履歴に基づいてお勧めするのに機械学習が役立っています。 また、クレジット カードの読み取り時に、機械学習では、トランザクションをトランザクションのデータベースと比較することで不正の検出を支援します。 また、ロボット掃除機が部屋を掃除するとき、機械学習は、作業が行われているかどうかを判断するのを支援します。

各タスクに適合する機械学習ツール

Azure Machine Learning には、次のような、開発者やデータ科学者が機械学習ワークフロー用に必要とするすべてのツールが用意されています。

MLflow を使用してメトリックを追跡し、モデルをデプロイすることや、Kubeflow を使用してエンドツーエンドのワークフロー パイプラインを構築することもできます。

Python または R で ML モデルを構築する

Azure Machine Learning の Python SDK または R SDK を使用してローカル コンピューターでトレーニングを開始します。 その後、クラウドにスケールアウトすることができます。

クラウドのパワーと、Azure Machine Learning コンピューティングや Azure Databricks などの利用可能な多数のコンピューティング先高度なハイパーパラメーター調整サービスを活用することで、高品質のモデルを手早く構築できます。

SDK を使用して、モデルのトレーニングと調整を自動化することもできます。

Studio で ML モデルを構築する

Azure Machine Learning Studio は Azure Machine Learning 内の Web ポータルであり、モデルのトレーニング、デプロイ、アセット管理を少量のコードで、またはコードを一切記述することなく行うことができます。 Studio は Azure Machine Learning SDK と統合され、シームレスなエクスペリエンスが実現されています。 詳細については、「Azure Machine Learning Studio とは」を参照してください。

MLOps:デプロイとライフサイクル管理

適切なモデルがあれば、Web サービス、IoT デバイス、または Power BI で簡単に使用できます。 詳細については、デプロイする方法と場所に関する記事を参照してください。

デプロイされたモデルは、Azure Machine Learning SDK for PythonAzure Machine Learning Studio、または Machine Learning CLI を使用して管理できます。

これらのモデルを使用して、リアルタイムで予測を返したり、データが大量の場合は非同期で予測を返したりすることができます。

さらに、高度な機械学習パイプラインを使用して、データの準備、モデルのトレーニングと評価、およびデプロイの各手順で共同で作業することができます。 パイプラインを使用すると、次のことができます。

  • クラウドでエンドツーエンドの機械学習プロセスを自動化する
  • コンポーネントを再利用し、必要なときにのみステップを再実行する
  • ステップごとに異なるコンピューティング リソースを使用する
  • バッチ スコアリング タスクを実行する

スクリプトを使用して機械学習ワークフローを自動化する場合、Machine Learning CLI には、トレーニング実行の送信やモデルのデプロイなどの一般的なタスクを実行するコマンドライン ツールが用意されています。

Azure Machine Learning の基本的な使い方については、「次の手順」を参照してください。

他のサービスとの統合

Azure Machine Learning は、Azure プラットフォーム上の他のサービスとの連携に加え、Git や MLFlow といったオープン ソース ツールとの統合にも対応します。

セキュリティで保護された通信

Azure Storage アカウントやコンピューティング先などのリソースは、仮想ネットワーク内で安全に使用してモデルをトレーニングし、推論を実行することができます。 詳細については、「仮想ネットワークの分離とプライバシーの概要」を参照してください。

次のステップ

最初に、Azure Machine Learning の利用開始作に関するクイックスタートをお読みください。 その後、これらのリソースを使用して、お好きな方法で最初の実験を作成します。