Uruchamianie zadania języka R w celu wytrenowania modelu

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (bieżąca)

W tym artykule wyjaśniono, jak uruchomić skrypt języka R w środowisku produkcyjnym i skonfigurować go do uruchamiania jako zadanie języka R przy użyciu interfejsu wiersza polecenia usługi Azure Machine Edukacja w wersji 2.

Uwaga

Chociaż tytuł tego artykułu odnosi się do trenowania modelu, można uruchomić dowolny rodzaj skryptu języka R, o ile spełnia wymagania wymienione w artykule dotyczącym dostosowywania.

Wymagania wstępne

  • Obszar roboczy usługi Azure Machine Edukacja.
  • Zarejestrowany zasób danych używany przez zadanie szkoleniowe.
  • Zainstalowany interfejs wiersza polecenia platformy Azure i rozszerzenie ml. Możesz też użyć wystąpienia obliczeniowego w obszarze roboczym, które ma wstępnie zainstalowany interfejs wiersza polecenia.
  • Klaster obliczeniowy lub wystąpienie obliczeniowe do uruchomienia zadania trenowania.
  • Środowisko języka R dla klastra obliczeniowego używane do uruchamiania zadania.

Utwórz folder z tą strukturą

Utwórz tę strukturę folderów dla projektu:

📁 r-job-azureml
├─ src
│  ├─ azureml_utils.R
│  ├─ r-source.R
├─ job.yml

Ważne

Cały kod źródłowy przechodzi do src katalogu.

  • Źródło r. Plik języka R to skrypt języka R , który został dostosowany do uruchamiania w środowisku produkcyjnym. Upewnij się, że wykonasz kroki tworzenia i rejestrowania modelu w tym skrypcie.
  • Azureml_utils . Plik języka R jest niezbędny. Użyj tego kodu źródłowego dla zawartości pliku.

Przygotowywanie zadania YAML

Interfejs wiersza polecenia usługi Azure Machine Edukacja w wersji 2 ma różne schematy YAML dla różnych operacji. Schemat YAML zadania służy do przesyłania zadania w pliku job.yml, który jest częścią tego projektu.

Należy zebrać określone informacje, aby umieścić je w pliku YAML:

  • Nazwa zarejestrowanego zasobu danych używanego jako dane wejściowe (z wersją): azureml:<REGISTERED-DATA-ASSET>:<VERSION>
  • Nazwa utworzonego środowiska (z wersją): azureml:<R-ENVIRONMENT-NAME>:<VERSION>
  • Nazwa klastra obliczeniowego: azureml:<COMPUTE-CLUSTER-NAME>

Napiwek

W przypadku artefaktów usługi Azure Machine Edukacja, które wymagają wersji (zasobów danych, środowisk), możesz użyć identyfikatora URI azureml:<AZUREML-ASSET>@latest skrótu, aby uzyskać najnowszą wersję tego artefaktu, jeśli nie musisz ustawiać określonej wersji.

Przykładowy schemat YAML do przesłania zadania

Edytuj plik job.yml, aby zawierał następujące elementy. Pamiętaj o zastąpieniu wyświetlanych <IN-BRACKETS-AND-CAPS> wartości i usunięciu nawiasów kwadratowych.

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
# the Rscript command goes in the command key below. Here you also specify 
# which parameters are passed into the R script and can reference the input
# keys and values further below
# Modify any value shown below <IN-BRACKETS-AND-CAPS> (remove the brackets)
command: >
Rscript <NAME-OF-R-SCRIPT>.R
--data_file ${{inputs.datafile}}  
--other_input_parameter ${{inputs.other}}
code: src   # this is the code directory
inputs:
  datafile: # this is a registered data asset
    type: uri_file
    path: azureml:<REGISTERED-DATA-ASSET>@latest
  other: 1  # this is a sample parameter, which is the number 1 (as text)
environment: azureml:<R-ENVIRONMENT-NAME>@latest
compute: azureml:<COMPUTE-CLUSTER-OR-INSTANCE-NAME>
experiment_name: <NAME-OF-EXPERIMENT>
description: <DESCRIPTION>

Przesyłanie zadania

W poniższych poleceniach w tej sekcji może być konieczne zapoznanie się z następującymi poleceniami:

  • Nazwa obszaru roboczego usługi Azure Machine Edukacja
  • Nazwa grupy zasobów, w której znajduje się obszar roboczy
  • Subskrypcja, w której znajduje się obszar roboczy

