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.
- Zelfstudie: Uw eerste ML-model trainen
- Voorbeelden: Jupyter Notebook en Python-voorbeelden van trainingsmodellen
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.
- Wat is geautomatiseerde machine learning?
- Zelfstudie: Uw eerste classificatiemodel maken met geautomatiseerde machine learning
- Procedure: Geautomatiseerde ML-experimenten configureren in Python
- Procedure: Geautomatiseerde machine learning-experimenten maken, verkennen en implementeren met 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.
- Wat zijn ML-pijplijnen in Azure Machine Learning?
- Zelfstudie: ML-pijplijnen voor productie maken met Python SDK v2 in een Jupyter-notebook
Begrijpen wat er gebeurt wanneer u een trainingstaak indient
De azure-trainingslevenscyclus bestaat uit:
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.gitignore
meer 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.Uw rekencluster omhoog schalen (of serverloze berekeningen)
Het dockerfile bouwen of downloaden naar het rekenknooppunt
- Het systeem berekent een hash van:
- De basisinstallatiekopieën
- Aangepaste docker-stappen (zie Een model implementeren met behulp van een aangepaste Docker-basisinstallatiekopieën)
- De YAML van de Conda-definitie (zie Azure Machine Learning-omgevingen beheren met de CLI (v2))
- Het systeem gebruikt deze hash als sleutel in een zoekactie van de werkruimte Azure Container Registry (ACR)
- Als deze niet wordt gevonden, zoekt deze naar een overeenkomst in de algemene ACR
- Als deze niet wordt gevonden, bouwt het systeem een nieuwe installatiekopieën (die in de cache worden opgeslagen en geregistreerd bij de werkruimte-ACR)
- Het systeem berekent een hash van:
Het zip-projectbestand downloaden naar tijdelijke opslag op het rekenknooppunt
Het projectbestand opheffen
Het rekenknooppunt dat wordt uitgevoerd
python <entry script> <arguments>
Logboeken, modelbestanden en andere bestanden opslaan die zijn geschreven naar het opslagaccount dat is gekoppeld aan
./outputs
de werkruimteRekenkracht 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.