Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon webbtjänster

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon webbtjänster

Amazon SageMaker gör det enkelt att distribuera modeller för maskininlärning (ML) för realtidsinferens och erbjuder ett brett urval av ML-instanser som spänner över processorer och acceleratorer som t.ex. AWS slutledning. Som en helt hanterad tjänst kan du skala dina modellinstallationer, minimera slutledningskostnader och hantera dina modeller mer effektivt i produktionen med minskad operativ börda. En SageMaker slutpunkt i realtid består av en HTTPs-slutpunkt och ML-instanser som distribueras över flera tillgänglighetszoner för hög tillgänglighet. SageMaker applikations automatisk skalning kan dynamiskt justera antalet ML-instanser som tillhandahålls för en modell som svar på förändringar i arbetsbelastningen. Slutpunkten fördelar inkommande förfrågningar enhetligt till ML-instanser med hjälp av en round-robin-algoritm.

När ML-modeller som distribueras på instanser tar emot API-anrop från ett stort antal klienter, kan en slumpmässig fördelning av förfrågningar fungera mycket bra när det inte finns mycket variation i dina förfrågningar och svar. Men i system med generativa AI-arbetsbelastningar kan förfrågningar och svar vara extremt varierande. I dessa fall är det ofta önskvärt att lastbalansera genom att överväga kapaciteten och utnyttjandet av instansen snarare än slumpmässig lastbalansering.

I det här inlägget diskuterar vi SageMakers routingstrategi för minst utestående förfrågningar (LOR) och hur den kan minimera latensen för vissa typer av realtidsinferensarbetsbelastningar genom att ta hänsyn till kapaciteten och användningen av ML-instanser. Vi pratar om dess fördelar jämfört med standardruttmekanismen och hur du kan aktivera LOR för dina modellinstallationer. Slutligen presenterar vi en jämförande analys av latensförbättringar med LOR jämfört med standardroutingstrategin för slumpmässig routing.

SageMaker LOR-strategi

Som standard har SageMaker-slutpunkter en slumpmässig routingstrategi. SageMaker stöder nu en LOR-strategi, som gör det möjligt för SageMaker att optimalt dirigera förfrågningar till den instans som är bäst lämpad för att betjäna den begäran. SageMaker gör detta möjligt genom att övervaka belastningen av instanserna bakom din slutpunkt, och modellerna eller slutledningskomponenterna som distribueras på varje instans.

Följande interaktiva diagram visar standardroutingpolicyn där förfrågningar som kommer till modellens slutpunkter vidarebefordras på ett slumpmässigt sätt till ML-instanserna.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Följande interaktiva diagram visar routingstrategin där SageMaker kommer att dirigera begäran till den instans som har minst antal utestående förfrågningar.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

I allmänhet fungerar LOR-routing bra för grundmodeller eller generativa AI-modeller när din modell svarar på hundratals millisekunder till minuter. Om ditt modellsvar har lägre latens (upp till hundratals millisekunder) kan du dra mer nytta av slumpmässig routing. Oavsett vilket rekommenderar vi att du testar och identifierar den bästa routingalgoritmen för dina arbetsbelastningar.

Hur man ställer in SageMaker routingstrategier

SageMaker låter dig nu ställa in RoutingStrategy parameter när du skapar EndpointConfiguration för slutpunkter. Den annorlunda RoutingStrategy värden som stöds av SageMaker är:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Följande är ett exempel på implementering av en modell på en slutpunkt för slutledning som har LOR aktiverat:

  1. Skapa slutpunktskonfigurationen genom att ställa in RoutingStrategy as LEAST_OUTSTANDING_REQUESTS:
    endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, ProductionVariants=[ { "VariantName": "variant1", "ModelName": model_name, "InstanceType": "instance_type", "InitialInstanceCount": initial_instance_count, ….. "RoutingConfig": { 'RoutingStrategy': 'LEAST_OUTSTANDING_REQUESTS'} }, ],
    )

  2. Skapa slutpunkten med hjälp av slutpunktskonfigurationen (ingen förändring):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Prestanda resultat

Vi körde prestandabenchmarking för att mäta slut-till-ände slutledningslatens och genomströmning av codegen2-7B modell värd på ml.g5.24xl-instanser med standardrouting och smarta routingslutpunkter. CodeGen2-modellen tillhör familjen autoregressiva språkmodeller och genererar körbar kod när de ges engelska uppmaningar.

I vår analys ökade vi antalet ml.g5.24xl-instanser bakom varje endpoint för varje testkörning när antalet samtidiga användare ökade, vilket visas i följande tabell.

Testa Antal samtidiga användare Antal instanser
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Vi mätte end-to-end P99-latensen för båda endpoints och observerade en 4–33 % förbättring i latens när antalet instanser ökades från 5 till 20, som visas i följande graf.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

På liknande sätt observerade vi en 15–16 % förbättring av genomströmningen per minut per instans när antalet instanser ökades från 5 till 20.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Detta illustrerar att smart routing kan förbättra trafikfördelningen mellan ändpunkterna, vilket leder till förbättringar i änd-till-ände latens och total genomströmning.

Slutsats

I det här inlägget förklarade vi SageMakers routingstrategier och det nya alternativet för att aktivera LOR-routing. Vi förklarade hur du aktiverar LOR och hur det kan gynna dina modellinstallationer. Våra prestandatester visade latens- och genomströmningsförbättringar under realtidsinferencing. För att lära dig mer om SageMakers routingfunktioner, se dokumentation. Vi uppmuntrar dig att utvärdera dina slutledningsarbetsbelastningar och avgöra om du är optimalt konfigurerad med routingstrategin.


Om författarna

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.James Park är en lösningsarkitekt på Amazon Web Services. Han arbetar med Amazon.com för att designa, bygga och distribuera tekniklösningar på AWS och har ett särskilt intresse för AI och maskininlärning. På fritiden tycker han om att söka nya kulturer, nya upplevelser och att hålla sig uppdaterad med de senaste tekniktrenderna. Du kan hitta honom på LinkedIn.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Venugopal Pai är lösningsarkitekt på AWS. Han bor i Bengaluru, Indien, och hjälper digitala kunder att skala och optimera sina applikationer på AWS.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.David Nigenda är en senior mjukvaruutvecklingsingenjör i Amazon SageMaker-teamet, som för närvarande arbetar med att förbättra arbetsflöden för maskininlärning i produktionen, samt lanserar nya inferensfunktioner. På fritiden försöker han hålla jämna steg med sina barn.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Deepti Ragha är en mjukvaruutvecklingsingenjör i Amazon SageMaker-teamet. Hennes nuvarande arbete fokuserar på att bygga funktioner för att effektivt vara värd för maskininlärningsmodeller. På fritiden tycker hon om att resa, vandra och odla växter.

Alan TanAlan Tan är en Senior Product Manager hos SageMaker, som leder arbetet med att slutföra stora modeller. Han brinner för att tillämpa maskininlärning på analysområdet. Utanför jobbet tycker han om att vara utomhus.

Minimera inferensfördröjning i realtid genom att använda Amazon SageMakers routingstrategier | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Dhawal Patel är en huvudarkitekt för maskininlärning på AWS. Han har arbetat med organisationer som sträcker sig från stora företag till medelstora startups med problem relaterade till distribuerad datoranvändning och artificiell intelligens. Han fokuserar på djupinlärning inklusive NLP- och Computer Vision-domäner. Han hjälper kunder att uppnå högpresterande modellslutningar på SageMaker.

Tidsstämpel:

Mer från AWS maskininlärning