Integrieren von Azure Machine Learning in DevOps-Tools

Abgeschlossen

Stellen Sie sich vor, Sie arbeiten mit einem Data Science-Team an einem Machine Learning-Projekt. Ihr Team kann azure DevOps oder GitHub verwenden, um Arbeit zu planen, das Code-Repository zu speichern und Workflows zu automatisieren.

Bei beiden Tools gibt es im Allgemeinen zwei Rollen:

  • Administrator-: richtet die DevOps-Umgebung ein und verwaltet die Tools.
  • Endbenutzer: trägt zum Projekt bei, indem er an der Entwicklung mitarbeitet. Stellt eine Verbindung mit den Tools bereit, hat jedoch eingeschränkten Zugriff auf die Konfiguration der DevOps-Umgebung.

Der Administrator ist für die Verbindung von Azure Machine Learning mit Azure DevOps oder GitHub verantwortlich. Um zu verstehen, wie die Integration mit Azure Machine Learning eingerichtet ist, untersuchen wir, wie ein Administrator Azure DevOps und GitHub sicher mit Azure Machine Learning verbinden würde.

Einrichten von Azure DevOps

Um Azure DevOps mit Azure Machine Learning zu verbinden, müssen Sie zuerst eine Organisation und ein Projekt erstellen. Sie verwenden die Organisation zum Gruppieren und Verwalten von Projekten.

Melden Sie sich zunächst mit einem Microsoft- oder GitHub-Konto bei Azure DevOps an.

Nach der Anmeldung können Sie eine Organisationerstellen.

Neue Organisation in Azure DevOps

Innerhalb einer Organisation können Sie mehrere Projekteerstellen.

Neues Projekt in Azure DevOps

Für jedes Projekt haben Sie Zugriff auf Tools wie Boards, Reposund Pipelines, um DevOps-Prinzipien in Ihrem Projekt anzuwenden.

Verbinden von Azure DevOps mit Azure Machine Learning

Um sicher über Azure DevOps auf Ihren Azure Machine Learning-Arbeitsbereich zuzugreifen, müssen Sie eine Dienstverbindungerstellen.

Wenn Sie eine Dienstverbindung erstellen, definieren Sie, wie Azure DevOps authentifiziert wird, um eine Verbindung mit einem anderen Dienst herzustellen. Wenn Sie mit Azure Machine Learning arbeiten, wird empfohlen, Azure DevOps die Erstellung eines Dienstprinzipals für Sie zu überlassen.

Ein Dienstprinzipal- wird als Identität in der Microsoft Entra IDerstellt. Anstatt die Anmeldeinformationen eines Teammitglieds für die Verbindung mit Azure Machine Learning zu verwenden, verwendet Azure DevOps die Anmeldeinformationen des Dienstprinzipals.

Wenn ein Azure DevOps-Projekt erstellt wird, können Sie eine Verbindung mit einem vorhandenen Azure Machine Learning-Arbeitsbereich herstellen:

  1. Wechseln Sie in einem Projekt zu Projekteinstellungen.
  2. Wählen Sie Dienstverbindungen aus, und erstellen Sie eine neue.
  3. Wählen Sie Azure Resource Manageraus.
  4. Wählen Sie die Authentifizierung mit einem automatischen Dienstprinzipal .
  5. Legen Sie die Bereichsebene auf Machine Learning Workspace fest, und stellen Sie eine Verbindung mit einem vorhandenen Azure Machine Learning-Arbeitsbereich her, auf den Sie Zugriff haben.
  6. Zugriffsberechtigung für alle Pipelines erteilen.
  7. Geben Sie Ihrer Dienstverbindung einen Namen. Sie verwenden den Namen immer dann, wenn Sie Azure DevOps authentifizieren müssen, um den Azure Machine Learning-Arbeitsbereich zu verwalten.

Neue Dienstverbindung in Azure DevOps

Nachdem die Dienstverbindung erstellt wurde, werden Sie feststellen, dass ein neu erstellter Dienstprinzipal Mitwirkender Zugriff auf Ihren Azure Machine Learning-Arbeitsbereich hat.

Einrichten von GitHub

Um GitHub mit Azure Machine Learning zu verbinden, müssen Sie zuerst ein GitHub-Repository erstellen.

Beginnen Sie, indem Sie sich bei GitHub-anmelden.

Nachdem Sie sich bei GitHub angemeldet haben, können Sie auswählen, ob Sie als Einzelperson das Repository besitzen möchten oder ob es sich um eine GitHub-Organisation handeln soll.

Neues Repository in GitHub-

Trinkgeld

Erfahren Sie mehr über die Verwendung von mit GitHub-Organisationen zur Verwaltung von Repositories.

Verbinden von GitHub mit Azure Machine Learning

Um GitHub zum Automatisieren von Machine Learning-Workflows zu verwenden, können Sie GitHub authentifizieren, um eine Verbindung mit Azure Machine Learning herzustellen. Zum Einrichten einer sicheren Verbindung müssen Sie folgende Aktionen ausführen:

  • Erstellen Sie einen Dienstprinzipal in Azure.
  • Fügen Sie die Anmeldeinformationen des Service Principals zu den Geheimnissen Ihres Repositorys hinzu.

Um einen Dienstprinzipal zu erstellen, können Sie die Azure CLIverwenden. Um mit der CLI zu arbeiten, besteht eine Möglichkeit darin, Befehle in der Azure Cloud Shellzu übermitteln.

Sie können mit dem folgenden Befehl einen Dienstprinzipal namens github-aml-sp erstellen, dem Beitragenden Zugriff auf den Azure Machine Learning-Arbeitsbereich gewährt wird.

az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
                            --sdk-auth

Nachdem der Dienstprinzipal erstellt wurde, wird Ihnen ein JSON-Text als Ausgabe zurückgegeben, der die Anmeldeinformationen enthält, die GitHub benötigt, um eine Verbindung mit Ihrer Azure-Ressourcengruppe herzustellen. Kopieren Sie den JSON-Text, und speichern Sie ihn für den nächsten Schritt.

So speichern Sie diese Anmeldeinformationen in GitHub:

  1. Wechseln Sie zu den EinstellungenIhres Repositorys.
  2. Navigieren Sie zur Seite Geheimnisse.
  3. Wählen Sie Aktionenaus.
  4. Fügen Sie ein neues Repository-Geheimnis hinzu.
  5. Geben Sie AZURE_CREDENTIALS als Namen ein.
  6. Fügen Sie den AUSGABE-JSON-Code mit den Anmeldeinformationen ein, und fügen Sie den geheimen Schlüssel hinzu.

Neues Geheimnis in GitHub

Sobald der Geheimschlüssel zu GitHub hinzugefügt wurde, können Sie den AZURE_CREDENTIALS geheimen Schlüssel verwenden, wenn GitHub authentifiziert werden muss, um mit Ihrem Azure Machine Learning-Arbeitsbereich zu arbeiten.

Trinkgeld

Fahren Sie mit der Integration von GitHub in Azure Machine Learning fort, und erfahren Sie, wie Sie GitHub-Aktionen mit Azure Machine Learning verwenden. Das Lernprogramm verwendet den AZURE_CREDENTIALS geheimen Schlüssel, um eine Verbindung mit Azure herzustellen.