Datenkonzepte in Azure Machine Learning

Mit Azure Machine Learning können Sie Daten von einem lokalen Computer oder aus einer vorhandenen cloudbasierten Speicherressource importieren. In diesem Artikel werden die wichtigsten Azure Machine Learning-Datenkonzepte beschrieben.

Datenspeicher

Ein Azure Machine Learning-Datenspeicher dient als Referenz für ein vorhandenes Azure-Speicherkonto. Ein Azure Machine Learning-Datenspeicher bietet folgende Vorteile:

  • Eine allgemeine, benutzerfreundliche API für die Interaktion mit verschiedenen Speichertypen (Blob/Files/ADLS)
  • Einfachere Ermittlung nützlicher Datenspeicher in Teamvorgängen
  • Beim Zugriff mit Anmeldeinformationen (Dienstprinzipal/SAS/Schlüssel) schützt der Azure Machine Learning-Datenspeicher die Verbindungsinformationen. Auf diese Weise müssen Sie diese Informationen nicht in Ihren Skripts platzieren.

Wenn Sie einen Datenspeicher mit einem vorhandenen Azure-Speicherkonto erstellen, haben Sie die Wahl zwischen zwei verschiedenen Authentifizierungsmethoden:

  • Basierend auf Anmeldeinformationen: Der Datenzugriff wird mit einem Dienstprinzipal, SAS-Token (Shared Access Signature) oder Kontoschlüssel authentifiziert. Benutzer mit Arbeitsbereichszugriff vom Typ Leser können auf die Anmeldeinformationen zugreifen.
  • Identitätsbasiert: Verwenden Sie Ihre Microsoft Entra-Identität oder Ihre verwaltete Identität, um den Datenzugriff zu authentifizieren.

In der folgenden Tabelle sind die cloudbasierten Azure-Speicherdienste zusammengefasst, die ein Azure Machine Learning-Datenspeicher erstellen kann. Darüber hinaus sind in der Tabelle die Authentifizierungstypen zusammengefasst, die auf diese Dienste zugreifen können:

Unterstützter Speicherdienst Auf Anmeldeinformationen basierende Authentifizierung Identitätsbasierte Authentifizierung
Azure-Blobcontainer
Azure-Dateifreigabe
Azure Data Lake Gen1
Azure Data Lake Gen2

Weitere Informationen zu Datenspeichern finden Sie unter Erstellen von Datenspeichern.

Standarddatenspeicher

Jeder Azure Machine Learning-Arbeitsbereich verfügt über ein Standardspeicherkonto (Azure Storage-Konto), das die folgenden Datenspeicher enthält:

Tipp

Um die ID für Ihren Arbeitsbereich zu suchen, wechseln Sie im Azure-Portal zum Arbeitsbereich. Erweitern Sie Einstellungen, und wählen Sie Eigenschaften aus. Die Arbeitsbereich-ID wird angezeigt.

Datenspeichername Datenspeichertyp Datenspeichername Beschreibung
workspaceblobstore BLOB-Container azureml-blobstore-{workspace-id} Speicher für Datenupload, Auftragscode-Momentaufnahmen und Pipelinedatencache.
workspaceworkingdirectory Dateifreigabe code-{GUID} Speicher für Notebooks, Compute-Instanzen und prompt flow.
workspacefilestore Dateifreigabe azureml-filestore-{workspace-id} Alternativer Container für den Datenupload.
workspaceartifactstore BLOB-Container azureml Speicher für Ressourcen wie Metriken, Modelle und Komponenten.

Datentypen

Ein URI (Speicherort) kann auf eine Datei, einen Ordner oder eine Datentabelle verweisen. Für die Ein- und Ausgabedefinition eines Machine Learning-Auftrags ist einer der folgenden drei Datentypen erforderlich:

type V2-API V1-API Kanonische Szenarien Unterschied zwischen V2/V1-APIs
File
Verweis auf eine einzelne Datei
uri_file FileDataset Lesen/Schreiben einer einzelnen Datei: Die Datei kann ein beliebiges Format aufweisen. Ein neuer Typ für V2-APIs. In V1-APIs wurden Dateien immer einem Ordner im Computezieldateisystem zugeordnet. Für diese Zuordnung ist os.path.join erforderlich. In V2-APIs wird die einzelne Datei zugeordnet. Auf diese Weise können Sie in Ihrem Code auf diesen Speicherort verweisen.
Ordner
Verweis auf einen einzelnen Ordner
uri_folder FileDataset Sie müssen einen Ordner mit Parquet-/CSV-Dateien in Pandas/Spark lesen/schreiben.

Deep Learning mit Bildern, Text, Audio- und Videodateien, die sich in einem Ordner befinden.
In V1-APIs verfügte FileDataset über eine zugehörige Engine, die eine Dateistichprobe aus einem Ordner entnehmen konnte. In V2-APIs ist ein Ordner eine einfache Zuordnung zum Dateisystem des Computeziels.
Tabelle
Verweis auf eine Datentabelle
mltable TabularDataset Sie verfügen über ein komplexes Schema, das häufig geändert wird, oder Sie benötigen eine Teilmenge umfangreicher Tabellendaten.

