Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR:
Azure CLI ml Erweiterung v2 (aktuell)
Python SDK azure-ai-ml v2 (aktuell)
In diesem Artikel erfahren Sie, wie Sie mit Microsoft Fabric auf Modelle zugreifen können, die für Azure Machine Learning-Batchendpunkte bereitgestellt werden. Dieser Workflow unterstützt auch Batch-Pipeline-Bereitstellungen aus Fabric.
Wichtig
Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.
Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
Voraussetzungen
- Ein Microsoft Fabric-Abonnement oder eine kostenlose Microsoft Fabric-Testversion mit einem erstellten Lakehouse.
- Ein Azure-Abonnement mit der kostenlosen oder kostenpflichtigen Version von Azure Machine Learning.
- Ein Azure Machine Learning Arbeitsbereich, der über eine Modellbereitstellung für einen Azure Data Lake Storage Gen2 Batchendpunkt verfügt. Fabric unterstützt nur hierarchische Speicherkonten wie Azure Data Lake Storage Gen2. Weitere Informationen finden Sie unter Bereitstellung von Modellen zum Scoring in Batch-Endpunkten.
- Der heart-unlabeled-0.csv Beispieldatensatz, der für die Bewertung heruntergeladen wurde.
Wichtig
Die Identität, die die Batchbereitstellung aufruft, kann Zugriff auf das Speicherkonto gewähren. Die Berechnung, die die Bereitstellung ausführt, muss jedoch auch über die Berechtigung zum Bereitstellen des Speicherkontos verfügen. Weitere Informationen finden Sie unter Access-Speicherdienste.
Aufbau
Azure Machine Learning kann nicht direkt auf daten zugreifen, die in Fabric OneLake gespeichert sind. Sie können jedoch eine OneLake-Verknüpfung und einen Azure Machine Learning-Datenspeicher konfigurieren, um auf dasselbe Azure Data Lake-Speicherkonto zuzugreifen. Dieser Workflow ermöglicht das Lesen und Schreiben in die gleichen zugrunde liegenden Daten, ohne sie kopieren zu müssen.
Dieses Muster für Batchendpunkte ist eine von mehreren Möglichkeiten, OneLake und Azure Machine Learning zu verbinden. Eine Übersicht über die Integrationsoptionen finden Sie unter Integrieren von OneLake in Azure Machine Learning.
Das folgende Diagramm zeigt die Datenarchitektur.
Datenzugriff konfigurieren
Erstellen oder identifizieren Sie eine Verbindung mit dem Speicherkonto, das die Batchendpunktdaten enthält, damit sowohl Fabric OneLake als auch Azure Machine Learning auf die Informationen zugreifen können. Fabric unterstützt nur hierarchische Speicherkonten wie Azure Data Lake Storage Gen2.
Erstellen einer OneLake-Verknüpfung zum Speicherkonto
- Wählen Sie in Fabric ihren Arbeitsbereich im linken Navigationsbereich aus.
- Öffnen Sie das Seehaus, das Sie verwenden möchten.
- Wählen Sie im Explorer-Bereich das Symbol " Weitere Optionen " neben "Dateien" und dann " Neue Verknüpfung" aus.
- Wählen Sie auf der Seite Neue Verknüpfung die Option Azure Data Lake Storage Gen2.
- Wählen Sie auf dem Bildschirm "Verbindungseinstellungen" die Option "Neue Verbindung" aus, und geben Sie dann die URL für Ihr Azure Data Lake Storage Gen2 Konto ein.
- Geben Sie im Abschnitt "Verbindungsanmeldeinformationen " die folgenden Informationen an:
- Verbindung: Wählen Sie Neue Verbindung herstellen aus.
- Verbindungsname: Behalten Sie den aufgefüllten Wert bei.
- Authentifizierungsart: Wählen Sie das Organisationskonto aus, um die Anmeldeinformationen des verbundenen Benutzers über OAuth 2.0 zu verwenden. Wenn Sie nicht angemeldet sind, wählen Sie "Anmelden " aus, um sich anzumelden.
- Wählen Sie Weiter aus.
- Wählen Sie auf dem nächsten Bildschirm das Speicherkontoverzeichnis oder die Verzeichnisse aus, auf die die Verknüpfung ggf. zeigen soll, und wählen Sie dann Weiter aus.
- Überprüfen Sie auf dem nächsten Bildschirm die Einstellungen, und wählen Sie dann "Erstellen" aus.
Erstellen eines Datenspeichers, der auf das Speicherkonto verweist
Erstellen Sie einen Azure Machine Learning-Datenspeicher, der auf das Speicherkonto verweist. Azure Machine Learning Batch-Endpunkte können Vorhersagen nur in Blobspeicherkonten schreiben. Wählen Sie daher für den Batch-Endpunkt Azure Blob Storage statt Azure Data Lake Storage Gen2 als Datenspeichertyp aus. Alle Azure Data Lake-Speicherkonten sind auch BLOB-Speicherkonten.
- Wählen Sie im Azure Machine Learning-Arbeitsbereich im Azure Machine Learning Studio " Daten " im linken Navigationsmenü aus.
- Wählen Sie auf der Seite "Daten " die Registerkarte " Datenspeicher " und dann " Erstellen" aus.
- Geben Sie auf dem Bildschirm " Datenspeicher erstellen " die folgenden Informationen an:
-
Name des Datenspeichers: Geben Sie einen Namen für den Datenspeicher ein. Dieser Artikel verwendet
trusted_blobin späteren Schritten. Wenn Sie einen anderen Namen auswählen, aktualisieren Sie die Eingabe- und Ausgabepfade entsprechend. - Datenspeichertyp: Wählen Sie Azure Blob Storage aus.
- Kontoauswahlmethode: Wählen Sie manuell eingeben.
- URL: Geben Sie die URL für Ihr Speicherkonto und Ihren Datencontainer ein.
- Abonnement-ID: Wählen Sie Ihr Azure-Abonnement aus.
- Ressourcengruppe der Speicherressource: Wählen Sie die Ressourcengruppe des Speicherkontos aus.
- Authentifizierungstyp: Wählen Sie "Kontoschlüssel" aus.
- Kontoschlüssel: Geben Sie den Zugriffsschlüssel des Speicherkontos ein.
-
Name des Datenspeichers: Geben Sie einen Namen für den Datenspeicher ein. Dieser Artikel verwendet
- Klicken Sie auf Erstellen.
Hochladen des Beispieldatasets
Laden Sie in Fabric die Beispieldaten für den Batch-Endpunkt hoch, damit sie als Eingabe verwendet werden können.
- Wechseln Sie zu der Verknüpfung, die Sie im Fabric Lakehouse erstellt haben.
- Wählen Sie das Symbol "Weitere Aktionen " aus, wählen Sie " Neuer Unterordner" aus, und erstellen Sie einen Ordner mit dem Namen "Heart-unlabeled-0 ", um das Beispiel-Dataset zu speichern.
- Wählen Sie im neuen Ordner " Daten abrufen " und dann " Dateien hochladen" aus.
- Laden Sie das Beispiel-Dataset heart-unlabeled-0.csvhoch.
Die Beispieldatei kann nun genutzt werden. Notieren Sie sich den Pfad zu dem entsprechenden Speicherort.
Erstellen Sie eine Fabric-zu-Batch Inferencing Pipeline
Erstellen Sie eine Fabric-to-Batch Inferencing Pipeline in Ihrem bestehenden Fabric Arbeitsbereich, die den Batch Endpunkt aufruft.
- Wählen Sie auf der Startseite des Fabric-Arbeitsbereichs " Neues Element" aus.
- Wählen Sie auf der Seite "Neues Element" die Option "Pipeline" aus.
- Geben Sie einen Namen für die Pipeline ein, und wählen Sie Erstellen aus.
- Wählen Sie oben auf der Pipeline-Designerseite die Registerkarte "Aktivitäten " aus.
- Wählen Sie das Symbol "Weitere Optionen " am Ende der Registerkarte aus, und scrollen Sie dann nach unten, und wählen Sie Azure Machine Learning aus.
Erstellen und Konfigurieren der Batchbereitstellungsverbindung
Führen Sie die folgenden Schritte aus, um die Verbindung mit dem Azure Machine Learning-Arbeitsbereich zu konfigurieren.
- Wählen Sie im unteren Designerbereich die Registerkarte "Einstellungen " aus.
- Wählen Sie neben der Azure Machine Learning-Verbindung den Dropdownpfeil und dann "Alle durchsuchen" aus, um eine neue Verbindung hinzuzufügen.
- Wählen Sie in der Anzeige „Datenquelle auswählen, um loszulegen“ die Option „Azure Machine Learning“ unter „Neue Quellen“ aus.
- Geben Sie auf dem Bildschirm "Datenquelle verbinden " unter "Verbindungseinstellungen" die Abonnement-ID, den Namen der Ressourcengruppe und den Namen des Azure Machine Learning-Arbeitsbereichs ein, in dem Ihr Endpunkt bereitgestellt wird.
- Wählen Sie im Abschnitt "Verbindungsanmeldeinformationen" unter "Verbindung" die Option "Neue Verbindung erstellen" aus, und geben Sie unter "Verbindungsname" einen Verbindungsnamen an.
- Wählen Sie für die Authentifizierungsart das Organisationskonto aus, um die Anmeldeinformationen des verbundenen Benutzers zu verwenden, oder den Dienstprinzipal, um einen Dienstprinzipal zu verwenden.
Hinweis
Für Produktionseinstellungen wird ein Service Principal empfohlen. Stellen Sie für beide Optionen sicher, dass die mit der Verbindung verknüpfte Identität über die Berechtigung zum Aufrufen des von Ihnen bereitgestellten Batchendpunkts verfügt.
- Melden Sie sich bei Bedarf für ein Organisationskonto an. Stellen Sie für eine Dienstprinzipalverbindung die Mandanten-ID, die Dienstprinzipalclient-ID und den Dienstprinzipalschlüssel bereit.
- Wählen Sie Verbinden aus.
Die neue Verbindung erscheint auf der Registerkarte „Designereinstellungen“, und Fabric zeigt automatisch die verfügbaren Batch-Endpunkte im ausgewählten Arbeitsbereich an.
- Wählen Sie unter Batchendpunkt den Batchendpunkt aus, den Sie aufrufen möchten. Wählen Sie für dieses Beispiel einen Herz-Klassifizierer als Endpunkt für die Bereitstellung.
- Wählen Sie für die Batchbereitstellung bei Bedarf eine bestimmte Bereitstellung aus.
Der Abschnitt Batchbereitstellung wird automatisch mit den verfügbaren Bereitstellungen unter dem Endpunkt aufgefüllt. Wenn Sie keine Bereitstellung auswählen, ruft Fabric die Standardbereitstellung unter dem Endpunkt auf, sodass der Ersteller des Batchendpunkts entscheiden kann, welche Bereitstellung aufgerufen werden soll. Behalten Sie dieses Standardverhalten für die meisten Szenarien bei.
Konfigurieren von Ein- und Ausgaben für den Batchendpunkt
Konfigurieren Sie Eingaben und Ausgaben für den Batchendpunkt. Eingaben für Batchendpunkte liefern Daten und Parameter, die zum Ausführen des Prozesses erforderlich sind. Outputs geben die Pfade an, auf denen die Batch-Daten abgelegt werden.
Die Azure Machine Learning-Batchpipeline in Fabric unterstützt sowohl Modellbereitstellungen als auch Pipelinebereitstellungen. Die Anzahl und Art der von Ihnen bereitgestellten Eingaben hängen vom Bereitstellungstyp ab. In diesem Beispiel wird eine Modellbereitstellung verwendet, die genau eine Eingabe erfordert und eine Ausgabe erzeugt.
Weitere Informationen zu Batchendpunkteingaben und -ausgaben finden Sie unter "Grundlegendes zu Eingaben und Ausgaben in Batchendpunkten".
Konfigurieren von Eingaben
Konfigurieren Sie den Abschnitt Auftragseingaben wie folgt:
Erweitern Sie Auftragseingaben, und wählen Sie "Neu" aus, um Ihrem Endpunkt eine neue Eingabe hinzuzufügen.
Benennen Sie die Eingabe input_data. Für die Modellbereitstellung können Sie einen beliebigen Namen verwenden. Für Pipelinebereitstellungen müssen Sie den genauen Namen der Eingabe angeben, die Ihr Modell erwartet.
Wählen Sie das Caret neben der Eingabe aus, um die Felder "Name " und "Wert " zu erweitern.
Um den Typ der eingabe anzugeben, die Sie erstellen, geben Sie "JobInputType " in das Feld "Name " ein.
Um anzugeben, dass es sich bei der Eingabe um einen Ordnerpfad handelt, geben Sie "UriFolder " in das Feld "Wert " ein.
Hinweis
Sie müssen den Typ der Eingabe verwenden, die Ihre Bereitstellung erwartet. Andere unterstützte Werte für dieses Feld sind UriFile für einen Dateipfad oder Literal für einen beliebigen Literalwert wie eine Zeichenfolge oder ganze Zahl.
Wenn Sie eine weitere Eigenschaft für diese Eingabe hinzufügen möchten, wählen Sie das Pluszeichen neben der Eigenschaft aus.
Um den Pfad zu den Daten anzugeben, geben Sie "URI " in das Feld "Name " ein.
Tipp
Wenn die Eingabe vom Typ "Literal" ist, geben Sie " Wert " in das Feld "Name " ein.
Geben Sie im Feld Value den Pfad zu den Daten ein, azureml://datastores/trusted_blob/paths/heart-unlabeled-0.
Dieser Eingabepfad verweist auf das Speicherkonto, das sowohl mit OneLake in Fabric als auch mit Azure Machine Learning verknüpft ist. Sie können auch einen direkten Pfad zum Speicherkonto verwenden, z. B. https://< storage-account.dfs.azure.com>. Der Pfad führt zu den CSV-Dateien, die die erwarteten Eingabedaten für das Modell enthalten, welches an einem Batch-Endpunkt bereitgestellt wurde.
Wenn Ihr Endpunkt mehr Eingaben erfordert, wiederholen Sie die vorherigen Schritte für jede Eingabe.
Ausgaben konfigurieren
Konfigurieren Sie den Abschnitt Auftragsausgaben wie folgt:
Erweitern Sie den Abschnitt " Auftragsausgabe" , und wählen Sie "Neu " aus, um Ihrem Endpunkt eine neue Ausgabe hinzuzufügen.
Nennen Sie die Ausgabe output_data. Für die Modellbereitstellung können Sie einen beliebigen Namen verwenden. Für Pipelinebereitstellungen müssen Sie den genauen Namen der Ausgabe angeben, die ihr Modell generiert.
Wählen Sie das Caret neben der Ausgabe aus, um die Felder "Name " und "Wert " zu erweitern.
Geben Sie "JobOutputType " in das Feld "Name " ein, um den Typ der zu erstellenden Ausgabe anzugeben.
Um anzugeben, dass die Ausgabe ein Dateipfad ist, geben Sie "UriFile " in das Feld "Wert " ein. Der andere unterstützte Wert für dieses Feld ist UriFolder für einen Ordnerpfad. Für Ausgaben wird Literal nicht unterstützt.
Wenn Sie eine weitere Eigenschaft für diese Ausgabe hinzufügen möchten, wählen Sie das Pluszeichen neben der Eigenschaft aus.
Um den Pfad zu den Daten anzugeben, geben Sie "URI " in das Feld "Name " ein.
Geben Sie im Feld "Wert " den folgenden Ausdruck ein, um einen eindeutigen Ausgabepfad zu erstellen:
@concat('azureml://datastores/trusted_blob/paths/endpoints/', pipeline().RunId, '/predictions.csv')Azure Machine Learning-Batchendpunkte unterstützen nur Datenspeicherpfade als Ausgaben. Ausgaben müssen eindeutig sein, um Konflikte zu vermeiden, sodass Sie einen dynamischen Ausdruck verwenden, der die Ausführungs-ID enthält, um den Pfad zu erstellen.
Wenn Ihr Endpunkt weitere Ausgaben zurückgibt, wiederholen Sie die vorherigen Schritte für jede Ausgabe.
Optionales Konfigurieren von Auftragseinstellungen
Sie können auftragseinstellungen auch optional konfigurieren, indem Sie den Abschnitt " Auftragseinstellungen" erweitern, " Neu" auswählen und eine der folgenden Eigenschaften hinzufügen.
Für die Bereitstellung von Modellen
| Name | Wert |
|---|---|
| MiniBatchSize | Die Größe des Batches. |
| ComputeInstanceCount | Die Anzahl der Computeinstanzen, die von der Bereitstellung angefordert werden sollen. |
Für Pipeline-Bereitstellungen
| Name | Wert |
|---|---|
| ContinueOnStepFailure | Gibt an, ob die Pipeline die Verarbeitung von Knoten nach einem Fehler beenden soll. |
| DefaultDatastore | Der Standarddatenspeicher, der für Ausgaben verwendet werden soll. |
| ForceRun | Gibt an, ob die Pipeline die Ausführung aller Komponenten erzwingen soll, auch wenn die Ausgabe von einer vorherigen Ausführung abgeleitet werden kann. |
Nachdem Sie die Einstellungen konfiguriert haben, führen Sie die Pipeline aus, und überprüfen Sie die Ergebnisse.
Führen Sie die Pipeline aus und überprüfen Sie die Ergebnisse.
- Wählen Sie im Pipeline-Designer "Ausführen" aus, um die Pipeline zu starten, und bestätigen Sie die Ausführung, wenn Sie dazu aufgefordert werden.
- Wählen Sie die Registerkarte "Ausgabe" aus, um die Azure Machine Learning Aktivität zu überwachen. Warten Sie, bis der Aktivitätsstatus "Erfolgreich" angezeigt wird.
- Um den Batchauftrag in Azure Machine Learning zu bestätigen, öffnen Sie Azure Machine Learning Studio, wählen Sie Endpunkte>batchendpunkte aus, wählen Sie Ihren Endpunkt aus, und überprüfen Sie den abgeschlossenen Auftrag.
- Um die Vorhersagen zu überprüfen, kehren Sie zu Ihrem Fabric Lakehouse zurück, und öffnen Sie den OneLake-Verknüpfungsordner, der dem Ausgabepfad zugeordnet ist. Vergewissern Sie sich, dass die predictions.csv Datei unter dem
endpoints/<run-id>Pfad angezeigt wird, und überprüfen Sie sie, um die bewerteten Ergebnisse anzuzeigen. Die Datei enthält die bewerteten Eingabezeilen mit einer angefügten Vorhersagespalte.
Da die Verknüpfung und der Datastore auf dasselbe Speicherkonto verweisen, sind die Vorhersagen, die vom Batchendpunkt geschrieben werden, in Fabric sofort verfügbar, ohne dass Daten kopiert werden müssen.
Problembehandlung
| Symptom | Ursache | Resolution |
|---|---|---|
| Der Batchjob schlägt aufgrund eines Fehlers beim Einhängen des Speichers oder eines Zugriffsfehlers fehl. | Die Berechnung, die die Bereitstellung ausführt, verfügt nicht über die Berechtigung zum Bereitstellen des Speicherkontos. | Gewähren sie dem Bereitstellungs-Computeidentitätszugriff auf das Speicherkonto. Weitere Informationen finden Sie unter Access-Speicherdienste. |
| Der Datenspeicher kann nicht erstellt werden, oder der Endpunkt kann keine Ausgaben schreiben. | Der Datenspeicher wurde anstelle von Azure Blob Storage als Azure Data Lake Gen2 erstellt. | Erstellen Sie den Datenspeicher neu, und wählen Sie Azure Blob Storage als Datenspeichertyp aus. Batch-Endpunkte schreiben Vorhersagen nur in Blob Storage-Konten. |
| Die Pipeline kann den Endpunkt aufgrund eines Autorisierungsfehlers nicht aufrufen. | Die Verbindungsidentität kann den Batchendpunkt nicht aufrufen. | Stellen Sie sicher, dass das Organisationskonto oder der Dienstprinzipal, das die Verbindung verwendet, über die Berechtigung zum Aufrufen des Batchendpunkts verfügt. Weitere Informationen finden Sie unter Autorisierung für Batchendpunkte. |
| Der Ausgabepfad ist ungültig, oder eine Ausführung überschreibt vorherige Ergebnisse. | Der dynamische Ausgabeausdruck ist falsch formatiert oder nicht eindeutig. | Stellen Sie sicher, dass der Ausgabe-URI einen dynamischen Ausdruck verwendet, der so pipeline().RunId enthält, dass jede Ausführung in einen eindeutigen Pfad schreibt. |