Nastavení prostředí pro vývoj a produkci
V Rámci DevOps prostředí odkazuje na kolekci prostředků. Tyto prostředky se používají k nasazení aplikace nebo k nasazení modelu pomocí projektů strojového učení.
Použití prostředí pro průběžné doručování
Kolik prostředí pracujete, závisí na vaší organizaci. Běžně existují alespoň dvě prostředí: vývojové nebo dev a produkční nebo prod. Kromě toho můžete přidat prostředí mezi, jako je testing nebo předprodukční (pre-prod).
Při průběžném doručování je typickým přístupem:
- Experimentujte s trénováním modelů ve vývojovém prostředí.
- Přesuňte nejlepší model do přípravného nebo předem připraveného prostředí pro nasazení a otestování modelu.
- Nakonec model uvolněte do produkčního prostředí a nasaďte ho tak, aby ho koncoví uživatelé mohli využívat.
Poznámka:
V tomto modulu se podíváme na interpretaci prostředí DevOps. Všimněte si, že Azure Machine Learning také používá termínová prostředí k popisu kolekce balíčků Pythonu potřebných ke spuštění skriptu. Tyto dva koncepty prostředí jsou nezávislé na sobě. Přečtěte si další informace o prostředích Azure Machine Learning.
Uspořádání prostředí Azure Machine Learning
Při implementaci MLOps a práci s modely strojového učení ve velkém měřítku je osvědčeným postupem pracovat s samostatnými prostředími pro různé fáze.
Vytváření obrázků, které váš tým využívá vývojové, předpřipravené a produžované prostředí. Ne všichni členové vašeho týmu by měli mít přístup ke všem prostředím. Datoví vědci můžou pracovat pouze v rámci vývojového prostředí s neprodukčními daty, zatímco technici strojového učení pracují na nasazení modelu v předprodukčním a prod prostředí s produkčními daty.
Samostatné prostředí usnadní řízení přístupu k prostředkům. Každé prostředí je pak možné přidružit k samostatnému pracovnímu prostoru Azure Machine Learning.
V Azure použijete řízení přístupu na základě role (RBAC) k tomu, abyste kolegům poskytli správnou úroveň přístupu k podmnožině prostředků, se kterými potřebují pracovat.
Alternativně můžete použít pouze jeden pracovní prostor Azure Machine Learning. Když pro vývoj a produkci použijete jeden pracovní prostor, budete mít menší nároky na Azure a méně režijních nákladů na správu. Řízení přístupu na základě role se ale bude vztahovat na vývoj i profesionály, což může znamenat, že lidem dáváte příliš málo nebo příliš velký přístup k prostředkům.
Návod
Přečtěte si další informace o osvědčených postupech pro uspořádání prostředků služby Azure Machine Learning.
Pokud chcete pracovat s prostředími pro různé fáze vývoje modelu, můžete při spouštění kanálu Azure nebo pracovního postupu pomocí GitHub Actions cílit na prostředí.
Prostředí Azure DevOps
Pokud chcete pracovat s prostředími v Azure DevOps, musíte nejprve vytvořit prostředí. Pak můžete určit, do kterého prostředí chcete nasadit v rámci kanálu Azure.
- V Azure DevOps rozbalte nabídku Pipelines .
- Vyberte prostředí.
- Vytvořte nové prostředí.
- Pojmenujte prostředí.
- Zvolte Žádné pro prostředky. Cílíte na konkrétní pracovní prostor Služby Azure Machine Learning v samotném kanálu.
- Vyberte Vytvořit.
Po vytvoření prostředí v Azure DevOps a přiřazení různých pracovních prostorů Azure Machine Learning ke každému prostředí můžete určit, do kterého prostředí chcete nasadit v souboru YAML služby Azure Pipelines:
trigger:
- main
stages:
- stage: deployDev
displayName: 'Deploy to development environment'
jobs:
- deployment: publishPipeline
displayName: 'Model Training'
pool:
vmImage: 'Ubuntu-18.04'
environment: dev
strategy:
runOnce:
deploy:
steps:
- template: aml-steps.yml
parameters:
serviceconnectionname: 'spn-aml-workspace-dev'
Hodnota environment v souboru YAML znamená dev, že model se vytrénuje ve vývojovém prostředí. Prostřednictvím připojení služby určíte, který pracovní prostor Služby Azure Machine Learning chcete použít pro trénování modelu.
Návod
Přečtěte si další informace o tom, jak vytvořit a cílit na prostředí pomocí Azure DevOps.
Prostředí GitHubu
Pokud chcete používat prostředí s GitHub Actions, musíte nejprve vytvořit prostředí. Pak můžete ve svém pracovním postupu použít prostředí.
Vytvoření prostředí v úložišti GitHub (úložiště):
- Přejděte na kartu Nastavení ve vašem úložišti.
- Vyberte prostředí.
- Vytvořte nové prostředí.
- Zadejte název.
- Vyberte Konfigurovat prostředí.
Pokud chcete prostředí přidružit ke konkrétnímu pracovnímu prostoru Azure Machine Learning, můžete vytvořit tajný kód prostředí , který umožní přístup k pracovnímu prostoru Azure Machine Learning jenom pro dané prostředí.
Pokud chcete použít prostředí v pracovním postupu, můžete přidat, do kterého prostředí chcete nasadit, a to zahrnutím do souboru YAML:
name: Train model
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
environment:
name: dev
steps:
- name: check out repo
uses: actions/checkout@v2
- name: install az ml extension
run: az extension add -n ml -y
- name: azure login
uses: azure/login@v1
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
- name: set current directory
run: cd src
- name: run pipeline
run: az ml job create --file src/aml_service/pipeline-job.yml --resource-group dev-ml-rg --workspace-name dev-ml-ws
V tomto příkladu AZURE_CREDENTIALS obsahuje tajný kód informace o připojení k pracovnímu prostoru Azure Machine Learning používanému pro toto prostředí.
Návod
Přečtěte si další informace o tom, jak vytvořit a používat prostředí s GitHub Actions.