Delen via


Azure Machine Learning-kosten beheren en optimaliseren

In dit artikel leest u hoe u kosten beheert en optimaliseert wanneer u machine learning-modellen traint en implementeert in Azure Machine Learning.

Gebruik de volgende tips om de kosten van uw rekenresources te beheren en te optimaliseren.

  • Azure Machine Learning-rekencluster gebruiken
  • Uw trainingsclusters configureren voor automatisch schalen
  • Uw beheerde online-eindpunten configureren voor automatisch schalen
  • Quota instellen voor uw abonnement en werkruimten
  • Beëindigingsbeleid instellen voor uw trainingstaak
  • Virtuele machines met lage prioriteit gebruiken (VM)
  • Rekeninstanties plannen om automatisch af te sluiten en te starten
  • Een gereserveerde VM-instantie van Azure gebruiken
  • Training parallelliseren
  • Bewaar- en verwijderingsbeleid voor gegevens instellen
  • Resources implementeren in dezelfde regio
  • Mislukte implementaties verwijderen

Zie Plannen voor het beheren van kosten voor Azure Machine Learning voor meer informatie over het plannen en bewaken van kosten.

Belangrijk

Items die in dit artikel zijn gemarkeerd (preview) zijn momenteel beschikbaar als openbare preview. De preview-versie wordt geleverd zonder een service level agreement. We raden geen preview-versies aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Het Azure Machine Learning-rekencluster gebruiken

Met voortdurend veranderende gegevens hebt u snelle en gestroomlijnde modeltraining en -hertraining nodig om nauwkeurige modellen te onderhouden. Continue training kost echter kosten, met name voor deep learning-modellen op GPU's.

Azure Machine Learning-gebruikers kunnen het beheerde Azure Machine Learning-rekencluster gebruiken, ook wel AmlCompute genoemd. AmlCompute ondersteunt verschillende GPU- en CPU-opties. De AmlCompute wordt intern gehost namens uw abonnement door Azure Machine Learning. Het biedt dezelfde beveiliging, naleving en governance op bedrijfsniveau op Azure IaaS-cloudschaal.

Omdat deze rekengroepen zich in de IaaS-infrastructuur van Azure bevinden, kunt u uw training implementeren, schalen en beheren met dezelfde beveiligings- en nalevingsvereisten als de rest van uw infrastructuur. Deze implementaties vinden plaats in uw abonnement en voldoen aan uw governanceregels. Zie Plannen voor het beheren van kosten voor Azure Machine Learning voor meer informatie.

Trainingsclusters configureren voor automatisch schalen

Met automatisch schalen van clusters op basis van de vereisten van uw workload kunt u uw kosten verlagen, zodat u alleen gebruikt wat u nodig hebt.

AmlCompute-clusters zijn ontworpen om dynamisch te schalen op basis van uw workload. Het cluster kan worden geschaald tot het maximum aantal knooppunten dat u configureert. Wanneer elke taak is voltooid, worden knooppunten door het cluster vrijgegeven en geschaald naar het geconfigureerde minimumaantal knooppunten.

Belangrijk

Als u kosten wilt voorkomen wanneer er geen taken worden uitgevoerd, stelt u de minimale knooppunten in op 0. Met deze instelling kan Azure Machine Learning de toewijzing van de knooppunten ongedaan maken wanneer ze niet in gebruik zijn. Elke waarde die groter is dan 0 houdt dat aantal knooppunten actief, zelfs als ze niet in gebruik zijn.

U kunt ook de hoeveelheid tijd configureren die het knooppunt inactief is voordat u omlaag schaalt. Standaard is de niet-actieve tijd voordat omlaag schalen is ingesteld op 120 seconden.

  • Als u minder iteratieve experimenten uitvoert, vermindert u deze tijd om kosten te besparen.
  • Als u zeer iteratieve ontwikkel-/testexperimenten uitvoert, moet u mogelijk de tijd verhogen, zodat u niet betaalt voor constant omhoog en omlaag schalen na elke wijziging in uw trainingsscript of -omgeving.

U kunt AmlCompute-clusters configureren voor uw veranderende workloadvereisten met behulp van:

