Unul dintre cele mai populare modele disponibile astăzi este XGBoost. Cu capacitatea de a rezolva diverse probleme precum clasificarea și regresia, XGBoost a devenit o opțiune populară care se încadrează și în categoria modelelor bazate pe arbore. În această postare, ne scufundăm adânc pentru a vedea cum Amazon SageMaker poate servi aceste modele folosind NVIDIA Triton Inference Server. Sarcinile de lucru de inferență în timp real pot avea diferite niveluri de cerințe și acorduri de nivel de serviciu (SLA) în termeni de latență și debit și pot fi îndeplinite folosind punctele finale în timp real SageMaker.
SageMaker oferă puncte finale de model unic, care vă permit să implementați un singur model de învățare automată (ML) împotriva unui punct final logic. Pentru alte cazuri de utilizare, puteți alege să gestionați costurile și performanța utilizând puncte finale multi-model, care vă permit să specificați mai multe modele pentru a găzdui în spatele unui punct final logic. Indiferent de opțiunea pe care o alegeți, punctele finale SageMaker permit un mecanism scalabil chiar și pentru cei mai pretențioși clienți de întreprindere, oferind în același timp valoare într-o multitudine de funcții, inclusiv variante de umbră, scalare automată, și integrarea nativă cu Amazon CloudWatch (pentru mai multe informații, consultați Valori CloudWatch pentru implementări de puncte finale cu mai multe modele).
Triton acceptă diverse backend-uri ca motoare pentru a sprijini rularea și servirea diferitelor modele ML pentru inferență. Pentru orice implementare Triton, este esențial să știți cum vă afectează comportamentul backend-ului sarcinile de lucru și la ce să vă așteptați pentru a avea succes. În această postare, vă ajutăm să înțelegeți Backend-ul Forest Inference Library (FIL)., care este susținut de Triton pe SageMaker, astfel încât să puteți lua o decizie informată pentru sarcinile dvs. de lucru și să obțineți cea mai bună performanță și optimizare a costurilor posibile.
Scufundați-vă adânc în backend-ul FIL
Triton sprijină Backend FIL pentru a servi modele de arbori, cum ar fi XGBoost, LightGBM, scikit-learn Pădurea întâmplătoare, RAPIDS cuML Random Forest, și orice alt model susținut de Treelit. Aceste modele au fost folosite mult timp pentru rezolvarea unor probleme precum clasificarea sau regresia. Deși aceste tipuri de modele au funcționat în mod tradițional pe procesoare, popularitatea acestor modele și cerințele de inferență au condus la diferite tehnici de creștere a performanței de inferență. Backend-ul FIL utilizează multe dintre aceste tehnici folosind constructe cuML și este construit pe C++ și biblioteca de bază CUDA pentru a optimiza performanța de inferență pe acceleratoarele GPU.
Backend-ul FIL folosește bibliotecile cuML pentru a folosi nuclee CPU sau GPU pentru a accelera învățarea. Pentru a utiliza aceste procesoare, datele sunt referite din memoria gazdă (de exemplu, matrice NumPy) sau matrice GPU (uDF, Numba, cuPY sau orice bibliotecă care acceptă __cuda_array_interface__
) API. După ce datele sunt introduse în memorie, backend-ul FIL poate rula procesarea pe toate nucleele CPU sau GPU disponibile.
Firele de execuție FIL pot comunica între ele fără a utiliza memoria partajată a gazdei, dar în sarcinile de lucru în ansamblu, trebuie luată în considerare memoria gazdă. Următoarea diagramă prezintă o arhitectură de rulare a unui planificator de ansamblu în care aveți posibilitatea de a regla fin zonele de memorie, inclusiv memoria partajată adresabilă CPU care este utilizată pentru comunicarea între procese între Triton (C++) și procesul Python (backend Python) pentru schimb. tensori (intrare/ieșire) cu backend-ul FIL.
Triton Inference Server oferă opțiuni configurabile pentru dezvoltatori pentru a-și ajusta sarcinile de lucru și pentru a optimiza performanța modelului. Configurația dynamic_batching
permite Triton să rețină cereri de la parte client și să le grupeze pe partea de server pentru a utiliza eficient calculul paralel al FIL pentru a deduce întregul lot împreună. Optiunea max_queue_delay_microseconds
oferă un control sigur asupra cât timp așteaptă Triton pentru a forma un lot.
Există o serie de alte FIL-specifice opțiuni disponibile care influențează performanța și comportamentul. Vă sugerăm să începeți cu storage_type
. Când rulează backend-ul pe GPU, FIL creează o nouă structură de memorie/date care este o reprezentare a arborelui pentru care FIL poate afecta performanța și amprenta. Acesta este configurabil prin intermediul parametrului de mediu storage_type
, care are opțiunile dens, sparse și auto. Alegerea opțiunii dense va consuma mai multă memorie GPU și nu va duce întotdeauna la o performanță mai bună, așa că cel mai bine este să verificați. În schimb, opțiunea rară va consuma mai puțină memorie GPU și poate funcționa la fel de bine sau mai bine decât dens. Alegerea automată va face ca modelul să fie dens implicit, cu excepția cazului în care acest lucru va consuma mult mai multă memorie GPU decât rară.
Când vine vorba de performanța modelului, ați putea lua în considerare accentuarea threads_per_tree
opțiune. Un lucru pe care îl puteți suprasolicita în scenariile din lumea reală este că threads_per_tree
poate avea un impact mai mare asupra debitului decât orice alt parametru. Setarea la orice putere de 2 de la 1 la 32 este legitimă. Valoarea optimă este greu de prezis pentru acest parametru, dar atunci când se așteaptă ca serverul să facă față unei încărcări mai mari sau să proceseze loturi mai mari, tinde să beneficieze de o valoare mai mare decât atunci când procesează câteva rânduri la un moment dat.
Un alt parametru de care trebuie să fii conștient este algo
, care este disponibil și dacă rulați pe GPU. Acest parametru determină algoritmul care este utilizat pentru a procesa cererile de inferență. Opțiunile acceptate pentru aceasta sunt ALGO_AUTO
, NAIVE
, TREE_REORG
, și BATCH_TREE_REORG
. Aceste opțiuni determină modul în care sunt organizate nodurile dintr-un arbore și pot duce, de asemenea, la câștiguri de performanță. The ALGO_AUTO
opțiunea este implicită NAIVE
pentru depozitare rară și BATCH_TREE_REORG
pentru depozitare densă.
În cele din urmă, FIL vine cu explicatorul Shapley, care poate fi activat utilizând treeshap_output
parametru. Cu toate acestea, ar trebui să rețineți că ieșirile Shapley afectează performanța datorită dimensiunii sale de ieșire.
Formatul modelului
În prezent, nu există un format de fișier standard pentru stocarea modelelor bazate pe păduri; fiecare cadru tinde să-și definească propriul format. Pentru a suporta mai multe formate de fișiere de intrare, FIL importă date folosind open-source Treelit bibliotecă. Acest lucru permite FIL să susțină modele instruite în cadre populare, cum ar fi XGBoost și LightGBM. Rețineți că formatul modelului pe care îl furnizați trebuie să fie setat în model_type
valoarea de configurare specificată în config.pbtxt
fișier.
Config.pbtxt
Fiecare model dintr-o depozit de modele trebuie să includă o configurație de model care oferă informațiile necesare și opționale despre model. De obicei, această configurație este furnizată în a config.pbtxt
fișier specificat ca ModelConfig protobuf. Pentru a afla mai multe despre setările de configurare, consultați Configurația modelului. Următorii sunt câțiva dintre parametrii de configurare a modelului:
- max_batch_size – Aceasta determină dimensiunea maximă a lotului care poate fi transmisă acestui model. În general, singura limită a dimensiunii loturilor transmise unui backend FIL este memoria disponibilă cu care să le proceseze. Pentru rulările GPU, memoria disponibilă este determinată de dimensiunea pool-ului de memorie CUDA al Triton, care poate fi setat printr-un argument de linie de comandă la pornirea serverului.
- intrare – Opțiunile din această secțiune îi spun lui Triton numărul de caracteristici la care se așteaptă pentru fiecare eșantion de intrare.
- producție – Opțiunile din această secțiune îi spun lui Triton câte valori de ieșire vor fi pentru fiecare probă. Dacă
predict_proba
opțiunea este setată la adevărat, apoi va fi returnată o valoare de probabilitate pentru fiecare clasă. În caz contrar, va fi returnată o singură valoare, indicând clasa prezisă pentru eșantionul dat. - grup_instanță – Aceasta determină câte instanțe ale acestui model vor fi create și dacă vor folosi GPU sau CPU.
- tip_model – Acest șir indică în ce format este modelul (
xgboost_json
în acest exemplu, darxgboost
,lightgbm
, șitl_checkpoint
sunt și formate valide). - predict_proba – Dacă se setează la adevărat, valorile de probabilitate vor fi returnate pentru fiecare clasă și nu doar o predicție de clasă.
- clasa_ieșire – Acesta este setat la adevărat pentru modelele de clasificare și fals pentru modelele de regresie.
- prag – Acesta este un prag de scor pentru determinarea clasificării. Când
output_class
este setat la true, acest lucru trebuie furnizat, deși nu va fi folosit dacăpredict_proba
este, de asemenea, setat la adevărat. - tipul_stocare – În general, utilizarea AUTO pentru această setare ar trebui să îndeplinească majoritatea cazurilor de utilizare. Dacă este selectată stocarea AUTO, FIL va încărca modelul folosind fie o reprezentare rară, fie densă, bazată pe dimensiunea aproximativă a modelului. În unele cazuri, este posibil să doriți să setați în mod explicit acest lucru la SPARSE pentru a reduce amprenta de memorie a modelelor mari.
Triton Inference Server pe SageMaker
SageMaker permite puteți implementa atât terminale cu un singur model, cât și mai multe modele cu NVIDIA Triton Inference Server. Următoarea figură prezintă arhitectura de nivel înalt Triton Inference Server. The depozit de modele este un depozit bazat pe sistemul de fișiere al modelelor pe care Triton le va pune la dispoziție pentru deducere. Solicitările de inferență ajung la server și sunt direcționate către planificatorul corespunzător pentru fiecare model. Unelte Triton mai mulți algoritmi de programare și loturi care pot fi configurate model cu model. Planificatorul fiecărui model efectuează opțional lotizarea cererilor de inferență și apoi transmite cererile către backend corespunzător tipului de model. Backend-ul efectuează inferențe folosind intrările furnizate în cererile grupate pentru a produce ieșirile solicitate. Ieșirile sunt apoi returnate.
Când vă configurați grupurile de scalare automată pentru punctele finale SageMaker, vă recomandăm să luați în considerare SageMakerVariantInvocationsPerInstance
ca criterii primare pentru a determina caracteristicile de scalare ale grupului dvs. de scalare automată. În plus, în funcție de dacă modelele dumneavoastră rulează pe GPU sau CPU, puteți lua în considerare și utilizarea CPUUtilization sau GPUUtilization ca criterii suplimentare. Rețineți că pentru punctele finale cu un singur model, deoarece modelele implementate sunt toate aceleași, este destul de simplu să setați politici adecvate pentru a vă îndeplini SLA-urile. Pentru punctele finale cu mai multe modele, vă recomandăm să implementați modele similare în spatele unui anumit punct final pentru a avea performanțe mai stabile și predictibile. În cazurile de utilizare în care sunt utilizate modele de dimensiuni și cerințe diferite, este posibil să doriți să separați acele sarcini de lucru în mai multe puncte finale cu mai multe modele sau să petreceți ceva timp pentru a ajusta politica de grup de scalare automată pentru a obține cel mai bun echilibru între costuri și performanță.
Pentru o listă a containerelor NVIDIA Triton Deep Learning (DLC-uri) acceptate de inferența SageMaker, consultați Imagini disponibile ale containerelor Deep Learning.
Prezentare pentru caietul SageMaker
Aplicațiile ML sunt complexe și pot necesita adesea preprocesarea datelor. În acest notebook, ne studiem cum să implementăm un model ML bazat pe arbore, cum ar fi XGBoost, folosind backend-ul FIL în Triton pe un punct final cu mai multe modele SageMaker. De asemenea, descriem modul de implementare a unei conducte de inferență de preprocesare a datelor bazată pe Python pentru modelul dvs. folosind caracteristica de ansamblu din Triton. Acest lucru ne va permite să trimitem datele brute din partea clientului și să avem atât preprocesarea datelor, cât și inferența modelului să aibă loc într-un punct final Triton SageMaker pentru performanțe optime de inferență.
Caracteristica ansamblului modelului Triton
Triton Inference Server simplifică foarte mult implementarea modelelor AI la scară în producție. Triton Inference Server vine cu o soluție convenabilă care simplifică construirea conductelor de preprocesare și postprocesare. Platforma Triton Inference Server furnizează planificatorul de ansamblu, care este responsabil pentru modelele de pipeline care participă la procesul de inferență, asigurând în același timp eficiența și optimizarea debitului. Utilizarea modelelor de ansamblu poate evita supraîncărcarea transferului de tensori intermediari și poate minimiza numărul de solicitări care trebuie trimise către Triton.
În acest notebook, vă arătăm cum să utilizați caracteristica de ansamblu pentru a construi o conductă de preprocesare a datelor cu inferența modelului XGBoost și puteți extrapola din aceasta pentru a adăuga postprocesare personalizată la conductă.
Configurați mediul înconjurător
Începem prin a configura mediul necesar. Instalăm dependențele necesare pentru a împacheta conducta noastră de model și pentru a rula inferențe folosind Triton Inference Server. De asemenea, definim Gestionarea identității și accesului AWS (IAM) care va oferi SageMaker acces la artefactele modelului și la NVIDIA Triton Registrul Amazon de containere elastice (Amazon ECR) imagine. Vezi următorul cod:
Creați un mediu Conda pentru preprocesarea dependențelor
Backend-ul Python din Triton ne cere să folosim a Conda mediu pentru orice dependențe suplimentare. În acest caz, folosim backend-ul Python pentru a preprocesa datele brute înainte de a le introduce în modelul XGBoost care rulează în backend-ul FIL. Chiar dacă inițial am folosit RAPIDS cuDF și cuML pentru a face preprocesarea datelor, aici folosim Pandas și scikit-learn ca dependențe de preprocesare în timpul inferenței. Facem acest lucru din trei motive:
- Vă arătăm cum să creați un mediu Conda pentru dependențele dvs. și cum să-l împachetați în format așteptat de backend-ul Python al lui Triton.
- Arătând modelul de preprocesare care rulează în backend-ul Python pe CPU, în timp ce XGBoost rulează pe GPU în backend-ul FIL, ilustrăm modul în care fiecare model din pipeline-ul ansamblului Triton poate rula pe un backend cadru diferit, precum și pe diferite configurații hardware.
- Evidențiază modul în care bibliotecile RAPIDS (cuDF, cuML) sunt compatibile cu omologii lor CPU (Pandas, scikit-learn). De exemplu, putem arăta cum
LabelEncoders
creat în cuML poate fi folosit în scikit-learn și invers.
Urmăm instrucțiunile de la Documentație Triton pentru ambalarea dependențelor de preprocesare (scikit-learn și Pandas) pentru a fi utilizate în backend-ul Python ca fișier TAR de mediu Conda. Scriptul bash create_prep_env.sh creează fișierul TAR de mediu Conda, apoi îl mutăm în directorul modelului de preprocesare. Vezi următorul cod:
După ce rulăm scriptul precedent, acesta generează preprocessing_env.tar.gz
, pe care îl copiem în directorul de preprocesare:
Configurați preprocesarea cu backend-ul Triton Python
Pentru preprocesare, folosim Triton's Backend-ul Python pentru a efectua preprocesarea tabelară a datelor (codificare categorială) în timpul inferenței pentru cererile de date brute care vin pe server. Pentru mai multe informații despre preprocesarea care a fost efectuată în timpul antrenamentului, consultați caiet de antrenament.
Backend-ul Python permite preprocesarea, postprocesarea și orice altă logică personalizată să fie implementată în Python și servită cu Triton. Utilizarea Triton pe SageMaker necesită mai întâi să configuram un folder de depozit de modele care să conțină modelele pe care dorim să le servim. Am creat deja un model pentru preprocesarea datelor Python numit preprocesare în cpu_model_repository
și gpu_model_repository
.
Triton are cerințe specifice pentru aspectul depozitului de modele. În directorul de depozit de modele de nivel superior, fiecare model are propriul său subdirector care conține informațiile pentru modelul corespunzător. Fiecare director de model din Triton trebuie să aibă cel puțin un subdirector numeric reprezentând o versiune a modelului. Valoarea 1 reprezintă versiunea 1 a modelului nostru de preprocesare Python. Fiecare model este rulat de un backend specific, astfel încât în cadrul fiecărui subdirector de versiune trebuie să existe artefactul de model cerut de acel backend. Pentru acest exemplu, folosim backend-ul Python, care necesită ca fișierul Python pe care îl serviți să fie numit model.py, iar fișierul trebuie implementat anumite funcții. Dacă am folosi un backend PyTorch, ar fi necesar un fișier model.pt și așa mai departe. Pentru mai multe detalii despre convențiile de denumire pentru fișierele model, consultați Fișiere model.
model.py Fișierul Python pe care îl folosim aici implementează toată logica tabelară de preprocesare a datelor pentru a converti datele brute în caracteristici care pot fi introduse în modelul nostru XGBoost.
Fiecare model Triton trebuie să ofere și un config.pbtxt
fișier care descrie configurația modelului. Pentru a afla mai multe despre setările de configurare, consultați Configurația modelului. Noastră config.pbtxt fișierul specifică backend-ul ca python și toate coloanele de intrare pentru datele brute, împreună cu ieșirea preprocesată, care constă din 15 caracteristici. De asemenea, specificăm că vrem să rulăm acest model de preprocesare Python pe CPU. Vezi următorul cod:
Configurați un model ML bazat pe arbore pentru backend-ul FIL
Apoi, am configurat directorul modelului pentru un model ML bazat pe arbore precum XGBoost, care va folosi backend-ul FIL.
Aspectul așteptat pentru cpu_memory_repository
și gpu_memory_repository
sunt asemănătoare cu cea pe care am arătat-o mai devreme.
Aici, FIL
este numele modelului. Îi putem da un alt nume, cum ar fi xgboost
dacă vrem. 1
este subdirectorul versiunii, care conține artefactul model. În acest caz, este vorba de xgboost.json
model pe care l-am salvat. Să creăm acest aspect așteptat:
Trebuie să avem fișierul de configurare config.pbtxt
descriind configurația modelului pentru modelul ML bazat pe arbore, astfel încât backend-ul FIL din Triton să poată înțelege cum să îl servească. Pentru mai multe informații, consultați cel mai recent generic Opțiuni de configurare Triton și opțiunile de configurare specifice Backend FIL. Ne concentrăm doar pe câteva dintre cele mai comune și relevante opțiuni din acest exemplu.
Crea config.pbtxt
pentru model_cpu_repository
:
În mod similar, configurați config.pbtxt
pentru model_gpu_repository
(rețineți că diferența este USE_GPU = True
):
Configurați o conductă de inferență a backend-ului Python de preprocesare a datelor și a backend-ului FIL folosind ansambluri
Acum suntem gata să configuram conducta de inferență pentru preprocesarea datelor și inferența modelului bazat pe arbore folosind un model de ansamblu. Un model de ansamblu reprezintă o conductă de unul sau mai multe modele și conexiunea tensorilor de intrare și de ieșire între acele modele. Aici folosim modelul de ansamblu pentru a construi o conductă de preprocesare a datelor în backend-ul Python, urmat de XGBoost în backend-ul FIL.
Aspectul așteptat pentru ensemble
directorul modelului este similar cu cele pe care le-am arătat anterior:
Am creat modelul de ansamblu config.pbtxt urmând îndrumarea în Modele de ansamblu. Important este că trebuie să setăm programatorul ansamblului în config.pbtxt
, care specifică fluxul de date între modele din ansamblu. Planificatorul de ansamblu colectează tensorii de ieșire în fiecare pas și îi furnizează ca tensori de intrare pentru alți pași, conform specificației.
Împachetați depozitul de modele și încărcați în Amazon S3
În cele din urmă, ajungem la următoarea structură de directoare a depozitului de modele, care conține un model de preprocesare Python și dependențele acestuia, împreună cu modelul XGBoost FIL și ansamblul modelului.
Împachetăm directorul și conținutul acestuia ca model.tar.gz
pentru încărcare în Serviciul Amazon de stocare simplă (Amazon S3). Avem două opțiuni în acest exemplu: utilizarea unei instanțe bazate pe CPU sau o instanță bazată pe GPU. O instanță bazată pe GPU este mai potrivită atunci când aveți nevoie de o putere de procesare mai mare și doriți să utilizați nuclee CUDA.
Creați și încărcați pachetul model pentru o instanță bazată pe CPU (optimizat pentru CPU) cu următorul cod:
Creați și încărcați pachetul model pentru o instanță bazată pe GPU (optimizat pentru GPU) cu următorul cod:
Creați un punct final SageMaker
Acum avem artefactele modelului stocate într-o găleată S3. În acest pas, putem furniza și variabila de mediu suplimentară SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
, care specifică numele modelului care urmează să fie încărcat de Triton. Valoarea acestei chei ar trebui să se potrivească cu numele folderului din pachetul model încărcat pe Amazon S3. Această variabilă este opțională în cazul unui singur model. În cazul modelelor de ansamblu, această cheie trebuie specificată pentru ca Triton să pornească în SageMaker.
În plus, puteți seta SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
și SAGEMAKER_TRITON_THREAD_COUNT
pentru optimizarea numărului de fire.
Folosim modelul precedent pentru a crea o configurație a punctului final în care putem specifica tipul și numărul de instanțe pe care le dorim în punctul final.
Folosim această configurație a punctului final pentru a crea un punct final SageMaker și a aștepta finalizarea implementării. Cu SageMaker MME, avem opțiunea de a găzdui mai multe modele de ansamblu repetând acest proces, dar rămânem cu o implementare pentru acest exemplu:
Starea se va schimba în InService
când implementarea are succes.
Invocați modelul dvs. găzduit pe punctul final SageMaker
După ce punctul final rulează, putem folosi câteva mostre de date brute pentru a efectua inferențe folosind JSON ca format de încărcare utilă. Pentru formatul de cerere de inferență, Triton folosește KFServing
standard comunitar protocoale de inferență. Consultați următorul cod:
Caietul la care se face referire în blog poate fi găsit în GitHub depozit.
Cele mai bune practici
Pe lângă opțiunile de reglare fină a setărilor backend-ului FIL pe care le-am menționat mai devreme, oamenii de știință în date se pot asigura, de asemenea, că datele de intrare pentru backend sunt optimizate pentru procesarea de către motor. Ori de câte ori este posibil, introduceți date în format de rând major în matricea GPU. Alte formate vor necesita conversie internă și vor lua cicluri, scăzând performanța.
Datorită modului în care structurile de date FIL sunt menținute în memoria GPU, fiți atenți la adâncimea arborelui. Cu cât adâncimea arborelui este mai adâncă, cu atât amprenta dvs. de memorie GPU va fi mai mare.
Folosește instance_group_count
parametru pentru a adăuga procese de lucru și pentru a crește debitul backend-ului FIL, ceea ce va duce la un consum mai mare de memorie CPU și GPU. În plus, luați în considerare variabilele specifice SageMaker care sunt disponibile pentru a crește debitul, cum ar fi firele de execuție HTTP, dimensiunea tamponului HTTP, dimensiunea lotului și întârzierea maximă.
Concluzie
În această postare, ne-am adâncit în backend-ul FIL pe care Triton Inference Server îl acceptă pe SageMaker. Acest backend asigură accelerarea atât CPU, cât și GPU a modelelor dvs. bazate pe arbore, cum ar fi popularul algoritm XGBoost. Există multe opțiuni de luat în considerare pentru a obține cea mai bună performanță pentru inferență, cum ar fi dimensiunile loturilor, formatele de introducere a datelor și alți factori care pot fi ajustați pentru a satisface nevoile dvs. SageMaker vă permite să utilizați această capacitate cu terminale cu un singur model și cu mai multe modele pentru a echilibra performanța și economiile de costuri.
Vă încurajăm să luați informațiile din această postare și să vedeți dacă SageMaker vă poate satisface nevoile dvs. de găzduire pentru a servi modele bazate pe arbore, îndeplinind cerințele dvs. pentru reducerea costurilor și performanța sarcinii de lucru.
Notebook-ul la care se face referire în această postare poate fi găsit în exemplele SageMaker GitHub depozit. În plus, puteți găsi cea mai recentă documentație pe backend-ul FIL pe GitHub.
Despre Autori
Raghu Ramesha este arhitect senior de soluții ML cu echipa Amazon SageMaker Service. El se concentrează pe a ajuta clienții să construiască, să implementeze și să migreze sarcinile de lucru de producție ML către SageMaker la scară. El este specializat în domeniile învățarea automată, AI și viziunea pe computer și deține o diplomă de master în Informatică de la UT Dallas. În timpul liber, îi place să călătorească și să fotografieze.
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, noi experiențe și să fie la curent cu cele mai recente tendințe tehnologice.
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 viziunea pe computer. El îi ajută pe clienți să obțină o inferență de model de înaltă performanță pe Amazon SageMaker.
Jiahong Liu este arhitect de soluții în echipa de furnizori de servicii cloud de la NVIDIA. El ajută clienții să adopte soluții de învățare automată și inteligență artificială care folosesc calcularea accelerată NVIDIA pentru a-și aborda provocările de formare și inferență. În timpul liber, îi place origami, proiecte de bricolaj și joacă baschet.
Kshitiz Gupta este arhitect de soluții la NVIDIA. Îi face plăcere să educe clienții din cloud despre tehnologiile GPU AI pe care le oferă NVIDIA și să-i ajute să-și accelereze învățarea automată și aplicațiile de deep learning. În afara serviciului, îi place să alerge, să facă drumeții și să urmărească fauna sălbatică.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoAiStream. Web3 Data Intelligence. Cunoștințe amplificate. Accesați Aici.
- Mintând viitorul cu Adryenn Ashley. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- capacitate
- Despre Noi
- accelera
- accelerat
- accelerarea
- acceleratoare
- acces
- Conform
- în consecință
- Cont
- Obține
- peste
- adăuga
- plus
- Suplimentar
- adresa
- adresabil
- Adoptarea
- După
- împotriva
- acorduri
- AI
- Algoritmul
- TOATE
- alocări
- permite
- permite
- de-a lungul
- deja
- de asemenea
- Cu toate ca
- mereu
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon.com
- sumă
- an
- și
- Orice
- api
- aplicatii
- adecvat
- arhitectură
- SUNT
- domenii
- argument
- Mulțime
- artificial
- inteligență artificială
- AS
- asistă
- At
- Auto
- disponibil
- evita
- AWS
- Backend
- Sold
- bazat
- pocni
- bază
- Baschet
- BE
- deoarece
- deveni
- fost
- înainte
- începe
- în spatele
- de mai jos
- beneficia
- CEL MAI BUN
- Mai bine
- între
- mai mare
- Blog
- corp
- atât
- tampon
- construi
- Clădire
- construit
- dar
- by
- C ++
- denumit
- CAN
- card
- caz
- cazuri
- Categorii
- Provoca
- provocări
- Schimbare
- Caracteristici
- verifica
- cip
- Alege
- alegere
- Oraș
- clasă
- clasificare
- client
- clientii
- Cloud
- cod
- Coloane
- COM
- vine
- venire
- Comun
- comunica
- Comunicare
- comunitate
- compatibil
- complex
- calcul
- calculator
- Informatică
- Computer Vision
- tehnica de calcul
- Configuraţie
- conexiune
- Lua în considerare
- luate în considerare
- consuma
- consum
- Recipient
- Containere
- conține
- conținut
- contrast
- Control
- Convenabil
- Convertire
- converti
- Nucleu
- Corespunzător
- A costat
- reducerea costurilor
- economii
- acoperi
- crea
- a creat
- creează
- Criteriile de
- crucial
- În prezent
- personalizat
- clienţii care
- cicluri
- Dallas
- de date
- Data
- zi
- afacere
- decizie
- adânc
- învățare profundă
- Mai adânc
- Mod implicit
- implicite
- Grad
- întârziere
- cerând
- cererile
- În funcție
- implementa
- dislocate
- Implementarea
- desfășurarea
- adâncime
- Amenajări
- detalii
- Determina
- determinat
- determină
- determinarea
- Dezvoltatorii
- diferenţă
- diferit
- distribuite
- calcul distribuit
- diy
- do
- documentaţie
- Nu
- face
- domenii
- făcut
- porumbel
- două
- în timpul
- fiecare
- Mai devreme
- educarea
- eficiență
- eficient
- oricare
- subliniind
- permite
- încuraja
- capăt
- Punct final
- Motor
- Motoare
- asigura
- asigurare
- Afacere
- Companii
- Întreg
- Mediu inconjurator
- Erori
- Chiar
- Fiecare
- exemplu
- exemple
- schimbând
- aștepta
- de aşteptat
- Experiențe
- exporturile
- factori
- destul de
- Falls
- fals
- Caracteristică
- DESCRIERE
- fed-
- hrănire
- puțini
- Figura
- Fișier
- Fişiere
- Găsi
- termina
- First
- debit
- Concentra
- se concentrează
- urma
- a urmat
- următor
- urmă
- Pentru
- formă
- format
- găsit
- Cadru
- cadre
- fraudă
- Gratuit
- din
- În plus
- câștig
- General
- generează
- obține
- Da
- dat
- GPU
- foarte mult
- grup
- Grupului
- îndrumare
- întâmpla
- Greu
- Piese metalice
- Avea
- he
- ajutor
- ajutor
- ajută
- aici
- la nivel înalt
- performanta ridicata
- superior
- highlights-uri
- lui
- deţine
- deține
- gazdă
- găzduit
- găzduire
- Cum
- Cum Pentru a
- Totuși
- HTML
- http
- HTTPS
- Rănit
- Identitate
- ID-uri
- idx
- if
- imagine
- Impactul
- Impacturi
- punerea în aplicare a
- implementat
- ustensile
- importurile
- in
- include
- Inclusiv
- Crește
- indică
- informații
- informat
- intrare
- instala
- instanță
- instrucțiuni
- integrare
- Inteligență
- interes
- intern
- în
- IT
- ESTE
- jpg
- JSON
- doar
- A pastra
- Cheie
- Copil
- Cunoaște
- mare
- Întreprinderi mari
- mai mare
- Latență
- Ultimele
- Aspect
- AFLAȚI
- învăţare
- cel mai puțin
- Led
- legitim
- mai puțin
- Nivel
- nivelurile de
- Pârghie
- biblioteci
- Bibliotecă
- ca
- LIMITĂ
- Linie
- Listă
- încărca
- logică
- logic
- Lung
- maşină
- masina de învățare
- face
- administra
- multe
- studii de masterat
- Meci
- max
- maxim
- Mai..
- mecanism
- Întâlni
- Reuniunea
- Memorie
- menționat
- Comerciant
- Metrici
- ar putea
- migra
- minte
- ML
- mod
- model
- Modele
- Lună
- mai mult
- cele mai multe
- Cel mai popular
- muta
- Punct final cu mai multe modele
- multiplu
- trebuie sa
- nume
- denumire
- nativ
- Nevoie
- nevoilor
- Nou
- nlp
- Nu.
- noduri
- caiet
- acum
- număr
- NumPy
- Nvidia
- obține
- of
- oferi
- promoții
- de multe ori
- on
- ONE
- cele
- afară
- open-source
- optimă
- optimizare
- Optimizați
- optimizate
- optimizarea
- Opțiune
- Opţiuni
- or
- comandă
- organizații
- Organizat
- iniţial
- OS
- Altele
- in caz contrar
- al nostru
- afară
- producție
- exterior
- propriu
- pachet
- ambalaje
- panda
- Paralel
- parametru
- parametrii
- participante
- special
- Trecut
- trece
- cale
- Efectua
- performanță
- efectuează
- permisiune
- fotografie
- conducte
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- joc
- "vă rog"
- pletoră
- Politicile
- Politica
- piscină
- Popular
- popularitate
- posibil
- eventual
- Post
- putere
- prezice
- predictibil
- a prezis
- prezicere
- Predictii
- în prealabil
- primar
- Principal
- probleme
- proces
- procese
- prelucrare
- Putere de procesare
- procesoare
- produce
- producere
- Proiecte
- adecvat
- Proto
- furniza
- prevăzut
- furnizorul
- furnizează
- furnizarea
- Piton
- pirtorh
- aleator
- variind
- mai degraba
- Crud
- gata
- lumea reală
- în timp real
- motive
- recomanda
- reduce
- menționat
- Fără deosebire
- regiune
- legate de
- înlocui
- depozit
- reprezentare
- reprezentând
- reprezintă
- solicita
- cereri de
- necesita
- necesar
- Cerinţe
- Necesită
- răspuns
- responsabil
- rezultat
- REZULTATE
- Rol
- Alerga
- funcţionare
- s
- sagemaker
- SageMaker Inference
- acelaşi
- Economie
- scalabil
- Scară
- scalare
- scenarii
- programare
- Ştiinţă
- oamenii de stiinta
- scikit-learn
- scor
- Secțiune
- vedea
- caută
- selectate
- trimite
- senior
- distinct
- servi
- serviciu
- Furnizor de servicii
- Servicii
- servire
- set
- instalare
- setări
- Modela
- comun
- să
- Arăta
- Emisiuni
- parte
- semnificativ
- asemănător
- simplu
- singur
- Mărimea
- dimensiuni
- So
- soluţie
- soluţii
- REZOLVAREA
- Rezolvarea
- unele
- Sursă
- specializată
- specific
- specificație
- specificată
- petrece
- standard
- Începe
- Pornire
- Startup-urile
- Stat
- Stare
- constant
- Pas
- paşi
- depozitare
- stoca
- stocate
- simplu
- Şir
- structura
- de succes
- astfel de
- sugera
- potrivit
- a sustine
- Suportat
- Sprijină
- Lua
- echipă
- tehnici de
- Tehnologii
- Tehnologia
- spune
- termeni
- decât
- acea
- informațiile
- lor
- Lor
- apoi
- Acolo.
- Acestea
- ei
- lucru
- acest
- aceste
- deşi?
- trei
- prag
- debit
- timp
- la
- astăzi
- împreună
- nivel superior
- tradiţional
- dresat
- Pregătire
- transferare
- Traveling
- copac
- Tendinţe
- Triton
- adevărat
- Două
- tip
- Tipuri
- tipic
- înţelege
- încărcat
- Se încarcă
- us
- utilizare
- utilizat
- Utilizator
- folosind
- utilizează
- Utilizand
- valoare
- Valori
- diverse
- versiune
- de
- viziune
- W
- aștepta
- vrea
- a fost
- vizionarea
- Cale..
- we
- web
- servicii web
- BINE
- au fost
- Ce
- cand
- oricând
- dacă
- care
- în timp ce
- voi
- cu
- în
- fără
- Apartamente
- a lucrat
- lucrător
- fabrică
- ar
- XGBoost
- an
- Tu
- Ta
- zephyrnet
- Zip