Delen via


MLOps: Modelbeheer, implementatie, herkomst en bewaking met Azure Machine Learning v1

VAN TOEPASSING OP: Azure CLI ml-extensie v1Python SDK azureml v1

Belangrijk

Sommige Azure CLI-opdrachten in dit artikel gebruiken de azure-cli-mlextensie (of v1) voor Azure Machine Learning. Ondersteuning voor de v1-extensie eindigt op 30 september 2025. U kunt de v1-extensie tot die datum installeren en gebruiken.

U wordt aangeraden vóór 30 september 2025 over te stappen op de mlextensie of v2. Zie de Azure Machine Learning CLI-extensie en Python SDK v2 voor meer informatie over de v2-extensie.

In dit artikel leert u hoe u MLOps-procedures (Machine Learning Operations) kunt toepassen in Azure Machine Learning om de levenscyclus van uw modellen te beheren. Machine learning-bewerkingen kunnen de kwaliteit en consistentie van uw machine learning-oplossingen verbeteren.

Belangrijk

Items in dit artikel die als preview zijn gemarkeerd, zijn momenteel beschikbaar als openbare preview. De preview-versie wordt geleverd zonder een service level agreement. We raden geen preview-functies aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt.

Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Wat is machine learning-bewerkingen?

Op basis van DevOps-principes en -procedures verhoogt machine learning-bewerkingen (MLOps) de efficiëntie van werkstromen. Bijvoorbeeld continue integratie, levering en implementatie. Machine learning-bewerkingen passen deze principes toe op het machine learning-proces met als doel:

  • Snellere experimenten en ontwikkeling van modellen
  • Snellere implementatie van modellen in productie
  • Kwaliteitscontrole en end-to-end tracering van herkomst

MLOps in Azure Machine Learning

Azure Machine Learning biedt de volgende mogelijkheden voor machine learning-bewerkingen:

  • Reproduceerbare machine learning-pijplijnen maken. Met Machine Learning-pijplijnen kunt u herhaalbare en herbruikbare stappen definiëren voor uw processen voor gegevensvoorbereiding, training en score.
  • Maak herbruikbare softwareomgevingen voor het trainen en implementeren van modellen.
  • Registreer, verpakt en implementeer modellen vanaf elke locatie. U kunt ook gekoppelde metagegevens bijhouden die vereist zijn voor het gebruik van het model.
  • Leg de governancegegevens vast voor de end-to-end levenscyclus van machine learning. De vastgelegde herkomstgegevens kunnen omvatten wie modellen publiceert, waarom er wijzigingen zijn aangebracht en wanneer modellen in productie zijn geïmplementeerd of gebruikt.
  • Informeer en waarschuw gebeurtenissen in de levenscyclus van Machine Learning. Experimentvoltooiing, modelregistratie, modelimplementatie en detectie van gegevensdrift.
  • Machine Learning-toepassingen bewaken voor operationele en machine learning-problemen. Vergelijk modelinvoer tussen training en deductie, verken modelspecifieke metrische gegevens en geef bewaking en waarschuwingen op uw machine learning-infrastructuur.
  • Automatiseer de end-to-end levenscyclus van machine learning met Azure Machine Learning en Azure Pipelines. Met behulp van pijplijnen kunt u regelmatig modellen bijwerken, nieuwe modellen testen en voortdurend nieuwe machine learning-modellen implementeren naast uw andere toepassingen en services.

Zie Machine Learning-bewerkingen voor meer informatie over machine learning-bewerkingen.

Reproduceerbare machine learning-pijplijnen maken

Gebruik machine learning-pijplijnen van Azure Machine Learning om alle stappen in uw modeltrainingsproces samen te voegen.

Een machine learning-pijplijn kan stappen bevatten van gegevensvoorbereiding tot functieextractie tot hyperparameterafstemming naar modelevaluatie. Zie Azure Machine Learning-pijplijnen voor meer informatie.