Beheerde online-eindpunten configureren voor automatisch schalen

Automatisch schalen wordt uitgevoerd met de juiste hoeveelheid resources om de belasting van uw toepassing te verwerken. Beheerde online-eindpunten bieden ondersteuning voor automatisch schalen via integratie met de functie voor automatische schaalaanpassing van Azure Monitor. Zie Online-eindpunten en -implementaties voor realtime deductie voor meer informatie.

Automatische schaalaanpassing van Azure Monitor ondersteunt een uitgebreide set regels:

  • Schaalaanpassing op basis van metrische gegevens, bijvoorbeeld CPU-gebruik >70%
  • Schaalaanpassing op basis van een planning, bijvoorbeeld regels voor piekuren in kantooruren
  • Een combinatie van de twee

Zie Online-eindpunten automatisch schalen voor meer informatie.

Quota instellen voor resources

AmlCompute wordt geleverd met een quotum of limiet, configuratie. Dit quotum is per VM-serie, bijvoorbeeld Dv2-serie of NCv3-serie. Het quotum verschilt per regio voor elk abonnement. Abonnementen beginnen met kleine standaardwaarden. Gebruik deze instelling om te bepalen hoeveel AmlCompute-resources beschikbaar zijn om in uw abonnement te worden opgenomen. Zie Azure Machine Learning Compute voor meer informatie.

U kunt ook het quotum op werkruimteniveau configureren per VM-familie voor elke werkruimte binnen een abonnement. Deze benadering biedt meer gedetailleerde controle over de kosten die elke werkruimte kan opleveren en beperkt bepaalde VM-families. Zie Quota op werkruimteniveau voor meer informatie.

Quota instellen op werkruimteniveau:

  1. Open Azure Portal en selecteer vervolgens een werkruimte in uw abonnement.

  2. Selecteer Ondersteuning + Problemen met>gebruik en quota oplossen in het werkruimtemenu.

  3. Selecteer Quotum weergeven om quota in Azure Machine Learning-studio weer te geven.

  4. Op deze pagina vindt u uw abonnement en regio om quota in te stellen.

    Omdat deze instelling van invloed is op meerdere werkruimten, hebt u bevoegdheden nodig voor het abonnementsbereik om het quotum in te stellen.

Beleid voor taakbeëindiging instellen

In sommige gevallen moet u uw trainingsuitvoeringen configureren om hun duur te beperken of ze vroeg te beëindigen. Wanneer u bijvoorbeeld de ingebouwde hyperparameterafstemming of geautomatiseerde machine learning van Azure Machine Learning gebruikt.

Hier volgen enkele opties die u hebt:

  • Definieer een parameter die wordt aangeroepen max_run_duration_seconds in uw RunConfiguration om de maximale duur te bepalen waarop een uitvoering kan worden uitgebreid op de berekening die u kiest, lokaal of extern cloud-rekenproces.
  • Voor het afstemmen van hyperparameters definieert u een beleid voor vroegtijdige beëindiging van een Bandit-beleid, een mediaanbeëindigingsbeleid of een selectiebeleid voor afkapping. Als u hyperparametervegen verder wilt beheren, gebruikt u parameters zoals max_total_runs of max_duration_minutes. Zie Beleid voor vroegtijdige beëindiging opgeven voor meer informatie.
  • Voor geautomatiseerde machine learning stelt u vergelijkbare beëindigingsbeleidsregels in met behulp van de enable_early_stopping vlag. U kunt ook eigenschappen gebruiken, zoals iteration_timeout_minutes en experiment_timeout_minutes om de maximale duur van een taak of voor het hele experiment te bepalen. Zie Afsluitcriteria voor meer informatie.

Virtuele machines met lage prioriteit gebruiken

Met Azure kunt u overtollige ongebruikte capaciteit gebruiken als VM's met lage prioriteit in virtuele-machineschaalsets, Batch en de Machine Learning-service. Deze toewijzingen zijn prepeerbaar, maar hebben een lagere prijs vergeleken met toegewezen VM's. Over het algemeen raden we u aan vm's met lage prioriteit te gebruiken voor Batch-workloads. U moet ze ook gebruiken waarbij onderbrekingen kunnen worden hersteld door opnieuw in te dienen voor Batch-deductie of door opnieuw opstarten voor deep learning-training met controlepunten.

