Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Machine Learning är en hanterad molntjänst som du kan använda för att träna, distribuera och hantera maskininlärningsmodeller. Det finns en mängd olika alternativ och konfigurationer för både träning och distribution av modeller, inklusive beräknings-SKU:er och konfigurationer. Du kan distribuera Maskininlärningsmodeller till Machine Learning-beräkning eller till andra Azure-tjänster, till exempel Azure Kubernetes Service (AKS).
Den här artikeln innehåller arkitektoniska rekommendationer för att fatta välgrundade beslut när du använder Machine Learning för att träna, distribuera och hantera maskininlärningsmodeller. Vägledningen baseras på grundpelarna i Azure Well-Architected Framework.
Teknikomfång
Den här granskningen fokuserar på de relaterade besluten för dessa Azure-resurser:
- Machine Learning
- Machine Learning-beräkningskluster
- Machine Learning-beräkningsinstanser
Granskningen behandlar inte anslutna resurser, till exempel datalager eller Azure Key Vault.
Anmärkning
För generativa AI-program och AI-agenter bör du betrakta Azure AI Foundry som den föredragna utvecklingsplattformen. Azure AI Foundry är särskilt utformat för att skapa, testa och distribuera generativa AI-lösningar, inklusive RAG-program (Retrieval Augmented Generation) och flermodala AI-upplevelser.
Azure Machine Learning är fortfarande den omfattande plattformen för traditionella maskininlärningsarbetsbelastningar, MLOps-pipelines från slutpunkt till slutpunkt, anpassad modellträning och scenarier som kräver avancerad dataförberedelse och funktionsutveckling. Om du för närvarande använder Azure Machine Learning fortsätter du att använda det för dina befintliga arbetsbelastningar och traditionella ML-scenarier.
Reliability
Syftet med grundpelarna för tillförlitlighet är att tillhandahålla fortsatt funktionalitet genom att bygga upp tillräckligt med motståndskraft och möjlighet att snabbt återhämta sig från fel.
Designprinciperna för tillförlitlighet ger en övergripande designstrategi som tillämpas för enskilda komponenter, systemflöden och systemet som helhet.
Checklista för arbetsbelastningsdesign
Starta din designstrategi baserat på checklistan för designgranskning för tillförlitlighet och fastställa dess relevans för dina affärsbehov. Utöka strategin till att omfatta fler metoder efter behov.
Återhämtning: Distribuera modeller till miljöer som stöder tillgänglighetszoner, till exempel AKS. Genom att se till att distributioner distribueras mellan tillgänglighetszoner ser du till att en distribution är tillgänglig även i händelse av ett datacenterfel. För förbättrad tillförlitlighet och tillgänglighet bör du överväga en topologi för distribution i flera regioner.
Resiliens: Se till att du har tillräckligt med beräkningskapacitet för både träning och inferens. Kontrollera att beräknings-SKU:n och skalningsinställningarna uppfyller kraven för din arbetsbelastning genom resursplanering.
Återhämtning: Separera Machine Learning-arbetsytor som används för undersökande arbete från dem som används för produktion.
Återhämtning: När du använder hanterade onlineslutpunkter för slutsatsdragning använder du en lanseringsstrategi, till exempel blågröna distributioner, för att minimera stilleståndstiden och minska risken för att distribuera nya versioner.
Affärskrav: Välj din användning av beräkningskluster, beräkningsinstanser och externt driftade inferensvärdar baserat på pålitlighetskrav, med serviceavtal (SLAs) som en faktor.
Återställning: Se till att du har självåterställningsfunktioner, till exempel kontrollpunktsfunktioner som stöds av Machine Learning, när du tränar stora modeller.
Återställning: Se till att du har definierat en återställningsstrategi. Machine Learning har inte automatisk redundansväxling. Därför måste du utforma en strategi som omfattar arbetsytan och alla dess beroenden, till exempel Key Vault, Azure Storage och Azure Container Registry.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Modelldistribution i flera regioner: Om du vill ha bättre tillförlitlighet och tillgänglighet bör du överväga en distributionsmiljö för flera regioner när det är möjligt. | En distribution i flera regioner säkerställer att dina Machine Learning-arbetsbelastningar fortsätter att köras även om en region upplever ett avbrott. Distribution i flera regioner förbättrar belastningsfördelningen mellan regioner, vilket kan förbättra prestandan för användare i olika geografiska områden. Mer information finns i Redundans för affärskontinuitet och haveriberedskap. |
| Modellträningsresiliens: Använd checkpoint-funktioner som stöds av maskininlärning, inklusive Azure Container för PyTorch, klassen TensorFlow Estimator, eller Run-objektet och klassen FileDataset som stöder modellkontrollpunkter. | Med modellkontrollpunkter sparas regelbundet tillståndet för din maskininlärningsmodell under träningen, så att den kan återställas vid avbrott, fel eller avslutning. |
| Använd den dedikerade virtuella maskinnivån för beräkningskluster: Använd den dedikerade virtuella maskinnivån för beräkningskluster för batchinferens för att säkerställa att ditt batchjobb inte avbryts. | Virtuella datorer med låg prioritet har ett reducerat pris men är förebyggande. Kluster som använder nivån för dedikerade virtuella maskiner avbryts inte. |
Security
Syftet med säkerhetspelaren är att tillhandahålla garantier för konfidentialitet, integritet och tillgänglighet för arbetet.
Principerna för säkerhetsdesign ger en övergripande designstrategi för att uppnå dessa mål genom att tillämpa metoder för den tekniska designen kring Machine Learning.
Checklista för arbetsbelastningsdesign
Påbörja din designstrategi baserad på checklistan för designgranskning för säkerhet och identifiera sårbarheter och kontroller för att förbättra säkerhetsläget. Utöka strategin till att omfatta fler metoder efter behov.
Tillgänglighet: Minska attackytan på Machine Learning-arbetsytan genom att begränsa åtkomsten till arbetsytan till resurser i det virtuella nätverket.
Konfidentialitet: Skydda mot dataexfiltrering från Machine Learning-arbetsytan genom att implementera nätverksisolering. Se till att åtkomsten till alla externa resurser uttryckligen godkänns och att åtkomst till alla andra externa resurser inte tillåts.
Integritet: Implementera åtkomstkontroller som autentiserar och auktoriserar Machine Learning-arbetsytan för externa resurser baserat på principen med minsta möjliga behörighet.
Integritet: Implementera uppdelning av användningsfall för Machine Learning-arbetsytor genom att konfigurera arbetsytor baserat på specifika användningsfall eller projekt. Den här metoden följer principen om minsta behörighet genom att se till att arbetsytor endast är tillgängliga för personer som behöver åtkomst till data och experimenteringstillgångar för användningsfallet eller projektet.
Integritet: Reglera åtkomsten till grundläggande modeller. Se till att endast godkända register har åtkomst till modeller i modellregistret.
Integritet: Reglera åtkomsten till godkända containerregister. Se till att Machine Learning-beräkning endast kan komma åt godkända register.
Integritet: Reglera De Python-paket som kan köras på Machine Learning-beräkning. Att reglera Python-paketen säkerställer att endast betrodda paket körs.
Integritet: Kräv att kod som används för träning i Machine Learning-beräkningsmiljöer signeras. Om du kräver kodsignering ser du till att koden som körs kommer från en betrodd källa och inte har manipulerats.
Konfidentialitet: Följ principen om minsta behörighet för rollbaserad åtkomstkontroll (RBAC) till Machine Learning-arbetsytan och relaterade resurser, till exempel arbetsytans lagringskonto, för att säkerställa att enskilda personer bara har de behörigheter som krävs för sin roll, vilket minimerar potentiella säkerhetsrisker.
Integritet: Upprätta förtroende och verifierad åtkomst genom att implementera kryptering för vilande data och data under överföring.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Säkerhetsbaslinje: Tillämpa Azure-säkerhetsbaslinjen för Machine Learning för att förbättra säkerheten och efterlevnaden för din Machine Learning-tjänst. | Säkerhetsbaslinjen ger skräddarsydd vägledning om viktiga säkerhetsaspekter som nätverkssäkerhet, identitetshantering, dataskydd och privilegierad åtkomst. För optimal säkerhet använder du Microsoft Defender för molnet för att övervaka dessa aspekter. |
| Isolering av hanterat virtuellt nätverk: Konfigurera hanterad virtuell nätverksisolering för Machine Learning. När du aktiverar isolering av hanterade virtuella nätverk skapas ett hanterat virtuellt nätverk för arbetsytan. Hanterade beräkningsresurser som du skapar för arbetsytan använder automatiskt det här hanterade virtuella nätverket. Om du inte kan implementera isolering av hanterade virtuella nätverk måste du följa rekommendationerna för nätverkstopologi för att separera beräkning i ett dedikerat undernät bort från resten av resurserna i lösningen, inklusive de privata slutpunkterna för arbetsyteresurser. | Isolering av hanterade virtuella nätverk förbättrar säkerheten genom att isolera din arbetsyta från andra nätverk, vilket minskar risken för obehörig åtkomst. I ett scenario där ett intrång inträffar i ett annat nätverk i din organisation påverkas inte det isolerade nätverket på din Machine Learning-arbetsyta, vilket skyddar dina maskininlärningsarbetsbelastningar. |
| Machine Learning-nätverksisolering: Konfigurera en privat slutpunkt för din Machine Learning-arbetsyta och anslut till arbetsytan via den privata slutpunkten. | Datorinlärningsnätverksisolering förbättrar säkerheten genom att säkerställa att åtkomsten till din arbetsyta är säker och kontrollerad. Med en privat slutpunkt konfigurerad för din arbetsyta kan du sedan begränsa åtkomsten till din arbetsyta så att den endast sker via de privata IP-adresserna. |
Tillåt endast godkänd utgående åtkomst: Konfigurera utgående läge på den hanterade utgående åtkomsten för Machine Learning-arbetsytan för att Allow only approved outbound minimera risken för dataexfiltrering. Konfigurera privata slutpunkter, tjänsttaggar eller fullständigt kvalificerade domännamn (FQDN) för resurser som du behöver åtkomst till. |
Den här konfigurationen minimerar risken för dataexfiltrering, vilket förbättrar datasäkerheten. Med den här konfigurationen aktiverad kan en illasinnad aktör som får åtkomst till systemet inte skicka dina data till ett icke godkänt externt mål. |
| Isolering av virtuella nätverk för beroende tjänster: Konfigurera beroende tjänster, till exempel Storage, Key Vault och Container Registry med privata slutpunkter och inaktivera offentlig åtkomst. | Nätverksisolering ökar säkerheten genom att begränsa åtkomsten till PaaS-lösningar (Plattform som en tjänst) till privata IP-adresser. |
| Hanterad identitet: Använd hanterade identiteter för autentisering mellan Machine Learning och andra tjänster. | Hanterade identiteter förbättrar säkerheten genom att eliminera behovet av att lagra autentiseringsuppgifter och manuellt hantera och rotera tjänstens huvudnamn. |
| Inaktivera lokal autentisering: Inaktivera lokal autentisering för Machine Learning-beräkningskluster och instanser. | Om du inaktiverar lokal autentisering ökar säkerheten för din Machine Learning-beräkning och ger centraliserad kontroll och hantering av identiteter och resursautentiseringsuppgifter. |
Inaktivera den offentliga SSH-porten: Kontrollera att den offentliga SSH-porten (Secure Shell) är stängd i Machine Learning-beräkningsklustret genom att ange remoteLoginPortPublicAccess till Disabled. Använd en liknande konfiguration om du använder en annan beräkning. |
Om du inaktiverar SSH-åtkomst förhindras obehöriga personer från att få åtkomst och kan orsaka skada på systemet och skyddar dig mot råstyrkeattacker. |
Etablera inte offentliga IP-adresser för Machine Learning-beräkning: Ange enableNodePublicIp till false när du etablerar Machine Learning-beräkningskluster eller beräkningsinstanser. Använd en liknande konfiguration om du använder en annan beräkning. |
Avstå från att etablera offentliga IP-adresser för att förbättra säkerheten genom att begränsa risken för obehörig åtkomst till din beräkningsinstans eller dina kluster. |
| Hämta den senaste operativsystemavbildningen: Återskapa beräkningsinstanser för att hämta den senaste operativsystemavbildningen. | Med hjälp av de senaste bilderna ser du till att du upprätthåller en konsekvent, stabil och säker miljö, inklusive att se till att du har de senaste säkerhetskorrigeringarna. |
| Strikt åtkomstkontroller för Machine Learning-arbetsytor: Använd Microsoft Entra-ID-grupper för att hantera åtkomst till arbetsytor och följa principen om lägsta behörighet för RBAC. | Strikta åtkomstkontroller för arbetsytor förbättrar säkerheten genom att se till att enskilda personer bara har de behörigheter som krävs för sin roll. En dataexpert kan till exempel ha åtkomst till att köra experiment men inte ändra säkerhetsinställningar, vilket minimerar potentiella säkerhetsrisker. |
| Begränsa distributioner av modellkataloger: Begränsa modelldistributioner till specifika register. | Genom att begränsa distributionerna från modellkatalogen till specifika register ser du till att du bara distribuerar modeller till godkända register. Den här metoden hjälper till att reglera åtkomsten till grundmodeller med öppen källkod. |
| Kryptera vilande data: Överväg att använda kundhanterade nycklar med Machine Learning. | Kryptering av vilande data förbättrar datasäkerheten genom att säkerställa att känsliga data krypteras med hjälp av nycklar som hanteras direkt av dig. Om du har ett regelkrav för att hantera dina egna krypteringsnycklar använder du den här funktionen för att uppfylla det kravet. |
| Minimera risken för dataexfiltrering: Implementera dataexfiltreringsskydd. Skapa till exempel en tjänstslutpunktsprincip för att filtrera utgående trafik för virtuella nätverk och endast tillåta dataexfiltrering till specifika Azure Storage-konton. | Minimera risken för dataexfiltrering genom att begränsa kraven på inkommande och utgående trafik. |
Kostnadsoptimering
Kostnadsoptimering fokuserar på identifiera utgiftsmönster, prioritera investeringar inom kritiska områden och optimera i andra för att uppfylla organisationens budget samtidigt som affärskraven uppfylls.
Läs designprinciperna för kostnadsoptimering för att förstå metoderna för att uppnå dessa mål och de nödvändiga kompromisserna i tekniska designval som rör utbildning och distribution av modeller i deras miljöer.
Checklista för arbetsbelastningsdesign
Börja med din designstrategi baserad på checklistan för designgranskning för kostnadsoptimering för investeringar och finkalibrera designen så att arbetsbelastningen är i linje med den budget som allokerats för den. Din design bör använda rätt Azure-funktioner, övervaka investeringar och hitta möjligheter att optimera över tid.
Användningsoptimering: Välj lämpliga resurser för att säkerställa att de överensstämmer med dina arbetsbelastningskrav. Du kan till exempel välja mellan processorer eller GPU:er, olika SKU:er eller virtuella datorer med låg kontra normal prioritet.
Användningsoptimering: Se till att beräkningsresurser som inte används skalas ned eller stängs av när de är inaktiva för att minska avfallet.
Användningsoptimering: Tillämpa principer och konfigurera kvoter för att uppfylla designens övre och lägre gränser.
Användningsoptimering: Testa parallellisering av träningsarbetsbelastningar för att avgöra om träningskraven kan uppfyllas på SKU:er med lägre kostnad.
Prisoptimering: Köp Azure Reserved Virtual Machine Instances om du har en bra uppskattning av användningen under de kommande ett till tre åren.
Övervaka och optimera: Övervaka resursanvändningen, till exempel CPU- och GPU-användning när du tränar modeller. Om resurserna inte används fullt ut ändrar du koden för att bättre använda resurser eller skala ned till mindre eller billigare VM-storlekar.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
Optimera beräkningsresurser: Optimera dina beräkningsresurser baserat på arbetsbelastningens krav. Välj den SKU som passar din arbetsbelastning bäst:
|
Det är viktigt att välja rätt datorkraft eftersom det direkt påverkar kostnaden för att hantera din arbetsbelastning. Att välja en GPU eller en högpresterande SKU utan rätt syfte kan leda till slösaktiga utgifter, medan valet av för liten beräkningskapacitet kan leda till oöverkomligt långa träningstider och prestandaproblem. |
|
Optimera beräkningsskalning: Konfigurera dina beräkningskluster för automatisk skalning så att du bara använder det du behöver. För träningskluster anger du det minsta antalet noder till 0 och konfigurerar hur lång tid noden är inaktiv till en lämplig tid. Minska tiden för att spara kostnader för mindre iterativ experimentering. För mer iterativ experimentering använder du en högre tid för att förhindra att betala för att skala upp eller ned efter varje ändring. |
Konfigurera automatisk skalning för beräkningskluster för att skala ned när deras användning är låg. Ange det minsta antalet noder till 0 för träningskluster för att skala ned till 0 när de inte används. |
| Ange principer för träningsavslut: Ange principer för tidig avslutning för att begränsa varaktigheten för träningskörningar eller avsluta dem tidigt. | Att ange avslutningsprinciper kan hjälpa dig att spara kostnader genom att stoppa underpresterande körningar tidigt. |
| Använd virtuella datorer med låg prioritet för batcharbetsbelastningar: Överväg att använda virtuella datorer med låg prioritet för batcharbetsbelastningar som inte är tidskänsliga och där avbrott kan återställas. | Virtuella datorer med låg prioritet gör det möjligt att använda en stor mängd beräkningskraft till en låg kostnad. De drar nytta av överkapacitet i Azure. |
| Aktivera inaktiv avstängning för beräkningsinstanser: Aktivera inaktiv avstängning för beräkningsinstanser eller schemalägg en start- och stopptid om användningstiden är känd. | Som standardsinställning är beräkningsinstanser tillgängliga för dig, vilket medför kostnader. Om du konfigurerar beräkningsinstanser så att de stängs av när de är inaktiva eller konfigurerar ett schema för dem, sparas kostnaden när de inte används. |
| Parallellisera träningsarbetsbelastningar: Överväg att parallellisera träningsarbetsbelastningar. Testa att köra dem med hjälp av parallella komponenter i Machine Learning. | Parallella arbetsbelastningar kan köras på flera mindre instanser, vilket kan ge kostnadsbesparingar. |
| Azure Reserved VM Instances: Köp Azure Reserved VM Instances om du har en bra uppskattning av användningen under de kommande ett till tre åren. Dra nytta av alternativ för reserverad kapacitet för tjänster när du har goda uppskattningar av användningen. | Köp Azure Reserved VM Instances för att förskottsbetala för användning av virtuella datorer och ge rabatter med betala per användning-priser. Rabatten tillämpas automatiskt för användning av virtuella datorer som matchar reservationen. |
Operativ skicklighet
Operational Excellence fokuserar främst på procedurer för utvecklingsmetoder, observerbarhet och versionshantering.
Designprinciperna för Operational Excellence tillhandahåller en övergripande designstrategi för att uppnå dessa mål i enlighet med driftskraven för arbetsbelastningen.
Checklista för arbetsbelastningsdesign
Starta din designstrategi baserat på checklistan för designgranskning för operational excellence för att definiera processer för observerbarhet, testning och distribution som rör Machine Learning.
Utvecklingsstandarder: Dra nytta av maskininlärningsmodellkataloger och -register för att lagra, version och dela maskininlärningstillgångar.
Automatisera för effektivitet: Följ bra metoder för maskininlärningoperationer (MLOps). När det är möjligt skapar du automatiserade pipelines från slutpunkt till slutpunkt för processer för förberedelse, träning och bedömning av data. Under utveckling använder du skript i stället för notebook-filer för träningsmodeller, eftersom skript är enklare att integrera i automatiserade pipelines.
Distribuera med säkerhet: Implementera infrastruktur som kod (IaC) för Machine Learning-arbetsytor, beräkningskluster, beräkningsinstanser och andra distributionsmiljöer.
Övervaka prestanda för dina utplacerade modeller, inklusive dataförändringar.
Observerbarhet: Om dina modeller distribueras till onlineslutpunkter aktiverar du Application Insights för att övervaka onlineslutpunkter och distributioner. Övervaka träningsinfrastrukturen för att säkerställa att du uppfyller dina baslinjekrav.
Enkelhet: Använd utvalda miljöer som är optimerade för Machine Learning när det är tillgängligt.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
| Minimera instanser av Machine Learning-arbetsytor: Minimera antalet arbetsytor när det är möjligt för att minska underhållet. | Om du begränsar antalet arbetsytor minskar underhållsinsatsen och driftkostnaden. För krav, till exempel säkerhet, kan du behöva flera separata arbetsytor. Minimera antalet arbetsytor när det är möjligt. |
|
Dra nytta av modellkataloger och register: Dra nytta av Maskininlärningsmodellkataloger och -register för att lagra, version och dela maskininlärningstillgångar. Använd Maskininlärningsmodellkataloger för att implementera A/B-testning och distribution av modeller. |
Använd register för maskininlärningsmodeller för att lagra och versionera dina maskininlärningsmodeller, så att du kan spåra ändringar och upprätthålla stamdata med de jobb- och datauppsättningar som används för träning. Med maskininlärningsmodellkataloger kan dina datavetenskapsteam identifiera, utvärdera och finjustera förtränat grundläggande maskininlärningsmodeller. Lagring av versionsmodeller i Maskininlärningsmodellregister stöder distributionsstrategier som A/B-versioner, kanarieversioner och återställningar. |
| Övervaka modellprestanda: Övervaka prestanda för dina distribuerade modeller och identifiera dataavvikelser på datauppsättningar. | Övervakning av distribuerade modeller säkerställer att dina modeller uppfyller prestandakraven. Genom att övervaka dataavvikelser kan du identifiera ändringar i indata som kan leda till en minskning av modellens prestanda. Genom att hantera dataavvikelser ser du till att din modell ger korrekta resultat över tid. |
|
Övervaka infrastruktur: Om dina modeller distribueras till onlineslutpunkter aktiverar du Application Insights för att övervaka onlineslutpunkter och distributioner. Övervaka träningsinfrastrukturen för att säkerställa att du uppfyller dina baslinjekrav. Se till att du samlar in resursloggar för Machine Learning. |
Övervakningsslutpunkter ger dig insyn i mått som svarstid för begäranden och begäranden per minut. Du kan jämföra prestanda jämfört med baslinjen och använda den här informationen för att göra ändringar i beräkningsresurserna i enlighet med detta. Övervakningsmått som nätverksbyte kan varna dig om du närmar dig kvotgränser och förhindrar begränsning. På samma sätt ger övervakning av din träningsmiljö dig information för att göra ändringar i din träningsmiljö. Använd den informationen för att bestämma dig för att skala in eller ut, skala upp eller ned med olika högpresterande SKU:er eller välja mellan processorer eller GPU:er. |
| Kuratera modellträningsmiljöer: Använd utvalda miljöer som är optimerade för Maskininlärning när det är tillgängligt. |
Utvalda miljöer är förskapade miljöer som tillhandahålls av Machine Learning som påskyndar distributionstiden och minskar svarstiden för distribution och träning. Genom att använda utvalda miljöer förbättras utbildnings- och distributionsframgång och onödiga bildbyggen undviks. Utvalda miljöer, till exempel Azure Container for PyTorch, kan också optimeras för träning av stora modeller i Machine Learning. |
Prestandaeffektivitet
Prestandaeffektivitet handlar om upprätthålla användarupplevelsen även när belastningen ökar genom att hantera kapaciteten. Strategin omfattar skalning av resurser, identifiering och optimering av potentiella flaskhalsar och optimering för högsta prestanda.
Designprinciperna för prestandaeffektivitet tillhandahåller en designstrategi på hög nivå för att uppnå dessa kapacitetsmål med hänsyn till den förväntade användningen.
Checklista för arbetsbelastningsdesign
Starta din designstrategi baserat på checklistan för designgranskning för prestandaeffektivitet för att definiera en baslinje baserat på viktiga prestandaindikatorer för Machine Learning-arbetsbelastningar.
Prestandamål: Fastställa acceptabel träningstid och omträningsfrekvens för din modell. Genom att ange ett tydligt mål för träningstid, tillsammans med testning, kan du fastställa de beräkningsresurser, processor jämfört med GPU och CPU-SKU:er som krävs för att uppnå träningstidsmålet.
Prestandamål: Definiera acceptabla prestandamål för dina distribuerade modeller, inklusive svarstid, begäranden per sekund, felfrekvens och drifttid. Prestandamål fungerar som ett riktmärke för din distribuerade modells effektivitet. Mål kan hjälpa dig att göra cpu- och GPU-bestämningar, cpu-SKU-val och skalningskrav.
Uppfylla kapacitetskrav: Välj rätt beräkningsresurser för modellträning.
Uppfylla kapacitetskrav: Välj rätt beräkningsresurser för modelldistributioner.
Uppfylla kapacitetskrav: Välj distributionsmiljöer med funktioner för automatisk skalning för att lägga till och ta bort kapacitet när efterfrågan varierar.
Uppnå och upprätthålla prestanda: Övervaka kontinuerligt prestanda för dina distribuerade modeller, granska resultaten och vidta lämpliga åtgärder.
Uppnå och upprätthålla prestanda: Övervaka kontinuerligt prestanda för din infrastruktur för distribuerade modeller, granska resultaten och vidta lämpliga åtgärder. Övervaka träningsinfrastrukturen för att säkerställa att du uppfyller dina krav för utbildningstid.
Konfigurationsrekommendationer
| Recommendation | Benefit |
|---|---|
|
Välj lämpliga beräkningstjänster för modellträning: Överväg Machine Learning-beräkningskluster över beräkningsinstanser för modellträning om du behöver autoskalning. Optimera dina beräkningsresurser baserat på träningskraven. Välj först mellan processorer och GPU:er. Standard för processorer, men överväg GPU:er för arbetsbelastningar som djupinlärning, bild- eller videobearbetning eller stora mängder data. Välj sedan den bildens SKU som passar bäst för din arbetsbelastning. Använd testning för att välja beräkningsalternativet som optimerar kostnaden mot träningstiden när du fastställer baslinjen. |
Det är viktigt att välja rätt beräkning eftersom det påverkar träningstiden direkt. Genom att välja rätt SKU och CPU jämfört med GPU ser du till att modellträningen uppfyller dina krav och prestandamål. Om du väljer en SKU med låga prestanda som är överanvänd kan det leda till oöverkomligt långa träningstider och prestandaproblem. Beräkningskluster ger möjlighet att förbättra prestanda genom att skala ut arbetsbelastningar som stöder horisontell skalning. Den här metoden ger flexibilitet för att hantera arbetsbelastningar med olika krav och gör att du kan lägga till eller ta bort datorer efter behov. |
| Skalning av modelldistributionsmiljö: Använd distributionsmiljöns autoskalningsfunktioner. För AKS-distributionsmiljöer, använd klusterautoskalaren för att möta efterfrågan. För onlineslutpunkter skalar du automatiskt via integrering med autoskalningsfunktionen i Azure Monitor. | Autoskalning justerar antalet instanser av den distribuerade modellen för att matcha efterfrågan. |
| Övervaka modellprestanda: Övervaka prestanda för dina distribuerade modeller. | Om du spårar prestanda för modeller i produktion får du aviseringar om potentiella problem som dataavvikelse, förutsägelseavvikelse, datakvalitet och funktionsattributionsavvikelse. Genom att övervaka dataavvikelser kan du identifiera ändringar i indata som kan leda till en minskning av modellens prestanda. Genom att hantera dataavvikelser ser du till att din modell ger korrekta resultat över tid. |
|
Övervaka infrastruktur: Övervaka onlineslutpunkter och integrera med Monitor för att spåra och övervaka lämpliga mått och loggar. Aktivera Application Insights när du skapar onlinedistributioner. Övervaka träningsinfrastrukturen och granska resursanvändningen, till exempel minne och CPU- eller GPU-användning när du tränar modeller för att säkerställa att du uppfyller dina baslinjekrav. |
Övervakningsslutpunkter ger dig insyn i mått som svarstid för begäranden och begäranden per minut. Du kan jämföra prestanda jämfört med baslinjen och använda den här informationen för att göra ändringar i beräkningsresurserna i enlighet med detta. Övervakningsmått som nätverksbyte kan varna dig om du närmar dig kvotgränser och förhindrar begränsning. På samma sätt ger övervakning av din träningsmiljö dig information för att göra ändringar i din träningsmiljö. Använd den informationen för att bestämma dig för att skala in eller ut, skala upp eller ned med olika högpresterande SKU:er eller välja mellan processorer eller GPU:er. |
Azure-riktlinjer
Azure tillhandahåller en omfattande uppsättning inbyggda principer som rör Azure Machine Learning och dess beroenden. Några av föregående rekommendationer kan granskas via Azure Policy. Du kan till exempel kontrollera om:
- Machine Learning-arbetsytor inaktiverar åtkomst till offentligt nätverk
- Machine Learning-beräkningar distribueras i virtuella nätverk
- Machine Learning-beräkningar har inaktiverat lokala autentiseringsmetoder
- Machine Learning-arbetsytor använder privata länkanslutningar
- Machine Learning-arbetsytor krypteras med kundhanterade nycklar
- Machine Learning-arbetsytor använder användartilldelade hanterade identiteter
- Machine Learning-beräkningsinstanser har inaktiv avstängning konfigurerad
- Tillåtna register konfigureras för angivna Machine Learning-beräkningar
- Modelldistributioner är begränsade till specifika register
- Resursloggar i Machine Learning-arbetsytor är aktiverade
För en omfattande styrning, granska de inbyggda definitionerna i Azure Policy för Azure Machine Learning och andra principer som kan påverka säkerheten i maskininlärningsinfrastrukturen.
Azure Advisor-rekommendationer
Azure Advisor är en anpassad molnkonsult som hjälper dig att följa metodtipsen för att optimera dina Azure-distributioner.
Mer information finns i Azure Advisor.
Nästa steg
Använd Maskininlärnings produktdokumentation för att skapa implementeringsexpertis.