Delen via


Perspectief van Azure Well-Architected Framework op Azure Machine Learning

Azure Machine Learning is een beheerde cloudservice die u kunt gebruiken om machine learning-modellen te trainen, implementeren en beheren. Er is een breed scala aan opties en configuraties voor zowel trainings- als implementatiemodellen, waaronder reken-SKU's en configuraties. U kunt Machine Learning-modellen implementeren op Machine Learning Compute of op andere Azure-services, zoals Azure Kubernetes Service (AKS).

Dit artikel bevat architectuuraanbeveling voor het nemen van weloverwogen beslissingen wanneer u Machine Learning gebruikt om machine learning-modellen te trainen, implementeren en beheren. De richtlijnen zijn gebaseerd op de Azure Well-Architected Framework-pijlers.

Belangrijk

Het gebruik van deze handleiding

Elke sectie bevat een ontwerpcontrolelijst met aandachtsgebieden voor architectuur, samen met ontwerpstrategieën die zijn gelokaliseerd in het technologiebereik.

Er zijn ook aanbevelingen opgenomen over de technologische mogelijkheden die kunnen helpen bij het materialiseren van deze strategieën. De aanbevelingen vormen geen volledige lijst met alle configuraties die beschikbaar zijn voor Machine Learning en de bijbehorende afhankelijkheden. In plaats daarvan worden de belangrijkste aanbevelingen vermeld die zijn toegewezen aan de ontwerpperspectieven. Gebruik de aanbevelingen om uw proof-of-concept te bouwen of om uw bestaande omgevingen te optimaliseren.

De basisarchitectuur basislijn OpenAI end-to-end chatreferentiearchitectuur toont veel van de belangrijkste aanbevelingen.

Technologiebereik

Deze beoordeling is gericht op de onderling gerelateerde beslissingen voor deze Azure-resources:

  • Machine Learning
  • Machine Learning-rekenclusters
  • Machine Learning-rekenprocessen

De beoordeling heeft geen betrekking op verbonden resources, zoals gegevensarchieven of Azure Key Vault.

Betrouwbaarheid

Het doel van de pijler Betrouwbaarheid is om doorlopende functionaliteit te bieden door voldoende tolerantie te bouwen en de mogelijkheid om snel te herstellen van fouten.

De ontwerpprincipes voor betrouwbaarheid bieden een ontwerpstrategie op hoog niveau die wordt toegepast op afzonderlijke onderdelen, systeemstromen en het systeem als geheel.

