Auslösen von Azure Machine Learning Aufträgen und Pipelines

Abgeschlossen

Mit konfigurierter Authentifizierung kann Ihr GitHub Actions Workflow Azure Machine Learning erreichen. Entscheiden Sie als Nächstes, was den Workflow startet und was er übermittelt.

Triggerarten

GitHub Actions unterstützt mehrere Triggertypen, die jeweils für ein anderes Szenario geeignet sind:

  • push — läuft, wenn ein Commit auf einer Verzweigung landet, in der Regel main. Verwenden Sie dies, um ein Modell zu trainieren oder zu registrieren, nachdem eine genehmigte Änderung zusammengeführt wurde.
  • pull_request – wird für ausgewählte Pullanforderungsaktivitäten ausgeführt. Verwenden Sie diese Einstellung für Überprüfungsworkflows, die eine fehlerhafte Änderung blockieren können.
  • workflow_dispatch– ermöglicht es einem Teammitglied, einen On-Demand-Workflow über die GitHub UI zu starten.
  • schedule — führt den Workflow in einem definierten Zeitplan aus. Verwenden Sie dies für regelmäßiges Neutraining mit aktualisierten Daten.
  • repository_dispatch– ermöglicht es einem externen System, den Workflow durch Aufrufen der GitHub REST-API zu starten. Dies ist der Einstiegspunkt für Azure initiierte Ereignisse.

Befehlsaufträge und Pipelineaufträge

Azure Machine Learning zwei Auftragstypen bietet, die Ihr Workflow übermitteln kann:

  • Ein Befehlsauftrag führt ein einzelnes Skript auf Azure Compute aus. Für einen Trainingslauf, der in einen Schritt passt, ist das unkompliziert.
  • Ein Pipelineauftrag verbindet mehrere Komponenten – Datenvorbereitung, Schulung, Auswertung – in einem gerichteten Diagramm. Komponenten sind wiederverwendbar und können als versionsierte Ressourcen registriert werden.

Ihr Workflow sendet die Auftragsdefinition (eine YAML-Datei, die in das Repository eingecheckt ist) mithilfe der Azure CLI. Ein Workflowschritt kann warten, bis der Job beendet ist, und dessen Exit-Status überprüfen. Wenn der Auftrag fehlschlägt, schlägt der Workflow fehl – und wenn der Verzweigungsschutz die Überprüfung des Workflows erfordert, kann die Pullanforderung nicht zusammengeführt werden.

Auslösen durch Ereignisse auf Azure-Seite

GitHub Actions reagiert auf GitHub-Ereignisse, aber Signale für das Neutrainieren stammen oft aus Azure. Beispielsweise kann Azure Event Grid melden, dass neue Daten im Speicher eingetroffen sind.

GitHub Actions abonniert nicht nativ Azure Event Grid Ereignisse. Ein Vermittler, z. B. Azure Logic Apps oder Azure Functions, kann das Azure Ereignis empfangen, sich bei GitHub authentifizieren und die GitHub REST-API mit einer repository_dispatch Nutzlast aufrufen. Der GitHub Actions-Workflow sendet dann den Azure Machine Learning Auftrag.

Hinweis

Durch eine Datenänderung ausgelöstes Neutraining und durch eine Codeänderung ausgelöstes Neutraining können dieselbe Workflow-Logik verwenden. Die Triggerquelle unterscheidet sich, aber die Schritte zur Auftragsübermittlung sind identisch.

Tip

Ordnen Sie jedes Ereignis einem Auslöser zu: eine vorgeschlagene Änderung, ein genehmigter Merge, ein monatlicher Durchlauf und neue Daten. Wann ist ein Vermittler notwendig?