VM's met lage prioriteit hebben één quotum, gescheiden van de toegewezen quotumwaarde. Dit is per VM-serie. Zie Quota beheren en verhogen voor meer informatie over AmlCompute-quota.

VM's met lage prioriteit werken niet voor rekeninstanties, omdat ze interactieve notebookervaringen moeten ondersteunen.

Rekenprocessen plannen

Wanneer u een rekenproces maakt, blijft de VIRTUELE machine ingeschakeld, zodat deze beschikbaar is voor uw werk.

  • Schakel inactief afsluiten (preview) in om kosten te besparen wanneer de virtuele machine gedurende een opgegeven periode niet actief is. Zie Afsluiten inactief configureren.
  • Stel een planning in om het rekenproces (preview) automatisch te starten en te stoppen wanneer deze niet in gebruik is om kosten te besparen. Zie Automatisch starten en stoppen plannen.

Gereserveerde instanties gebruiken

Een andere manier om geld te besparen op rekenresources is een gereserveerde VM-instantie van Azure. Met deze aanbieding verbindt u zich tot één jaar of drie jaar. Deze kortingen variëren tot 72% van de prijzen voor betalen per gebruik en worden rechtstreeks toegepast op uw maandelijkse Azure-factuur.

Azure Machine Learning Compute ondersteunt inherent gereserveerde instanties. Als u een gereserveerde instantie van één of drie jaar aanschaft, wordt automatisch korting toegepast op uw door Azure Machine Learning beheerde rekenkracht.

Training parallelliseren

Een van de belangrijkste methoden voor het optimaliseren van kosten en prestaties is het parallelliseren van de workload met behulp van een parallel onderdeel in Azure Machine Learning. Met een parallel onderdeel kunt u veel kleinere knooppunten gebruiken om de taak parallel uit te voeren, zodat u horizontaal kunt schalen. Er is een overhead voor parallelle uitvoering. Afhankelijk van de workload en de mate van parallelle uitvoering die kan worden bereikt, kan deze benadering een optie zijn. Zie ParallelComponent Class voor meer informatie.

Bewaar- en verwijderingsbeleid voor gegevens instellen

Telkens wanneer een pijplijn wordt uitgevoerd, worden tussenliggende gegevenssets bij elke stap gegenereerd. Na verloop van tijd nemen deze tussenliggende gegevenssets ruimte in beslag in uw opslagaccount. Overweeg om beleidsregels in te stellen voor het beheren van uw gegevens gedurende de levenscyclus om uw gegevenssets te archiveren en te verwijderen. Zie Kosten optimaliseren door de levenscyclus van gegevens automatisch te beheren voor meer informatie.

Resources implementeren in dezelfde regio

Berekeningen in verschillende regio's kunnen netwerklatentie en verhoogde kosten voor gegevensoverdracht ervaren. Azure-netwerkkosten worden gemaakt op basis van uitgaande bandbreedte van Azure-datacenters. Implementeer al uw resources in de regio om de netwerkkosten te verlagen. Het inrichten van uw Azure Machine Learning-werkruimte en afhankelijke resources in dezelfde regio als uw gegevens kan helpen de kosten te verlagen en de prestaties te verbeteren.

Voor hybride cloudscenario's zoals scenario's die gebruikmaken van Azure ExpressRoute, kan het soms rendabeler zijn om alle resources naar Azure te verplaatsen om de netwerkkosten en latentie te optimaliseren.

Mislukte implementaties verwijderen

Beheerde online-eindpunten maken gebruik van VM's voor de implementaties. Als u een aanvraag hebt ingediend om een onlineimplementatie te maken en deze is mislukt, is de aanvraag mogelijk door de fase doorgegeven wanneer de berekening wordt gemaakt. In dat geval worden voor de mislukte implementatie kosten in rekening gebracht. Wanneer u klaar bent met foutopsporing of onderzoek voor de fout, verwijdert u de mislukte implementaties om de kosten te besparen.