De oplossingsarchitectuur verkennen
Wanneer u met kleinere teams aan kleinere projecten werkt, kan het zinvol zijn om één Azure Machine Learning-werkruimte te hebben. De ene werkruimte kan voor alles worden gebruikt: uw model trainen, testen en implementeren. Bij Proseware wilt u echter een robuuste en toekomstbestendige oplossing hebben die eenvoudig kan worden geschaald wanneer u meerdere modellen bouwt en onderhoudt die u wilt integreren met onze webtoepassing voor beoefenaars.
Als u snel maar veilig een model wilt verplaatsen van ontwikkeling naar productie, hebt u overeenstemming bereikt over een MLOps-architectuur (High Level Machine Learning Operations).
Notitie
Het diagram is een vereenvoudigde weergave van een MLOps-architectuur. Als u een gedetailleerdere architectuur wilt bekijken, bekijkt u de verschillende use cases in de MLOps-oplossingsversneller (v2).
De architectuur bevat:
- Installatie: Maak alle benodigde Azure-resources voor de oplossing.
- Modelontwikkeling (interne lus): de gegevens verkennen en verwerken om het model te trainen en te evalueren.
- Continue integratie: het model verpakken en registreren.
- Modelimplementatie (outer loop): implementeer het model.
- Continue implementatie: test het model en promoot het naar de productieomgeving.
- Bewaking: model- en eindpuntprestaties bewaken.
Voor het werken met machine learning-modellen op grote schaal wil Proseware afzonderlijke omgevingen gebruiken voor verschillende fasen. Als u afzonderlijke omgevingen hebt, is het eenvoudiger om de toegang tot resources te beheren. Elke omgeving kan vervolgens worden gekoppeld aan een afzonderlijke Azure Machine Learning-werkruimte.
Notitie
In deze module verwijzen we naar de DevOps-interpretatie van omgevingen. Azure Machine Learning maakt ook gebruik van de termenomgevingen om een verzameling Python-pakketten te beschrijven die nodig zijn om een script uit te voeren. Deze twee concepten van omgevingen zijn onafhankelijk van elkaar. Meer informatie over Azure Machine Learning-omgevingen.
Als u wilt toestaan dat modellen worden getest voordat ze worden geïmplementeerd, wilt u werken met drie omgevingen:
De ontwikkelomgeving wordt gebruikt voor de binnenste lus:
- Gegevenswetenschappers trainen het model.
- Het model is verpakt en geregistreerd.
De faseringsomgeving wordt gebruikt voor een deel van de buitenste lus:
- Test de code en het model met linting en eenheidstests.
- Implementeer het model om het eindpunt te testen.
De productieomgeving wordt gebruikt voor een ander deel van de buitenste lus:
- Implementeer het model naar het productie-eindpunt. Het productie-eindpunt is geïntegreerd met de webtoepassing.
- Bewaak de prestaties van het model en het eindpunt om hertraining te activeren wanneer dat nodig is.
Hoewel veel machine learning-taken wel en moeten worden geautomatiseerd, wilt u ook plannen voor punten waar u moet worden goedgekeurd. Wanneer een model is getraind en verpakt, moet u de hoofdgegevenswetenschapper op de hoogte stellen om het model te valideren voordat het naar de faseringsomgeving wordt verplaatst.
Zo wilt u, nadat het model krachtig is getest in de faseringsomgeving, gated goedkeuring toevoegen om ervoor te zorgen dat iemand van het softwareontwikkelingsteam controleert of alle tests zijn geslaagd voordat u uw model in productie implementeert.
Wanneer u met omgevingen werkt, kunt u met beperkte goedkeuring implementaties van de ene omgeving naar de volgende beheren.