AutoML mit Tabellen
In V1-APIs war die Blaupause für die Datenmaterialisierung im Azure Machine Learning-Back-End gespeichert. Das führte dazu, dass TabularDataset nur funktionierte, wenn Sie über einen Azure Machine Learning-Arbeitsbereich verfügten. mltable speichert die Blaupause für die Datenmaterialisierung in Ihrem Speicher. Dieser Speicherort bedeutet, dass Sie die Blaupause auch ohne Verbindung mit Azure Machine Learning verwenden können, z. B. lokal. In V2-APIs können Sie einfacher von lokalen zu Remoteaufträgen übergehen. Weitere Informationen finden Sie unter Arbeiten mit Tabellen in Azure Machine Learning.

URI

Ein URI (Uniform Resource Identifier) stellt einen Speicherort auf Ihrem lokalen Computer, einen Azure-Speicher oder einen öffentlich verfügbaren HTTP(S)-Speicherort dar. Diese Beispiele zeigen URIs für verschiedene Speicheroptionen:

Speicherort URI-Beispiele
Azure Machine Learning-Datenspeicher azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet
Lokalem Computer ./home/username/data/my_data
Öffentlicher HTTP(S)-Server https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Blobspeicher 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>

Ein Azure Machine Learning-Auftrag ordnet URIs dem Dateisystem des Computeziels zu. Diese Zuordnung bedeutet, dass dieser URI in einem Befehl, der einen URI nutzt oder erzeugt, wie eine Datei oder ein Ordner funktioniert. Ein URI nutzt die identitätsbasierte Authentifizierung, um mithilfe Ihrer Microsoft Entra ID-Instanz (Standard) oder einer verwalteten Identität eine Verbindung mit Speicherdiensten herzustellen. URIs für Azure Machine Learning-Datenspeicher können entweder eine identitätsbasierte Authentifizierung oder eine auf Anmeldeinformationen basierende Authentifizierung (z. B. Dienstprinzipal, SAS-Token, Kontoschlüssel) anwenden, ohne Geheimnisse offenzulegen.

Ein URI kann entweder als Eingabe oder Ausgabe für einen Azure Machine Learning-Auftrag dienen und dem Dateisystem des Computeziels mit einer von vier verschiedenen Optionen für den Modus zugeordnet werden:

  • Schreibgeschützte Einbindung (ro_mount): Der URI stellt einen Speicherort dar, der in das Dateisystem des Computeziels eingebunden ist. Der eingebundene Datenspeicherort unterstützt ausschließlich schreibgeschützte Ausgabe.
  • Einbindung mit Lese-/Schreibzugriff (rw_mount): Der URI stellt einen Speicherort dar, der in das Dateisystem des Computeziels eingebunden ist. Der eingebundene Datenspeicherort unterstützt das Lesen von Ausgaben und das Schreiben von Daten.
  • Download (download): Der URI stellt einen Speicherort mit Daten dar, die in das Dateisystem des Computeziels heruntergeladen werden.
  • Upload (upload): Alle in den Speicherort eines Computeziels geschriebenen Daten werden in den vom URI dargestellten Speicherort hochgeladen.

Darüber hinaus können Sie den URI als Auftragseingabezeichenfolge im direkten Modus übergeben. In der folgenden Tabelle sind die Kombination der für Ein- und Ausgaben verfügbaren Modi zusammengefasst:

Auftrag
Eingabe oder Ausgabe
upload download ro_mount rw_mount direct
Eingabe
Ausgabe

Weitere Informationen finden Sie unter Zugreifen auf Daten in einem Auftrag.

Funktionen der Datenruntime

Azure Machine Learning verwendet eine eigene Datenruntime für einen von drei Zwecken:

  • Einbindungen/Uploads/Downloads
  • Zuordnen von Speicher-URIs zum Computeziel-Dateisystem
  • Materialisieren von Tabellendaten in Pandas/Spark mit Azure Machine Learning-Tabellen (mltable)

Die Azure Machine Learning-Datenruntime ist für Machine Learning-Aufgaben mit hoher Geschwindigkeit und hoher Effizienz konzipiert. Dies bietet folgende Hauptvorteile:

  • Rust-Spracharchitektur. Die Rust-Sprache ist für hohe Geschwindigkeit und hohe Speichereffizienz bekannt.
  • Einfach: Die Azure Machine Learning-Datenruntime hat keine Abhängigkeiten von anderen Technologien wie JVM, sodass sie schnell auf Computezielen installiert werden kann.
  • Laden von Daten mit mehreren Prozessen (parallel)
  • Datenvorabrufe werden als Hintergrundaufgabe auf den CPUs ausgeführt, um die Nutzung der GPUs in Deep Learning-Vorgängen zu verbessern.
  • Nahtlose Authentifizierung beim Cloudspeicher

Datenasset

Azure Machine Learning-Datenobjekte ähneln Lesezeichen (Favoriten) in Webbrowsern. Anstatt sich lange Speicherpfade (URIs) zu merken, die auf Ihre am häufigsten verwendeten Daten verweisen, können Sie eine Datenressource erstellen und dann mit einem Anzeigenamen auf diese Ressource zugreifen.

Durch Erstellen einer Datenressource erstellen Sie einen Verweis auf den Speicherort der Datenquelle zusammen mit einer Kopie der zugehörigen Metadaten. Da die Daten an ihrem bisherigen Speicherort verbleiben, entstehen Ihnen keine zusätzlichen Speicherkosten, und Sie riskieren nicht die Integrität Ihrer Datenquellen. Sie können Datenobjekte aus Azure Machine Learning-Datenspeichern, Azure Storage, öffentlichen URLs oder lokalen Dateien erstellen.

Weitere Informationen zu Datenressourcen finden Sie unter Erstellen von Datenressourcen.

Nächste Schritte