Share via


Modellen trainen met Azure Machine Learning (v1)

VAN TOEPASSING OP:Python SDK azureml v1

Azure Machine Learning biedt verschillende manieren om uw modellen te trainen, van oplossingen met code-first 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
    Configuratie uitvoeren Een typische manier om modellen te trainen , is het gebruik van een trainingsscript en taakconfiguratie. De taakconfiguratie biedt de informatie die nodig is voor het configureren van de trainingsomgeving die wordt gebruikt om uw model te trainen. U kunt uw trainingsscript, rekendoel en Azure Machine Learning-omgeving opgeven in uw taakconfiguratie en een trainingstaak uitvoeren.
    Geautomatiseerde Machine Learning Met geautomatiseerde machine learning kunt u modellen trainen zonder uitgebreide kennis van 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 als onderdeel van de werkstroom kunnen omvatten. Machine learning-pijplijnen ondersteunen het gebruik van geautomatiseerde machine learning en uitvoeringsconfiguratie om modellen te trainen. Omdat pijplijnen niet specifiek zijn gericht 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 processen zonder toezicht plannen , zoals langdurige trainingstaken of gegevensvoorbereiding.
    * Gebruik meerdere stappen die worden gecoördineerd voor heterogene rekenresources en opslaglocaties.
    * Gebruik de pijplijn als een herbruikbare sjabloon voor specifieke scenario's, zoals opnieuw trainen of batchgewijs scoren.
    * Gegevensbronnen, invoer en uitvoer voor uw werkstroom bijhouden en versieren .
    * 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.
  • Designer: Azure Machine Learning Designer biedt een eenvoudig toegangspunt voor machine learning voor het bouwen van bewijs van concepten of voor gebruikers met weinig ervaring met coderen. Hiermee kunt u modellen trainen met behulp van een webinterface voor 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 volgens een schema te starten of wanneer de gegevensbestanden die voor de training worden gebruikt, worden bijgewerkt. Voor trainingsmodellen biedt het opdrachten waarmee trainingstaken worden verzonden. Het kan taken verzenden 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 met de service werken vanuit een interactieve Python-sessie, Jupyter Notebooks, Visual Studio Code of een andere IDE.

Configuratie uitvoeren

Een algemene trainingstaak met Azure Machine Learning kan worden gedefinieerd met behulp van ScriptRunConfig. De configuratie van de scriptuitvoering wordt vervolgens samen met uw trainingsscript(s) gebruikt om een model te trainen op een rekendoel.

U kunt beginnen met een uitvoeringsconfiguratie voor uw lokale computer en vervolgens zo nodig overschakelen naar een configuratie voor een cloud-gebaseerd rekendoel. Wanneer u het rekendoel wijzigt, wijzigt u alleen de uitvoeringsconfiguratie 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. De training stopt zodra deze voldoet aan de afsluitcriteria die u hebt gedefinieerd.

Tip

Naast de Python SDK kunt u geautomatiseerde ML ook 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 het trainen van modellen. In een pijplijn kunt u een model trainen met behulp van geautomatiseerde machine learning of configuraties uitvoeren.

Begrijpen wat er gebeurt wanneer u een trainingstaak indient

De levenscyclus van de Azure-training bestaat uit:

  1. De bestanden in uw projectmap zippen, waarbij de bestanden die zijn opgegeven in .amlignore of .gitignore worden genegeerd
  2. Uw rekencluster omhoog schalen
  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 zoekopdracht van de werkruimte Azure Container Registry (ACR)
    3. Als deze niet wordt gevonden, wordt gezocht naar een overeenkomst in de globale 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 uitpakken
  6. Het rekenknooppunt dat wordt uitgevoerd python <entry script> <arguments>
  7. Logboeken, modelbestanden en andere bestanden opslaan waarnaar wordt geschreven ./outputs naar het opslagaccount dat is gekoppeld aan de werkruimte
  8. Rekenkracht omlaag schalen, inclusief het verwijderen van tijdelijke opslag

Als u ervoor kiest om te trainen op uw lokale computer ('configureren als lokale uitvoering'), hoeft u Docker niet te gebruiken. U kunt Docker desgewenst lokaal gebruiken (zie de sectie ML-pijplijn configureren voor een voorbeeld).

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.

Volgende stappen

Meer informatie over het configureren van een trainingsuitvoering.