Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services

Amazon SageMaker simplifică implementarea modelelor de învățare automată (ML) pentru inferențe în timp real și oferă o selecție largă de instanțe ML care acoperă procesoare și acceleratoare, cum ar fi Inferentia AWS. Ca serviciu complet gestionat, vă puteți scala implementările modelelor, puteți minimiza costurile de inferență și vă puteți gestiona modelele mai eficient în producție, cu o sarcină operațională redusă. Un punct final de inferență în timp real SageMaker constă dintr-un punct final HTTPs și instanțe ML care sunt implementate în mai multe zone de disponibilitate pentru disponibilitate ridicată. SageMaker scalare automată a aplicației poate ajusta dinamic numărul de instanțe ML furnizate pentru un model ca răspuns la modificările volumului de lucru. Punctul final distribuie uniform cererile primite către instanțe ML folosind un algoritm round-robin.

Când modelele ML implementate pe instanțe primesc apeluri API de la un număr mare de clienți, o distribuție aleatorie a solicitărilor poate funcționa foarte bine atunci când nu există o mare variabilitate în cererile și răspunsurile dvs. Dar în sistemele cu sarcini de lucru generative de AI, solicitările și răspunsurile pot fi extrem de variabile. În aceste cazuri, este adesea de dorit să se echilibreze încărcarea luând în considerare capacitatea și utilizarea instanței, mai degrabă decât echilibrarea aleatorie a sarcinii.

În această postare, discutăm despre strategia de rutare a cererilor cele mai puțin restante (LOR) SageMaker și cum poate minimiza latența pentru anumite tipuri de sarcini de lucru de inferență în timp real, luând în considerare capacitatea și utilizarea instanțelor ML. Vorbim despre beneficiile acestuia față de mecanismul de rutare implicit și despre cum puteți activa LOR pentru implementările modelului dvs. În cele din urmă, prezentăm o analiză comparativă a îmbunătățirilor latenței cu LOR față de strategia de rutare implicită a rutare aleatorie.

Strategia SageMaker LOR

În mod implicit, punctele finale SageMaker au o strategie de rutare aleatorie. SageMaker acceptă acum o strategie LOR, care îi permite lui SageMaker să direcționeze în mod optim cererile către instanța care este cel mai potrivită pentru a servi acea cerere. SageMaker face acest lucru posibil prin monitorizarea încărcării instanțelor din spatele punctului final și a modelelor sau a componentelor de inferență care sunt implementate pe fiecare instanță.

Următoarea diagramă interactivă arată politica de rutare implicită în care cererile care vin la punctele finale ale modelului sunt redirecționate în mod aleatoriu către instanțele ML.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Următoarea diagramă interactivă arată strategia de rutare în care SageMaker va direcționa cererea către instanța care are cel mai mic număr de solicitări restante.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În general, rutarea LOR funcționează bine pentru modelele de bază sau modelele AI generative atunci când modelul dvs. răspunde în sute de milisecunde până la minute. Dacă răspunsul modelului dvs. are o latență mai mică (până la sute de milisecunde), puteți beneficia mai mult de rutarea aleatorie. Indiferent, vă recomandăm să testați și să identificați cel mai bun algoritm de rutare pentru sarcinile dvs. de lucru.

Cum să setați strategiile de rutare SageMaker

SageMaker vă permite acum să setați RoutingStrategy parametrul în timpul creării EndpointConfiguration pentru puncte finale. Diferitul RoutingStrategy valorile care sunt acceptate de SageMaker sunt:

  • LEAST_OUTSTANDING_REQUESTS
  • RANDOM

Următorul este un exemplu de implementare a unui model pe un punct final de inferență care are LOR activat:

  1. Creați configurația punctului final prin setare 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. Creați punctul final utilizând configurația punctului final (nicio modificare):
    create_endpoint_response = sm_client.create_endpoint( EndpointName="endpoint_name", EndpointConfigName="endpoint_config_name"
    )

