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.
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 zwei Optionen für die Authentifizierungsmethode:
- 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 dieser Tabelle werden 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.
Jeder Azure Machine Learning-Arbeitsbereich verfügt über ein Standardspeicherkonto (Azure-Speicherkonto), das diese 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 dann 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. |
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 dieser 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 auch eine Verwendung ohne Verbindung mit Azure Machine Learning möglich ist, z. B. lokal. In V2-APIs können Sie einfacher von lokalen zu Remoteaufträgen wechseln. Weitere Informationen finden Sie unter Arbeiten mit Tabellen in Azure Machine Learning. |
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 die 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.
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
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.