Uruchamianie zadania języka R w celu wytrenowania modelu
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml 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 Learning 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 Learning.
- 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 Learning 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 Learning, 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 Learning
- 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 Learning Studio:
- Zaloguj się i otwórz obszar roboczy.
- Na pasku narzędzi usługi Azure Machine Learning Studio w prawym górnym rogu wybierz nazwę obszaru roboczego.
- Możesz skopiować wartości z wyświetlonej sekcji.
Aby przesłać zadanie, uruchom następujące polecenia w oknie terminalu:
Zmień katalogi na
r-job-azureml
.cd r-job-azureml
Zaloguj się do Azure. Jeśli robisz to z wystąpienia obliczeniowego usługi Azure Machine Learning, 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.Upewnij się, że masz najnowsze wersje interfejsu wiersza polecenia i
ml
rozszerzenie:az upgrade
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>"
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:
- Zaloguj się do usługi Azure Machine Learning Studio.
- Wybierz obszar roboczy, jeśli nie został jeszcze załadowany.
- W obszarze nawigacji po lewej stronie wybierz pozycję Zadania.
- Wybierz nazwę eksperymentu użytą do wytrenowania modelu.
- 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.
Po zakończeniu zadania wybierz pozycję Dane wyjściowe i dzienniki , aby wyświetlić dane wyjściowe zadania.
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.
Na pasku narzędzi u góry wybierz pozycję + Zarejestruj model.
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.
W obszarze Dane wyjściowe zadania wybierz pozycję modele, folder zawierający model.
Wybierz Dalej.
Podaj nazwę, której chcesz użyć dla modelu. Dodaj opis, wersję i tagi , jeśli chcesz.
Wybierz Dalej.
Przejrzyj informacje.
Wybierz pozycję Zarejestruj.
W górnej części strony zobaczysz potwierdzenie zarejestrowania modelu. Potwierdzenie wygląda podobnie do następującego:
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).