次の方法で共有


Azure Machine Learning のデータの概念

Azure Machine Learning を使用すると、ローカル コンピューターまたは既存のクラウドベースのストレージ リソースからデータをインポートできます。 この記事では、Azure Machine Learning データの主要な概念について説明します。

データストア

Azure Machine Learning データストアは、"既存の" Azure ストレージ アカウントへの "参照" です。 Azure Machine Learning データストアには、次の利点があります。

  • さまざまなストレージの種類 (BLOB、ファイル、ADLS) を操作するための一般的で使いやすい API。
  • チームでの運用に役立つデータストアを簡単に検出できます。
  • 資格情報ベース アクセス (サービス プリンシパル/SAS/キー) の場合、Azure Machine Learning データストアによって接続情報がセキュリティ保護されます。 このため、その情報をスクリプト内に置く必要がありません。

既存の Azure ストレージ アカウントでデータストアを作成する場合、選択肢として以下の 2 つの異なる認証方法が存在します。

  • 資格情報ベース - サービス プリンシパル、Shared Access Signature (SAS) トークン、またはアカウント キーを使用して、データ アクセスを認証します。 "閲覧者" のワークスペース アクセス権を持つユーザーは、資格情報にアクセスできます。
  • ID ベース: Microsoft Entra ID またはマネージド ID を使ってデータ アクセスを認証します。

次の表は、Azure Machine Learning データストアで作成できる Azure クラウドベース ストレージ サービスをまとめたものです。 さらに、この表には、それらのサービスにアクセスできる認証の種類がまとめられています。

サポートされているストレージ サービス 資格情報ベースの認証 ID ベースの認証
Azure BLOB コンテナー
Azure ファイル共有
Azure Data Lake Gen1
Azure Data Lake Gen2

データストアの詳細については、「データストアの作成」を参照してください。

既定のデータストア

各 Azure Machine Learning ワークスペースには、以下のデータストアを含む既定のストレージ アカウント (Azure ストレージ アカウント) が存在します。

ヒント

ワークスペースの ID を見つけるには、Azure portal のワークスペースに移動します。 [設定] を展開してから、[プロパティ] を選択します。 ワークスペース ID が表示されます。

Datastore name (データストア名) データ ストレージの種類 データ ストレージ名 説明
workspaceblobstore BLOB コンテナー azureml-blobstore-{workspace-id} データのアップロード、ジョブ コード スナップショット、パイプライン データ キャッシュを格納します。
workspaceworkingdirectory ファイル共有 code-{GUID} ノートブック、コンピューティング インスタンス、プロンプト フローのデータを格納します。
workspacefilestore ファイル共有 azureml-filestore-{workspace-id} データ アップロード用の代替コンテナー。
workspaceartifactstore BLOB コンテナー azureml メトリック、モデル、コンポーネントなどの資産のストレージ。

データ型

URI (ストレージの場所) を使用すると、ファイル、フォルダー、またはデータ テーブルを参照できます。 機械学習ジョブの入出力定義には、以下の 3 つのデータ型のいずれかが必要です。

Type V2 API V1 API 標準シナリオ V2/V1 API の違い
[最近使ったファイル]
1 つのファイルを参照します
uri_file FileDataset 1 つのファイルを読み取る、または書き込む - ファイルには任意の形式を指定できます。 V2 API での新しい種類。 V1 API では、ファイルが常にコンピューティング先ファイルシステム上のフォルダーにマップされるため、このマッピングでは os.path.join が必要でした。 V2 API では、1 つのファイルがマップされます。 この方法により、コード内でその場所を参照できます。
フォルダー
1 つのフォルダーを参照する
uri_folder FileDataset Parquet または CSV ファイルのフォルダーを Pandas または Spark に読み込む、あるいは書き込む必要があります。

フォルダー内にある画像、テキスト、オーディオ、動画のファイルを使用したディープ ラーニング。
V1 API では、FileDataset に、フォルダーからファイルのサンプルを取得できる関連エンジンがありました。 V2 API において、フォルダーはコンピューティング先ファイルシステムへの単純なマッピングとなります。
Table
データ テーブルを参照する
mltable TabularDataset 頻繁に変更される複雑なスキーマがあるか、大きな表形式データのサブセットが必要です。

テーブルを使用した AutoML。
V1 API では、Azure Machine Learning バックエンドにデータ具体化のブループリントが格納されていました。 その結果、TabularDataset は Azure Machine Learning ワークスペースがある場合にのみ機能しました。 mltable では、データ具体化のブループリントを "ご使用の" ストレージに格納します。 この保存場所は、"Azure Machine Learning から切断された状態" (たとえば、ローカルかつオンプレミスなど) でそれを使用できることを意味します。 V2 API では、ローカル ジョブからリモート ジョブに移行することがより簡単です。 詳細については、「Azure Machine Learning でのテーブルの操作」を参照してください。

