Delen via


Modellen trainen met Azure Machine Learning

VAN TOEPASSING OP: Python SDK azure-ai-ml v2 (actueel)

Azure Machine Learning biedt verschillende manieren om uw modellen te trainen, van code-first-oplossingen met behulp van de SDK tot oplossingen met weinig code, zoals geautomatiseerde machine learning en de visuele ontwerpfunctie. Gebruik de volgende lijst om te bepalen welke trainingsmethode geschikt is voor u:

  • Azure Machine Learning SDK voor Python: de Python SDK biedt verschillende manieren om modellen te trainen, elk met verschillende mogelijkheden.

    Trainingsmethode Beschrijving
    command() Een typische manier om modellen te trainen, is het verzenden van een opdracht() die een trainingsscript, omgeving en rekengegevens bevat.
    Geautomatiseerde machine learning Met geautomatiseerde machine learning kunt u modellen trainen zonder uitgebreide gegevenswetenschap of programmeerkennis. Voor mensen met een data science- en programmeerachtergrond biedt het een manier om tijd en resources te besparen door algoritmeselectie en hyperparameterafstemming te automatiseren. U hoeft zich geen zorgen te maken over het definiëren van een taakconfiguratie bij het gebruik van geautomatiseerde machine learning.
    Machine learning-pijplijn Pijplijnen zijn geen andere trainingsmethode, maar een manier om een werkstroom te definiëren met behulp van modulaire, herbruikbare stappen die training kunnen omvatten als onderdeel van de werkstroom. Machine learning-pijplijnen ondersteunen het gebruik van geautomatiseerde machine learning en voeren configuratie uit om modellen te trainen. Omdat pijplijnen niet specifiek gericht zijn op training, zijn de redenen voor het gebruik van een pijplijn gevarieerder dan de andere trainingsmethoden. Over het algemeen kunt u een pijplijn gebruiken wanneer:
    * U wilt onbeheerde processen plannen, zoals langlopende trainingstaken of gegevensvoorbereiding.
    * Gebruik meerdere stappen die worden gecoördineerd over heterogene rekenresources en opslaglocaties.
    * Gebruik de pijplijn als herbruikbare sjabloon voor specifieke scenario's, zoals opnieuw trainen of batchgewijs scoren.
    * Gegevensbronnen, invoer en uitvoer voor uw werkstroom bijhouden en versien.
    * Uw werkstroom wordt geïmplementeerd door verschillende teams die onafhankelijk van elkaar aan specifieke stappen werken. Stappen kunnen vervolgens worden samengevoegd in een pijplijn om de werkstroom te implementeren.
  • Ontwerpfunctie: Azure Machine Learning Designer biedt een eenvoudig ingangspunt in machine learning voor het bouwen van concepten of voor gebruikers met weinig coderingservaring. Hiermee kunt u modellen trainen met behulp van een gebruikersinterface op basis van slepen en neerzetten. U kunt Python-code gebruiken als onderdeel van het ontwerp of modellen trainen zonder code te schrijven.

  • Azure CLI: De Machine Learning CLI biedt opdrachten voor algemene taken met Azure Machine Learning en wordt vaak gebruikt voor het uitvoeren van scripts en het automatiseren van taken. Zodra u bijvoorbeeld een trainingsscript of pijplijn hebt gemaakt, kunt u de Azure CLI gebruiken om een trainingstaak te starten volgens een planning of wanneer de gegevensbestanden die voor de training worden gebruikt, worden bijgewerkt. Voor trainingsmodellen biedt het opdrachten waarmee trainingstaken worden verzonden. Taken kunnen worden verzonden met behulp van uitvoeringsconfiguraties of pijplijnen.

Elk van deze trainingsmethoden kan verschillende typen rekenresources gebruiken voor training. Gezamenlijk worden deze resources rekendoelen genoemd. Een rekendoel kan een lokale machine of een cloudresource zijn, zoals een Azure Machine Learning Compute, Azure HDInsight of een externe virtuele machine.

Python SDK

Met de Azure Machine Learning SDK voor Python kunt u machine learning-werkstromen bouwen en uitvoeren met Azure Machine Learning. U kunt communiceren met de service vanuit een interactieve Python-sessie, Jupyter Notebooks, Visual Studio Code of andere IDE.

