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 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 Configuratie uitvoeren Een typische manier om modellen te trainen, is door een trainingsscript en taakconfiguratie te gebruiken. De taakconfiguratie biedt de informatie die nodig is om de trainingsomgeving te configureren 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 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 bevatten 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.
- Wat is de Azure Machine Learning SDK voor Python?
- De SDK installeren/bijwerken
- Een ontwikkelingsomgeving voor Azure Machine Learning configureren
Configuratie uitvoeren
Een algemene trainingstaak met Azure Machine Learning kan worden gedefinieerd met behulp van ScriptRunConfig. De uitvoeringsconfiguratie van het script wordt vervolgens gebruikt, samen met uw trainingsscripts 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 rekendoel in de cloud. 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.
- Wat is een uitvoeringsconfiguratie?
- Zelfstudie: Uw eerste ML-model trainen
- Voorbeelden: Jupyter Notebook en Python-voorbeelden van trainingsmodellen
- Procedure: Een trainingsuitvoering configureren
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
- Voorbeelden: Jupyter Notebook-voorbeelden voor geautomatiseerde machine learning
- Procedure: Geautomatiseerde ML-experimenten configureren in Python
- Procedure: Een tijdreeksprognosemodel automatisch trainen
- 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. In een pijplijn kunt u een model trainen met behulp van geautomatiseerde machine learning of configuraties uitvoeren.
- Wat zijn ML-pijplijnen in Azure Machine Learning?
- Machine learning-pijplijnen maken en uitvoeren met Azure Machine Learning SDK
- Zelfstudie: Azure Machine Learning-pijplijnen gebruiken voor batchgewijs scoren
- Voorbeelden: Jupyter Notebook-voorbeelden voor machine learning-pijplijnen
- Voorbeelden: Pijplijn met geautomatiseerde machine learning
Begrijpen wat er gebeurt wanneer u een trainingstaak indient
De azure-trainingslevenscyclus bestaat uit:
- De bestanden in uw projectmap zippen, waarbij de bestanden die zijn opgegeven in .amlignore of .gitignore worden genegeerd
- Uw rekencluster omhoog schalen
- 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 Softwareomgevingen maken en gebruiken in Azure Machine Learning)
- 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 globale 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 werkruimte - 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 lokaal gebruiken als u kiest (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.