Vi er glade for at kunne annoncere en ny version af Amazon SageMaker-operatører til Kubernetes ved hjælp af AWS-controllere til Kubernetes (ACK). ACK er en ramme til at bygge Kubernetes brugerdefinerede controllere, hvor hver controller kommunikerer med en AWS service API. Disse controllere giver Kubernetes-brugere mulighed for at levere AWS-ressourcer som buckets, databaser eller meddelelseskøer blot ved at bruge Kubernetes API.
Slip v1.2.9 af SageMaker ACK Operators tilføjer understøttelse til slutningskomponenter, som indtil nu kun var tilgængelige gennem SageMaker API og AWS Software Development Kits (SDK'er). Inferenskomponenter kan hjælpe dig med at optimere implementeringsomkostningerne og reducere latens. Med de nye inferenskomponentfunktioner kan du implementere en eller flere fundamentmodeller (FM'er) på samme Amazon SageMaker endepunkt og kontroller, hvor mange acceleratorer og hvor meget hukommelse, der er reserveret til hver FM. Dette hjælper med at forbedre ressourceudnyttelsen, reducerer omkostningerne til modelimplementering i gennemsnit med 50 % og lader dig skalere slutpunkter sammen med dine use cases. For flere detaljer, se Amazon SageMaker tilføjer nye inferensfunktioner for at hjælpe med at reducere omkostningerne til implementering af fundamentmodeller og latens.
Tilgængeligheden af inferenskomponenter gennem SageMaker-controlleren gør det muligt for kunder, der bruger Kubernetes som deres kontrolplan, at drage fordel af inferenskomponenter, mens de implementerer deres modeller på SageMaker.
I dette indlæg viser vi, hvordan man bruger SageMaker ACK-operatører til at implementere SageMaker-inferenskomponenter.
Hvordan ACK virker
At demonstrere hvordan ACK virker, lad os se på et eksempel ved hjælp af Amazon Simple Storage Service (Amazon S3). I det følgende diagram er Alice vores Kubernetes-bruger. Hendes ansøgning afhænger af eksistensen af en S3-spand med navn my-bucket
.
Arbejdsgangen består af følgende trin:
- Alice ringer til
kubectl apply
, der sender en fil, der beskriver en Kubernetes tilpasset ressource beskriver hendes S3-spand.kubectl apply
sender denne fil, kaldet a manifest, til Kubernetes API-serveren, der kører i Kubernetes-controllernoden. - Kubernetes API-serveren modtager manifestet, der beskriver S3-bøtten og bestemmer, om Alice har Tilladelser at oprette en tilpasset ressource af slags
s3.services.k8s.aws/Bucket
, og at den tilpassede ressource er korrekt formateret. - Hvis Alice er autoriseret, og den tilpassede ressource er gyldig, skriver Kubernetes API-serveren den tilpassede ressource til sin
etcd
datalager. - Den svarer derefter til Alice, at den tilpassede ressource er blevet oprettet.
- På dette tidspunkt er ACK-tjenesten controller til Amazon S3, som kører på en Kubernetes-arbejderknude i sammenhæng med en normal Kubernetes Pod, meddeles, at en ny tilpasset ressource af slagsen
s3.services.k8s.aws/Bucket
er blevet oprettet. - ACK-servicecontrolleren til Amazon S3 kommunikerer derefter med Amazon S3 API'et ved at kalde S3 CreateBucket API at oprette bøtten i AWS.
- Efter at have kommunikeret med Amazon S3 API, kalder ACK-servicecontrolleren Kubernetes API-serveren for at opdatere den tilpassede ressources status med oplysninger, den modtog fra Amazon S3.
Nøglekomponenter
De nye inferensfunktioner bygger på SageMakers realtidsslutningsendepunkter. Som før opretter du SageMaker-slutpunktet med en slutpunktskonfiguration, der definerer instanstypen og det indledende instansantal for endepunktet. Modellen er konfigureret i en ny konstruktion, en inferenskomponent. Her angiver du antallet af acceleratorer og mængden af hukommelse, du vil allokere til hver kopi af en model, sammen med modelartefakter, containerbillede og antallet af modelkopier, der skal implementeres.
Du kan bruge de nye slutningsmuligheder fra Amazon SageMaker Studio, SageMaker Python SDK, AWS SDK'erog AWS kommandolinjegrænseflade (AWS CLI). De er også støttet af AWS CloudFormation. Nu kan du også bruge dem med SageMaker-operatører til Kubernetes.
Løsningsoversigt
Til denne demo bruger vi SageMaker-controlleren til at implementere en kopi af Dolly v2 7B model og en kopi af FLAN-T5 XXL model fra Hugging Face Model Hub på et SageMaker-endepunkt i realtid ved hjælp af de nye inferensfunktioner.
Forudsætninger
For at følge med skal du have en Kubernetes-klynge med SageMaker ACK-controlleren v1.2.9 eller nyere installeret. For instruktioner om, hvordan du klargør en Amazon Elastic Kubernetes Service (Amazon EKS) klynge med Amazon Elastic Compute Cloud (Amazon EC2) Linux-administrerede noder ved hjælp af eksctl, se Kom godt i gang med Amazon EKS – eksctl. For instruktioner om installation af SageMaker-controlleren, se Maskinlæring med ACK SageMaker Controller.
Du skal have adgang til accelererede instanser (GPU'er) for at være vært for LLM'erne. Denne opløsning bruger én forekomst af ml.g5.12xlarge; du kan tjekke tilgængeligheden af disse forekomster på din AWS-konto og anmode om disse forekomster efter behov via en anmodning om forhøjelse af servicekvoter, som vist på det følgende skærmbillede.
Opret en slutningskomponent
For at oprette din inferenskomponent skal du definere EndpointConfig
, Endpoint
, Model
og InferenceComponent
YAML-filer, der ligner dem, der er vist i dette afsnit. Brug kubectl apply -f <yaml file>
at oprette Kubernetes-ressourcerne.
Du kan angive status for ressourcen via kubectl describe <resource-type>
; for eksempel, kubectl describe inferencecomponent
.
Du kan også oprette inferenskomponenten uden en modelressource. Se vejledningen i API dokumentation for flere detaljer.
EndpointConfig YAML
Følgende er koden til EndpointConfig-filen:
Slutpunkt YAML
Følgende er koden til Endpoint-filen:
Model YAML
Følgende er koden til modelfilen:
InferenceComponent YAML'er
I de følgende YAML-filer, givet at ml.g5.12xlarge-forekomsten kommer med 4 GPU'er, allokerer vi 2 GPU'er, 2 CPU'er og 1,024 MB hukommelse til hver model:
Påkald modeller
Du kan nu kalde modellerne ved hjælp af følgende kode:
Opdater en inferenskomponent
For at opdatere en eksisterende inferenskomponent kan du opdatere YAML-filerne og derefter bruge kubectl apply -f <yaml file>
. Følgende er et eksempel på en opdateret fil:
Slet en inferenskomponent
Brug kommandoen for at slette en eksisterende inferenskomponent kubectl delete -f <yaml file>
.
Tilgængelighed og priser
De nye SageMaker-inferensfunktioner er tilgængelige i dag i AWS-regionerne i USA øst (Ohio, N. Virginia), USA vest (Oregon), Asia Pacific (Jakarta, Mumbai, Seoul, Singapore, Sydney, Tokyo), Canada (Central), Europa ( Frankfurt, Irland, London, Stockholm), Mellemøsten (UAE) og Sydamerika (São Paulo). For prisoplysninger, besøg Amazon SageMaker-priser.
Konklusion
I dette indlæg viste vi, hvordan man bruger SageMaker ACK-operatører til at implementere SageMaker-inferenskomponenter. Tænd din Kubernetes-klynge, og implementer dine FM'er ved hjælp af de nye SageMaker-inferensfunktioner i dag!
Om forfatterne
Rajesh Ramchander er Principal ML Engineer i Professional Services hos AWS. Han hjælper kunder på forskellige stadier i deres AI/ML- og GenAI-rejse, fra dem, der lige er startet hele vejen til dem, der leder deres forretning med en AI-first-strategi.
Amit Arora er en AI og ML Specialist Architect hos Amazon Web Services, der hjælper virksomhedskunder med at bruge cloud-baserede maskinlæringstjenester til hurtigt at skalere deres innovationer. Han er også adjungeret lektor i MS data science and analytics-programmet ved Georgetown University i Washington DC
Suryansh Singh er softwareudviklingsingeniør hos AWS SageMaker og arbejder med at udvikle ML-distribuerede infrastrukturløsninger til AWS-kunder i stor skala.
Saurabh Trikande er Senior Product Manager for Amazon SageMaker Inference. Han brænder for at arbejde med kunder og er motiveret af målet om at demokratisere machine learning. Han fokuserer på kerneudfordringer relateret til implementering af komplekse ML-applikationer, multi-tenant ML-modeller, omkostningsoptimeringer og at gøre implementering af deep learning-modeller mere tilgængelig. I sin fritid nyder Saurabh at vandre, lære om innovative teknologier, følge TechCrunch og tilbringe tid med sin familie.
Johna Liu er softwareudviklingsingeniør i Amazon SageMaker-teamet. Hendes nuværende arbejde fokuserer på at hjælpe udviklere med effektivt at være vært for maskinlæringsmodeller og forbedre inferens ydeevne. Hun brænder for rumlig dataanalyse og brug af AI til at løse samfundsproblemer.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/use-kubernetes-operators-for-new-inference-capabilities-in-amazon-sagemaker-that-reduce-llm-deployment-costs-by-50-on-average/