Kanály služby Azure Machine Learning
Jako datový vědec budete pracovat primárně se službou Azure Machine Learning na trénování a správě modelů. Po experimentování byste měli svou práci převést na produkční kód Pythonu, abyste mohli automatizovat kanály Azure (DevOps) nebo GitHub Actions.
Experiment ve službě Azure Machine Learning
Azure Machine Learning poskytuje sadu funkcí, které vám pomůžou organizovat vaši práci. Pomocí služby Azure Machine Learning můžete například:
- Zaregistrujte datové sady pro snadné opakované použití dat uložených v datovém jezeře.
- Vytrénujte model na vzdálených výpočetních instancích nebo clusterech v závislosti na vašich požadavcích .
- Sledujte všechny spuštěné skripty pomocí experimentů , abyste mohli snadno porovnat svou práci.
- Zaregistrujte natrénované modely a nasaďte model pro dávkové využití nebo spotřebu v reálném čase.
Většina vaší práce jako datový vědec se skládá z experimentování: testování různých konfigurací pro trénování modelu a kontrola metrik výkonu a rozhodnutí, který model se má nasadit do produkčního prostředí.
Za předpokladu, že experimentujete v poznámkovém bloku Jupyter (.ipynb
soubory), budete chtít experiment převést na produkční kód Pythonu takto:
- Odebrání veškerého nepotřebnéhokóduho
- Refaktoring kódu do funkcí
- Kombinování souvisejících funkcí ve skriptech Pythonu (
.py
souborů) - Vytváření testů jednotek pro každý skript Pythonu
- Vytvořte kanál pro seskupení skriptů do pracovního postupu, který lze automatizovat.
Jakmile je váš kód připravený pro produkční prostředí, můžete automatizovat spouštění skriptů pomocí kanálů Služby Azure Machine Learning.
Vytvoření kanálů Azure Machine Learning
Koncept kanálu se nachází v různých nástrojích, často poskytuje způsob, jak seskupit úlohy v určitém pořadí. Hlavní výhodou kanálu je, že ho můžete naplánovat nebo aktivovat ke spuštění.
Kanál Azure Machine Learning se vytvoří v pracovním prostoru Azure Machine Learning. Pokud chcete vytvořit kanál, můžete definovat kroky pomocí skriptů Pythonu.
Volitelně můžete vytvořit kanál s komponentami služby Azure Machine Learning. Při vytváření komponenty se skript uloží s metadaty, jako je nezbytné prostředí v pracovním prostoru Azure Machine Learning. Komponenty můžou sdílet a používat všichni ve stejném pracovním prostoru, což ostatním usnadňuje rychlé vytváření nových kanálů, které budou stavět na vaší práci.
Pokud chcete vytvořit kanál, který se dá použít pro automatizaci, doporučujeme definovat úlohu kanálu v YAML, která se dá aktivovat pomocí příkazu rozhraní příkazového řádku (v2).
Soubor YAML, který definuje kanál, musí zadat následující informace:
- Co spustit: Kroky definované jako skripty nebo komponenty Pythonu
- Jak ho spustit: Všechny vstupy nebo výstupy, které mohou kroky očekávat.
- Kde ho spustit: Výpočetní prostředky potřebné ke spuštění kódu (obvykle výpočetní cluster Azure Machine Learning).
Například kanál, který jako vstup přijímá nezpracovaná data, transformuje je a trénuje model, může být definován v pipeline-job.yml
souboru:
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc-taxi-pipeline-example
experiment_name: nyc-taxi-pipeline-example
jobs:
transform-job:
type: command
raw_data:
type: uri_folder
path: ./data
outputs:
transformed_data:
mode: rw_mount
code: src/transform
environment: azureml:AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest
compute: azureml:cpu-cluster
command: >-
python transform.py
--raw_data ${{inputs.raw_data}}
--transformed_data ${{outputs.transformed_data}}
train-job:
type: command
inputs:
training_data: ${{parent.jobs.transform-job.outputs.transformed_data}}
outputs:
model_output:
mode: rw_mount
test_data:
mode: rw_mount
code: src/train
environment: azureml:AzureML-sklearn-0.24-ubuntu18.04-py37-cpu@latest
compute: azureml:cpu-cluster
command: >-
python train.py
--training_data ${{inputs.training_data}}
--test_data ${{outputs.test_data}}
--model_output ${{outputs.model_output}}
Ke spuštění kanálu ve službě Azure Machine Learning byste použili následující příkaz rozhraní příkazového řádku:
az ml job create --file pipeline-job.yml
Po dokončení provádění kanálu můžete zkontrolovat kanál a jeho provedené kroky v pracovním prostoru Azure Machine Learning.
Tip
Zjistěte , jak vytvořit kanál ve službě Azure Machine Learning pomocí rozhraní příkazového řádku (v2).
Když úlohy strojového učení převedete na skripty Pythonu a seskupíte úlohy v rámci kanálu, model bude připravený pro produkční prostředí. Definování kanálu v souboru YAML umožňuje automatizovat trénování a opětovné trénování aktivací spuštění kanálu pomocí rozhraní příkazového řádku (v2). Můžete spustit příkaz rozhraní příkazového řádku, který odkazuje na soubor YAML kanálu, z Kanálů Azure (DevOps) nebo GitHub Actions.