Tworzenie zadań usługi Azure Machine Learning

Ukończone

Pierwszym krokiem do operacjonalizacji modelu uczenia maszynowego jest uruchomienie go jako zadania usługi Azure Machine Learning. Poszczególne skrypty można uruchamiać jako zadania poleceń lub grupy skryptów jako zadanie potoku.

Zespół ds. nauki o danych zapewnia swoją pracę w notesie Jupyter, w którym dane są ładowane, przekształcane i trenowane. Aby przygotować kod i model do produkcji, należy wykonać następujące kroki:

  • Refaktoryzacja notesu do skryptów.
  • Zapoznaj się ze skryptami w definicji zadania.
  • Wyzwól zadanie w celu wytrenowania modelu.

Refaktoryzacja kodu do skryptów

Aby przygotować model uczenia maszynowego do produkcji, należy najpierw przygotować kod do produkcji. Jeśli masz notes Jupyter, który musi zostać przekonwertowany na kod produkcyjny, musisz wykonać następujące kroki:

  • Wyczyść kod bezskuteczności.
  • Wyeksportuj kod do skryptów języka Python.
  • Używanie funkcji w skryptach.

Korzystając z funkcji w skryptach, łatwiej będzie przetestować jakość kodu. Jeśli masz skrypt, który chcesz wykonać, możesz użyć zadania usługi Azure Machine Learning, aby uruchomić kod.

Definiowanie zadania usługi Azure Machine Learning

Aby zdefiniować zadanie w usłudze Azure Machine Learning, możesz utworzyć plik YAML. Niezależnie od tego, czy chcesz uruchomić jeden skrypt jako zadanie polecenia, czy wiele skryptów sekwencyjnie jako potok. W przypadku zadań poleceń i potoku należy utworzyć plik YAML, który zawiera szczegółowe informacje:

  • Które skrypty mają być uruchamiane.
  • Jakie są dane wejściowe i wyjściowe dla każdego skryptu.
  • Obliczenia, które będą używane do uruchamiania skryptów.
  • Środowisko, które należy zainstalować na obliczeniach, aby uruchamiać skrypty.

Przykład zadania polecenia, które używa zarejestrowanego zasobu danych jako danych wejściowych podczas uruchamiania skryptu main.py , jest pokazane w następującym języku YAML:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
  python main.py 
  --diabetes-csv ${{inputs.diabetes}}
inputs:
  diabetes:
    path: azureml:diabetes-data:1
    mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.

W pliku YAML znajdziesz niezbędne szczegóły, które należy uwzględnić:

  • Odwołuje code się do folderu lokalnego, który przechowuje skrypty, które chcesz uruchomić. Klucz command określa, że main.py skrypt w src folderze powinien zostać wykonany przy użyciu wartości inputs.diabetes parametru diabetes-csv .
  • Wersja 1 zarejestrowanego zasobu diabetes-data danych w obszarze roboczym usługi Azure Machine Learning jest instalowana do obliczeń, które mają być używane jako dane wejściowe dla skryptu.
  • Wystąpienie aml-instance obliczeniowe będzie używane do uruchamiania skryptów.
  • Najnowsza wersja zarejestrowanego środowiska niestandardowego basic-env-scikit zostanie zainstalowana w wystąpieniu obliczeniowym przed uruchomieniem skryptu.

Aby przetestować definicję YAML zadania, możesz ją wyzwolić przy użyciu interfejsu wiersza polecenia w wersji 2.

Wyzwalanie zadania usługi Azure Machine Learning

Za każdym razem, gdy chcesz uruchomić zadanie usługi Azure Machine Learning, możesz użyć interfejsu wiersza polecenia w wersji 2. Interfejs wiersza polecenia w wersji 2 można zainstalować na urządzeniu lokalnym lub użyć usługi Azure Cloud Shell.

Niezależnie od tego, czy chcesz wyzwalać uruchomienia z urządzenia lokalnego, czy przy użyciu usługi Azure Cloud Shell, musisz najpierw zainstalować rozszerzenie usługi Azure Machine Learning.

Aby zainstalować system Windows, użyj następującego polecenia:

az extension add -n ml -y

Po zainstalowaniu rozszerzenia usługi Azure Machine Learning dla interfejsu wiersza polecenia i uzyskaniu dostępu do subskrypcji platformy Azure, z którą chcesz pracować, możesz przesłać zadanie usługi Azure Machine Learning przy użyciu następującego polecenia:

az ml job create --file job.yml

Uwaga

Aby dowiedzieć się więcej na temat zarządzania zadaniami usługi Azure Machine Learning przy użyciu interfejsu wiersza polecenia (wersja 2), przejdź do dokumentacji az ml job reference.