Een opdracht verzenden

Een algemene trainingstaak met Azure Machine Learning kan worden gedefinieerd met behulp van de opdracht(). De opdracht wordt vervolgens gebruikt, samen met uw trainingsscripts voor het trainen van een model op het opgegeven rekendoel.

U kunt beginnen met een opdracht voor uw lokale computer en vervolgens naar een opdracht overschakelen voor een rekendoel in de cloud, indien nodig. Wanneer u het rekendoel wijzigt, wijzigt u alleen de rekenparameter in de opdracht die u gebruikt. Een uitvoering registreert ook informatie over de trainingstaak, zoals de invoer, uitvoer en logboeken.

Geautomatiseerde machine learning

Definieer de iteraties, hyperparameterinstellingen, featurization en andere instellingen. Tijdens de training probeert Azure Machine Learning verschillende algoritmen en parameters parallel uit te voeren. Training stopt zodra deze voldoet aan de afsluitcriteria die u hebt gedefinieerd.

Tip

Naast de Python SDK kunt u ook Geautomatiseerde ML gebruiken via Azure Machine Learning-studio.

Machine learning-pijplijn

Machine learning-pijplijnen kunnen gebruikmaken van de eerder genoemde trainingsmethoden. Pijplijnen gaan meer over het maken van een werkstroom, dus ze omvatten meer dan alleen de training van modellen.

Begrijpen wat er gebeurt wanneer u een trainingstaak indient

De azure-trainingslevenscyclus bestaat uit:

  1. De bestanden in uw projectmap zippen en uploaden naar de cloud.

    Tip

    Als u wilt voorkomen dat onnodige bestanden worden opgenomen in de momentopname, maakt u een genegeerd bestand (.gitignore of .amlignore) in de map. Voeg de bestanden en mappen toe die u wilt uitsluiten van dit bestand. Zie de syntaxis en patronen voor .gitignoremeer informatie over de syntaxis die in dit bestand moet worden gebruikt. Het .amlignore bestand gebruikt dezelfde syntaxis. Als beide bestanden bestaan, wordt het .amlignore bestand gebruikt en wordt het .gitignore bestand niet gebruikt.

  2. Uw rekencluster omhoog schalen (of serverloze berekeningen)

  3. Het dockerfile bouwen of downloaden naar het rekenknooppunt

    1. Het systeem berekent een hash van:
    2. Het systeem gebruikt deze hash als sleutel in een zoekactie van de werkruimte Azure Container Registry (ACR)
    3. Als deze niet wordt gevonden, zoekt deze naar een overeenkomst in de algemene ACR
    4. Als deze niet wordt gevonden, bouwt het systeem een nieuwe installatiekopieën (die in de cache worden opgeslagen en geregistreerd bij de werkruimte-ACR)
  4. Het zip-projectbestand downloaden naar tijdelijke opslag op het rekenknooppunt

  5. Het projectbestand opheffen

  6. Het rekenknooppunt dat wordt uitgevoerd python <entry script> <arguments>

  7. Logboeken, modelbestanden en andere bestanden opslaan die zijn geschreven naar het opslagaccount dat is gekoppeld aan ./outputs de werkruimte

  8. Rekenkracht omlaag schalen, inclusief het verwijderen van tijdelijke opslag

Azure Machine Learning-ontwerpprogramma

Met de ontwerpfunctie kunt u modellen trainen met behulp van een interface voor slepen en neerzetten in uw webbrowser.

Azure-CLI

De Machine Learning CLI is een extensie voor de Azure CLI. Het biedt platformoverschrijdende CLI-opdrachten voor het werken met Azure Machine Learning. Normaal gesproken gebruikt u de CLI om taken te automatiseren, zoals het trainen van een machine learning-model.

VS Code

U kunt de VS Code-extensie gebruiken om uw trainingstaken uit te voeren en te beheren. Zie de handleiding voor het beheren van resources in VS Code voor meer informatie.

Volgende stappen

Meer informatie over het maken van ml-pijplijnen voor productie met Python SDK v2 in een Jupyter-notebook.