URI

URI (Uniform Resource Identifier) は、ローカル コンピューター上のストレージの場所、Azure ストレージ、または公開されている http(s) の場所を表します。 次の例は、さまざまなストレージ オプションの URI を示しています。

保存先 URI の例
Azure Machine Learning データストア azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet
ローカル コンピューター ./home/username/data/my_data
公開されている http(s) サーバー https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
BLOB ストレージ wasbs://<containername>@<accountname>.blob.core.windows.net/<folder>/
Azure Data Lake (gen2) abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>.csv
Azure Data Lake (gen1) adl://<accountname>.azuredatalakestore.net/<folder1>/<folder2>

URI は Azure Machine Learning ジョブによってコンピューティング先ファイルシステムにマップされます。 このマッピングは、URI を使用または生成するコマンドにとって、その URI はファイルやフォルダーのように機能することを意味します。 URI は、Microsoft Entra ID (既定) またはマネージド ID のいずれかでの ID ベース認証を使用してストレージ サービスに接続します。 Azure Machine Learning のデータストア URI では、ID ベース認証、または資格情報ベース (サービス プリンシパル、SAS トークン、アカウント キーなど) 認証を適用することで、シークレットを公開しなくて済みます。

URI は、Azure Machine Learning ジョブへの "入力" または "出力" として機能し、4 つの異なる "モード" オプションのいずれかを使用してコンピューティング先ファイルシステムにマップできます。

  • 読み取り "専用" マウント (ro_mount): URI は、コンピューティング先ファイルシステムに "マウント" されるストレージの場所を表します。 マウントされたデータの場所でサポートされるのは、読み取り専用出力だけです。
  • 読み取り/"書き込み" マウント (rw_mount): URI は、コンピューティング先ファイルシステムに "マウント" されるストレージの場所を表します。 マウントされたデータの場所に対して、出力の読み取り "および" データ書き込みの両方がサポートされます。
  • ダウンロード (download): URI は、コンピューティング先ファイルシステムに "ダウンロードされる" データを含むストレージの場所を表します。
  • アップロード (upload): コンピューティング先の場所に書き込まれるすべてのデータは、URI で表されるストレージの場所に "アップロード" されます。

さらに、直接モードでジョブ入力文字列として URI を渡すことができます。 次の表は、入力と出力に使用できるモードの組み合わせをまとめたものです。

ジョブ
入力または出力
upload download ro_mount rw_mount direct
入力
出力

詳細については、「ジョブ内でのデータへのアクセス」を参照してください。

データ ランタイム機能

Azure Machine Learning では、次の 3 つの目的のいずれかに独自の "データ ランタイム"を使用します。

  • マウント/アップロード/ダウンロードのため
  • ストレージ URI をコンピューティング ターゲット ファイルシステムにマップするため
  • Azure Machine Learning テーブル (mltable) を使用して表形式データを pandas/spark に具体化するため

Azure Machine Learning データ ランタイムは、機械学習タスクの "高速と高効率"を実現するように設計されています。 次の利点があります。

  • Rust 言語アーキテクチャ。 Rust 言語は、高速で、メモリ効率が高いことで知られています。
  • 軽量。Azure ML データ ランタイムには、JVM などの他のテクノロジへの依存関係が "ない" ため、ランタイムはコンピューティング先にすばやくインストールされます。
  • マルチプロセス (並列) データ読み込み。
  • CPU のバックグラウンド タスクとして動作するデータの事前フェッチにより、ディープ ラーニング操作での GPU の使用率を高めます。
  • クラウド ストレージに対するシームレスな認証。

データ資産

Azure Machine Learning データ資産は、Web ブラウザーのブックマーク (お気に入り) に似ています。 最も頻繁に使用されるデータを指す長いストレージ パス (URI) を覚える代わりに、データ資産を作成し、フレンドリ名を使ってその資産にアクセスできます。

データ資産を作成すると、データ ソースの場所への ''参照'' とそのメタデータのコピーも作成されます。 データは既存の場所に残るため、追加のストレージ コストは発生せず、データ ソースの整合性を損ないません。 データ資産は、Azure Machine Learning データストア、Azure Storage、パブリック URL、またはローカル ファイルから作成できます。

データ資産の詳細については、「データ資産の作成」を参照してください。

次のステップ