Als u de ontwerpfunctie gebruikt om uw machine learning-pijplijnen te maken, selecteert u het beletselteken (...) in de rechterbovenhoek van de ontwerpfunctiepagina en selecteert u Vervolgens Klonen. Door uw pijplijn te klonen, kunt u uw pijplijnontwerp herhalen zonder dat uw oude versies verloren gaan.

Herbruikbare softwareomgevingen maken

Met Azure Machine Learning-omgevingen kunt u de softwareafhankelijkheden van uw projecten bijhouden en reproduceren naarmate ze zich ontwikkelen. Met omgevingen kunt u ervoor zorgen dat builds reproduceerbaar zijn zonder handmatige softwareconfiguraties.

Omgevingen beschrijven de pip- en Conda-afhankelijkheden voor uw projecten. Omgevingen kunnen worden gebruikt voor zowel training als implementatie van modellen. Zie Wat zijn Azure Machine Learning-omgevingen voor meer informatie.

Modellen registreren, verpakken en implementeren vanaf elke locatie

U kunt modellen vanaf elke locatie registreren, verpakken en implementeren.

Machine Learning-modellen registreren en bijhouden

Met modelregistratie kunt u uw modellen opslaan en versien in uw werkruimte in de Azure-cloud. Met het modelregister kunt u uw getrainde modellen eenvoudig ordenen en bijhouden.

Tip

Een geregistreerd model is een logische container voor een of meer bestanden waaruit uw model bestaat. Als u bijvoorbeeld een model hebt dat is opgeslagen in meerdere bestanden, kunt u ze registreren als één model in uw Azure Machine Learning-werkruimte. Na de registratie kunt u het geregistreerde model downloaden of implementeren en alle bestanden ontvangen die zijn geregistreerd.

Naam en versie identificeren geregistreerde modellen. Telkens wanneer u een model registreert met dezelfde naam als een bestaand model, wordt de versie in het register verhoogd. U kunt andere metagegevenstags opgeven tijdens de registratie. Deze tags worden vervolgens gebruikt bij het zoeken naar een model. Azure Machine Learning ondersteunt elk model dat kan worden geladen met Behulp van Python 3.5.2 of hoger.

Tip

U kunt ook modellen registreren die buiten Azure Machine Learning zijn getraind.

U kunt een geregistreerd model dat wordt gebruikt in een actieve implementatie niet verwijderen. Zie Het model registreren voor meer informatie.

Belangrijk

Wanneer u het filter Tags op optie op de pagina Modellen van Azure Machine Learning-studio gebruikt in plaats van TagName : TagValue dat u dit moet gebruiken TagName=TagValue (zonder spatie).

Modellen verpakken en fouten opsporen

Voordat u een model in productie implementeert, wordt het verpakt in een Docker-installatiekopieën. In de meeste gevallen gebeurt het maken van installatiekopieën automatisch op de achtergrond tijdens de implementatie. U kunt de afbeelding handmatig opgeven.

Als u problemen ondervindt met de implementatie, kunt u implementeren in uw lokale ontwikkelomgeving voor probleemoplossing en foutopsporing.

Zie Machine Learning-modellen implementeren in Azure en problemen met de implementatie van externe modellen oplossen voor meer informatie.

Modellen converteren en optimaliseren

Het converteren van uw model naar Open Neural Network Exchange (ONNX) kan de prestaties verbeteren. Gemiddeld kan converteren naar ONNX een prestatieverhoging van 2x opleveren.

Zie ONNX en Azure Machine Learning voor meer informatie.

Modellen gebruiken

Getrainde machine learning-modellen worden geïmplementeerd als webservices in de cloud of lokaal. Implementaties gebruiken CPU of GPU voor deductie. U kunt ook modellen uit Power BI gebruiken.