Znajdź następujące wartości w usłudze Azure Machine Edukacja Studio:

  1. Zaloguj się i otwórz obszar roboczy.
  2. W prawym górnym rogu paska narzędzi Azure Machine Edukacja Studio wybierz nazwę obszaru roboczego.
  3. Możesz skopiować wartości z wyświetlonej sekcji.

Zrzut ekranu: znajdź wartości do użycia w poleceniu interfejsu wiersza polecenia.

Aby przesłać zadanie, uruchom następujące polecenia w oknie terminalu:

  1. Zmień katalogi na r-job-azureml.

    cd r-job-azureml
    
  2. Zaloguj się do Azure. Jeśli robisz to z wystąpienia obliczeniowego usługi Azure Machine Edukacja, użyj:

    az login --identity
    

    Jeśli nie korzystasz z wystąpienia obliczeniowego, pomiń --identity i postępuj zgodnie z monitem, aby otworzyć okno przeglądarki w celu uwierzytelnienia.

  3. Upewnij się, że masz najnowsze wersje interfejsu wiersza polecenia i ml rozszerzenie:

    az upgrade
    
  4. Jeśli masz wiele subskrypcji platformy Azure, ustaw aktywną subskrypcję na używaną dla obszaru roboczego. (Ten krok można pominąć, jeśli masz dostęp tylko do pojedynczej subskrypcji). Zastąp <SUBSCRIPTION-NAME> ciąg nazwą subskrypcji. Usuń również nawiasy klamrowe <>.

    az account set --subscription "<SUBSCRIPTION-NAME>"
    
  5. Teraz użyj interfejsu wiersza polecenia, aby przesłać zadanie. Jeśli robisz to w wystąpieniu obliczeniowym w obszarze roboczym, możesz użyć zmiennych środowiskowych dla nazwy obszaru roboczego i grupy zasobów, jak pokazano w poniższym kodzie. Jeśli nie korzystasz z wystąpienia obliczeniowego, zastąp te wartości nazwą obszaru roboczego i grupą zasobów.

    az ml job create -f job.yml  --workspace-name $CI_WORKSPACE --resource-group $CI_RESOURCE_GROUP
    

Po przesłaniu zadania możesz sprawdzić stan i wyniki w programie Studio:

  1. Zaloguj się do usługi Azure Machine Edukacja Studio.
  2. Wybierz obszar roboczy, jeśli nie został jeszcze załadowany.
  3. W obszarze nawigacji po lewej stronie wybierz pozycję Zadania.
  4. Wybierz nazwę eksperymentu użytą do wytrenowania modelu.
  5. Wybierz nazwę wyświetlaną zadania, aby wyświetlić szczegóły i artefakty zadania, w tym metryki, obrazy, zadania podrzędne, dane wyjściowe, dzienniki i kod używany w zadaniu.

Rejestrowanie modelu

Na koniec po zakończeniu zadania trenowania zarejestruj model, jeśli chcesz go wdrożyć. Rozpocznij w programie Studio na stronie z wyświetlonymi szczegółami zadania.

  1. Po zakończeniu zadania wybierz pozycję Dane wyjściowe i dzienniki , aby wyświetlić dane wyjściowe zadania.

  2. Otwórz folder models, aby sprawdzić, czy crate.bin i model MLmodel są obecne. Jeśli nie, sprawdź dzienniki, aby sprawdzić, czy wystąpił błąd.

  3. Na pasku narzędzi u góry wybierz pozycję + Zarejestruj model.

    Zrzut ekranu przedstawiający sekcję Zadanie programu Studio z otwartą sekcją Dane wyjściowe.

  4. Nie używaj typu modelu MLflow , nawet jeśli został wykryty. Zmień typ modelu z domyślnego MLflow na Nieokreślony typ. Pozostawienie go jako MLflow spowoduje błąd.

  5. W obszarze Dane wyjściowe zadania wybierz pozycję modele, folder zawierający model.

  6. Wybierz Dalej.

  7. Podaj nazwę, której chcesz użyć dla modelu. Dodaj opis, wersję i tagi , jeśli chcesz.

  8. Wybierz Dalej.

  9. Przejrzyj informacje.

  10. Wybierz pozycję Zarejestruj.

W górnej części strony zobaczysz potwierdzenie zarejestrowania modelu. Potwierdzenie wygląda podobnie do następującego:

Zrzut ekranu przedstawia przykład pomyślnej rejestracji.

Wybierz pozycję Kliknij tutaj, aby przejść do tego modelu. Jeśli chcesz wyświetlić zarejestrowane szczegóły modelu.

Następne kroki

Teraz, gdy masz zarejestrowany model, dowiedz się , jak wdrożyć model języka R w punkcie końcowym online (w czasie rzeczywistym).