Delen via


Wat is een Azure Machine Learning-onderdeel?

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Een Azure Machine Learning-onderdeel is een zelfstandig stukje code dat één stap uitvoert in een machine learning-pijplijn. Een onderdeel is vergelijkbaar met een functie: het heeft een naam, invoer, uitvoer en een hoofdtekst. Onderdelen zijn de bouwstenen van de Azure Machine Learning-pijplijnen.

Een onderdeel bestaat uit drie delen:

  • Metagegevens: naam, display_name, versie, type, enzovoort.
  • Interface: invoer-/uitvoerspecificaties (naam, type, beschrijving, standaardwaarde, enzovoort).
  • Opdracht, Code & Omgeving: opdracht, code en omgeving die nodig zijn om het onderdeel uit te voeren.

Diagram van hoe een onderdeel eruitziet en hoe het eruitziet in een pijplijn. Naast schermopnamen van een onderdeel in de GEBRUIKERSinterface van CLI, SDK en portal.

Waarom moet ik een onderdeel gebruiken?

Het is een goede technische praktijk om een machine learning-pijplijn te bouwen om een volledige machine learning-taak op te splitsen in een werkstroom met meerdere stappen. Zo kan iedereen zelfstandig aan de specifieke stap werken. In Azure Machine Learning vertegenwoordigt een onderdeel één herbruikbare stap in een pijplijn. Onderdelen zijn ontworpen om de productiviteit van pijplijnbouw te verbeteren. Met name de onderdelenaanbieding:

  • Goed gedefinieerde interface: Onderdelen vereisen een goed gedefinieerde interface (invoer en uitvoer). Met de interface kan de gebruiker eenvoudig stappen bouwen en stappen verbinden. De interface verbergt ook de complexe logica van een stap en verwijdert de last van het begrijpen hoe de stap wordt geïmplementeerd.

  • Delen en hergebruiken: Als bouwstenen van een pijplijn kunnen onderdelen eenvoudig worden gedeeld en hergebruikt tussen pijplijnen, werkruimten en abonnementen. Onderdelen die door één team zijn gebouwd, kunnen worden gedetecteerd en gebruikt door een ander team.

  • Versiebeheer: Onderdelen zijn versiebeheer. De producenten van onderdelen kunnen onderdelen blijven verbeteren en nieuwe versies publiceren. Consumenten kunnen specifieke onderdeelversies in hun pijplijnen gebruiken. Dit geeft ze compatibiliteit en reproduceerbaarheid.

Testbaar eenheid: een onderdeel is een zelfstandig stukje code. U kunt eenvoudig eenheidstests schrijven voor een onderdeel.

Onderdeel en pijplijn

Een machine learning-pijplijn is de werkstroom voor een volledige machine learning-taak. Onderdelen zijn de bouwstenen van een machine learning-pijplijn. Wanneer u aan een onderdeel denkt, moet dit zich onder de context van de pijplijn bevinden.

Als u onderdelen wilt bouwen, moet u eerst de machine learning-pijplijn definiëren. Hiervoor moet u de volledige machine learning-taak opsplitsen in een werkstroom met meerdere stappen. Elke stap is een onderdeel. Als u bijvoorbeeld een eenvoudige machine learning-taak overweegt om historische gegevens te gebruiken om een verkoopprognosemodel te trainen, kunt u een opeenvolgende werkstroom bouwen met gegevensverwerking, modeltraining en modelevaluatiestappen. Voor complexe taken wilt u mogelijk verder opsplitsen. Splits bijvoorbeeld één stap voor gegevensverwerking in gegevensopname, gegevens opschonen, gegevensvoorverwerking en functie-engineeringstappen.

Zodra de stappen in de werkstroom zijn gedefinieerd, moet u opgeven hoe elke stap in de pijplijn is verbonden. Als u bijvoorbeeld de stap voor gegevensverwerking en modeltraining wilt verbinden, kunt u een onderdeel voor gegevensverwerking definiëren om een map met de verwerkte gegevens uit te voeren. Een trainingsonderdeel gebruikt een map als invoer en voert een map uit die het getrainde model bevat. Deze invoer- en uitvoerdefinities maken deel uit van de definitie van uw onderdeelinterface.

Nu is het tijd om de code voor het uitvoeren van een stap te ontwikkelen. U kunt uw voorkeurstalen (python, R, enzovoort) gebruiken. De code moet kunnen worden uitgevoerd met een shell-opdracht. Tijdens de ontwikkeling kunt u enkele invoer toevoegen om te bepalen hoe deze stap wordt uitgevoerd. Voor een trainingsstap kunt u bijvoorbeeld het leerpercentage, het aantal tijdvakken toevoegen als invoer om de training te beheren. Deze extra invoer plus de invoer en uitvoer die nodig zijn om verbinding te maken met andere stappen zijn de interface van het onderdeel. Het argument van een shell-opdracht wordt gebruikt om invoer en uitvoer door te geven aan de code. De omgeving voor het uitvoeren van de opdracht en de code moet worden opgegeven. De omgeving kan een gecureerde Azure Machine Learning-omgeving, een docker-installatiekopieën of een conda-omgeving zijn.

Ten slotte kunt u alles verpakken, waaronder code, cmd, omgeving, invoer, uitvoer, metagegevens samen in een onderdeel. Vervolgens worden deze onderdelen met elkaar verbonden om pijplijnen te bouwen voor uw machine learning-werkstroom. Eén onderdeel kan in meerdere pijplijnen worden gebruikt.

Zie voor meer informatie over het bouwen van een onderdeel:

Volgende stappen