Rezultate de performanță

Am efectuat un benchmarking de performanță pentru a măsura latența și debitul de inferență end-to-end ale codegen2-7B model găzduit pe instanțe ml.g5.24xl cu rutare implicită și puncte finale de rutare inteligentă. Modelul CodeGen2 aparține familiei de modele de limbaj autoregresiv și generează cod executabil atunci când sunt primite solicitări în limba engleză.

În analiza noastră, am crescut numărul de instanțe ml.g5.24xl în spatele fiecărui punct final pentru fiecare test de testare, pe măsură ce numărul de utilizatori concurenți a crescut, așa cum se arată în tabelul următor.

Test Numărul de utilizatori concurenți Numărul de instanțe
1 4 1
2 20 5
3 40 10
4 60 15
5 80 20

Am măsurat latența P99 de la capăt la capăt pentru ambele puncte finale și am observat o îmbunătățire cu 4-33% a latenței atunci când numărul de instanțe a crescut de la 5 la 20, așa cum se arată în graficul următor.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În mod similar, am observat o îmbunătățire cu 15-16% a debitului pe minut per instanță atunci când numărul de instanțe a crescut de la 5 la 20.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Acest lucru ilustrează faptul că rutarea inteligentă este capabilă să îmbunătățească distribuția traficului între punctele finale, ceea ce duce la îmbunătățiri ale latenței end-to-end și ale debitului general.

Concluzie

În această postare, am explicat strategiile de rutare SageMaker și noua opțiune de a activa rutarea LOR. Am explicat cum să activați LOR și cum poate beneficia implementările modelului dvs. Testele noastre de performanță au arătat îmbunătățiri ale latenței și debitului în timpul inferențelor în timp real. Pentru a afla mai multe despre funcțiile de rutare SageMaker, consultați documentaţie. Vă încurajăm să vă evaluați sarcinile de lucru de inferență și să determinați dacă sunteți configurat optim cu strategia de rutare.


Despre Autori

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.James Park este arhitect de soluții la Amazon Web Services. El lucrează cu Amazon.com pentru a proiecta, construi și implementa soluții tehnologice pe AWS și are un interes deosebit pentru AI și învățarea automată. În timpul liber, îi place să caute noi culturi, experiențe noi și să fie la curent cu cele mai recente tendințe tehnologice. Îl poți găsi pe LinkedIn.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Venugopal Pai este arhitect de soluții la AWS. Locuiește în Bengaluru, India și îi ajută pe clienții nativi digitali să-și scaleze și să-și optimizeze aplicațiile pe AWS.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.David Nigenda este inginer senior de dezvoltare software în echipa Amazon SageMaker, care lucrează în prezent la îmbunătățirea fluxurilor de lucru de învățare automată de producție, precum și la lansarea de noi funcții de inferență. În timpul liber, încearcă să țină pasul cu copiii săi.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Deepti Ragha este inginer de dezvoltare software în echipa Amazon SageMaker. Activitatea ei actuală se concentrează pe construirea de funcții pentru a găzdui eficient modele de învățare automată. În timpul liber, îi place să călătorească, să facă drumeții și să cultive plante.

Alan TanAlan Tan este Senior Product Manager la SageMaker, conducând eforturile pentru inferența modelelor mari. Este pasionat de aplicarea învățării automate în domeniul analizei. În afara serviciului, se bucură de aer liber.

Minimizați latența de inferență în timp real utilizând strategiile de rutare Amazon SageMaker | Amazon Web Services PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Dhawal Patel este arhitect principal de învățare automată la AWS. El a lucrat cu organizații, de la întreprinderi mari până la startup-uri mijlocii, pe probleme legate de calculul distribuit și inteligența artificială. El se concentrează pe învățarea profundă, inclusiv pe domeniile NLP și Computer Vision. El îi ajută pe clienți să obțină inferențe de model de înaltă performanță pe SageMaker.

Timestamp-ul:

Mai mult de la Învățare automată AWS