Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 keuzes en configuraties voor zowel trainings- als implementatiemodellen, waaronder reken-SKU's en configuraties. U kunt Machine Learning-modellen implementeren in Machine Learning Compute of naar andere Azure-services, zoals Azure Kubernetes Service (AKS).
Dit artikel bevat aanbevelingen voor architectuur voor het nemen van weloverwogen beslissingen wanneer u Machine Learning gebruikt voor het trainen, implementeren en beheren van machine learning-modellen. De richtlijnen zijn gebaseerd op de pijlers van Het Azure Well-Architected Framework.
Belangrijk
Deze handleiding gebruiken
Elke sectie heeft een ontwerpcontrolelijst die architectuurgebieden van belang presenteert, samen met ontwerpstrategieën die zijn gelokaliseerd in het technologiebereik.
Ook zijn inbegrepen aanbevelingen voor de technologiemogelijkheden die kunnen helpen bij het materialiseren van deze strategieën. De aanbevelingen vertegenwoordigen geen volledige lijst met alle configuraties die beschikbaar zijn voor Machine Learning en de bijbehorende afhankelijkheden. In plaats daarvan worden de belangrijkste aanbevelingen opgesomd die aansluiten op de ontwerpperspectieven. Gebruik de aanbevelingen om uw proof-of-concept te bouwen of om uw bestaande omgevingen te optimaliseren.
De basisarchitectuur OpenAI end-to-end-chat referentiearchitectuur toont veel van de belangrijkste aanbevelingen.
Technologiebereik
Deze beoordeling is gericht op de onderling gerelateerde beslissingen voor deze Azure-resources:
- Machinaal leren
- Machine Learning-rekenclusters
- Machine Learning-rekeninstanties
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 ontwikkelen en de mogelijkheid om snel te herstellen van storingen.
De principes voor betrouwbaarheidsontwerp bieden een ontwerpstrategie op hoog niveau die wordt toegepast op afzonderlijke onderdelen, systeemstromen en het systeem als geheel.
Controlelijst voor ontwerpen
Start uw ontwerpstrategie op basis van de controlelijst voor ontwerpbeoordeling voor betrouwbaarheid en bepaal de relevantie ervan voor uw bedrijfsvereisten. Breid de strategie uit om zo nodig meer benaderingen op te nemen.
Tolerantie: Implementeer modellen in omgevingen die beschikbaarheidszones ondersteunen, zoals AKS. Door ervoor te zorgen dat implementaties worden gedistribueerd 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.
Veerkracht: Zorg ervoor dat u voldoende rekenkracht hebt voor zowel training als inferentie. Zorg er via resourceplanning voor dat uw reken-SKU en schaalinstellingen voldoen aan de vereisten van uw workload.
Tolerantie: Machine Learning-werkruimten scheiden die worden gebruikt voor verkennend werk van werkruimten die worden gebruikt voor productie.
Veerkracht: Wanneer je beheerde online-eindpunten gebruikt voor inferentie, hanteer dan een releasestrategie zoals blauw-groene implementaties. Dit helpt om de 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 externe deductiehosts op basis van betrouwbaarheidsbehoeften, rekening houdend met serviceovereenkomsten (SLA's) als factor.
Herstel: Zorg ervoor dat u zelfherstelmogelijkheden hebt, zoals controlepuntenfuncties die door Machine Learning worden ondersteund 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 meerdere regio's: Voor verbeterde betrouwbaarheid en beschikbaarheid kunt u een implementatieomgeving met meerdere regio's overwegen, indien mogelijk. | Een implementatie met meerdere regio's zorgt ervoor dat uw Machine Learning-workloads blijven worden uitgevoerd, zelfs als één regio een storing ondervindt. Implementatie in meerdere regio's verbetert de belastingverdeling tussen regio's, waardoor de prestaties voor gebruikers in verschillende geografische gebieden mogelijk worden verbeterd. Zie Failover voor bedrijfscontinuïteit en herstel na noodgevallen voor meer informatie. |
Tolerantie voor modeltraining: Gebruik controlepuntenfuncties die worden ondersteund door Machine Learning, waaronder Azure Container for PyTorch, de TensorFlow Estimator-klasse of het Run-object en de Klasse FileDataset die ondersteuning bieden voor modelcontrolepunten. | Model-checkpoints slaan periodiek de status van uw machine learning-model op tijdens de training, zodat het kan worden hersteld in geval van onderbreking, storing of beëindiging. Zie De snelheid van het controlepunt verhogen en de kosten verlagen met Nenevel voor meer informatie. |
Gebruik de laag Toegewezen virtuele machines voor rekenclusters: Gebruik de laag Toegewezen virtuele machines voor rekenclusters voor batchinferentie om ervoor te zorgen dat uw batchtaak niet wordt onderbroken. | Virtuele machines met lage prioriteit hebben een lagere prijs, maar zijn voorbehaalbaar. Clusters die gebruikmaken van de dedicated virtuele machines-laag worden niet onderbroken. |
Veiligheid
Het doel van de pijler Beveiliging is het bieden van vertrouwelijkheid, integriteit en beschikbaarheid garanties voor de workload.
De principes voor beveiligingsontwerp bieden een ontwerpstrategie op hoog niveau voor het bereiken van deze doelen door benaderingen toe te passen op het technische ontwerp rond Machine Learning.
Controlelijst voor ontwerpen
Start uw ontwerpstrategie op basis van de ontwerpbeoordelingschecklist voor beveiliging en identificeer kwetsbaarheden en maatregelen om de beveiligingspositie te verbeteren. Breid de strategie uit om zo nodig meer benaderingen op te nemen.
Beschikbaarheid: Verminder het kwetsbaarheid voor aanvallen van de Machine Learning-werkruimte door de toegang tot de werkruimte te beperken tot resources binnen het virtuele netwerk.
Vertrouwelijkheid: Beveiliging tegen gegevensexfiltratie vanuit de Machine Learning-werkruimte door netwerkisolatie te implementeren. Zorg ervoor dat de toegang tot alle externe resources expliciet is goedgekeurd en dat toegang tot alle andere externe resources niet is toegestaan.
Integriteit: Implementeer besturingselementen voor toegang die de Machine Learning-werkruimte verifiëren en autoriseren voor externe resources op basis van het principe van 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 houdt zich aan het principe van minimale bevoegdheden door ervoor te zorgen dat werkruimten alleen toegankelijk zijn voor personen die toegang tot gegevens en experimentenassets nodig hebben 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-rekenkracht alleen toegang heeft tot goedgekeurde registers.
Integriteit: Reguleert de Python-pakketten die kunnen worden uitgevoerd op Machine Learning-rekenkracht. Door de Python-pakketten te reguleren, worden alleen vertrouwde pakketten uitgevoerd.
Integriteit: Code vereist die wordt gebruikt voor training in Machine Learning-rekenomgevingen die moeten worden ondertekend. Als u codeondertekening vereist, zorgt u ervoor dat de code die wordt uitgevoerd afkomstig is van een vertrouwde bron en niet is geknoeid met.
Vertrouwelijkheid: houd zich aan het principe van minimale bevoegdheden voor op rollen gebaseerd toegangsbeheer (RBAC) voor de Machine Learning-werkruimte en gerelateerde resources, zoals het opslagaccount van 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 vertrouwens- en geverifieerde toegang tot stand 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 richtlijnen op maat voor cruciale beveiligingsaspecten, zoals netwerkbeveiliging, identiteitsbeheer, gegevensbescherming en bevoegde toegang. Gebruik Microsoft Defender voor Cloud om deze aspecten te bewaken voor optimale beveiliging. |
Beheerde isolatie van virtuele netwerken: beheerde isolatie van 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 beheerde isolatie van virtuele netwerken niet kunt implementeren, moet u de aanbevelingen voor de netwerktopologie volgen om berekeningen te scheiden van de rest van de resources in de oplossing, inclusief de privé-eindpunten voor werkruimteresources. | Beheerde isolatie van virtuele netwerken verbetert de beveiliging door uw werkruimte te isoleren van andere netwerken, waardoor het risico op onbevoegde toegang wordt beperkt. 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 beheerd is. Wanneer een privé-eindpunt is geconfigureerd voor uw werkruimte, kunt u vervolgens de toegang tot uw werkruimte beperken tot alleen via de privé-IP-adressen. |
Alleen goedgekeurde uitgaande toegang toestaan: configureer de modus voor uitgaande toegang binnen de beheerde Machine Learning-werkruimte om het risico op gegevensexfiltratie te Allow only approved outbound minimaliseren. Configureer privé-eindpunten, servicetags of FQDN's (Fully Qualified Domain Names) voor resources waartoe u toegang nodig hebt. |
Deze configuratie minimaliseert het risico op 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: beheerde identiteiten gebruiken voor verificatie tussen Machine Learning en andere services. | Beheerde identiteiten verbeteren de beveiliging door de noodzaak te elimineren om referenties op te slaan en service-principals handmatig te beheren en te vernieuwen. |
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) op het Machine Learning-rekencluster is gesloten door in te stellen remoteLoginPortPublicAccess op Disabled . Pas een vergelijkbare configuratie toe als u een andere berekening gebruikt. |
Als u SSH-toegang uitschakelt, voorkomt u dat onbevoegde personen toegang krijgen en mogelijk schadelijk zijn voor uw systeem en beschermt u tegen beveiligingsaanvallen. |
Richt geen openbare IP-adressen in voor Machine Learning-rekenkracht: stel enableNodePublicIp in voor false het inrichten van Machine Learning-rekenclusters of rekeninstanties. Pas een vergelijkbare configuratie toe als u een andere berekening gebruikt. |
Vermijd openbare IP-adressen toe te wijzen om de beveiliging te verbeteren door het risico op onbevoegde toegang tot uw compute-instance of clusters te verkleinen. |
Haal de meest recente installatiekopieën van het besturingssysteem op: maak rekeninstanties opnieuw om de meest recente installatiekopieën van het besturingssysteem op te halen. | Door de nieuwste installatiekopieën te gebruiken, zorgt u ervoor dat u een consistente, stabiele en veilige omgeving onderhoudt, waaronder ervoor zorgen dat u over de nieuwste beveiligingspatches beschikt. |
Strikte toegangsbeheer voor Machine Learning-werkruimten: Gebruik Microsoft Entra ID-groepen om de toegang tot de werkruimte 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 tot het uitvoeren van experimenten, maar niet om beveiligingsinstellingen te wijzigen, waardoor potentiële beveiligingsrisico's worden geminimaliseerd. |
Implementaties van modelcatalogus beperken: Modelimplementaties beperken 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 aanpak helpt de toegang tot de opensource-basismodellen te reguleren. |
Data-at-rest versleutelen: Overweeg het gebruik van door de klant beheerde sleutels met Machine Learning. | Het versleutelen van gegevens in rust verbetert de gegevensbeveiliging door ervoor te zorgen dat gevoelige gegevens worden versleuteld met behulp van sleutels die rechtstreeks door u worden beheerd. Als u een wettelijke vereiste hebt om uw eigen versleutelingssleutels te beheren, gebruikt u deze functie om te voldoen aan die vereiste. |
Minimaliseer het risico van gegevensexfiltratie: implementeer preventie van gegevensexfiltratie. Maak bijvoorbeeld een service-eindpuntbeleid om uitgaand verkeer van virtuele netwerken te filteren en gegevensexfiltratie alleen toe te laten aan specifieke Azure Storage-accounts. | Minimaliseer het risico van gegevensexfiltratie door binnenkomende en uitgaande vereisten te beperken. |
Adviseur
Hier volgen enkele voorbeelden van de aanbevelingen voor best practices voor Advisor-beveiliging voor Machine Learning:
- Werkruimten moeten worden versleuteld met een door de klant beheerde sleutel (CMK).
- Werkruimten moeten Gebruikmaken van Azure Private Link.
- Werkruimten moeten openbare netwerktoegang uitschakelen.
- Compute moet zich in een virtueel netwerk bevinden.
- Compute-instanties moeten opnieuw worden gecreëerd om de nieuwste software-updates te verkrijgen.
Azure Policy
Hier volgen voorbeelden van ingebouwde Azure Policy-definities voor Machine Learning-beveiliging :
- Configureer toegestane registers voor opgegeven Machine Learning-berekeningen.
- Toegestane Python-pakketten configureren voor opgegeven Machine Learning-berekeningen.
- Machine Learning-werkruimten moeten openbare netwerktoegang uitschakelen.
- Machine Learning-rekeninstanties moeten opnieuw worden gemaakt om de nieuwste software-updates op te halen.
- Machine Learning-berekeningen moeten zich in een virtueel netwerk bevinden.
- Machine Learning-berekeningen moeten lokale verificatiemethoden hebben uitgeschakeld.
- Machine Learning-werkruimten moeten worden versleuteld met een CMK.
- Machine Learning-werkruimten moeten Gebruikmaken van Private Link.
- Machine Learning-werkruimten moeten een door de gebruiker toegewezen beheerde identiteit gebruiken.
- Een goedkeuringseindpunt vereisen dat vooraf wordt aangeroepen voor taken die worden uitgevoerd op opgegeven Machine Learning-computes.
- Ondertekening van code vereisen voor trainingscode voor berekeningen.
- Modelimplementatie beperken tot specifieke registers.
Kostenoptimalisatie
Kostenoptimalisatie richt zich op het detecteren van uitgavenpatronen, het prioriteren van investeringen in kritieke gebieden en het optimaliseren van andere gebieden. Dit alles om te voldoen aan het budget van de organisatie terwijl aan de bedrijfsvereisten wordt voldaan.
Lees de ontwerpprincipes van Cost Optimization om inzicht te krijgen in de benaderingen voor het bereiken van deze doelen en de benodigde compromissen in technische ontwerpkeuzen met betrekking tot het trainen en implementeren van modellen in hun omgevingen.
Controlelijst voor ontwerpen
Start uw ontwerpstrategie op basis van de -ontwerpbeoordelingschecklist voor kostenoptimalisatie van investeringen en verfijn het ontwerp, zodat de werklast overeenkomt met het budget dat voor de werklast is toegekend. Uw ontwerp moet gebruikmaken van de juiste Azure-mogelijkheden, investeringen bewaken en mogelijkheden vinden om in de loop van de tijd te optimaliseren.
Gebruiksoptimalisatie: kies de juiste resources om ervoor te zorgen dat deze overeenkomen met uw workloadvereisten. Kies bijvoorbeeld tussen CPU's of GPU's, verschillende SKU's of Virtuele Machines met een lage of reguliere prioriteit.
Gebruiksoptimalisatie: zorg ervoor dat rekenresources die niet worden gebruikt, worden uitgeschaald of afgesloten wanneer ze niet actief zijn om verspilling te verminderen.
Gebruiksoptimalisatie: Pas beleidsregels toe en configureer quota om te voldoen aan de boven- en ondergrens van het ontwerp.
Gebruiksoptimalisatie: test het parallelliseren van trainingsworkloads om te bepalen of aan trainingsvereisten kan worden voldaan voor lagere kosten-SKU's.
Tariefoptimalisatie: koop gereserveerde instanties van virtuele Azure-machines als u een goede schatting van het gebruik hebt gedurende de volgende 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 omlaag te schalen 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 past bij uw workload:
|
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 krachtige SKU zonder correct gebruik kan leiden tot verspilling van uitgaven, terwijl het kiezen van te weinig rekenkracht kan leiden tot te lange trainingstijden en prestatieproblemen. |
Schaalaanpassing van rekenprocessenoptimaliseren: configureer uw rekenclusters voor automatisch schalen om ervoor te zorgen dat u alleen gebruikt wat u nodig hebt. Voor trainingsclusters stelt u het minimum aantal knooppunten in op 0 en configureert u de hoeveelheid tijd die het knooppunt inactief is voor 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 betaalt voor omhoog of omlaag schalen na elke wijziging. |
Configureer automatische schaalaanpassing voor rekenclusters om omlaag te schalen wanneer het gebruik laag is. Stel het minimum aantal knooppunten in op 0 voor trainingsclusters om omlaag te schalen naar 0 wanneer deze niet in gebruik is. |
Beleidsregels voor het beëindigen van trainingen instellen: Stel beleid voor vroegtijdige beëindiging in om de duur van trainingsuitvoeringen te beperken of deze vroegtijdig te beëindigen. | Door beëindigingsbeleid in te stellen, kunt u kosten besparen door niet-presterende runs 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. | Met virtuele machines met lage prioriteit kan een grote hoeveelheid rekenkracht worden gebruikt voor lage kosten. Ze profiteren van overtollige capaciteit in Azure. |
Schakel inactieve afsluiting in voor rekeninstanties: schakelinactieve afsluiting in voor rekeninstanties of plan een begin- en eindtijd als de gebruikstijd bekend is. | Rekeninstanties zijn standaard beschikbaar voor u, waarbij kosten worden opgebouwd. Als u rekeninstanties configureert om af te sluiten wanneer deze niet actief zijn of een schema configureert, bespaart u kosten wanneer ze niet in gebruik zijn. |
Parallel uitvoeren van trainingsworkloads: Overweeg trainingsworkloads parallel uit te voeren. Test het uitvoeren van deze onderdelen met behulp van de parallelle onderdelen in Machine Learning. | Parallelle workloads kunnen worden uitgevoerd op meerdere kleinere exemplaren, wat kan leiden tot kostenbesparingen. |
Azure Reserved VM Instances: Koop gereserveerde VM-instanties van Azure als u een goede schatting van het gebruik hebt gedurende de komende drie jaar. Profiteer van gereserveerde capaciteitsopties voor services wanneer u goede schattingen van het gebruik hebt. | Koop gereserveerde VM-instanties van Azure om vooraf te betalen voor virtueel machinegebruik en kortingen te bieden met prijzen voor gebruik naar behoefte. De korting wordt automatisch toegepast op gebruik van virtuele machines die overeenkomen met de reservering. |
Operationele uitmuntendheid
Operational Excellence richt zich voornamelijk op procedures voor ontwikkelprocedures, waarneembaarheid en releasebeheer.
De ontwerpprincipes voor Operational Excellence bieden een ontwerpstrategie op hoog niveau voor het behalen van die doelen in overeenstemming met de operationele vereisten van de werkbelasting.
Controlelijst voor ontwerpen
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-modelcatalogussen en -registers om machine learning-assets op te slaan, te versieren en te delen.
Automatiseren voor efficiëntie: volg goede machine learning-bewerkingen (MLOps). Bouw indien mogelijk end-to-end geautomatiseerde pijplijnen voor gegevensvoorbereiding, training en scoreprocessen. Gebruik in 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 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.
Eenvoud: gebruik gecureerde omgevingen die zijn geoptimaliseerd voor Machine Learning, indien beschikbaar.
Aanbevelingen
Aanbeveling | Voordeel |
---|---|
Machine Learning-workspaces minimaliseren: minimaliseer waar mogelijk het aantal werkruimten om het onderhoud te verminderen. | Door het aantal werkruimten te beperken, vermindert u de onderhoudsinspanning en de operationele kosten. Voor vereisten, zoals beveiliging, hebt u mogelijk meerdere afzonderlijke werkruimten nodig. Minimaliseer indien mogelijk het aantal werkruimten. |
Profiteer van modelcatalogussen 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 -implementatie van modellen. |
Gebruik Machine Learning-modelregisters om uw machine learning-modellen op te slaan en van versiebeheer te voorzien. Hiermee kunt u wijzigingen volgen en de herkomst beheren in relatie tot de taak en datasets die worden gebruikt voor training. Met Machine Learning-modelcatalogussen kunnen uw data science-teams vooraf getrainde machine learning-modellen detecteren, 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 op gegevenssets. | Door geïmplementeerde modellen te bewaken, voldoen uw modellen aan de prestatievereisten. Door gegevensdrift te bewaken, kunt u wijzigingen in de invoergegevens detecteren 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 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. Zorg ervoor dat u resourcelogboeken verzamelt voor Machine Learning. |
Met bewakingseindpunten krijgt u inzicht in metrische gegevens, zoals latentie van aanvragen en aanvragen per minuut. U kunt uw prestaties vergelijken met uw basislijn en deze informatie gebruiken om wijzigingen aan te brengen in rekenresources dienovereenkomstig. Het monitoren van metriek zoals netwerkbytes kan u waarschuwen als u de quotumlimieten nadert en afknijpen 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 bepalen of u wilt in- of uitschalen, omhoog of omlaag schalen met verschillende krachtige SKU's of kiezen tussen CPU's of GPU's. |
Modeltrainingsomgevingen cureren: gebruik gecureerde omgevingen die zijn geoptimaliseerd voor Machine Learning, indien beschikbaar. |
Gecureerde omgevingen zijn vooraf gemaakte omgevingen van 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 waarborgen van de gebruikerservaring, zelfs wanneer er een toename in de belasting is door capaciteitsbeheer. De strategie omvat het schalen van resources, het identificeren en optimaliseren van potentiële knelpunten en het optimaliseren van piekprestaties.
De ontwerpprincipes voor Prestatie-efficiëntie een ontwerpstrategie op hoog niveau bieden voor het bereiken van deze capaciteitsdoelen ten opzichte van het verwachte gebruik.
Controlelijst voor ontwerpen
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 trainfrequentie voor uw model opnieuw. 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 te voldoen aan het trainingstijddoel.
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 maken van CPU- versus GPU-bepaling, CPU-SKU-keuzes en schaalvereisten.
Voldoen aan capaciteitsvereisten: kies de juiste rekenresources voor modeltraining.
Voldoen aan capaciteitsvereisten: kies de juiste rekenresources voor modelimplementaties.
Voldoen aan capaciteitsvereisten: kies implementatieomgevingen met mogelijkheden voor automatisch schalen om capaciteit toe te voegen en te verwijderen wanneer de vraag fluctueert.
Prestaties behalen en ondersteunen: bewaak continu de prestaties van uw geïmplementeerde modellen, controleer de resultaten en voer de juiste acties uit.
Prestaties behalen en ondersteunen: bewaak continu de prestaties van uw infrastructuur van geïmplementeerde modellen, bekijk de resultaten en voer de juiste acties uit. 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 via rekenprocessen voor modeltraining als u automatische schaalaanpassing nodig hebt. Optimaliseer uw rekenresources op basis van de trainingsvereisten. Kies eerst tussen CPU's en GPU's. Kies standaard voor CPU's, maar overweeg GPU's voor workloads zoals deep learning, beeld- of videoverwerking of grote hoeveelheden gegevens. Kies vervolgens de SKU voor afbeeldingen die het beste bij uw workload past. Gebruik testen om de rekenoptie te kiezen die de kosten optimaliseert ten opzichte van de trainingstijd 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 laag rendement die overbelast wordt gebruikt, kan leiden tot onacceptabel 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 om machines indien nodig toe te voegen of te verwijderen. |
Schaalaanpassing van de modelimplementatieomgeving: gebruik de mogelijkheden voor automatische schaalaanpassing van de implementatieomgeving. Voor AKS-implementatieomgevingen gebruikt u de automatische schaalaanpassing van clusters om te schalen om te voldoen aan de vraag. Voor online-eindpunten kunt u automatisch schalen via integratie met de functie voor automatische schaalaanpassing van Azure Monitor. | Met automatisch schalen wordt het aantal exemplaren van het geïmplementeerde model aangepast aan de vraag. |
Modelprestaties bewaken: bewaak 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. Door gegevensdrift te bewaken, kunt u wijzigingen in de invoergegevens detecteren 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, wanneer u trainingsmodellen traint om ervoor te zorgen dat u voldoet aan uw basisvereisten. |
Met bewakingseindpunten krijgt u inzicht in metrische gegevens, zoals latentie van aanvragen en aanvragen per minuut. U kunt uw prestaties vergelijken met uw basislijn en deze informatie gebruiken om wijzigingen aan te brengen in rekenresources dienovereenkomstig. Het monitoren van metriek zoals netwerkbytes kan u waarschuwen als u de quotumlimieten nadert en afknijpen 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 bepalen of u wilt in- of uitschalen, omhoog of omlaag schalen met verschillende krachtige SKU's of 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:
- Toegestane registers voor opgegeven Machine Learning-berekeningen.
- Toegestane Python-pakketten configureren voor opgegeven Machine Learning-berekeningen.
- Machine Learning-berekeningen moeten zich in een virtueel netwerk bevinden.
- Machine Learning-berekeningen moeten lokale verificatiemethoden hebben uitgeschakeld.
- Machine Learning-werkruimten moeten openbare netwerktoegang uitschakelen.
- Machine Learning-rekeninstanties moeten opnieuw worden gemaakt om de nieuwste software-updates op te halen.
- Machine Learning-werkruimten moeten worden versleuteld met een door de klant beheerde sleutel.
- Machine Learning-werkruimten moeten gebruikmaken van een privékoppeling.
- Machine Learning-werkruimten moeten een door de gebruiker toegewezen beheerde identiteit gebruiken.
- Een goedkeuringseindpunt vereisen dat vooraf wordt aangeroepen voor taken die worden uitgevoerd op opgegeven Machine Learning-computes.
- Ondertekening van code vereisen voor trainingscode voor berekeningen.
- Modelimplementatie beperken tot specifieke registers.
Houd rekening met het volgende beleid dat betrekking heeft op kostenoptimalisatie:
Houd rekening met het volgende beleid dat betrekking heeft op operationele uitmuntendheid:
- Vereisen dat logboekfilterexpressies en gegevensopslag worden gebruikt voor volledige logboeken voor opgegeven Machine Learning-berekeningen.
- In Machine Learning-werkruimten behoren resourcelogboeken te zijn ingeschakeld.
Raadpleeg de ingebouwde Azure Policy-definities voor Machine Learning voor uitgebreide governance.
Advisor-aanbevelingen
Advisor is een gepersonaliseerde cloudconsultant waarmee u de aanbevolen procedures kunt volgen om uw Azure-implementaties te optimaliseren. Advisor-aanbevelingen 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.
- Compute moet zich in een virtueel netwerk bevinden.
- Compute-instanties moeten opnieuw worden gecreëerd om de nieuwste software-updates te verkrijgen.
Houd rekening met de volgende Advisor-aanbeveling voor operationele uitmuntendheid:
- Resourcelogboeken in Machine Learning-werkruimten moeten zijn ingeschakeld.
Volgende stappen
Bekijk deze artikelen als bronnen die de aanbevelingen demonstreren zoals benadrukt in dit artikel.
- Gebruik de end-to-end-referentiearchitectuur van OpenAI als voorbeeld van hoe deze aanbevelingen op een werklast kunnen worden toegepast.
- Gebruik machine learning-productdocumentatie om expertise op het gebied van implementatie te bouwen.