Wanneer u een model als webservice gebruikt, geeft u de volgende items op:

  • De modellen die worden gebruikt om gegevens te beoordelen die naar de service of het apparaat worden verzonden.
  • Een invoerscript. Dit script accepteert aanvragen, gebruikt de modellen om de gegevens te beoordelen en retourneert een antwoord.
  • Een Azure Machine Learning-omgeving die de Pip- en Conda-afhankelijkheden beschrijft die nodig zijn voor de modellen en het invoerscript.
  • Andere assets, zoals tekst of gegevens, die nodig zijn voor de modellen en het invoerscript.

U geeft ook de configuratie van het doelimplementatieplatform op. Bijvoorbeeld het type familie van virtuele machines, het beschikbare geheugen en het aantal kernen bij de implementatie in Azure Kubernetes Service.

Wanneer de installatiekopie is gemaakt, worden ook de onderdelen toegevoegd die worden vereist door Azure Machine Learning. Bijvoorbeeld assets die nodig zijn om de webservice uit te voeren.

Batchscore

Batchgewijs scoren wordt ondersteund via machine learning-pijplijnen. Zie Zelfstudie: Een Azure Machine Learning-pijplijn bouwen voor afbeeldingsclassificatie voor meer informatie.

Realtime webservices

U kunt uw modellen in webservices gebruiken met de volgende rekendoelen:

  • Azure Container Instance
  • Azure Kubernetes Service
  • Lokale ontwikkelomgeving

Als u het model als een webservice wilt implementeren, moet u de volgende items opgeven:

  • Het model of ensemble van modellen.
  • Afhankelijkheden die vereist zijn voor het gebruik van het model. Een script dat bijvoorbeeld aanvragen accepteert en het model of conda-afhankelijkheden aanroept.
  • Implementatieconfiguratie die beschrijft hoe en waar het model moet worden geïmplementeerd.

Zie Machine Learning-modellen implementeren in Azure voor meer informatie.

Analyse

Microsoft Power BI ondersteunt het gebruik van machine learning-modellen voor gegevensanalyse. Zie AI met gegevensstromen voor meer informatie.

De governancegegevens vastleggen die vereist zijn voor machine learning-bewerkingen

Azure Machine Learning biedt u de mogelijkheid om het end-to-end audittrail van al uw machine learning-assets bij te houden met behulp van metagegevens.

  • Azure Machine Learning kan worden geïntegreerd met Git om informatie bij te houden over welke opslagplaats, vertakking en doorvoer van uw code afkomstig zijn.
  • Met Azure Machine Learning-gegevenssets kunt u gegevens bijhouden, profileren en versiegegevens.
  • Met interpreteerbaarheid kunt u uw modellen uitleggen, voldoen aan naleving van regelgeving en begrijpen hoe modellen een resultaat opleveren voor bepaalde invoer.
  • In de uitvoeringsgeschiedenis van Azure Machine Learning wordt een momentopname opgeslagen van de code, gegevens en berekeningen die worden gebruikt om een model te trainen.
  • Het Azure Machine Learning Model Registry legt alle metagegevens vast die aan uw model zijn gekoppeld. Deze metagegevens bevatten welk experiment het heeft getraind, waar het wordt geïmplementeerd en of de implementaties in orde zijn.
  • Dankzij integratie met Azure kunt u reageren op gebeurtenissen in de levenscyclus van machine learning. Voorbeeld: modelregistratie, implementatie, gegevensdrift en trainings-gebeurtenissen (uitvoering).

Tip

Bepaalde informatie over modellen en gegevenssets wordt automatisch vastgelegd. U kunt andere informatie toevoegen met behulp van tags. Wanneer u geregistreerde modellen en gegevenssets in uw werkruimte zoekt, kunt u tags gebruiken als filter.

Het koppelen van een gegevensset aan een geregistreerd model is een optionele stap. Zie de modelklasseverwijzing voor informatie over het verwijzen naar een gegevensset bij het registreren van een model.

Gebeurtenissen in de levenscyclus van Machine Learning melden, automatiseren en waarschuwen