Controlelijst voor ontwerp

Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor betrouwbaarheid en bepaal de relevantie ervan voor uw bedrijfsvereisten. Breid de strategie uit met meer benaderingen als dat nodig is.

  • Tolerantie: implementeer modellen in omgevingen die ondersteuning bieden voor beschikbaarheidszones, zoals AKS. Door ervoor te zorgen dat implementaties worden verdeeld over beschikbaarheidszones, zorgt u ervoor dat een implementatie beschikbaar is, zelfs in het geval van een storing in een datacenter. Voor verbeterde betrouwbaarheid en beschikbaarheid kunt u een implementatietopologie voor meerdere regio's overwegen.

  • Tolerantie: Zorg ervoor dat u voldoende rekenkracht hebt voor zowel training als deductie. Zorg er via resourceplanning voor dat uw reken-SKU en schaalinstellingen voldoen aan de vereisten van uw workload.

  • Tolerantie: scheid machine learning-werkruimten die worden gebruikt voor verkennend werk van de werkruimten die voor productie worden gebruikt.

  • Tolerantie: Wanneer u beheerde online-eindpunten gebruikt voor deductie, gebruikt u een releasestrategie zoals blauwgroene implementaties om downtime te minimaliseren en het risico te verminderen dat gepaard gaat met het implementeren van nieuwe versies.

  • Bedrijfsvereisten: Selecteer uw gebruik van rekenclusters, rekeninstanties en ge externaliseerde deductiehosts op basis van betrouwbaarheidsbehoeften, waarbij service level agreements (SLA's) als factor worden overwogen.

  • Herstel: Zorg ervoor dat u zelfherstelmogelijkheden hebt, zoals controlepuntfuncties die worden ondersteund door Machine Learning, bij het trainen van grote modellen.

  • Herstel: Zorg ervoor dat u een herstelstrategie hebt gedefinieerd. Machine Learning heeft geen automatische failover. Daarom moet u een strategie ontwerpen die de werkruimte en alle bijbehorende afhankelijkheden omvat, zoals Key Vault, Azure Storage en Azure Container Registry.

Aanbevelingen
Aanbeveling Voordeel
Implementatie van modellen voor meerdere regio's: voor meer betrouwbaarheid en beschikbaarheid kunt u indien mogelijk een implementatieomgeving voor meerdere regio's overwegen. Een implementatie in meerdere regio's zorgt ervoor dat uw Machine Learning-workloads blijven worden uitgevoerd, zelfs als er in één regio een storing optreedt. Implementatie in meerdere regio's verbetert de verdeling van de belasting over regio's, waardoor de prestaties mogelijk worden verbeterd voor gebruikers in verschillende geografische gebieden. Zie Failover voor bedrijfscontinuïteit en herstel na noodgevallen voor meer informatie.
Tolerantie voor modeltraining: gebruik controlepuntfuncties die worden ondersteund door Machine Learning, waaronder Azure Container for PyTorch, de klasse TensorFlow Estimator of het run-object en de FileDataset-klasse die ondersteuning bieden voor modelcontrolepunten. Met modelcontrolepunten wordt de status van uw machine learning-model periodiek opgeslagen tijdens de training, zodat deze kan worden hersteld in geval van onderbreking, fout of beëindiging. Zie Controlepuntsnelheid verhogen en kosten verlagen met Nebula voor meer informatie.
De toegewezen virtuele-machinelaag gebruiken voor rekenclusters: gebruik de toegewezen virtuele-machinelaag voor rekenclusters voor batchdeductie om ervoor te zorgen dat uw batchtaak niet wordt vervroegd. Virtuele machines met lage prioriteit hebben een lagere prijs, maar zijn preempteerbaar. Clusters die gebruikmaken van de toegewezen virtuele-machinelaag, worden niet voorbereid.

Beveiliging

Het doel van de pijler Beveiliging is om vertrouwelijkheid, integriteit en beschikbaarheidsgaranties voor de workload te bieden.

De ontwerpprincipes voor beveiliging bieden een ontwerpstrategie op hoog niveau om deze doelen te bereiken door benaderingen toe te passen op het technische ontwerp rond Machine Learning.

Controlelijst voor ontwerp

Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor beveiliging en identificeer beveiligingsproblemen en controles om de beveiligingspostuur te verbeteren. Breid de strategie uit met meer benaderingen als dat nodig is.

  • Beschikbaarheid: verminder de kwetsbaarheid voor aanvallen van de Machine Learning-werkruimte door de toegang tot de werkruimte te beperken tot resources binnen het virtuele netwerk.

  • Vertrouwelijkheid: bescherm tegen gegevensexfiltratie vanuit de Machine Learning-werkruimte door netwerkisolatie te implementeren. Zorg ervoor dat toegang tot alle externe resources expliciet is goedgekeurd en dat toegang tot alle andere externe resources niet is toegestaan.

  • Integriteit: implementeer toegangsbeheer waarmee de Machine Learning-werkruimte voor externe resources wordt geverifieerd en geautoriseerd op basis van het principe met minimale bevoegdheden.

  • Integriteit: implementeer use-casescheiding voor Machine Learning-werkruimten door werkruimten in te stellen op basis van specifieke use cases of projecten. Deze benadering voldoet aan het principe van minimale bevoegdheden door ervoor te zorgen dat werkruimten alleen toegankelijk zijn voor personen die toegang nodig hebben tot gegevens en experimentele assets voor de use case of het project.

  • Integriteit: de toegang tot basismodellen reguleren. Zorg ervoor dat alleen goedgekeurde registers toegang hebben tot modellen in het modelregister.

  • Integriteit: de toegang tot goedgekeurde containerregisters reguleren. Zorg ervoor dat Machine Learning-berekening alleen toegang heeft tot goedgekeurde registers.

  • Integriteit: reguleert de Python-pakketten die kunnen worden uitgevoerd op Machine Learning Compute. Het reguleren van de Python-pakketten zorgt ervoor dat alleen vertrouwde pakketten worden uitgevoerd.

  • Integriteit: vereisen dat code die wordt gebruikt voor training in Machine Learning-rekenomgevingen, is ondertekend. Als u ondertekening van code vereist, zorgt u ervoor dat de code die wordt uitgevoerd afkomstig is van een vertrouwde bron en niet is gemanipuleerd.

  • Vertrouwelijkheid: houd u aan het principe van minimale bevoegdheden voor op rollen gebaseerd toegangsbeheer (RBAC) voor de Machine Learning-werkruimte en gerelateerde resources, zoals het opslagaccount voor de werkruimte, om ervoor te zorgen dat personen alleen de benodigde machtigingen voor hun rol hebben, waardoor potentiële beveiligingsrisico's worden geminimaliseerd.

  • Integriteit: stel vertrouwensrelatie en geverifieerde toegang in door versleuteling te implementeren voor data-at-rest en data-in-transit.

Aanbevelingen
Aanbeveling Voordeel
Beveiligingsbasislijn: als u de beveiliging en naleving van uw Machine Learning Service wilt verbeteren, past u de Azure-beveiligingsbasislijn voor Machine Learning toe. De beveiligingsbasislijn biedt op maat gemaakte richtlijnen voor belangrijke beveiligingsaspecten, zoals netwerkbeveiliging, identiteitsbeheer, gegevensbescherming en bevoegde toegang. Voor een optimale beveiliging gebruikt u Microsoft Defender for Cloud om deze aspecten te bewaken.
Isolatie van beheerde virtuele netwerken: isolatie van beheerde virtuele netwerken configureren voor Machine Learning. Wanneer u isolatie van beheerde virtuele netwerken inschakelt, wordt er een beheerd virtueel netwerk gemaakt voor de werkruimte. Beheerde rekenresources die u voor de werkruimte maakt, maken automatisch gebruik van dit beheerde virtuele netwerk. Als u de isolatie van beheerde virtuele netwerken niet kunt implementeren, moet u de aanbevelingen voor netwerktopologie volgen om de berekening te scheiden in een toegewezen subnet van de rest van de resources in de oplossing, inclusief de privé-eindpunten voor werkruimteresources. Isolatie van beheerde virtuele netwerken verbetert de beveiliging door uw werkruimte te isoleren van andere netwerken, waardoor het risico op onbevoegde toegang wordt verminderd. In een scenario waarin een inbreuk optreedt in een ander netwerk binnen uw organisatie, blijft het geïsoleerde netwerk van uw Machine Learning-werkruimte ongewijzigd, waardoor uw machine learning-workloads worden beschermd.
Machine Learning-netwerkisolatie: configureer een privé-eindpunt voor uw Machine Learning-werkruimte en maak verbinding met de werkruimte via dat privé-eindpunt. Machine Learning-netwerkisolatie verbetert de beveiliging door ervoor te zorgen dat de toegang tot uw werkruimte veilig en gecontroleerd is. Als een privé-eindpunt is geconfigureerd voor uw werkruimte, kunt u de toegang tot uw werkruimte beperken tot alleen via de privé-IP-adressen.
Alleen goedgekeurde uitgaande toegang toestaan: configureer de uitgaande modus op de beheerde uitgaande toegang van de Machine Learning-werkruimte om Allow only approved outbound het risico op gegevensexfiltratie te minimaliseren. Configureer privé-eindpunten, servicetags of FQDN's (Fully Qualified Domain Names) voor resources waartoe u toegang nodig hebt. Deze configuratie minimaliseert het risico van gegevensexfiltratie, waardoor de gegevensbeveiliging wordt verbeterd. Als deze configuratie is ingeschakeld, kan een kwaadwillende actor die toegang krijgt tot uw systeem uw gegevens niet verzenden naar een niet-goedgekeurde externe bestemming.
Isolatie van virtuele netwerken voor afhankelijke services: configureer afhankelijke services, zoals Storage, Key Vault en Container Registry met privé-eindpunten en schakel openbare toegang uit. Netwerkisolatie versterkt de beveiliging door de toegang tot PaaS-oplossingen (Platform as a Service) van Azure te beperken tot alleen privé-IP-adressen.
Beheerde identiteit: gebruik beheerde identiteiten voor verificatie tussen Machine Learning en andere services. Beheerde identiteiten verbeteren de beveiliging door het opslaan van referenties en het handmatig beheren en roteren van service-principals te elimineren.
Lokale verificatie uitschakelen: lokale verificatie uitschakelen voor Machine Learning-rekenclusters en -exemplaren. Het uitschakelen van lokale verificatie verhoogt de beveiliging van uw Machine Learning-rekenproces en biedt gecentraliseerd beheer en beheer van identiteiten en resourcereferenties.
Schakel de openbare SSH-poort uit: zorg ervoor dat de openbare SSH-poort (Secure Shell) is gesloten op het Machine Learning-rekencluster door in te stellen remoteLoginPortPublicAccess op Disabled. Pas een vergelijkbare configuratie toe als u een andere berekening gebruikt. Het uitschakelen van SSH-toegang helpt voorkomen dat onbevoegde personen toegang krijgen en mogelijk schade aan uw systeem veroorzaken en beschermt u tegen beveiligingsaanvallen.
Geen openbare IP-adressen inrichten voor Machine Learning-rekenproces: stel enableNodePublicIpfalse in op bij het inrichten van Machine Learning-rekenclusters of rekeninstanties. Pas een vergelijkbare configuratie toe als u een andere berekening gebruikt. Richt geen openbare IP-adressen in om de beveiliging te verbeteren door de kans op onbevoegde toegang tot uw rekenproces of clusters te beperken.
De meest recente installatiekopieën van het besturingssysteem ophalen: maak rekeninstanties opnieuw om de meest recente installatiekopieën van het besturingssysteem op te halen. Het gebruik van de nieuwste installatiekopieën zorgt ervoor dat u een consistente, stabiele en veilige omgeving onderhoudt, inclusief ervoor zorgen dat u over de nieuwste beveiligingspatches beschikt.
Strikt toegangsbeheer voor Machine Learning-werkruimten: gebruik Microsoft Entra ID groepen om toegang tot werkruimten te beheren en te voldoen aan het principe van minimale bevoegdheden voor RBAC. Strikte besturingselementen voor toegang tot werkruimten verbeteren de beveiliging door ervoor te zorgen dat personen alleen de benodigde machtigingen voor hun rol hebben. Een data scientist kan bijvoorbeeld toegang hebben om experimenten uit te voeren, maar niet om beveiligingsinstellingen te wijzigen, waardoor potentiële beveiligingsrisico's worden geminimaliseerd.
Implementaties van modelcatalogussen beperken: Beperk modelimplementaties tot specifieke registers. Als u de implementaties van de modelcatalogus beperkt tot specifieke registers, zorgt u ervoor dat u alleen modellen implementeert in goedgekeurde registers. Deze benadering helpt bij het reguleren van de toegang tot de opensource-basismodellen.
Data-at-rest versleutelen: overweeg het gebruik van door de klant beheerde sleutels met Machine Learning. Het versleutelen van data-at-rest verbetert de gegevensbeveiliging door ervoor te zorgen dat gevoelige gegevens worden versleuteld met sleutels die rechtstreeks door u worden beheerd. Als u een wettelijke vereiste hebt voor het beheren van uw eigen versleutelingssleutels, gebruikt u deze functie om aan die vereiste te voldoen.
Minimaliseer het risico op gegevensexfiltratie: Preventie van gegevensexfiltratie implementeren. Maak bijvoorbeeld een service-eindpuntbeleid om uitgaand verkeer van virtuele netwerken te filteren en alleen gegevensexfiltratie naar specifieke Azure Storage-accounts toe te laten. Minimaliseer het risico op gegevensexfiltratie door binnenkomende en uitgaande vereisten te beperken.
Advisor

Hier volgen enkele voorbeelden van de aanbevelingen voor aanbevolen beveiligingsprocedures van Advisor voor Machine Learning:

  • Werkruimten moeten worden versleuteld met een door de klant beheerde sleutel (CMK).
  • Werkruimten moeten Azure Private Link gebruiken.
  • Werkruimten moeten openbare netwerktoegang uitschakelen.
  • Rekenkracht moet zich in een virtueel netwerk bevinden.
  • Rekeninstanties moeten opnieuw worden gemaakt om de nieuwste software-updates op te halen.
Azure Policy

Hier volgen voorbeelden van ingebouwde Azure Policy definities voor machine learning-beveiliging:

Kostenoptimalisatie

Kostenoptimalisatie is gericht op het detecteren van uitgavenpatronen, het prioriteren van investeringen in kritieke gebieden en het optimaliseren van andere uitgaven om aan het budget van de organisatie te voldoen en tegelijkertijd te voldoen aan de bedrijfsvereisten.

Lees de ontwerpprincipes van Kostenoptimalisatie om inzicht te krijgen in de benaderingen om deze doelen te bereiken en de benodigde compromissen in technische ontwerpkeuzen met betrekking tot het trainen en implementeren van modellen in hun omgevingen.

Controlelijst voor ontwerp

Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor kostenoptimalisatie voor investeringen en verfijn het ontwerp zodat de workload wordt afgestemd op het budget dat voor de workload is toegewezen. Uw ontwerp moet gebruikmaken van de juiste Azure-mogelijkheden, investeringen bewaken en kansen vinden om in de loop van de tijd te optimaliseren.

  • Optimalisatie van gebruik: kies de juiste resources om ervoor te zorgen dat deze overeenkomen met uw workloadvereisten. U kunt bijvoorbeeld kiezen tussen CPU's of GPU's, verschillende SKU's of VM's met een lage of een normale prioriteit.

  • Optimalisatie van gebruik: zorg ervoor dat rekenresources die niet worden gebruikt, omlaag worden geschaald of afgesloten wanneer ze niet actief zijn om verspilling te verminderen.

  • Optimalisatie van gebruik: Pas beleidsregels toe en configureer quota om te voldoen aan de boven- en ondergrens van het ontwerp.

  • Optimalisatie van gebruik: Test het parallelliseren van trainingsworkloads om te bepalen of aan de trainingsvereisten kan worden voldaan op goedkopere SKU's.

  • Optimalisatie van tarieven: Koop gereserveerde instanties van virtuele Azure-machines als u een goede schatting hebt van het gebruik voor de komende één tot drie jaar.

  • Bewaken en optimaliseren: bewaak uw resourcegebruik, zoals CPU- en GPU-gebruik bij het trainen van modellen. Als de resources niet volledig worden gebruikt, wijzigt u de code om resources beter te gebruiken of schaalt u omlaag naar kleinere of goedkopere VM-grootten.

Aanbevelingen
Aanbeveling Voordeel
Rekenresources optimaliseren: optimaliseer uw rekenresources op basis van de vereisten van uw workload. Kies de SKU die het beste bij uw workload past:
  • Algemeen - Gebalanceerde CPU-/geheugenverhouding, geschikt voor alle doeleinden.
  • Geoptimaliseerd voor rekenkracht: hoge CPU-/geheugenverhouding, geschikt voor rekenkundige berekeningen.
  • Geoptimaliseerd voor geheugen: hoog geheugen tot CPU, geschikt voor in-memory berekeningen of databasetoepassingen.
  • M-serie : zeer grote machines met enorme hoeveelheden geheugen en CPU.
  • GPU: beter voor modellen met een groot aantal variabelen die kunnen profiteren van een hogere parallelle uitvoering en gespecialiseerde kerninstructies. Typische toepassingen zijn deep learning, beeld- of videoverwerking, wetenschappelijke simulaties, gegevensanalyse en profiteren van GPU-ontwikkelingsframeworks. Test met meerdere families en documenteer de resultaten als basislijn. Naarmate uw model en gegevens zich ontwikkelen, kan de meest geschikte rekenresource veranderen. Bewaak de uitvoeringstijden en evalueer zo nodig opnieuw.
Het selecteren van de juiste berekening is essentieel, omdat dit rechtstreeks van invloed is op de kosten van het uitvoeren van uw workload. Het kiezen van een GPU of een SKU met hoge prestaties zonder het juiste gebruik kan leiden tot verspillende uitgaven, terwijl het kiezen van ondermaatse rekenkracht kan leiden tot te lange trainingstijden en prestatieproblemen.
Rekenschaal optimaliseren: configureer uw rekenclusters voor automatisch schalen om ervoor te zorgen dat u alleen gebruikt wat u nodig hebt.

Voor trainingsclusters stelt u het minimale aantal knooppunten in op 0 en configureert u de tijdsduur dat het knooppunt inactief is op een geschikte tijd. Voor minder iteratieve experimenten vermindert u de tijd om kosten te besparen. Voor meer iteratieve experimenten gebruikt u een hogere tijd om te voorkomen dat u na elke wijziging moet betalen voor omhoog of omlaag schalen.
Configureer automatische schaalaanpassing voor rekenclusters om omlaag te schalen wanneer het gebruik laag is.

Stel het minimum aantal knooppunten in op 0 om trainingsclusters omlaag te schalen naar 0 wanneer ze niet in gebruik zijn.
Beleid voor het beëindigen van training instellen: stel beleidsregels voor vroegtijdige beëindiging in om de duur van trainingsuitvoeringen te beperken of deze vroegtijdig te beëindigen. Het instellen van beëindigingsbeleid kan u helpen kosten te besparen door niet-presterende uitvoeringen vroegtijdig te stoppen.
Virtuele machines met lage prioriteit gebruiken voor batchworkloads: overweeg virtuele machines met lage prioriteit te gebruiken voor batchworkloads die niet tijdgevoelig zijn en waarin onderbrekingen kunnen worden hersteld. Virtuele machines met lage prioriteit maken het mogelijk om tegen lage kosten een grote hoeveelheid rekenkracht te gebruiken. Ze profiteren van overtollige capaciteit in Azure.
Niet-actief afsluiten inschakelen voor rekeninstanties: schakel niet-actief afsluiten in voor rekeninstanties of plan een begin- en stoptijd als de gebruikstijd bekend is. Standaard zijn rekeninstanties voor u beschikbaar, waardoor de kosten toerekenen. Het configureren van rekeninstanties om af te sluiten wanneer ze niet actief zijn of het configureren van een planning voor deze exemplaren bespaart kosten wanneer ze niet in gebruik zijn.
Trainingsworkloads parallelliseren: overweeg om trainingsworkloads te parallelliseren. Test de uitvoering ervan met behulp van de parallelle onderdelen in Machine Learning. Parallelle workloads kunnen worden uitgevoerd op meerdere kleinere exemplaren, wat mogelijk kostenbesparingen oplevert.
Gereserveerde VM-instanties van Azure: koop Gereserveerde VM-instanties van Azure als u een goede schatting hebt van het gebruik voor de komende één tot drie jaar. Profiteer van de opties voor gereserveerde capaciteit voor services wanneer u een goede schatting van het gebruik hebt. Koop gereserveerde VM-instanties van Azure om vooraf te betalen voor het gebruik van virtuele machines en om kortingen te bieden met betalen per gebruik-prijzen. De korting wordt automatisch toegepast voor het gebruik van virtuele machines dat overeenkomt met de reservering.

Operationele topprestaties

Operational Excellence richt zich voornamelijk op procedures voor ontwikkelprocedures, waarneembaarheid en releasebeheer.

De ontwerpprincipes voor operationele uitmuntendheid bieden een ontwerpstrategie op hoog niveau om deze doelen te bereiken met betrekking tot de operationele vereisten van de workload.

Controlelijst voor ontwerp

Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor Operational Excellence voor het definiëren van processen voor waarneembaarheid, testen en implementatie met betrekking tot Machine Learning.

  • Ontwikkelingsstandaarden: profiteer van Machine Learning-modelcatalogi en -registers om machine learning-assets op te slaan, te versieren en te delen.

  • Automatiseren voor efficiëntie: Volg de procedures voor goede machine learning-bewerkingen (MLOps ). Bouw indien mogelijk end-to-end geautomatiseerde pijplijnen voor gegevensvoorbereiding, training en scoreprocessen. Gebruik in de ontwikkeling scripts in plaats van notebooks voor trainingsmodellen, omdat scripts gemakkelijker kunnen worden geïntegreerd in geautomatiseerde pijplijnen.

  • Implementeren met vertrouwen: Implementeer infrastructuur als code (IaC) voor Machine Learning-werkruimten, rekenclusters, rekenprocessen en andere implementatieomgevingen.

  • Waarneembaarheid: bewaak de prestaties van uw geïmplementeerde modellen, inclusief gegevensdrift.

  • Waarneembaarheid: als uw modellen zijn geïmplementeerd op online-eindpunten, schakelt u Application Insights in om online-eindpunten en -implementaties te bewaken. Bewaak de trainingsinfrastructuur om ervoor te zorgen dat u voldoet aan uw basisvereisten.

  • Eenvoud: gebruik gecureerde omgevingen die zijn geoptimaliseerd voor Machine Learning, indien beschikbaar.

Aanbevelingen
Aanbeveling Voordeel
Exemplaren van Machine Learning-werkruimten minimaliseren: minimaliseer het aantal werkruimten, indien mogelijk, om het onderhoud te verminderen. Het beperken van het aantal werkruimten vermindert de onderhoudsinspanning en de operationele kosten. Voor vereisten, zoals beveiliging, hebt u mogelijk meerdere afzonderlijke werkruimten nodig. Minimaliseer waar mogelijk het aantal werkruimten.
Profiteren van modelcatalogi en -registers: profiteer van Machine Learning-modelcatalogussen en -registers om machine learning-assets op te slaan, te versieren en te delen.

Gebruik Machine Learning-modelcatalogussen om U te helpen bij het implementeren van A/B-tests en de implementatie van modellen.
Gebruik Machine Learning-modelregisters om uw machine learning-modellen op te slaan en te versieren om wijzigingen bij te houden en de herkomst bij te houden met de taak en gegevenssets die voor de training worden gebruikt.

Met Machine Learning-modelcatalogussen kunnen uw data science-teams vooraf getrainde basismodellen voor machine learning ontdekken, evalueren en verfijnen.

Het opslaan van versiemodellen in Machine Learning-modelregisters ondersteunt implementatiestrategieën zoals A/B-releases, canary-releases en terugdraaiacties.
Modelprestaties bewaken: bewaak de prestaties van uw geïmplementeerde modellen en detecteer gegevensdrift in gegevenssets. Het bewaken van geïmplementeerde modellen zorgt ervoor dat uw modellen voldoen aan de prestatievereisten.

Het bewaken van gegevensdrift helpt u bij het detecteren van wijzigingen in de invoergegevens die kunnen leiden tot een afname van de prestaties van uw model. Door gegevensdrift te beheren, kunt u ervoor zorgen dat uw model in de loop van de tijd nauwkeurige resultaten levert.
Infrastructuur bewaken: als uw modellen worden geïmplementeerd op online-eindpunten, schakelt u Application Insights in om online-eindpunten en -implementaties te bewaken.

Bewaak de trainingsinfrastructuur om ervoor te zorgen dat u voldoet aan uw basisvereisten.

Zorg ervoor dat u resourcelogboeken verzamelt voor Machine Learning.
Met bewakingseindpunten krijgt u inzicht in metrische gegevens, zoals aanvraaglatentie en aanvragen per minuut. U kunt uw prestaties vergelijken met uw basislijn en deze informatie gebruiken om de rekenresources dienovereenkomstig te wijzigen. Bewaking van metrische gegevens, zoals netwerkbytes, kan u waarschuwen als u quotumlimieten nadert en beperking voorkomt.

Op dezelfde manier biedt het bewaken van uw trainingsomgeving u de informatie om wijzigingen aan te brengen in uw trainingsomgeving. Gebruik deze informatie om te beslissen om in of uit te schalen, omhoog of omlaag te schalen met verschillende krachtige SKU's, of om te kiezen tussen CPU's of GPU's.
Trainingsomgevingen voor modellen cureren: gebruik gecureerde omgevingen die zijn geoptimaliseerd voor Machine Learning, indien beschikbaar. Gecureerde omgevingen zijn vooraf gemaakte omgevingen die worden geleverd door Machine Learning die de implementatietijd versnellen en de implementatie- en trainingslatentie verminderen. Het gebruik van gecureerde omgevingen verbetert de slagingspercentages voor training en implementatie en voorkomt onnodige builds van installatiekopieën.

Gecureerde omgevingen, zoals Azure Container voor PyTorch, kunnen ook worden geoptimaliseerd voor het trainen van grote modellen op Machine Learning.

Prestatie-efficiëntie

Prestatie-efficiëntie gaat over het handhaven van de gebruikerservaring, zelfs wanneer de belasting toeneemt door capaciteit te beheren. De strategie omvat het schalen van resources, het identificeren en optimaliseren van mogelijke knelpunten en het optimaliseren van piekprestaties.

De ontwerpprincipes voor prestatie-efficiëntie bieden een ontwerpstrategie op hoog niveau om deze capaciteitsdoelen te bereiken ten opzichte van het verwachte gebruik.

Controlelijst voor ontwerp

Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor Prestatie-efficiëntie voor het definiëren van een basislijn op basis van key performance indicators voor Machine Learning-workloads.

  • Prestatiedoelen: Bepaal de acceptabele trainingstijd en de frequentie van het opnieuw trainen voor uw model. Het instellen van een duidelijk doel voor trainingstijd, samen met testen, helpt u bij het bepalen van de rekenresources, CPU versus GPU en CPU-SKU's die nodig zijn om het trainingstijddoel te bereiken.

  • Prestatiedoelen: definieer de acceptabele prestatiedoelen voor uw geïmplementeerde modellen, waaronder reactietijd, aanvragen per seconde, foutpercentage en uptime. Prestatiedoelen fungeren als een benchmark voor de efficiëntie van uw geïmplementeerde model. Doelen kunnen u helpen bij het bepalen van de CPU versus GPU, de keuzen voor de CPU-SKU en de schaalvereisten.

  • Voldoe aan capaciteitsvereisten: kies de juiste rekenresources voor modeltraining.

  • Voldoe aan capaciteitsvereisten: kies de juiste rekenresources voor modelimplementaties.

  • Voldoe aan capaciteitsvereisten: kies implementatieomgevingen met mogelijkheden voor automatisch schalen om capaciteit toe te voegen en te verwijderen wanneer de vraag fluctueert.

  • Prestaties realiseren en behouden: controleer continu de prestaties van uw geïmplementeerde modellen, bekijk de resultaten en onderneem de juiste acties.

  • Prestaties realiseren en behouden: controleer continu de prestaties van uw infrastructuur van geïmplementeerde modellen, bekijk de resultaten en onderneem de juiste acties. Bewaak de trainingsinfrastructuur om ervoor te zorgen dat u voldoet aan uw vereisten voor trainingstijd.

Aanbevelingen
Aanbeveling Voordeel
Selecteer de juiste rekenservices voor modeltraining: Overweeg Machine Learning-rekenclusters in plaats van rekeninstanties voor modeltraining als u automatische schaalaanpassing nodig hebt.

Optimaliseer uw rekenresources op basis van de trainingsvereisten. Kies eerst tussen CPU's en GPU's. Standaard op CPU's, maar overweeg GPU's voor workloads zoals deep learning, beeld- of videoverwerking of grote hoeveelheden gegevens. Kies vervolgens de installatiekopieën-SKU die het beste bij uw workload past.

Gebruik testen om de rekenoptie te kiezen waarmee de kosten ten opzichte van de trainingstijd worden geoptimaliseerd bij het bepalen van uw basislijn.
Het selecteren van de juiste berekening is essentieel omdat dit rechtstreeks van invloed is op de trainingstijd. Als u de juiste SKU en CPU versus GPU kiest, zorgt u ervoor dat uw modeltraining kan voldoen aan uw vereisten en prestatiedoelen. Het kiezen van een SKU met lage prestaties die te veel wordt gebruikt, kan leiden tot te lange trainingstijden en prestatieproblemen.

Rekenclusters bieden de mogelijkheid om de prestaties te verbeteren door workloads uit te schalen die ondersteuning bieden voor horizontaal schalen. Deze methode biedt flexibiliteit voor het verwerken van workloads met verschillende vereisten en stelt u in staat machines toe te voegen of te verwijderen indien nodig.
Modelimplementatieomgeving schalen: gebruik de mogelijkheden voor automatisch schalen van de implementatieomgeving. Voor AKS-implementatieomgevingen gebruikt u de automatische schaalaanpassing van clusters om aan de vraag te voldoen. Voor online-eindpunten kunt u automatisch schalen via integratie met de functie voor automatisch schalen van Azure Monitor. Met automatisch schalen wordt het aantal exemplaren van het geïmplementeerde model aangepast aan de vraag.
Modelprestaties bewaken: controleer de prestaties van uw geïmplementeerde modellen. Het bijhouden van de prestaties van modellen in productie waarschuwt u voor mogelijke problemen, zoals gegevensdrift, voorspellingsdrift, gegevenskwaliteit en kenmerktoewijzingsdrift.

Het bewaken van gegevensdrift helpt u bij het detecteren van wijzigingen in de invoergegevens die kunnen leiden tot een afname van de prestaties van uw model. Door gegevensdrift te beheren, kunt u ervoor zorgen dat uw model in de loop van de tijd nauwkeurige resultaten levert.
Infrastructuur bewaken: online-eindpunten bewaken en integreren met Monitor om de juiste metrische gegevens en logboeken bij te houden en te bewaken. Schakel Application Insights in bij het maken van online-implementaties.

Bewaak de trainingsinfrastructuur en controleer het resourcegebruik, zoals geheugen- en CPU- of GPU-gebruik bij het trainen van modellen, om ervoor te zorgen dat u voldoet aan uw basisvereisten.
Met bewakingseindpunten krijgt u inzicht in metrische gegevens, zoals aanvraaglatentie en aanvragen per minuut. U kunt uw prestaties vergelijken met uw basislijn en deze informatie gebruiken om de rekenresources dienovereenkomstig te wijzigen. Bewaking van metrische gegevens, zoals netwerkbytes, kan u waarschuwen als u quotumlimieten nadert en beperking voorkomt.

Op dezelfde manier biedt het bewaken van uw trainingsomgeving u de informatie om wijzigingen aan te brengen in uw trainingsomgeving. Gebruik deze informatie om te beslissen om in of uit te schalen, omhoog of omlaag te schalen met verschillende krachtige SKU's, of om te kiezen tussen CPU's of GPU's.

Azure-beleid

Azure biedt een uitgebreide set ingebouwde beleidsregels met betrekking tot Machine Learning en de bijbehorende afhankelijkheden. Sommige van de voorgaande aanbevelingen kunnen worden gecontroleerd via Azure-beleid. Houd rekening met de volgende beleidsregels die betrekking hebben op beveiliging:

Houd rekening met het volgende beleid dat betrekking heeft op kostenoptimalisatie:

Houd rekening met de volgende beleidsregels die betrekking hebben op operationele uitmuntendheid:

Raadpleeg de Azure Policy ingebouwde definities voor Machine Learning voor uitgebreide governance.

Advisor-aanbevelingen

Advisor is een persoonlijke cloudconsultant die u helpt bij het volgen van best practices om uw Azure-implementaties te optimaliseren. Aanbevelingen van Advisor kunnen u helpen de betrouwbaarheid, beveiliging, kosteneffectiviteit, prestaties en operationele uitmuntendheid van Machine Learning te verbeteren.

Houd rekening met de volgende Advisor-aanbevelingen voor beveiliging:

  • Werkruimten moeten worden versleuteld met een door de klant beheerde sleutel (CMK).
  • Werkruimten moeten private link gebruiken.
  • Werkruimten moeten openbare netwerktoegang uitschakelen.
  • Rekenkracht moet zich in een virtueel netwerk bevinden.
  • Rekeninstanties moeten opnieuw worden gemaakt om de nieuwste software-updates op te halen.

Houd rekening met de volgende Advisor-aanbeveling voor operationele uitmuntendheid:

  • Resourcelogboeken in Machine Learning-werkruimten moeten zijn ingeschakeld.

Volgende stappen

Beschouw deze artikelen als resources die de aanbevelingen laten zien die in dit artikel zijn gemarkeerd.