Metodtips för maskininlärningsåtgärder (MLOps) i Azure Kubernetes Service (AKS)
Den här artikeln beskriver metodtips och överväganden att tänka på när du använder MLOps i AKS. Mer information om MLOps finns i Maskininlärningsåtgärder (MLOps) för AI- och maskininlärningsarbetsflöden.
Infrastruktur som kod (IaC)
IaC möjliggör konsekvent och reproducerbar etablering och hantering av infrastruktur för en rad olika programtyper. Med intelligenta programdistributioner kan din IaC-implementering ändras i hela AI-pipelinen, eftersom den beräkningskraft och de resurser som behövs för inferens- och serverings-, tränings- och finjusteringsmodeller kan variera. Genom att definiera och versionshantera IaC-mallar för dina AI-utvecklarteam kan du säkerställa konsekvens och kostnadseffektivitet mellan olika jobbtyper samtidigt som de avmystifierar sina individuella maskinvarukrav och påskyndar distributionsprocessen.
Skapande av behållare
Att hantera modellvikter, metadata och konfigurationer i containeravbildningar möjliggör portabilitet, förenklad versionshantering och minskade lagringskostnader över tid. Med containerisering kan du:
- Utnyttja befintliga containeravbildningar, särskilt för stora språkmodeller (LLM) i miljontals till miljarder parametrar i storlek och stabila diffusionsmodeller som lagras i säkra containerregister.
- Undvik en enda felpunkt (SPOF) i pipelinen med hjälp av flera lätta containrar som innehåller de unika beroendena för varje uppgift i stället för att underhålla en stor avbildning.
- Lagra stora text-/bilddatauppsättningar utanför din bascontaineravbildning och referera till dem när det behövs vid körning.
Kom igång med Kubernetes AI Toolchain Operator för att distribuera en högpresterande LLM på AKS på några minuter.
Modellhantering och versionshantering
Modellhantering och versionshantering är viktiga för att spåra ändringar i dina modeller över tid. Genom att versionshantera dina modeller kan du:
- Upprätthålla konsekvens i dina modellcontainrar för enkel distribution i olika miljöer.
- Använd peft-metoder (parametereffektiv finjustering) för att iterera snabbare på en delmängd av modellvikter och underhålla nya versioner i lätta containrar.
Automation
Automatisering är nyckeln till att minska manuella fel, öka effektiviteten och säkerställa konsekvens i HELA ML-livscykeln. Genom att automatisera uppgifter kan du:
- Integrera aviseringsverktyg för att automatiskt utlösa ett flöde för vektorinmatning när nya data flödar till ditt program.
- Ange tröskelvärden för modellprestanda för att spåra försämringar och utlösa omträningspipelines.
Skalbarhet och resurshantering
Skalbarhet och resurshantering är avgörande för att säkerställa att DIN AI-pipeline kan hantera kraven i ditt program. Genom att optimera resursanvändningen kan du:
- Integrera verktyg som effektivt använder dina allokerade processor-, GPU- och minnesresurser via distribuerad databehandling och flera nivåer av parallellitet (till exempel data, modell och pipelineparallellitet).
- Aktivera automatisk skalning på dina beräkningsresurser för att stödja höga modellbegärandevolymer vid hög belastning och skala ned under låg belastning.
- På samma sätt som dina traditionella program planerar du för haveriberedskap genom att följa metodtipsen för AKS-återhämtning och tillförlitlighet.
Säkerhet och regelefterlevnad
Säkerhet och efterlevnad är avgörande för att skydda dina data och se till att AI-pipelinen uppfyller regelkraven. Genom att implementera metodtips för säkerhet och efterlevnad kan du:
- Integrera vanlig genomsökning av säkerhetsrisker och exponering (CVE) för att identifiera vanliga sårbarheter på containeravbildningar med öppen källkod.
- Använd Microsoft Defender för containrar för modellcontaineravbildningar som lagras i Azure Container Registry.
- Underhåll en spårningslogg för inmatade data, modelländringar och mått för att förbli kompatibla med organisationens principer.
Nästa steg
Lär dig mer om metodtips för andra delar av programdistributionen och -åtgärderna i AKS:
Azure Kubernetes Service