Azure Machine Learning publiceert belangrijke gebeurtenissen naar Azure Event Grid, die kunnen worden gebruikt om gebeurtenissen in de levenscyclus van machine learning op de hoogte te stellen en te automatiseren. Zie Triggertoepassingen, processen of CI/CD-werkstromen op basis van Azure Machine Learning-gebeurtenissen voor meer informatie.

Controleren op operationele en machine learning-problemen

Met bewaking kunt u begrijpen welke gegevens naar uw model worden verzonden en welke voorspellingen worden geretourneerd.

Deze informatie helpt u te begrijpen hoe uw model wordt gebruikt. De verzamelde invoergegevens kunnen ook nuttig zijn bij het trainen van toekomstige versies van het model.

Zie Gegevens verzamelen van modellen in productie voor meer informatie.

Uw model opnieuw trainen op nieuwe gegevens

Vaak wilt u uw model valideren, bijwerken of zelfs helemaal opnieuw trainen, omdat u nieuwe informatie ontvangt. Soms is het ontvangen van nieuwe gegevens een verwacht onderdeel van het domein. In andere gevallen kunnen modelprestaties afnemen vanwege wijzigingen in een bepaalde sensor, wijzigingen in natuurlijke gegevens, zoals seizoenseffecten of functies die in hun relatie tot andere functies veranderen. Zie Gegevensdrift detecteren (preview) voor gegevenssets voor meer informatie.

Er is geen universeel antwoord op 'Hoe kan ik weten of ik opnieuw moet trainen?', maar azure Machine Learning-gebeurtenis- en bewakingshulpprogramma's die eerder zijn besproken, zijn goede uitgangspunten voor automatisering. Zodra u besluit om opnieuw te trainen, moet u het volgende doen:

  • Uw gegevens vooraf verwerken met behulp van een herhaalbaar, geautomatiseerd proces
  • Uw nieuwe model trainen
  • Vergelijk de uitvoer van uw nieuwe model met de uitvoer van uw oude model
  • Vooraf gedefinieerde criteria gebruiken om te kiezen of u uw oude model wilt vervangen

Een thema van de bovenstaande stappen is dat uw hertraining moet worden geautomatiseerd, niet geïmproviseerd. Azure Machine Learning-pijplijnen zijn een goed antwoord voor het maken van werkstromen met betrekking tot gegevensvoorbereiding, training, validatie en implementatie. Lees Pijplijnparameters gebruiken om modellen opnieuw te trainen in de ontwerpfunctie om te zien hoe pijplijnen en de Azure Machine Learning-ontwerpfunctie passen in een scenario voor opnieuw trainen.

De levenscyclus van machine learning automatiseren

U kunt GitHub en Azure Pipelines gebruiken om een doorlopend integratieproces te maken waarmee een model wordt getraind. In een typisch scenario, wanneer een Datawetenschapper een wijziging in de Git-opslagplaats voor een project controleert, start de Azure Pipeline een trainingsuitvoering. U kunt de resultaten van de uitvoering controleren om de prestatiekenmerken van het getrainde model te bekijken. U kunt ook een pijplijn maken waarmee het model als een webservice wordt geïmplementeerd.

Met de Azure Machine Learning-extensie kunt u eenvoudiger met Azure Pipelines werken. Het biedt de volgende verbeteringen in Azure Pipelines:

  • Hiermee schakelt u werkruimteselectie in bij het definiëren van een serviceverbinding.
  • Hiermee kunnen releasepijplijnen worden geactiveerd door getrainde modellen die zijn gemaakt in een trainingspijplijn.

Zie de volgende resources voor meer informatie over het gebruik van Azure Pipelines met Azure Machine Learning:

U kunt Azure Data Factory ook gebruiken om een pijplijn voor gegevensopname te maken waarmee gegevens worden voorbereid voor gebruik met training. Zie DevOps voor een pijplijn voor gegevensopname voor meer informatie.

Lees en verken de volgende bronnen voor meer informatie: