Azure Machine Learning のデータ (v1)

適用対象:Azure CLI ml 拡張機能 v1

適用対象:Python SDK azureml v1

Azure Machine Learning を使用すると、クラウド内のデータに簡単に接続できます。 基になるストレージ サービスに抽象レイヤーが用意されているため、ストレージの種類に固有のコードを記述しなくても、データに安全にアクセスし、操作することができます。 Azure Machine Learning には、次のデータ機能も用意されています。

  • Pandas および Spark DataFrames による相互運用性
  • データ系列のバージョン管理と追跡
  • データのラベル付け
  • データの誤差の監視

データ ワークフロー

クラウドベースのストレージ ソリューションでデータを使うには、このデータ配信ワークフローをお勧めします。 このワークフローでは、Azure のクラウドベースのストレージ サービスに Azure ストレージアカウントとデータがあることを前提としています。

  1. 接続情報をご自身の Azure ストレージに格納するための Azure Machine Learning データストアを作成します

  2. そのデータストアから Azure Machine Learning データセットを作成し、基になるお使いのストレージにある 1 つ以上の特定のファイルを指すように指定します

  3. そのデータセットを機械学習の実験で使用するには、以下のいずれかを実行します

    • モデルのトレーニングのために、実験のコンピューティング ターゲットにデータセットをマウントします

      OR

    • 自動機械学習 (自動 ML) 実験の実行、機械学習パイプライン、または Azure Machine Learning デザイナーなどの Azure Machine Learning ソリューションでデータセットを直接使います。

  4. データ ドリフトを検出するために、モデルの出力データセット用のデータセット モニターを作成します

  5. データ ドリフトが検出された場合は、入力データセットを更新し、それに応じてモデルを再トレーニングします

このスクリーンショットは、推奨されるワークフローを示しています。

Screenshot showing the Azure Storage Service, which flows into a datastore and then into a dataset.

データストアを使用してストレージに接続する

Azure Machine Learning データストアは、データ ストレージ接続情報を Azure 上で安全にホストするため、その情報をスクリプトに記述する必要はありません。 ストレージ アカウントへの接続と、基になるストレージ サービスでのデータ アクセスの詳細については、データストアの登録と作成に関する記事を参照してください。

これらのサポートされている Azure クラウドベースのストレージ サービスは、データストアとして登録できます。

  • Azure BLOB コンテナー
  • Azure ファイル共有
  • Azure Data Lake
  • Azure Data Lake Gen2
  • Azure SQL データベース
  • Azure Database for PostgreSQL
  • Databricks ファイル システム
  • Azure Database for MySQL

ヒント

資格情報ベースの認証を使ってデータストアを作成し、サービス プリンシパルや Shared Access Signature (SAS) トークンなどのストレージ サービスにアクセスできます。 ワークスペースへの閲覧者アクセス権を持つユーザーは、これらの資格情報にアクセスできます。

これが懸念される場合は、ID ベースのデータ アクセスを使うデータストアを作成する方法の記事を参照し、ストレージ サービスへの接続について確認してください。

データセットを使用してストレージ内のデータを参照する

Azure Machine Learning のデータセットは、データのコピーではありません。 データセットを作成すると、メタデータのコピーと共に、ストレージ サービス内のデータへの参照が作成されます。

データセットは遅延評価され、データは既存の場所に残るため:

  • 追加のストレージ コストは発生しません。
  • 元のデータ ソースが意図せず変更されるリスクはありません
  • ML ワークフローのパフォーマンスが向上します

ストレージ内のデータを操作するには、お使いのデータを、機械学習タスク用の使用可能なオブジェクトとしてパッケージ化するために、データセットを作成します。 データ インジェストが複雑になることなく、さまざまな実験でデータセットを共有して再利用できるように、データセットをワークスペースに登録します。

データセットは、ローカル ファイル、パブリック URL、Azure Open Datasets、または Azure ストレージ サービスから、データストアを介して作成できます。

データセットには次の 2 種類があります。

  • FileDataset は、データストアまたはパブリック URL 内の 1 つまたは複数のファイルを参照します。 データがクレンジング済みで、トレーニング実験の準備ができた場合は、コンピューティング先に、FileDatasets によって参照されているファイルをダウンロードまたはマウントできます。

  • TabularDataset は、指定されたファイルまたはファイルのリストを解析して、データを表形式で表します。 TabularDataset を Pandas または Spark DataFrame に読み込んで、さらに操作とクレンジングを行うことができます。 TabularDatasets を作成できるデータ形式の完全な一覧については、TabularDatasetFactory クラスに関する記事を参照してください。

これらのリソースには、データセットの機能に関する詳細情報が掲載されています。

データを処理する

データセットを使うと、Azure Machine Learning 機能とのシームレスな統合を通じて、機械学習タスクを実行できます。

データ ラベル付けプロジェクトを使用してデータにラベルを付ける

機械学習プロジェクトで大量のデータにラベル付けするのは頭痛の種になることがあります。 画像分類や物体検出などのコンピューター ビジョン コンポーネントを使うプロジェクトでは、多くの場合、何千もの画像と対応するラベルが必要になります。

Azure Machine Learning を使うと、ラベル付けプロジェクトを作成、管理、監視を一元的に行うことができます。 ラベル付けプロジェクトは、データ、ラベル、チーム メンバーの間の調整に役立ち、ラベル付けタスクをより効率的に管理できるようになります。 現在サポートされているタスクは、複数ラベルまたは多クラスでの画像分類と、境界ボックスを使用したオブジェクト識別です。

画像ラベル付けプロジェクトまたはテキスト ラベル付けプロジェクトを作成し、機械学習の実験で使用するためのデータセットを出力します。

データの誤差を使用してモデルのパフォーマンスを監視する

機械学習においてデータの誤差とは、モデルのパフォーマンスの低下につながるモデルの入力データの変更のことです。 これはモデルの正確性が時間の経過と共に低下する主な理由であり、データ ドリフトの監視はモデルのパフォーマンスの問題を検出するのに役立ちます。

詳細については、データセット モニターの作成に関する記事を参照して、データセット内の新しいデータのデータ ドリフトを検出して警告する方法を確認してください。

次のステップ