AI-workloadbewerkingen in Azure
Wanneer u uw AI-workloads bouwt en overdrat naar productie, is het belangrijk dat uw operationele teams volledig zijn uitgerust om deze workloads te ondersteunen, net zoals bij andere productieworkloads. Omdat uw operationele teams mogelijk beperkte ervaring hebben met AI-technologieën, is het essentieel om ze te trainen op deze technologieën en de AI-workloads vroeg in het proces te integreren in hun werkstromen. Breng bewerkingen en gegevensteams vroeg in de ontwikkeling van de AI-workload samen om wederzijds inzicht te krijgen in de processen van elk team. Deze vroege samenwerking is cruciaal omdat beide teams nauw moeten samenwerken om de AI-workload effectief te ondersteunen. Gegevensteams zijn afhankelijk van operationele teams om betrouwbare statussignalen en bruikbare waarschuwingen te bieden. Operationele teams zijn afhankelijk van gegevensteams om potentiële problemen vast te stellen en werkelijke problemen op te lossen volgens operationele normen. Deze samenwerking zorgt voor soepele en efficiënte systeemprestaties.
Deze handleiding bevat aanbevelingen voor het ontwikkelen van operationele mechanismen en procedures om de ondersteuning voor AI-workloads te verbeteren. Het benadrukt efficiënte samenwerking tussen bewerkingen en gegevensteams.
Aanbevelingen
Hier volgt een samenvatting van de aanbevelingen in dit artikel.
Aanbeveling | Beschrijving |
---|---|
Bewaak alle aspecten van uw workload. | Hoewel veel algemene problemen met bewaking en waarneembaarheid ook van toepassing zijn op AI-workloads, zijn er specifieke overwegingen die u moet overwegen om ervoor te zorgen dat de hele workload altijd op de juiste wijze wordt bewaakt. Als u uw bewakings- en waarneembaarheidsstrategie wilt bouwen, moet u mogelijk in verschillende teams werken om de juiste expertise te krijgen en alle relevante modi en metrische gegevens te behandelen. ▪ Het waarneembaarheidsplatform uitbreiden |
Veilige implementatieprocedures toepassen op uw AI-workload. | Voer stappen uit om het hoogste niveau van veiligheid rond gevoelige productiegegevens te garanderen en implementatiemethoden uit te lijnen met vereisten voor nul downtime. Gebruik waar nodig de juiste hulpprogramma's en leg de nadruk op het niet opnieuw uitvinden van hulpprogramma's en processen die al bestaan. Vaak kunt u gevestigde services gebruiken om een hoog efficiëntieniveau te bereiken en tegelijkertijd veilige implementaties mogelijk te maken. ▪ Ai-workloadonderdelen opnemen in uw veilige implementatieprocedures |
Gebruik DevOps-procedures voor testen en automatisering. | DevOps-procedures toepassen bij het bouwen, implementeren en gebruiken van uw AI-workload in productie. Uw workload moet waarneembaarheid en testen mogelijk maken met echte gebruikersinvoer in productie. Dit kan alleen op een veilige manier worden geboden als een sterk DevOps-proces en gestroomlijnde automatisering snelle implementaties, foutcorrectie en A/B-tests mogelijk maken. ▪ Ondersteuning voor testen in productie ▪ Operationele procedures automatiseren indien mogelijk ▪ DevOps-procedures omarmen |
Documenteer uw voortgang. | Bouw vanaf het begin goede documentatiegewoonten om het vastleggen van strategische beslissingen, wijzigingsgeschiedenis en belangrijke informatie over de gegevens die uw workload gebruikt, vast te leggen. ▪ Goede documentatieprocedures aannemen |
Het waarneembaarheidsplatform uitbreiden
Voor operationele uitmuntendheid is robuuste waarneembaarheid essentieel. Wanneer uw organisatie AI-technologieën in gebruik neemt, is het van cruciaal belang dat u uw waarneembaarheidsplatform verbetert om een uitgebreide bewaking van de workloadstatus te garanderen. Organisaties die geen ervaring hebben met AI, hebben mogelijk geen kennis van big data, data science en DataOps binnen hun operationele team. Daarom is het trainen van de operationele best practices een belangrijke eerste stap om uw waarneembaarheidsplatform te verbeteren. Daarom moeten bewerkingen en gegevensteams samenwerken om de juiste bewakings- en metrische gegevens te bepalen die moeten worden vastgelegd en geanalyseerd.
Om de status van een model te evalueren, is een uitgebreid overzicht van de specifieke metrische kwaliteitsgegevens vereist. Kwaliteitsmetingen omvatten doorgaans metrische gegevens, zoals de versheid van het model, de juistheid van de uitvoer en de latentie van reacties. U moet echter samenwerken met gegevenswetenschappers en technici om de specifieke metrische gegevens vast te stellen die de kwaliteit van uw workload definiëren. De niet-deterministische aard van AI-workloads maakt een zorgvuldige bewaking van de kwaliteit vooral belangrijk omdat deze metingen op elk moment na de implementatie onverwacht kunnen veranderen. Aanbevelingen voor waarneembaarheid zijn onder andere:
Werk samen met gegevenswetenschappers en technici om metrische gegevens over kwaliteit te bepalen.
Bouw of breid dashboards uit om de algehele status van de workload te beoordelen. Deze benadering moet metrische gegevens over de beschikbaarheid van onderdelen en metrische gegevens over kwaliteit bevatten.
Implementeer goed ontworpen waarschuwingen voor beschikbaarheid en kwaliteit die de operationele teams kunnen begrijpen en actie kunnen ondernemen.
Codify standaard operationele procedures die definiëren hoe operationele teams reageren op kwaliteitswaarschuwingen, zoals het werken met gegevensteams om potentiële storingen te onderzoeken en op te heffen.
Let goed op metrische gegevens over gebruik, omdat het kostenintensief kan zijn om AI-workloads uit te voeren. De kosten kunnen snel toenemen als het workloadteam geen resources afsluit, omlaag schaalt of de toewijzing ervan ongedaan maakt wanneer ze niet worden gebruikt. Bewerkingen kunnen ervoor zorgen dat de kosten binnen de verwachte parameters blijven door het gebruik te bewaken.
Ai-workloadonderdelen opnemen in uw veilige implementatieprocedures
AI-workloads zijn afhankelijk van productiegegevens, die vaak gevoelige informatie bevatten. Daarom is het belangrijk om het hoogste niveau van veiligheid rond deze workloads te behouden. Als u uw gegevens wilt beveiligen, kunt u uw veilige implementatieprocedures uitbreiden om alle code op te nemen die is gerelateerd aan de AI-onderdelen van uw workload. Als u geen downtimevereisten voor uw workload hebt, ontwerpt u de implementatiebenadering voor de AI-onderdelen dienovereenkomstig.
Gebruik voor deductie-eindpunten blauw-groen of kanarie-implementaties met of zonder verkeerspiegeling, afhankelijk van uw implementatiemodel.
Voor het leveren van indexen gebruikt u een implementatiemodel naast elkaar met aliasupdates om verkeer te verminderen.
Gebruik functievlaggen of blauwgroene implementaties voor indelingscode.
Afhankelijk van uw toepassing, gegevensplatform en specifieke netwerktopologie moet u mogelijk een gatewayoplossing gebruiken, zoals Azure-toepassing Gateway of Azure Front Door.
Hulpprogramma's
Azure Machine Learning ondersteunt systeemeigen blauwgroene implementaties met ingebouwde verkeersplitsing.
Vind het wiel niet opnieuw uit
Omdat online deductie-eindpunten in wezen microservices zijn, werken ze als volledig zelfstandige workloadonderdelen met hun eigen gegevens en code die een specifieke functie in de werkstroom dienen. Om deze reden behandelt u online deductie-eindpunten zoals andere kritieke microservices die hun eigen levenscyclus hebben. U kunt onlinedeductie-eindpunten afzonderlijk bijwerken. Net als andere microservices in een grotere workload moeten ze echter naadloos samenwerken. Daarom moet u prioriteit geven aan integratietests wanneer u updates implementeert. Zorg ervoor dat uw implementaties geen negatieve invloed hebben op andere services, zoals het leveren van modellen en de orchestrator. U kunt ook batchdeductie-eindpunten vaak nauw koppelen aan de rekenkracht van de taak en worden opgenomen in de gegevenspijplijn. In deze gevallen behandelen ze als onderdeel van een grotere oplossing in plaats van als microservices.
Ondersteuning voor testen in productie
De operationele teams zullen waarschijnlijk geen AI-workloadtests ontwerpen of uitvoeren. Ze moeten echter ondersteuning bieden voor AI-workloadtests via bewaking, waarschuwingen en onderzoek, omdat er tests nodig zijn in productie. Vanwege de niet-deterministische aard van AI is testen in productie nodig om ervoor te zorgen dat de workload na verloop van tijd naar verwachting presteert. Het operationele team moet nauw samenwerken met het workloadteam om abnormale testresultaten efficiënt en volgens operationele normen vast te leggen en diagnosticeren. Om ervoor te zorgen dat bewerkingen testen kunnen ondersteunen en dat workloadteams tests kunnen uitvoeren, moeten beide teams op hun processen zijn afgestemd om samen te werken. Training over testactiviteiten in niet-productieomgevingen helpt het team vertrouwd te maken met de volgorde van bewerkingen.
Operationele procedures automatiseren indien mogelijk
Automatiseer alle operationele procedures met betrekking tot workloads, waaronder bewakings-, waarschuwings- en testprocessen. Automatisering is een primaire strategie om processen herhaalbaar, efficiënt en consistent te houden. Wanneer u uw automatiseringsstrategieën ontwerpt, moet u menselijk toezicht vereisen voor activiteiten, zoals het correct diagnosticeren van modelconsistentie en andere kwaliteitssignalen. Dit geldt met name voor initiële releases. Processen die betrekking hebben op het onderhouden van het model zijn nieuw voor de operationele teams, dus het risico op onjuiste reacties op kwaliteitssignalen is in dit stadium hoger. Naarmate uw workload volwassen wordt, kunt u mogelijk automatisering gebruiken om valse waarschuwingen te identificeren met goed ontworpen kwaliteitspoorten, maar het kan een lang en complex proces zijn.
Gebruik indien mogelijk bestaande automatiseringshulpprogramma's opnieuw om nieuwe automatiseringstaken uit te voeren voor uw AI-workload. Als u bijvoorbeeld al Gebruikmaakt van Azure Pipelines of GitHub Workflows, kunt u deze blijven gebruiken voor het implementeren van indelingscode in plaats van een afzonderlijk hulpprogramma. Vermijd echter te veel engineering in een poging om slechts één automatiseringsprogramma te gebruiken. Als bepaalde taken of taken niet geschikt zijn voor uw gekozen hulpprogramma, kiest u een geschikter hulpprogramma in plaats van een aangepaste oplossing te bouwen die onnodige complexiteit toevoegt.
Notitie
Om de workload volledig te ondersteunen, zijn er veel kruisende rollen en technologieën vereist. Gegevens-, infrastructuur-, beveiligings- en operationele teams zijn allemaal afhankelijk van automatisering. Gebruik de kortst mogelijke hulpprogramma's en standaardiseer ze om de automatiseringsstrategie beheerbaar en gemakkelijker te trainen.
DevOps-procedures omarmen
Begin in de ontwikkeling van uw workload kunt u het gebruik van DevOps-procedures in uw ontwikkelprocessen standaardiseren. Voor alle omgevingen naast sandboxomgevingen moeten strikt gedefinieerde en afgedwongen standaarden de volledige levenscyclus van de ontwikkeling bepalen. Dwing deze standaarden af door alle handmatige implementatieactiviteiten strikt te verbieden. Alle implementaties, ongeacht of het updates, patches of nieuwe resource-implementaties zijn, moeten worden uitgevoerd via een continue integratie- en continue implementatiepijplijn die voldoet aan veilige implementatieprocedures. Goede DevOps-hygiëneprocedures moeten het volgende omvatten:
Versiebeheer: gebruik versiebeheer voor alle codeassets zoveel mogelijk. Versiebeheer is een hoeksteen van DevOps en goede procedures voor wijzigingsbeheer en is essentieel voor een soepele samenwerking. Versiebeheer toepassen op bibliotheekpakketten, inclusief SDK's en containerinstallatiekopieën. Wees consistent in het gebruik van een specifieke versie van bibliotheekpakketten in de levenscyclus van softwareontwikkeling (SDLC). Verschillende versies van bibliotheken, zoals XGBoost of scikit-learn in verschillende ontwikkelomgevingen, kunnen variaties veroorzaken in het gedrag van uw workload. Hetzelfde geldt voor modelversiebeheer. Zorg ervoor dat modelversies consistent zijn in de SDLC, zodat u niet één versie van het model test in een preproductieomgeving en een andere versie in productie brengt.
Eenvoudige versienaamgevingsschema: gebruik een eenvoudig versienaamschema om ervoor te zorgen dat u altijd de laatst goedgekeurde versie van een bepaalde asset gebruikt. AI-specifieke assets kunnen het volgende omvatten:
- Notebookcode.
- Orchestrator-code.
- Taakcode voor gegevensverwerking.
- Machine Learning-taakcode.
- Het model.
Hulpprogramma's die u kunt operationeel maken: sommige hulpprogramma's zijn ideaal voor experimenten, maar zijn niet ontworpen voor operationalisatie. Deze beperking kan het lastig of onmogelijk maken om ze te integreren in uw operationele automatisering. Notebooks zijn bijvoorbeeld een goed hulpmiddel voor experimenten en verkennende gegevensanalyse, maar ze zijn geen goed hulpprogramma voor het ontwikkelen van productiepijplijnen. Wanneer u uw experimenten voltooit, haalt u de logica uit deze hulpprogramma's en plaatst u deze in een Python-pakket dat u voor uw taakcode kunt gebruiken.
Goede documentatieprocedures aannemen
Goede documentatiegewoonten zijn belangrijk voor alle typen workloads. De complexiteit van AI-workloads maakt deze gewoonten nog belangrijker. Zorg ervoor dat u een opslagplaats hebt die specifiek is voor uw workloadteam, waar documentatie veilig wordt opgeslagen en beheerd met versiebeheer. Net als bij andere workloads moet u standaardinformatie documenteren. Deze standaardinformatie omvat alle hulpprogramma's die worden gebruikt in de workload, beveiligingsconfiguraties, netwerkontwerpen en installatiehandleidingen. Overweeg de volgende AI-specifieke workloadinformatie te documenteren:
Modeltrainings- en grondinformatie over gegevensindexbeheer: Documentgegevensbronnen, de eigenaar van gegevensbronnen, vernieuwingsfrequentie en verwijderingsprocessen om vast te stellen hoe het model moet worden getraind en hoe grondgegevens moeten worden verwerkt.
Geschiedenis van het trainingsproces: gedetailleerde informatie over hoe u bij de huidige goedgekeurde configuratie bent aangekomen door te documenteren waarom u specifieke hyperparameters, temperaturen, gewichten en andere parameters hebt gekozen. Neem op welke andere configuraties u hebt getest en de gedragswijzigingen die u tijdens het trainingsproces hebt waargenomen. Deze informatie helpt voorkomen dat de herhaling van mislukte of inefficiënte configuraties wordt herhaald.
Informatie over het opslaan van functies: documenteer welke functies de beste voorspellende kracht hebben en hoe u die beslissing hebt gemaakt.
Configuratie van data scientist-werkstation: documentwerkstationconfiguraties grondig om het onboardingproces voor gegevenswetenschappers te stroomlijnen. Geef de benodigde bibliotheken en afhankelijkheden op die nodig zijn voor het gebruik van Conda-omgevingen.
Gegevenstransformatiegegevens: documenteer het hele proces van begin tot eind wanneer gegevenstransformatie plaatsvindt. Documenteer hoe de gegevens worden weergegeven bij opname en hoe deze worden gepresenteerd na de transformatie.
Hulpprogramma's
Profiteer van geautomatiseerde configuratie en geschiedenis die worden vastgelegd via MLFlow en Machine Learning.