Üks populaarsemaid tänapäeval saadaolevaid mudeleid on XGBoost. Tänu erinevatele probleemidele, nagu klassifitseerimine ja regressioon, on XGBoost muutunud populaarseks valikuks, mis kuulub ka puupõhiste mudelite kategooriasse. Selles postituses sukeldume sügavale, et näha, kuidas Amazon SageMaker saab neid mudeleid kasutada NVIDIA Tritoni järeldusserver. Reaalajas järelduste töökoormustel võib latentsusaja ja läbilaskevõime osas olla erineva tasemega nõudeid ja teenusetaseme lepinguid (SLA-d) ning neid saab täita SageMakeri reaalajas lõpp-punktide abil.
SageMaker pakub ühe mudeli lõpp-punktid, mis võimaldavad teil juurutada üht masinõppe (ML) mudelit loogilise lõpp-punkti suhtes. Muudel kasutusjuhtudel saate kulusid ja toimivust hallata kasutades mitme mudeli lõpp-punktid, mis võimaldavad teil määrata mitu mudelit, mida loogilise lõpp-punkti taga hostida. Olenemata valitud valikust võimaldavad SageMakeri lõpp-punktid skaleeritavat mehhanismi isegi kõige nõudlikumatele ettevõtte klientidele, pakkudes samas väärtust paljude funktsioonide, sealhulgas varju variandid, automaatne skaleerimine, ja natiivset integreerimist Amazon CloudWatch (lisateabe saamiseks vaadake CloudWatchi mõõdikud mitme mudeli lõpp-punkti juurutamiseks).
Triton toetab erinevaid taustaprogramme mootoritena, et toetada erinevate ML-mudelite käitamist ja teenindamist järelduste tegemiseks. Iga Tritoni juurutamise puhul on edu saavutamiseks ülioluline teada, kuidas taustaprogrammi käitumine teie töökoormust mõjutab ja mida oodata. Selles postituses aitame teil mõista Forest Inference Library (FIL) taustaprogramm, mida toetab SageMakeris Triton, et saaksite teha oma töökoormuse kohta teadliku otsuse ning optimeerida parimat jõudlust ja kulusid.
Sukeldu sügavalt FIL-i taustaprogrammi
Triton toetab FIL-i taustaprogramm serveerida puumudeleid, nt XGBoost, LightGBM, skikit õppima Juhuslik mets, RAPIDS cuML Random Forestja mis tahes muud mudelit, mida toetab Treeliit. Neid mudeleid on pikka aega kasutatud selliste probleemide lahendamiseks nagu klassifikatsioon või regressioon. Kuigi seda tüüpi mudelid on traditsiooniliselt töötanud CPU-dega, on nende mudelite populaarsus ja järeldamisnõuded viinud mitmesuguste meetoditeni, mis suurendavad järelduste jõudlust. FIL-i taustaprogramm kasutab cuML-i konstruktsioone kasutades paljusid neist tehnikatest ning on üles ehitatud C++-le ja CUDA põhiteegile, et optimeerida GPU-kiirendite järelduste jõudlust.
FIL-i taustaprogramm kasutab CPU- või GPU-tuumade kasutamiseks õppimise kiirendamiseks cuML-i teeke. Nende protsessorite kasutamiseks viidatakse andmetele hostimälust (nt NumPy massiivid) või GPU massiividest (uDF, Numba, cuPY või mis tahes teegist, mis toetab __cuda_array_interface__
) API. Pärast andmete mällu salvestamist saab FIL-i taustaprogramm töödelda töötlust kõigis saadaolevates CPU- või GPU-tuumades.
FIL-i taustalõimed saavad üksteisega suhelda ilma hosti ühismälu kasutamata, kuid ansambli töökoormuse korral tuleks kaaluda hostimälu kasutamist. Järgmisel diagrammil on kujutatud ansambli planeerija käitusaja arhitektuur, kus saate täpsustada mälualasid, sealhulgas protsessori adresseeritavat ühismälu, mida kasutatakse protsessidevaheliseks suhtluseks Tritoni (C++) ja Pythoni protsessi (Pythoni taustaprogramm) vahetamiseks. tensorid (sisend/väljund) FIL-i taustaprogrammiga.
Triton Inference Server pakub arendajatele konfigureeritavaid valikuid oma töökoormuse häälestamiseks ja mudeli jõudluse optimeerimiseks. Konfiguratsioon dynamic_batching
võimaldab Tritonil hoida kliendipoolseid päringuid ja koondada need serveri poolele, et kasutada tõhusalt FIL-i paralleelset arvutust kogu partii koostamiseks. Valik max_queue_delay_microseconds
pakub tõrkekindlat juhtimist selle üle, kui kaua Triton partii moodustamisega ootab.
On mitmeid teisi FIL-i spetsiifilisi saadaolevad valikud mis mõjutavad jõudlust ja käitumist. Soovitame alustada storage_type
. GPU-l taustaprogrammi käivitamisel loob FIL uue mälu/andmestruktuuri, mis kujutab endast puud, mille puhul FIL võib jõudlust ja jalajälge mõjutada. Seda saab konfigureerida keskkonnaparameetri kaudu storage_type
, millel on valikud tihe, hõre ja automaatne. Tiheda valiku valimine tarbib rohkem GPU-mälu ja see ei anna alati paremat jõudlust, seega on parem kontrollida. Seevastu hõre valik tarbib vähem GPU mälu ja võib töötada sama hästi või paremini kui tihe. Kui valite automaatse, muutub mudel vaikimisi tihedaks, välja arvatud juhul, kui see tarbib oluliselt rohkem GPU mälu kui hõre.
Kui rääkida mudeli jõudlusest, võiksite kaaluda selle rõhutamist threads_per_tree
valik. Üks asi, mida võite reaalsetes stsenaariumides üle teenindada, on see threads_per_tree
võib avaldada läbilaskevõimele suuremat mõju kui ükski teine parameeter. Selle seadmine suvalisele astmele 2 vahemikus 1–32 on õigustatud. Selle parameetri optimaalset väärtust on raske ennustada, kuid kui server peaks tegelema suurema koormusega või töötlema suuremaid partiisid, kipub see kasu saama suuremast väärtusest kui mõne rea korraga töötlemisel.
Veel üks parameeter, mida peaksite teadma, on algo
, mis on saadaval ka siis, kui kasutate GPU-d. See parameeter määrab algoritmi, mida kasutatakse järelduspäringute töötlemiseks. Selle jaoks toetatud valikud on ALGO_AUTO
, NAIVE
, TREE_REORG
ja BATCH_TREE_REORG
. Need valikud määravad kindlaks, kuidas puu sõlmed on korraldatud, ja võivad samuti suurendada jõudlust. The ALGO_AUTO
suvand on vaikimisi NAIVE
hõredaks ladustamiseks ja BATCH_TREE_REORG
tihedaks ladustamiseks.
Lõpuks on FIL-iga kaasas Shapley selgitaja, mille saab aktiveerida, kasutades treeshap_output
parameeter. Siiski peaksite meeles pidama, et Shapley väljundid kahjustavad jõudlust oma väljundi suuruse tõttu.
Mudeli formaat
Praegu puudub standardne failivorming metsapõhiste mudelite salvestamiseks; iga raamistik kipub määratlema oma vormingu. Mitme sisendfailivormingu toetamiseks impordib FIL andmed avatud lähtekoodiga Treeliit raamatukogu. See võimaldab FIL-il toetada mudeleid, mis on koolitatud populaarsetes raamistikes, näiteks XGBoost ja LightGBM. Pange tähele, et pakutava mudeli vorming peab olema määratud failis model_type
punktis määratud konfiguratsiooniväärtus config.pbtxt
faili.
Config.pbtxt
Iga mudel a mudelite hoidla peab sisaldama mudeli konfiguratsiooni, mis pakub mudeli kohta nõutavat ja valikulist teavet. Tavaliselt on see konfiguratsioon esitatud a config.pbtxt
fail, mis on määratud kui ModelConfig protobuf. Konfiguratsiooniseadete kohta lisateabe saamiseks vaadake Mudeliseadistused. Järgmised on mõned mudeli konfiguratsiooniparameetrid.
- max_partii_suurus – See määrab sellele mudelile edastatava partii maksimaalse suuruse. Üldiselt on FIL-i taustaprogrammile edastatavate partiide suuruse ainus piirang nende töötlemiseks saadaolev mälu. GPU-käivituste jaoks määrab saadaoleva mälu Tritoni CUDA-mälukogumi suurus, mida saab serveri käivitamisel käsurea argumendi kaudu seadistada.
- sisend – Selles jaotises olevad valikud ütlevad Tritonile iga sisendnäidise jaoks oodatavate funktsioonide arvu.
- väljund – Selles jaotises olevad valikud ütlevad Tritonile, mitu väljundväärtust iga proovi jaoks on. Kui
predict_proba
suvand on seatud väärtusele Tõene, siis tagastatakse iga klassi jaoks tõenäosusväärtus. Vastasel juhul tagastatakse üks väärtus, mis näitab antud valimi jaoks ennustatud klassi. - instance_group – See määrab, kui palju selle mudeli eksemplare luuakse ja kas need kasutavad GPU-d või CPU-d.
- mudeli_tüüp – See string näitab, millises vormingus mudel on (
xgboost_json
selles näites, kuidxgboost
,lightgbm
jatl_checkpoint
on ka kehtivad vormingud). - ennusta_proba – Kui see on seatud väärtusele Tõene, tagastatakse iga klassi tõenäosusväärtused, mitte ainult klassi ennustus.
- väljundi_klass – Klassifitseerimismudelite puhul on see seatud tõeseks ja regressioonimudelite puhul vääraks.
- künnis – See on klassifikatsiooni määramise punktilävi. Millal
output_class
väärtuseks on seatud Tõene, tuleb see esitada, kuigi seda ei kasutata, kuipredict_proba
on samuti seatud tõeseks. - ladustamise_tüüp – Üldiselt peaks selle sätte jaoks AUTO kasutamine vastama enamikule kasutusjuhtudele. Kui on valitud AUTOMAATNE salvestusruum, laadib FIL mudeli, kasutades mudeli ligikaudse suuruse põhjal kas hõredat või tihedat esitust. Mõnel juhul võite soovida määrata selle sätteks SPARSE, et vähendada suurte mudelite mälumahtu.
Tritoni järeldusserver SageMakeris
SageMaker võimaldab saate NVIDIA Triton Inference Serveriga juurutada nii ühe mudeli kui ka mitme mudeli lõpp-punkte. Järgmine joonis näitab Triton Inference Serveri kõrgetasemelist arhitektuuri. The mudelite hoidla on failisüsteemipõhine hoidla mudelitest, mille Triton teeb järelduste tegemiseks kättesaadavaks. Järelduspäringud jõuavad serverisse ja suunatakse sobivasse mudelipõhisesse planeerijasse. Tritoni töövahendid mitu ajastamis- ja pakkimisalgoritmi mida saab konfigureerida mudelipõhiselt. Iga mudeli planeerija teostab valikuliselt järelduspäringute komplekteerimise ja edastab päringud seejärel backend mudeli tüübile vastav. Taustaprogramm teostab järeldusi, kasutades nõutud väljundite loomiseks pakettpäringutes esitatud sisendeid. Seejärel tagastatakse väljundid.
SageMakeri lõpp-punktide automaatse skaleerimise rühmade konfigureerimisel võiksite kaaluda SageMakerVariantInvocationsPerInstance
kui peamist kriteeriumi teie automaatse skaleerimise rühma skaleerimisomaduste määramiseks. Lisaks, olenevalt sellest, kas teie mudelid töötavad GPU või CPU-ga, võite kaaluda ka CPUUtiliseerimise või GPUUtiliseerimise kasutamist lisakriteeriumitena. Pange tähele, et ühe mudeli lõpp-punktide puhul, kuna juurutatud mudelid on kõik ühesugused, on üsna lihtne määrata õiged poliitikad, mis vastavad teie SLA-dele. Mitme mudeliga lõpp-punktide puhul soovitame stabiilsema prognoositava jõudluse tagamiseks juurutada sarnased mudelid antud lõpp-punkti taga. Kui kasutatakse erineva suuruse ja nõuetega mudeleid, võite soovida eraldada need töökoormused mitme mitme mudeli lõpp-punkti vahel või kulutada veidi aega oma automaatse skaleerimise rühmapoliitika peenhäälestamisel, et saavutada parim kulude ja jõudluse tasakaal.
SageMakeri järelduse toetatud NVIDIA Triton Deep Learning Containers (DLC-de) loendi leiate Saadaolevad süvaõppekonteinerite pildid.
SageMakeri märkmiku tutvustus
ML-rakendused on keerulised ja võivad sageli vajada andmete eeltöötlust. Selles märkmikus käsitleme seda, kuidas juurutada puupõhist ML-mudelit, nagu XGBoost, kasutades SageMakeri mitme mudeli lõpp-punktis Tritoni FIL-taustaprogrammi. Samuti käsitleme seda, kuidas rakendada oma mudeli jaoks Pythoni-põhist andmete eeltöötluse järelduskonveieri, kasutades Tritoni ansambli funktsiooni. See võimaldab meil saata toorandmeid kliendi poolelt ja nii andmete eeltöötlus kui ka mudeli järeldused toimuvad Triton SageMakeri lõpp-punktis optimaalse järelduste jõudluse tagamiseks.
Tritoni mudeliansambli funktsioon
Triton Inference Server lihtsustab oluliselt AI mudelite kasutuselevõttu tootmises. Triton Inference Server on varustatud mugava lahendusega, mis lihtsustab eel- ja järeltöötluse torujuhtmete ehitamist. Triton Inference Serveri platvorm pakub ansambli planeerijat, mis vastutab järeldusprotsessis osalevate mudelite konveieri loomise eest, tagades samal ajal tõhususe ja optimeerides läbilaskevõimet. Ansamblimudelite kasutamine võimaldab vältida vahepealsete tensorite ülekandmisega kaasnevaid kulusid ja minimeerida Tritonile saadetavate päringute arvu.
Selles märkmikus näitame, kuidas kasutada ansamblifunktsiooni andmete eeltöötluse konveieri koostamiseks XGBoosti mudeli järeldusega, ja saate selle põhjal ekstrapoleerida, et lisada konveierile kohandatud järeltöötlus.
Seadistage keskkond
Alustame vajaliku keskkonna seadistamisega. Installime oma mudelikonveieri pakendamiseks vajalikud sõltuvused ja käitame järeldusi Triton Inference Serveri abil. Samuti määratleme AWS-i identiteedi- ja juurdepääsuhaldus (IAM) rolli, mis annab SageMakerile juurdepääsu mudeli artefaktidele ja NVIDIA Tritonile Amazoni elastsete konteinerite register (Amazon ECR) pilt. Vaadake järgmist koodi:
Looge sõltuvuste eeltöötluseks Conda keskkond
Pythoni taustaprogramm Tritonis nõuab, et kasutaksime a Conda mis tahes täiendavate sõltuvuste jaoks. Sel juhul kasutame Pythoni taustaprogrammi toorandmete eeltöötlemiseks enne nende sisestamist FIL-i taustaprogrammis töötavasse XGBoosti mudelisse. Ehkki algselt kasutasime andmete eeltöötluseks RAPIDS cuDF-i ja cuML-i, kasutame siin Pandasid ja scikit-learni eeltöötluse sõltuvustena järelduste tegemisel. Teeme seda kolmel põhjusel:
- Näitame, kuidas luua oma sõltuvuste jaoks Conda keskkonda ja kuidas seda pakendada oodatav formaat Tritoni Pythoni taustaprogrammi poolt.
- Näidates Pythoni taustaprogrammis CPU-s töötavat eeltöötlusmudelit, samal ajal kui XGBoost töötab FIL-i taustaprogrammis GPU-s, illustreerime, kuidas iga Tritoni ansamblikonveieri mudel saab töötada erineva raamistiku taustaprogrammi ja erinevate riistvarakonfiguratsioonidega.
- See tõstab esile, kuidas RAPIDS-i teegid (cuDF, cuML) ühilduvad nende CPU kolleegidega (Pandas, scikit-learn). Näiteks saame näidata, kuidas
LabelEncoders
cuML-is loodud saab kasutada scikit-learnis ja vastupidi.
Järgime veebisaidilt saadud juhiseid Tritoni dokumentatsioon eeltöötlussõltuvuste (scikit-learn ja Pandas) pakkimiseks, mida kasutatakse Pythoni taustaprogrammis Conda keskkonna TAR-failina. Bash-skript create_prep_env.sh loob Conda keskkonna TAR faili, siis teisaldame selle eeltöötlusmudeli kataloogi. Vaadake järgmist koodi:
Pärast eelmise skripti käivitamist genereeritakse see preprocessing_env.tar.gz
, mille kopeerime eeltöötluskataloogi:
Seadistage eeltöötlus Triton Pythoni taustaprogrammiga
Eeltöötluseks kasutame Tritonit Pythoni taustaprogramm et teostada serverisse saabuvate töötlemata andmete päringute järeldamisel tabeliandmete eeltöötlust (kategoorilist kodeerimist). Lisateavet koolituse ajal tehtud eeltöötluse kohta leiate jaotisest koolituse märkmik.
Pythoni taustaprogramm võimaldab eeltöötlust, järeltöötlust ja muud kohandatud loogikat Pythonis rakendada ja koos Tritoniga teenindada. Tritoni kasutamine SageMakeris eeldab, et peame esmalt seadistama mudelihoidla kausta, mis sisaldab mudeleid, mida soovime teenindada. Oleme juba seadistanud Pythoni andmete eeltöötluse mudeli, mida nimetatakse eeltöötluseks cpu_model_repository
ja gpu_model_repository
.
Tritonil on mudelihoidla paigutusele spetsiifilised nõuded. Tipptaseme mudelite hoidla kataloogis on igal mudelil oma alamkataloog, mis sisaldab vastava mudeli teavet. Igas Tritoni mudelikataloogis peab olema vähemalt üks numbriline alamkataloog, mis esindab mudeli versiooni. Väärtus 1 tähistab meie Pythoni eeltöötlusmudeli 1. versiooni. Iga mudelit käitab konkreetne taustaprogramm, seega peab iga versiooni alamkataloogis olema selle taustaprogrammi jaoks vajalik mudeliartefakt. Selle näite puhul kasutame Pythoni taustaprogrammi, mis nõuab, et teie teenindatava Pythoni faili nimi oleks model.py ja fail peab rakendama teatud funktsioonid. Kui kasutaksime PyTorchi taustaprogrammi, oleks vaja faili model.pt ja nii edasi. Lisateavet mudelifailide nimetamise kohta leiate jaotisest Mudeli failid.
. mudel.py Siin kasutatav Pythoni fail rakendab kogu tabeliandmete eeltöötlusloogikat, et teisendada toorandmed funktsioonideks, mida saab sisestada meie XGBoosti mudelisse.
Igal Tritoni mudelil peab olema ka a config.pbtxt
faili, mis kirjeldab mudeli konfiguratsiooni. Konfiguratsiooniseadete kohta lisateabe saamiseks vaadake Mudeliseadistused. Meie config.pbtxt fail määrab taustaprogrammiks python ja kõik toorandmete sisendveerud koos eeltöödeldud väljundiga, mis koosneb 15 funktsioonist. Samuti täpsustame, et tahame seda Pythoni eeltöötlusmudelit protsessoris käitada. Vaadake järgmist koodi:
Seadistage FIL-i taustaprogrammi jaoks puupõhine ML-mudel
Järgmisena seadistasime mudelikataloogi puupõhisele ML-mudelile nagu XGBoost, mis kasutab FIL-i taustaprogrammi.
Eeldatav paigutus cpu_memory_repository
ja gpu_memory_repository
on sarnased sellele, mida me varem näitasime.
Siin FIL
on mudeli nimi. Võime anda sellele erineva nime, näiteks xgboost
kui tahame. 1
on versiooni alamkataloog, mis sisaldab mudeli artefakti. Sel juhul on see xgboost.json
mudel, mille me salvestasime. Loome selle eeldatava paigutuse:
Meil peab olema konfiguratsioonifail config.pbtxt
kirjeldades puupõhise ML-mudeli mudeli konfiguratsiooni, et Tritoni FIL-i taustaprogramm saaks aru, kuidas seda teenindada. Lisateabe saamiseks vaadake uusimat üldist Tritoni konfiguratsioonivalikud ja konkreetsed konfiguratsioonisuvandid FIL-i taustaprogramm. Selles näites keskendume vaid mõnele kõige levinumale ja asjakohasemale valikule.
Looma config.pbtxt
eest model_cpu_repository
:
Samamoodi seadistage config.pbtxt
eest model_gpu_repository
(pange tähele, erinevus on USE_GPU = True
):
Andmete eeltöötluse Pythoni taustaprogrammi ja FIL-i taustaprogrammi järelduskonveieri seadistamine ansambleid kasutades
Nüüd oleme valmis seadistama järelduskonveieri andmete eeltöötluseks ja puupõhise mudeli järeldamiseks, kasutades ansambli modell. Ansambli mudel kujutab ühest või mitmest mudelist koosnevat konveieri ja nende mudelite vahelist sisend- ja väljundtensorite ühendust. Siin kasutame ansamblimudelit, et luua Pythoni taustaprogrammis andmete eeltöötluse konveier, millele järgneb XGBoost FIL-i taustaprogrammis.
Eeldatav paigutus ensemble
mudelikataloog on sarnane neile, mida me varem näitasime:
Tegime ansamblimodelli config.pbtxt järgides juhiseid Ansambli modellid. Oluline on see, et peame seadistama ansambli planeerija config.pbtxt
, mis määrab andmevoo mudelite vahel ansambli sees. Ansambli ajakava kogub igas etapis väljundtensorid ja esitab need vastavalt spetsifikatsioonile teiste sammude jaoks sisendtensoritena.
Pakkige mudelihoidla ja laadige üles Amazon S3
Lõpuks saame järgmise mudelihoidla kataloogistruktuuri, mis sisaldab Pythoni eeltöötlusmudelit ja selle sõltuvusi koos XGBoost FIL-mudeli ja mudelite ansambliga.
Pakendame kataloogi ja selle sisu järgmiselt model.tar.gz
aadressile üleslaadimiseks Amazoni lihtne salvestusteenus (Amazon S3). Selles näites on meil kaks võimalust: kasutada CPU-põhist eksemplari või GPU-põhist eksemplari. GPU-põhine eksemplar on sobivam, kui vajate suuremat töötlemisvõimsust ja soovite kasutada CUDA südamikke.
Looge ja laadige üles CPU-põhise eksemplari mudelipakett (optimeeritud protsessori jaoks) järgmise koodiga:
Looge ja laadige üles mudelipakett GPU-põhise eksemplari jaoks (optimeeritud GPU jaoks) järgmise koodiga:
Looge SageMakeri lõpp-punkt
Nüüd on mudeli artefaktid salvestatud S3 ämbrisse. Selles etapis saame pakkuda ka täiendava keskkonnamuutuja SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
, mis määrab Tritoni poolt laaditava mudeli nime. Selle võtme väärtus peaks ühtima Amazon S3 üles laaditud mudelipaketi kausta nimega. See muutuja on üksiku mudeli puhul valikuline. Ansamblimudelite puhul tuleb see võti määrata, et Triton SageMakeris käivituks.
Lisaks saate määrata SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
ja SAGEMAKER_TRITON_THREAD_COUNT
lõimede arvu optimeerimiseks.
Kasutame eelmist mudelit lõpp-punkti konfiguratsiooni loomiseks, kus saame määrata lõpp-punktis soovitud eksemplaride tüübi ja arvu
Kasutame seda lõpp-punkti konfiguratsiooni SageMakeri lõpp-punkti loomiseks ja ootame juurutamise lõpetamist. SageMakeri MME-de puhul on meil võimalus seda protsessi korrates hostida mitut ansamblimudelit, kuid selle näite puhul jääme ühe juurutamise juurde:
Olek muutub olekuks InService
kui juurutamine õnnestub.
Käivitage SageMakeri lõpp-punktis hostitud mudel
Pärast lõpp-punkti käitamist saame kasutada mõningaid algandmeid, et teha järeldusi, kasutades kasuliku koormuse vorminguna JSON-i. Järelduspäringu vormingu jaoks kasutab Triton KFServing
kogukonna standard järeldusprotokollid. Vaadake järgmist koodi:
Blogis viidatud märkmiku leiate aadressilt GitHubi hoidla.
parimad tavad
Lisaks varem mainitud FIL-i taustaprogrammi sätete peenhäälestamise võimalustele saavad andmeteadlased tagada ka selle, et taustaprogrammi sisendandmed optimeeritakse mootori poolt töötlemiseks. Kui vähegi võimalik, sisestage andmed GPU massiivi reapeavormingus. Muud vormingud nõuavad sisemist teisendamist ja võtavad tsüklit, mis vähendab jõudlust.
Tänu sellele, kuidas FIL-i andmestruktuure GPU mälus säilitatakse, pidage meeles puu sügavust. Mida sügavam on puu sügavus, seda suurem on teie GPU mälujalg.
Kasuta instance_group_count
parameeter tööprotsesside lisamiseks ja FIL-taustaprogrammi läbilaskevõime suurendamiseks, mille tulemuseks on suurem protsessori ja GPU mälutarbimine. Lisaks kaaluge läbilaskevõime suurendamiseks saadaolevaid SageMakeri spetsiifilisi muutujaid, nagu HTTP lõimed, HTTP puhvri suurus, partii suurus ja maksimaalne viivitus.
Järeldus
Selles postituses uurime sügavalt FIL-i taustaprogrammi, mida Triton Inference Server SageMakeris toetab. See taustaprogramm pakub teie puupõhiste mudelite, näiteks populaarse XGBoosti algoritmi, nii CPU- kui ka GPU-kiirendust. Järelduste parima jõudluse saamiseks tuleb kaaluda palju võimalusi, näiteks partii suurused, andmesisestusvormingud ja muud tegurid, mida saab häälestada vastavalt teie vajadustele. SageMaker võimaldab teil kasutada seda võimalust ühe ja mitme mudeli lõpp-punktidega, et tasakaalustada jõudlust ja kulude kokkuhoidu.
Soovitame teil tutvuda selles postituses oleva teabega ja vaadata, kas SageMaker suudab rahuldada teie hostimisvajadused puupõhiste mudelite teenindamiseks, mis vastab teie kulude vähendamise ja töökoormuse jõudluse nõuetele.
Selles postituses viidatud märkmiku leiate SageMakeri näidetest GitHubi hoidla. Lisaks leiate FIL-i taustaprogrammi uusimad dokumendid GitHub.
Autoritest
Raghu Ramesha on Amazon SageMaker Service'i meeskonna ML-lahenduste vanemarhitekt. Ta keskendub sellele, et aidata klientidel luua, juurutada ja ML-i tootmise töökoormust SageMakerile ulatuslikult üle viia. Ta on spetsialiseerunud masinõppele, tehisintellektile ja arvutinägemisvaldkondadele ning tal on magistrikraadi arvutiteaduses TÜ Dallases. Vabal ajal meeldib talle reisida ja pildistada.
Jamesi park on Amazon Web Servicesi lahenduste arhitekt. Ta teeb koostööd Amazon.com-iga, et kavandada, ehitada ja juurutada AWS-is tehnoloogilised lahendused ning ta on eriti huvitatud AI-st ja masinõppest. Vabal ajal meeldib talle otsida uusi kultuure, uusi kogemusi ning olla kursis uusimate tehnoloogiatrendidega.
Dhawal Patel on AWS-i peamine masinõppe arhitekt. Ta on hajutatud andmetöötluse ja tehisintellektiga seotud probleemide lahendamisel töötanud organisatsioonidega alates suurettevõtetest kuni keskmise suurusega idufirmadeni. Ta keskendub sügavale õppimisele, sealhulgas NLP ja arvutinägemise valdkondadele. Ta aitab klientidel teha Amazon SageMakeris suure jõudlusega mudeli järeldusi.
Jiahong Liu on lahenduse arhitekt NVIDIA pilveteenuse pakkuja meeskonnas. Ta abistab kliente masinõppe ja AI-lahenduste kasutuselevõtul, mis võimendavad NVIDIA kiirendatud andmetöötlust, et lahendada nende koolitus- ja järeldusprobleemid. Vabal ajal naudib ta origamit, isetegemisprojekte ja korvpalli mängimist.
Kshitiz Gupta on NVIDIA lahenduste arhitekt. Talle meeldib õpetada pilve kliente NVIDIA pakutavate GPU AI tehnoloogiate kohta ning aidata neil kiirendada masinõppe ja süvaõppe rakendusi. Väljaspool tööd naudib ta jooksmist, matkamist ja metsloomade jälgimist.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoAiStream. Web3 andmete luure. Täiustatud teadmised. Juurdepääs siia.
- Tuleviku rahapaja Adryenn Ashley. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :on
- :on
- :mitte
- : kus
- $ UP
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- võime
- MEIST
- kiirendama
- kiirendatud
- kiirendades
- kiirendid
- juurdepääs
- Vastavalt
- vastavalt
- konto
- Saavutada
- üle
- lisama
- lisamine
- Täiendavad lisad
- aadress
- adresseeritav
- Vastuvõtmine
- pärast
- vastu
- lepingud
- AI
- algoritm
- Materjal: BPA ja flataatide vaba plastik
- eraldised
- võimaldama
- võimaldab
- mööda
- juba
- Ka
- Kuigi
- alati
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon.com
- summa
- an
- ja
- mistahes
- API
- rakendused
- asjakohane
- arhitektuur
- OLEME
- valdkondades
- argument
- Array
- kunstlik
- tehisintellekti
- AS
- abistab
- At
- auto
- saadaval
- vältima
- AWS
- Taustaprogramm
- Saldo
- põhineb
- sisse lööma
- alus
- korvpall
- BE
- sest
- muutuma
- olnud
- enne
- alustama
- taga
- alla
- kasu
- BEST
- Parem
- vahel
- suurem
- Blogi
- keha
- mõlemad
- puhver
- ehitama
- Ehitus
- ehitatud
- kuid
- by
- C + +
- kutsutud
- CAN
- kaart
- juhul
- juhtudel
- Kategooria
- Põhjus
- väljakutseid
- muutma
- omadused
- kontrollima
- kiip
- Vali
- valimine
- Linn
- klass
- klassifikatsioon
- klient
- kliendid
- Cloud
- kood
- Veerud
- COM
- tuleb
- tulevad
- ühine
- edastama
- KOMMUNIKATSIOON
- kogukond
- kokkusobiv
- keeruline
- arvutamine
- arvuti
- Arvutiteadus
- Arvuti visioon
- arvutustehnika
- konfiguratsioon
- ühendus
- Arvestama
- kaaluda
- tarbima
- tarbimine
- Konteiner
- Konteinerid
- sisaldab
- sisu
- kontrast
- kontrollida
- Mugav
- Konverteerimine
- muutma
- tuum
- Vastav
- Maksma
- kulude vähendamine
- kulude kokkuhoid
- cover
- looma
- loodud
- loob
- kriteeriumid
- otsustav
- Praegu
- tava
- Kliendid
- tsüklit
- Dallas
- andmed
- kuupäev
- päev
- tegelema
- otsus
- sügav
- sügav õpe
- sügavam
- vaikimisi
- vaikimisi
- Kraad
- viivitus
- nõudlik
- nõudmisi
- Olenevalt
- juurutada
- lähetatud
- juurutamine
- kasutuselevõtu
- sügavus
- Disain
- detailid
- Määrama
- kindlaksmääratud
- määrab
- määrates kindlaks
- Arendajad
- erinevus
- erinev
- jagatud
- hajutatud arvutus
- DIY
- do
- dokumentatsioon
- Ei tee
- teeme
- Domeenid
- tehtud
- tuvi
- kaks
- ajal
- iga
- Ajalugu
- haridus
- efektiivsus
- tõhusalt
- kumbki
- rõhutades
- võimaldab
- julgustama
- lõpp
- Lõpp-punkt
- Mootor
- Mootorid
- tagama
- tagades
- ettevõte
- ettevõtete
- Kogu
- keskkond
- vead
- Isegi
- Iga
- näide
- näited
- vahetamine
- ootama
- oodatav
- Kogemused
- eksport
- tegurid
- õiglaselt
- juga
- vale
- tunnusjoon
- FUNKTSIOONID
- Toidetud
- toitmine
- vähe
- Joonis
- fail
- Faile
- leidma
- lõpetama
- esimene
- voog
- Keskenduma
- keskendub
- järgima
- Järgneb
- Järel
- Jalajälg
- eest
- vorm
- formaat
- avastatud
- Raamistik
- raamistikud
- pettus
- tasuta
- Alates
- Pealegi
- Kasum
- Üldine
- genereerib
- saama
- Andma
- antud
- GPU
- suuresti
- Grupp
- Grupi omad
- juhised
- juhtuda
- Raske
- riistvara
- Olema
- he
- aitama
- aidates
- aitab
- siin
- kõrgetasemeline
- suur jõudlus
- rohkem
- rõhutab
- tema
- hoidma
- omab
- võõrustaja
- võõrustas
- Hosting
- Kuidas
- Kuidas
- aga
- HTML
- http
- HTTPS
- Viga saanud
- Identity
- IDd
- idx
- if
- pilt
- mõju
- Mõjud
- rakendada
- rakendatud
- tööriistad
- impordi
- in
- sisaldama
- Kaasa arvatud
- Suurendama
- näitab
- info
- teavitatakse
- sisend
- paigaldama
- Näiteks
- juhised
- integratsioon
- Intelligentsus
- huvi
- sisemine
- sisse
- IT
- ITS
- jpg
- Json
- lihtsalt
- hoidma
- Võti
- Laps
- Teadma
- suur
- Suured ettevõtted
- suurem
- Hilinemine
- hiljemalt
- Layout
- Õppida
- õppimine
- kõige vähem
- Led
- õigustatud
- vähem
- Tase
- taset
- Finantsvõimendus
- raamatukogud
- Raamatukogu
- nagu
- LIMIT
- joon
- nimekiri
- koormus
- loogika
- loogiline
- Pikk
- masin
- masinõpe
- tegema
- juhtima
- palju
- meistrid
- Vastama
- max
- maksimaalne
- mai..
- mehhanism
- Vastama
- koosolekul
- Mälu
- mainitud
- Kaupmees
- Meetrika
- võib
- rännanud
- meeles
- ML
- viis
- mudel
- mudelid
- kuu
- rohkem
- kõige
- Populaarseim
- liikuma
- Mitme mudeli lõpp-punkt
- mitmekordne
- peab
- nimi
- nimetamine
- emakeelena
- Vajadus
- vajadustele
- Uus
- nlp
- ei
- sõlmed
- märkmik
- nüüd
- number
- tuim
- Nvidia
- saama
- of
- pakkuma
- Pakkumised
- sageli
- on
- ONE
- ones
- ainult
- avatud lähtekoodiga
- optimaalselt
- optimeerimine
- optimeerima
- optimeeritud
- optimeerimine
- valik
- Valikud
- or
- et
- organisatsioonid
- Korraldatud
- algselt
- OS
- Muu
- muidu
- meie
- välja
- väljund
- väljaspool
- enda
- pakend
- pakendamine
- pandas
- Parallel
- parameeter
- parameetrid
- osalevad
- eriline
- Vastu võetud
- möödub
- tee
- täitma
- jõudlus
- täidab
- luba
- fotograafia
- torujuhe
- inimesele
- Platon
- Platoni andmete intelligentsus
- PlatoData
- mängimine
- palun
- arvukus
- Poliitika
- poliitika
- ujula
- populaarne
- populaarsus
- võimalik
- võimalik
- post
- võim
- ennustada
- ennustatav
- ennustada
- ennustus
- Ennustused
- varem
- esmane
- Peamine
- probleeme
- protsess
- Protsessid
- töötlemine
- Töötlemise võimsus
- töötlejad
- tootma
- Produktsioon
- projektid
- korralik
- proto
- anda
- tingimusel
- tarnija
- annab
- pakkudes
- Python
- pütorch
- juhuslik
- alates
- pigem
- Töötlemata
- valmis
- päris maailm
- reaalajas
- põhjustel
- soovitama
- vähendama
- nimetatud
- Sõltumata sellest
- piirkond
- seotud
- asjakohane
- asendama
- Hoidla
- esindamine
- esindavad
- esindab
- taotleda
- Taotlusi
- nõudma
- nõutav
- Nõuded
- Vajab
- vastus
- vastutav
- kaasa
- Tulemused
- Roll
- jooks
- jooksmine
- s
- salveitegija
- SageMakeri järeldus
- sama
- Hoiused
- skaalautuvia
- Skaala
- ketendamine
- stsenaariumid
- planeerimine
- teadus
- teadlased
- skikit õppima
- skoor
- Osa
- vaata
- otsib
- väljavalitud
- saatma
- vanem
- eri
- teenima
- teenus
- Teenuseosutaja
- Teenused
- teenindavad
- komplekt
- kehtestamine
- seaded
- kuju
- jagatud
- peaks
- näitama
- Näitused
- külg
- märgatavalt
- sarnane
- lihtne
- ühekordne
- SUURUS
- suurused
- So
- lahendus
- Lahendused
- LAHENDAGE
- Lahendamine
- mõned
- allikas
- spetsialiseerunud
- konkreetse
- täpsustus
- määratletud
- kulutama
- standard
- algus
- Käivitus
- Alustavatel
- riik
- olek
- stabiilne
- Samm
- Sammud
- ladustamine
- salvestada
- ladustatud
- lihtne
- nöör
- struktuur
- edukas
- selline
- soovitama
- sobiv
- toetama
- Toetatud
- Toetab
- Võtma
- meeskond
- tehnikat
- Tehnoloogiad
- Tehnoloogia
- öelda
- tingimused
- kui
- et
- .
- teave
- oma
- Neile
- SIIS
- Seal.
- Need
- nad
- asi
- see
- need
- kuigi?
- kolm
- künnis
- läbilaskevõime
- aeg
- et
- täna
- kokku
- tipptasemel
- traditsiooniliselt
- koolitatud
- koolitus
- Ülekanne
- Reisimine
- puu
- Trends
- Lõitkodalane
- tõsi
- kaks
- tüüp
- liigid
- tüüpiliselt
- mõistma
- laetud
- Üleslaadimine
- us
- kasutama
- Kasutatud
- Kasutaja
- kasutamine
- kasutab ära
- kasutades
- väärtus
- Väärtused
- eri
- versioon
- kaudu
- nägemus
- W
- ootama
- tahan
- oli
- vaadates
- Tee..
- we
- web
- veebiteenused
- Hästi
- olid
- M
- millal
- millal iganes
- kas
- mis
- kuigi
- will
- koos
- jooksul
- ilma
- Töö
- töötas
- töötaja
- töötab
- oleks
- XGBoost
- aasta
- sa
- Sinu
- sephyrnet
- Tõmblukk