Aplikacije strojnega učenja (ML) so zapletene za uvajanje in pogosto zahtevajo možnost hiperrazširitve ter imajo zahteve za izjemno nizke zakasnitve in stroge stroškovne proračune. Primeri uporabe, kot so odkrivanje goljufij, priporočila za izdelke in predvidevanje prometa, so primeri, ko so milisekunde pomembne in ključne za poslovni uspeh. Upoštevati je treba stroge pogodbe o ravni storitev (SLA) in tipična zahteva lahko zahteva več korakov, kot so predhodna obdelava, transformacija podatkov, inženiring funkcij, logika izbire modela, združevanje modelov in naknadna obdelava.
Uvajanje modelov ML v velikem obsegu z optimiziranimi stroški in računalniško učinkovitostjo je lahko zastrašujoča in okorna naloga. Vsak model ima svoje prednosti in odvisnosti, ki temeljijo na zunanjih virih podatkov, kot tudi na izvajalnem okolju, kot je moč CPE/GPE osnovnih računalniških virov. Aplikacija lahko zahteva več modelov ML, da služi eni sami zahtevi za sklepanje. V določenih scenarijih lahko zahteva poteka prek več modelov. Pristopa, ki bi ustrezal vsem, ni in pomembno je, da izvajalci strojnega jezika iščejo preizkušene metode za reševanje ponavljajočih se izzivov gostovanja strojnega jezika. To je pripeljalo do razvoja oblikovalskih vzorcev za gostovanje modela ML.
V tej objavi raziskujemo pogoste vzorce oblikovanja za gradnjo aplikacij ML Amazon SageMaker.
Oblikovalski vzorci za izdelavo aplikacij ML
Oglejmo si naslednje načrtovalske vzorce, ki jih bomo uporabili za gostovanje aplikacij ML.
Aplikacije ML, ki temeljijo na enem modelu
To je odlična možnost, ko vaš primer uporabe ML zahteva en sam model za oskrbo zahteve. Model je nameščen na namenski računalniški infrastrukturi z možnostjo prilagajanja na podlagi vhodnega prometa. Ta možnost je idealna tudi, če ima odjemalska aplikacija zahtevo po sklepanju z nizko zakasnitvijo (v vrstnem redu milisekund ali sekund).
Aplikacije ML, ki temeljijo na več modelih
Da bo gostovanje stroškovno učinkovitejše, vam ta oblikovalski vzorec omogoča gostovanje več modelov na isti infrastrukturi najemnika. Več modelov ML lahko deli vire gostitelja ali vsebnika, vključno s predpomnjenjem najpogosteje uporabljenih modelov ML v pomnilniku, kar ima za posledico boljšo uporabo pomnilnika in računalniških virov. Odvisno od vrste modelov, ki ste jih izbrali za uvedbo, lahko sogostovanje modela uporablja naslednje metode:
- Več modelov gostovanja – Ta možnost vam omogoča gostovanje več modelov z uporabo skupnega strežnega vsebnika na eni končni točki. Ta funkcija je idealna, če imate veliko število podobnih modelov, ki jih lahko postrežete prek skupnega vsebnika za serviranje in vam ni treba dostopati do vseh modelov hkrati.
- Gostovanje z več vsebniki – Ta možnost je idealna, če imate več modelov, ki se izvajajo na različnih strežniških skladih s podobnimi potrebami po sredstvih, in ko posamezni modeli nimajo dovolj prometa, da bi izkoristili celotno zmogljivost instanc končne točke. Gostovanje z več vsebniki vam omogoča, da na eni končni točki namestite več vsebnikov, ki uporabljajo različne modele ali ogrodja. Modeli so lahko popolnoma heterogeni, s svojim neodvisnim nizom za serviranje.
- Modelni ansambli – V številnih primerih proizvodne uporabe lahko pogosto obstaja veliko modelov navzgor v toku, ki dovajajo vložke danemu modelu na koncu toka. Tu so koristni ansambli. Vzorci ansambla vključujejo mešanje izhoda iz enega ali več osnovnih modelov, da se zmanjša generalizacijska napaka napovedi. Osnovni modeli so lahko raznoliki in jih učijo različni algoritmi. Skupine modelov so lahko učinkovitejše od posameznih modelov, ker se napaka napovedi modela zmanjša, ko se uporabi pristop ansambla.
Sledijo pogosti primeri uporabe vzorcev ansambla in njihovih ustreznih diagramov vzorcev oblikovanja:
- Raztrosi-zberi – V vzorcu razpršenega zbiranja je zahteva za sklepanje usmerjena k številnim modelom. Zbiralnik se nato uporabi za zbiranje odgovorov in njihovo destilacijo v en sam sklepni odgovor. Na primer, primer uporabe klasifikacije slike lahko za izvedbo naloge uporablja tri različne modele. Vzorec razpršenega zbiranja vam omogoča združevanje rezultatov iz sklepanja na treh različnih modelih in izbiro najverjetnejšega modela razvrščanja.
- Modelski agregat – V vzorcu združevanja se izhodi iz več modelov povprečijo. Pri klasifikacijskih modelih se ovrednotijo napovedi več modelov, da se določi razred, ki je prejel največ glasov in se obravnava kot končni rezultat skupine. Na primer, pri dvorazrednem problemu razvrščanja za razvrstitev nabora sadja kot pomaranč ali jabolk, če dva modela glasujeta za pomarančo in en model glasuje za jabolko, bo skupni rezultat pomaranča. Združevanje pomaga pri boju proti netočnosti v posameznih modelih in naredi izhod natančnejši.
- Dinamična izbira – Drug vzorec za modele ansambla je dinamično izvajanje izbire modela za dane vhodne atribute. Na primer, pri danem vnosu slik sadja, če vnos vsebuje pomarančo, bo uporabljen model A, ker je specializiran za pomaranče. Če vnos vsebuje jabolko, bo uporabljen model B, ker je specializiran za jabolka.
- Aplikacije ML s serijskim sklepanjem – Pri serijskem sklepnem vzorcu, znanem tudi kot sklepni cevovod, imajo primeri uporabe zahteve za predhodno obdelavo dohodnih podatkov, preden prikličejo predhodno usposobljen model ML za generiranje sklepov. Poleg tega bo v nekaterih primerih morda treba ustvarjene sklepe dodatno obdelati, tako da jih lahko aplikacije na nižji stopnji zlahka uporabijo. Cevovod sklepanja vam omogoča, da ponovno uporabite isto kodo za predprocesiranje, uporabljeno med usposabljanjem modela, za obdelavo podatkov zahteve za sklepanje, ki se uporabljajo za predvidevanja.
- Poslovna logika – Produkcijsko ML vedno vključuje poslovno logiko. Vzorci poslovne logike vključujejo vse, kar je potrebno za izvedbo naloge ML, ki ni sklepanje modela ML. To vključuje nalaganje modela iz Preprosta storitev shranjevanja Amazon (Amazon S3), na primer iskanje v bazi podatkov za potrditev vnosa, pridobivanje vnaprej izračunanih funkcij iz shrambe funkcij itd. Ko so ti koraki poslovne logike končani, se vhodi prenesejo v modele ML.
Možnosti sklepanja ML
Za uvajanje modela je pomembno, da delate nazaj od svojega primera uporabe. Kakšna je pogostost napovedi? Ali pričakujete promet v živo na vaši aplikaciji in odziv vašim strankam v realnem času? Ali imate veliko modelov, usposobljenih za različne podnabore podatkov za isti primer uporabe? Ali predvideni promet niha? Je zakasnitev sklepanja zaskrbljujoča? Na podlagi teh podrobnosti je mogoče vse prejšnje načrtovalske vzorce implementirati z uporabo naslednjih možnosti uvajanja:
- Sklepanje v realnem času – Sklepanje v realnem času je idealno za delovne obremenitve sklepanja, kjer imate zahteve v realnem času, interaktivne in z nizko zakasnitvijo. Delovne obremenitve sklepanja ML v realnem času lahko vključujejo aplikacijo ML, ki temelji na enem modelu, kjer aplikacija zahteva samo en model ML, da služi eni zahtevi, ali aplikacijo ML, ki temelji na več modelih, kjer aplikacija zahteva več modelov ML, da služi enemu prošnja.
- Skoraj realnočasovno (asinhrono) sklepanje – S sklepanjem v skoraj realnem času lahko dohodne zahteve postavite v čakalno vrsto. To je mogoče uporabiti za izvajanje sklepanja na vhodih, ki so veliki več sto MB. Deluje v skoraj realnem času in uporabnikom omogoča uporabo vnosa za sklepanje ter branje izhoda iz končne točke iz vedra S3. Še posebej je lahko priročen v primerih z NLP in računalniškim vidom, kjer so velike obremenitve, ki zahtevajo daljši čas predprocesiranja.
- Zaključek serije – Paketno sklepanje je mogoče uporabiti za izvajanje sklepanja brez povezave na velikem naboru podatkov. Ker deluje brez povezave, paketno sklepanje ne ponuja najnižje zakasnitve. Tukaj je zahteva za sklepanje obdelana z načrtovanim sprožilcem ali sprožilcem, ki temelji na dogodkih, za opravilo paketnega sklepanja.
- Brezstrežniško sklepanje – Sklepanje brez strežnika je idealno za delovne obremenitve, ki imajo obdobja nedejavnosti med izbruhi prometa in lahko prenesejo nekaj dodatnih sekund zakasnitve (hladen zagon) za prvi poziv po obdobju nedejavnosti. Na primer storitev chatbota ali aplikacija za obdelavo obrazcev ali analizo podatkov iz dokumentov. V tem primeru boste morda želeli možnost spletnega sklepanja, ki lahko samodejno zagotovi in poveča računalniško zmogljivost glede na obseg zahtev za sklepanje. In v času nedejavnosti bi moral biti sposoben popolnoma izklopiti računalniško zmogljivost, da vam ne bi zaračunali. Brezstrežniško sklepanje odvzame nediferencirano težko delo pri izbiranju in upravljanju strežnikov s samodejnim zagonom računalniških virov in njihovim povečevanjem in zmanjševanjem glede na promet.
Uporabite fitnes funkcije, da izberete pravo možnost sklepanja ML
Odločitev o pravi možnosti gostovanja je pomembna, ker vpliva na končne uporabnike, ki jih prikazujejo vaše aplikacije. V ta namen si izposodimo koncept fitnes funkcije, ki so ga pri svojem delu skovali Neal Ford in njegovi kolegi iz AWS Partner ThoughtWorks Gradnja evolucijskih arhitektur. Fitnes funkcije zagotavljajo predpisano oceno različnih možnosti gostovanja na podlagi strankinih ciljev. Fitnes funkcije vam pomagajo pridobiti potrebne podatke, da omogočite načrtovani razvoj vaše arhitekture. Postavljajo merljive vrednosti za oceno, kako blizu je vaša rešitev doseganju zastavljenih ciljev. Fitnes funkcije se lahko in morajo prilagoditi, ko se arhitektura razvija, da vodijo želeni proces sprememb. To daje arhitektom orodje za usmerjanje njihovih ekip ob ohranjanju avtonomije ekipe.
Obstaja pet glavnih fitnes funkcij, ki jih stranke zanimajo, ko gre za izbiro prave možnosti sklepanja ML za gostovanje njihovih modelov in aplikacij ML.
Fitnes funkcija | Opis |
strošek |
Uvedba in vzdrževanje modela ML in aplikacije ML na razširljivem ogrodju je kritičen poslovni proces, stroški pa se lahko zelo razlikujejo glede na izbire glede infrastrukture gostovanja modela, možnosti gostovanja, ogrodij ML, značilnosti modela ML, optimizacij, politike prilagajanja, in več. Delovne obremenitve morajo optimalno uporabljati infrastrukturo strojne opreme, da zagotovijo, da stroški ostanejo pod nadzorom. Ta funkcija primernosti se posebej nanaša na stroške infrastrukture, ki so del skupnih skupnih stroškov lastništva (TCO). Infrastrukturni stroški so skupni stroški za shranjevanje, omrežje in računalništvo. Ključnega pomena je tudi razumevanje drugih komponent TCO, vključno z operativnimi stroški ter stroški varnosti in skladnosti. Operativni stroški so skupni stroški delovanja, spremljanja in vzdrževanja infrastrukture ML. Operativni stroški se izračunajo kot število potrebnih inženirjev na podlagi vsakega scenarija in letne plače inženirjev, združene v določenem obdobju. Stranke, ki uporabljajo samoupravljive rešitve ML na Amazonski elastični računalniški oblak (Amazon EC2), Amazonska storitev za kontejnerje z elastiko (Amazon ECS) in Amazonski elastični kubernetes storitev (Amazon EKS) morajo sami izdelati operativna orodja. Stranke, ki uporabljajo SageMaker, imajo bistveno nižje skupne stroške lastništva. Sklepanje SageMaker je v celoti upravljana storitev in ponuja zmožnosti za uvajanje modelov ML za sklepanje. Ni vam treba zagotavljati primerkov, spremljati stanja primerkov, upravljati varnostnih posodobitev ali popravkov, oddajati operativnih meritev ali graditi nadzora za vaše delovne obremenitve sklepanja ML. Ima vgrajene zmogljivosti za zagotavljanje visoke razpoložljivosti in odpornosti. SageMaker podpira varnost s šifriranjem od konca do konca v mirovanju in med prenosom, vključno s šifriranjem korenskega nosilca in Trgovina z elastičnimi bloki Amazon (Amazon EBS) obseg, Navidezni zasebni oblak Amazon (Amazon VPC) podpora, AWS PrivateLink, ključi, ki jih upravlja stranka, AWS upravljanje identitete in dostopa (IAM) drobnozrnat nadzor dostopa, AWS CloudTrail revizije, šifriranje internode za usposabljanje, nadzor dostopa na podlagi oznak, omrežna izolacija in interaktivni aplikacijski proxy. Vse te varnostne funkcije so že pripravljene v SageMakerju in lahko podjetjem prihranijo desetine razvojnih mesecev inženirskega truda v 3-letnem obdobju. SageMaker je storitev, primerna za HIPAA, in ima certifikat PCI, SOC, GDPR in ISO. SageMaker podpira tudi končne točke FIPS. Za več informacij o TCO glejte Skupni stroški lastništva Amazon SageMaker. |
Zakasnitev sklepanja | Številni modeli in aplikacije ML so zakasnitve kritične, pri čemer mora biti zakasnitev sklepanja znotraj meja, ki jih določa cilj ravni storitve. Zakasnitev sklepanja je odvisna od številnih dejavnikov, vključno z velikostjo in kompleksnostjo modela, strojno platformo, programskim okoljem in omrežno arhitekturo. Na primer, sklepanje večjih in bolj zapletenih modelov lahko traja dlje. |
Prepustnost (transakcije na sekundo) | Za sklepanje o modelu je optimizacija prepustnosti ključnega pomena za prilagajanje zmogljivosti in doseganje poslovnega cilja aplikacije ML. Ker še naprej hitro napredujemo v vseh vidikih ML, vključno z nizkonivojskimi implementacijami matematičnih operacij v načrtovanju čipov, imajo knjižnice, specifične za strojno opremo, večjo vlogo pri optimizaciji delovanja. Različni dejavniki, kot so velikost obremenitve, omrežni skoki, narava skokov, funkcije grafa modela, operaterji v modelu ter CPE, GPE in pomnilniški profil modela, ki gosti instance, vplivajo na prepustnost modela ML. |
Kompleksnost konfiguracije skaliranja | Za modele ali aplikacije ML je ključnega pomena, da delujejo na razširljivem ogrodju, ki lahko obvlada povpraševanje po različnem prometu. Omogoča tudi maksimalno uporabo virov CPE in GPE ter preprečuje prekomerno zagotavljanje računalniških virov. |
Pričakovan prometni vzorec | Modeli ali aplikacije ML imajo lahko različne vzorce prometa, ki segajo od neprekinjenega prometa v živo v realnem času do občasnih konic na tisoče zahtev na sekundo in od redkih, nepredvidljivih vzorcev zahtev do paketnih zahtev brez povezave na večjih nizih podatkov. Priporočamo, da delate nazaj od pričakovanega vzorca prometa, da izberete pravo možnost gostovanja za vaš model ML. |
Uvajanje modelov s SageMakerjem
SageMaker je v celoti upravljana storitev AWS, ki vsakemu razvijalcu in podatkovnemu znanstveniku nudi možnost hitre gradnje, usposabljanja in uvajanja modelov ML v velikem obsegu. S sklepanjem SageMaker lahko uvedete svoje modele ML na gostujočih končnih točkah in dobite rezultate sklepanja. SageMaker ponuja širok izbor strojne opreme in funkcij, ki izpolnjujejo vaše zahteve glede delovne obremenitve, kar vam omogoča izbiro več kot 70 vrst instanc s strojnim pospeševanjem. SageMaker lahko zagotovi tudi priporočilo za vrsto primerka sklepanja z uporabo nove funkcije, imenovane SageMaker Inference Recommender, če niste prepričani, kateri bi bil najbolj optimalen za vašo delovno obremenitev.
Izberete lahko možnosti uvajanja, ki najbolje ustrezajo vašim primerom uporabe, kot so sklepanje v realnem času, asinhrono, paketno in celo končne točke brez strežnika. Poleg tega SageMaker ponuja različne strategije uvajanja, kot so canary, modra / zelena, sencain A/B testiranje za uvajanje modela, skupaj s stroškovno učinkovito uvajanjem z večmodeli, končnimi točkami z več vsebniki in elastičnim skaliranjem. S sklepanjem SageMaker si lahko ogledate meritve uspešnosti za vaše končne točke amazoncloudwatch, samodejno skaliranje končnih točk na podlagi prometa in posodobite svoje modele v proizvodnji, ne da bi pri tem izgubili kakršno koli razpoložljivost.
SageMaker ponuja štiri možnosti za uvedbo vašega modela, tako da lahko začnete napovedovati:
- Sklepanje v realnem času – To je primerno za delovne obremenitve z zahtevami po milisekundni zakasnitvi, velikosti koristne obremenitve do 6 MB in časi obdelave do 60 sekund.
- Paketno preoblikovanje – To je idealno za napovedi brez povezave za velike serije podatkov, ki so na voljo vnaprej.
- Asinhrono sklepanje – To je zasnovano za delovne obremenitve, ki nimajo zahtev za zakasnitev manj kot sekunde, velikosti koristne obremenitve do 1 GB in časi obdelave do 15 minut.
- Brezstrežniško sklepanje – S sklepanjem brez strežnika lahko hitro uvedete modele ML za sklepanje, ne da bi morali konfigurirati ali upravljati osnovno infrastrukturo. Poleg tega plačate samo za računalniško zmogljivost, uporabljeno za obdelavo zahtev za sklepanje, kar je idealno za občasne delovne obremenitve.
Naslednji diagram vam lahko pomaga razumeti možnosti uvedbe modela gostovanja SageMaker skupaj s povezanimi ocenami funkcij fitnesa.
Raziščimo vsako od možnosti uvajanja podrobneje.
Sklepanje v realnem času v SageMakerju
Sklepanje v realnem času SageMaker je priporočljivo, če imate trajen promet in potrebujete nižjo in dosledno zakasnitev za vaše zahteve z velikostjo koristne obremenitve do 6 MB in časi obdelave do 60 sekund. Svoj model uvedete v storitve gostovanja SageMaker in dobite končno točko, ki jo lahko uporabite za sklepanje. Te končne točke so v celoti upravljane in podpirajo samodejno skaliranje. Sklepanje v realnem času je priljubljeno za primere uporabe, kjer pričakujete sinhron odziv z nizko zakasnitvijo in predvidljivimi vzorci prometa, kot so prilagojena priporočila za izdelke in storitve ali primeri uporabe za odkrivanje transakcijskih goljufij.
Običajno odjemalska aplikacija pošlje zahteve končni točki HTTPS SageMaker, da pridobi sklepe iz razporejenega modela. Na isto končno točko HTTPS SageMaker lahko uvedete več različic modela. To je uporabno za testiranje različic modela v proizvodnji. Samodejno skaliranje vam omogoča, da dinamično prilagajate število primerkov, predvidenih za model, kot odgovor na spremembe v vaši delovni obremenitvi.
Naslednja tabela ponuja smernice za ocenjevanje sklepanja SageMaker v realnem času na podlagi funkcij fitnesa.
Fitnes funkcija | Opis |
strošek |
Končne točke v realnem času ponujajo sinhroni odziv na zahteve po sklepanju. Ker se končna točka vedno izvaja in je na voljo za zagotavljanje sinhronega sklepanja v realnem času, plačate za uporabo instance. Stroški se lahko hitro povečajo, ko uvedete več končnih točk, zlasti če končne točke ne uporabljajo v celoti osnovnih instanc. Izbira pravega primerka za vaš model vam pomaga zagotoviti najzmogljivejši primerek po najnižji ceni za vaše modele. Samodejno skaliranje je priporočljivo za dinamično prilagajanje zmogljivosti glede na promet, da se ohrani enakomerno in predvidljivo delovanje po najnižji možni ceni. SageMaker razširja dostop do družin instanc ML, ki temeljijo na Graviton2 in Graviton3. AWS Graviton procesorje so po meri izdelale storitve Amazon Web Services z uporabo 64-bitnih jeder Arm Neoverse za zagotavljanje najboljše cenovne zmogljivosti za vaše delovne obremenitve v oblaku, ki se izvajajo na Amazon EC2. Z instancami, ki temeljijo na Gravitonu, imate več možnosti za optimizacijo stroškov in zmogljivosti pri uvajanju vaših modelov ML na SageMaker. Podpira tudi SageMaker Inf1 primerki, ki zagotavlja visoko zmogljivost in stroškovno učinkovito sklepanje ML. Z 1–16 Čipi AWS Inferentia na instanco lahko instance Inf1 povečajo zmogljivost in zagotovijo do trikrat višjo prepustnost in do 50 % nižjo ceno na sklepanje v primerjavi z instancami, ki temeljijo na AWS GPU. Za uporabo primerkov Inf1 v SageMakerju lahko prevedete svoje usposobljene modele z uporabo Amazon SageMaker Neo in izberite primerke Inf1 za namestitev prevedenega modela na SageMaker. Lahko tudi raziščete Varčevalni načrti za SageMaker da izkoristite prihranek stroškov do 64 % v primerjavi s ceno na zahtevo. Ko ustvarite končno točko, SageMaker pripne prostor za shranjevanje EBS na vsako instanco računanja ML, ki gosti končno točko. Velikost nosilca pomnilnika je odvisna od vrste instance. Dodatni stroški za končne točke v realnem času vključujejo stroške GB-meseca omogočenega shranjevanja, plus GB podatkov, obdelanih v in GB podatkov, obdelanih zunaj instance končne točke. |
Zakasnitev sklepanja | Sklepanje v realnem času je idealno, ko potrebujete obstojno končno točko z zahtevami po milisekundni zakasnitvi. Podpira velikosti obremenitve do 6 MB in čas obdelave do 60 sekund. |
Pretočnost |
Idealna vrednost prepustnosti sklepanja je subjektivna glede na dejavnike, kot so model, velikost vnosa modela, velikost paketa in vrsta primerka končne točke. Najboljša praksa je, da pregledate metrike CloudWatch za vnosne zahteve in uporabo virov ter izberete ustrezno vrsto instance, da dosežete optimalno prepustnost. Poslovna aplikacija je lahko optimizirana za prepustnost ali zakasnitev. Dinamično pakiranje lahko na primer pomaga povečati prepustnost za aplikacije, občutljive na zakasnitev, z uporabo sklepanja v realnem času. Vendar pa obstajajo omejitve velikosti paketa, brez katerih bi lahko vplivali na zakasnitev sklepanja. Zakasnitev sklepanja se bo povečala, ko boste povečali velikost paketa za izboljšanje prepustnosti. Zato je sklepanje v realnem času idealna možnost za aplikacije, občutljive na zakasnitev. SageMaker nudi možnosti asinhronega sklepanja in paketnega preoblikovanja, ki sta optimizirani za večjo prepustnost v primerjavi s sklepanjem v realnem času, če lahko poslovne aplikacije prenesejo nekoliko večjo zakasnitev. |
Kompleksnost konfiguracije skaliranja |
Podpora za končne točke v realnem času SageMaker samodejno skaliranje iz škatle. Ko se delovna obremenitev poveča, samodejno skaliranje pripelje več primerkov v splet. Ko se delovna obremenitev zmanjša, samodejno skaliranje odstrani nepotrebne instance, kar vam pomaga zmanjšati stroške računanja. Brez samodejnega skaliranja morate poskrbeti za največji promet ali nerazpoložljivost modela tveganja. Če promet do vašega modela ni enakomeren ves dan, bo presežna neizkoriščena zmogljivost. To vodi do nizke izkoriščenosti in izgubljenih virov. S SageMakerjem lahko konfigurirate različne možnosti skaliranja na podlagi pričakovanega vzorca prometa. Enostavno skaliranje ali skaliranje sledenja cilju je idealno, če želite skalirati na podlagi določene metrike CloudWatch. To lahko storite tako, da izberete določeno meritev in nastavite mejne vrednosti. Priporočene meritve za to možnost so povprečne Če potrebujete napredno konfiguracijo, lahko nastavite politiko skaliranja korakov za dinamično prilagajanje števila primerkov za skaliranje glede na velikost kršitve alarma. To vam pomaga konfigurirati bolj agresiven odziv, ko povpraševanje doseže določeno raven. Možnost načrtovanega skaliranja lahko uporabite, ko veste, da povpraševanje sledi določenemu urniku v dnevu, tednu, mesecu ali letu. To vam pomaga določiti enkratni razpored ali ponavljajoči se razpored ali cron izraze skupaj z začetnimi in končnimi časi, ki tvorijo meje, kdaj se samodejno spreminjanje velikosti začne in konča. Za več podrobnosti glejte Konfiguriranje končnih točk sklepanja samodejnega skaliranja v Amazon SageMaker in Preizkusite obremenitev in optimizirajte končno točko Amazon SageMaker z uporabo samodejnega skaliranja. |
Prometni vzorec | Sklepanje v realnem času je idealno za delovne obremenitve z neprekinjenim ali rednim vzorcem prometa. |
Asinhrono sklepanje v SageMakerju
Asinhrono sklepanje SageMaker je nova zmožnost v SageMakerju, ki postavlja v čakalno vrsto dohodne zahteve in jih asinhrono obdeluje. Ta možnost je idealna za zahteve z velikimi obremenitvami (do 1 GB), dolgimi časi obdelave (do 15 minut) in zahtevami glede zakasnitve v skoraj realnem času. Primeri delovnih obremenitev za asinhrono sklepanje vključujejo zdravstvena podjetja, ki obdelujejo biomedicinske slike visoke ločljivosti ali videoposnetke, kot so ehokardiogrami, za odkrivanje anomalij. Te aplikacije prejmejo pakete dohodnega prometa ob različnih urah dneva in zahtevajo obdelavo v skoraj realnem času po nizki ceni. Časi obdelave za te zahteve se lahko gibljejo v minutah, kar odpravlja potrebo po izvajanju sklepanja v realnem času. Namesto tega je mogoče vhodne tovore obdelati asinhrono iz shrambe objektov, kot je Amazon S3, s samodejnim postavljanjem v čakalno vrsto in vnaprej določenim pragom sočasnosti. Po obdelavi SageMaker odgovor sklepanja postavi na predhodno vrnjeno lokacijo Amazon S3. Po želji lahko izberete prejemanje obvestil o uspehu ali napaki prek Amazon Simple notification Service (Amazon SNS).
Naslednja tabela ponuja smernice za ocenjevanje asinhronega sklepanja SageMaker na podlagi funkcij fitnesa.
Fitnes funkcija | Opis |
strošek | Asinhrono sklepanje je odlična izbira za stroškovno občutljive delovne obremenitve z velikimi koristnimi obremenitvami in hitrim prometom. Asinhrono sklepanje vam omogoča prihranek pri stroških s samodejnim skaliranjem števila instanc na nič, ko ni zahtev za obdelavo, tako da plačate le, ko vaša končna točka obdeluje zahteve. Zahteve, ki so prejete, ko ni primerkov nič, se postavijo v čakalno vrsto za obdelavo, potem ko se končna točka poveča. |
Zakasnitev sklepanja | Asinhrono sklepanje je idealno za zahteve po zakasnitvi v skoraj realnem času. Zahteve so postavljene v čakalno vrsto in obdelane takoj, ko je izračun na voljo. To običajno povzroči več deset milisekund zakasnitve. |
Pretočnost | Asinhrono sklepanje je idealno za primere uporabe, ki niso občutljivi na zakasnitev, saj aplikacijam ni treba sklepati kompromisov glede prepustnosti. Zahteve niso opuščene med prometnimi skoki, ker končna točka asinhronega sklepanja postavi zahteve v čakalno vrsto, namesto da jih opusti. |
Kompleksnost konfiguracije skaliranja |
SageMaker podpira samodejno skaliranje za asinhrono končno točko. Za razliko od končnih točk, gostujočih v realnem času, končne točke asinhronega sklepanja podpirajo zmanjšanje primerkov na nič z nastavitvijo najmanjše zmogljivosti na nič. Za asinhrone končne točke SageMaker močno priporoča, da ustvarite konfiguracijo pravilnika za skaliranje ciljnega sledenja za razporejeni model (različica). Za primere uporabe, ki lahko dopuščajo kazen hladnega zagona nekaj minut, lahko poljubno zmanjšate število instanc končne točke na nič, ko ni odprtih zahtev, in povečate nazaj, ko prispejo nove zahteve, tako da plačate samo za čas, ko končne točke aktivno obdelujejo zahteve. |
Prometni vzorec | Asinhrone končne točke postavljajo dohodne zahteve v čakalno vrsto in jih asinhrono obdelujejo. So dobra možnost za občasne ali redke prometne vzorce. |
Paketno sklepanje v SageMakerju
Paketna transformacija SageMaker je idealna za napovedi brez povezave za velike pakete podatkov, ki so na voljo vnaprej. Funkcija paketnega preoblikovanja je visoko zmogljiva in visoko prepustna metoda za pretvorbo podatkov in ustvarjanje sklepov. Idealen je za scenarije, kjer imate opravka z velikimi serijami podatkov, ne potrebujete podsekundne zakasnitve ali morate predhodno obdelati in preoblikovati podatke o usposabljanju. Stranke na določenih področjih, kot sta oglaševanje in trženje ali zdravstvo, morajo pogosto izvajati napovedi brez povezave na naborih podatkov v hiperrazsežnosti, kjer je cilj primera uporabe pogosto visoka prepustnost in zakasnitev ni zaskrbljujoča.
Ko se zažene opravilo paketnega preoblikovanja, SageMaker inicializira primerke računanja in mednje porazdeli delovno obremenitev sklepanja. Vire sprosti, ko so opravila končana, tako da plačate samo tisto, kar ste porabili med izvajanjem vašega opravila. Ko je opravilo končano, SageMaker shrani rezultate predvidevanja v vedro S3, ki ga določite. Naloge paketnega sklepanja so običajno dobri kandidati za horizontalno skaliranje. Vsak delavec znotraj gruče lahko deluje z drugačno podmnožico podatkov, ne da bi moral izmenjevati informacije z drugimi delavci. AWS ponuja več možnosti za shranjevanje in računanje, ki omogočajo vodoravno skaliranje. Primeri delovnih obremenitev za paketno pretvorbo SageMaker vključujejo aplikacije brez povezave, kot so bančne aplikacije za napovedovanje odliva strank, kjer je mogoče redno izvajati opravilo brez povezave.
Naslednja tabela ponuja smernice za ocenjevanje paketne transformacije SageMaker na podlagi funkcij fitnesa.
Fitnes funkcija | Opis |
strošek | Paketno preoblikovanje SageMaker vam omogoča izvajanje napovedi na velikih ali majhnih paketnih nizih podatkov. Zaračunali vam bomo vrsto instance, ki jo izberete, glede na trajanje uporabe. SageMaker upravlja zagotavljanje virov na začetku opravila in jih sprosti, ko je opravilo končano. Ni dodatnih stroškov obdelave podatkov. |
Zakasnitev sklepanja | Uporabite lahko priklic na podlagi dogodkov ali po urniku. Zakasnitev se lahko razlikuje glede na velikost sklepnih podatkov, sočasnost opravil, kompleksnost modela in zmogljivost računalniške instance. |
Pretočnost |
Opravila paketnega preoblikovanja je mogoče izvajati na različnih naborih podatkov, od petabajtov podatkov do zelo majhnih naborov podatkov. Ni potrebe po spreminjanju velikosti večjih naborov podatkov v majhne dele podatkov. Opravila paketnega preoblikovanja lahko pospešite z uporabo optimalnih vrednosti za parametre, kot je npr MaxPayloadInMB, MaxConcurrentTransformsali BatchStrategy. Idealna vrednost za Paketna obdelava lahko poveča prepustnost in optimizira vaše vire, ker pomaga dokončati večje število sklepov v določenem času na račun zakasnitve. Za optimizacijo uvajanja modela za večjo prepustnost je splošno vodilo povečevati velikost serije, dokler se prepustnost ne zmanjša. |
Kompleksnost konfiguracije skaliranja | Paketno preoblikovanje SageMaker se uporablja za sklepanje brez povezave, ki ni občutljivo na zakasnitev. |
Prometni vzorec | Za sklepanje brez povezave je opravilo paketnega preoblikovanja načrtovano ali zagnano z uporabo sprožilca na podlagi dogodkov. |
Brezstrežniško sklepanje v SageMakerju
Brezstrežniško sklepanje SageMaker vam omogoča uvajanje modelov ML za sklepanje, ne da bi morali konfigurirati ali upravljati osnovno infrastrukturo. Glede na količino zahtev za sklepanje, ki jih prejme vaš model, brezstrežniško sklepanje SageMaker samodejno določi, prilagodi in izklopi računalniško zmogljivost. Posledično plačate le čas izračuna za izvajanje kode sklepanja in količino obdelanih podatkov, ne pa tudi časa nedejavnosti. Uporabite lahko vgrajene algoritme SageMaker in vsebnike, ki strežejo okvir ML, da razmestite svoj model na končno točko sklepanja brez strežnika ali pa se odločite, da prinesete svoj vsebnik. Če promet postane predvidljiv in stabilen, lahko preprosto posodobite končno točko sklepanja brez strežnika na končno točko SageMaker v realnem času, ne da bi morali spreminjati sliko vsebnika. S sklepanjem brez strežnika imate tudi koristi od drugih funkcij SageMaker, vključno z vgrajenimi metrikami, kot so število klicev, napake, zakasnitev, metrike gostitelja in napake v CloudWatchu.
Naslednja tabela ponuja smernice za ocenjevanje brezstrežniškega sklepanja SageMaker na podlagi funkcij fitnesa.
Fitnes funkcija | Opis |
strošek | Z modelom plačaj po zagonu je sklepanje brez strežnika stroškovno učinkovita možnost, če imate redke ali občasne vzorce prometa. Plačate samo za čas, v katerem končna točka obdela zahtevo, in tako lahko prihranite stroške, če je prometni vzorec občasen. |
Zakasnitev sklepanja |
Brezstrežniške končne točke ponujajo nizko zakasnitev sklepanja (v vrstnem redu od milisekund do sekund) z možnostjo takojšnjega prilagajanja od desetine do tisoč sklepanja v nekaj sekundah glede na vzorce uporabe, zaradi česar so idealne za aplikacije ML z občasnim ali nepredvidljivim prometom. Ker brezstrežniške končne točke zagotavljajo računalniške vire na zahtevo, lahko vaša končna točka doživi nekaj dodatnih sekund zakasnitve (hladen zagon) za prvi priklic po obdobju nedejavnosti. Čas hladnega zagona je odvisen od velikosti vašega modela, časa, ki je potreben za prenos vašega modela, in časa zagona vašega vsebnika. |
Pretočnost | Ko konfigurirate končno točko brez strežnika, lahko določite velikost pomnilnika in največje število sočasnih klicev. Brezstrežniško sklepanje SageMaker samodejno dodeli računalniške vire sorazmerno s pomnilnikom, ki ga izberete. Če izberete večjo velikost pomnilnika, ima vaš vsebnik dostop do več vCPU-jev. Na splošno mora biti velikost pomnilnika vsaj tako velika kot velikost vašega modela. Velikosti pomnilnika, ki jih lahko izberete, so 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB in 6144 MB. Ne glede na velikost pomnilnika, ki jo izberete, imajo brezstrežniške končne točke na voljo 5 GB efemernega diskovnega prostora. |
Kompleksnost konfiguracije skaliranja | Brezstrežniške končne točke samodejno zaženejo računalniške vire in jih povečajo in zmanjšajo glede na promet, s čimer odpravijo potrebo po izbiri vrst primerkov ali upravljanju pravilnikov o skaliranju. To odvzame nediferencirano težko delo pri izbiranju in upravljanju strežnikov. |
Prometni vzorec | Brezstrežniško sklepanje je idealno za delovne obremenitve z redkimi ali občasnimi vzorci prometa. |
Oblikovalski vzorci gostovanja modela v SageMakerju
Končne točke sklepanja SageMaker uporabljajo vsebnike Docker za gostovanje modelov ML. Vsebniki vam omogočajo pakiranje programske opreme v standardizirane enote, ki dosledno delujejo na kateri koli platformi, ki podpira Docker. To zagotavlja prenosljivost med platformami, nespremenljive uvedbe infrastrukture ter lažje upravljanje sprememb in implementacije CI/CD. SageMaker ponuja vnaprej zgrajene upravljane vsebnike za priljubljena ogrodja, kot so Apache MXNet, TensorFlow, PyTorch, Sklearn in Hugging Face. Za celoten seznam razpoložljivih slik vsebnikov SageMaker glejte Razpoložljive slike vsebnikov za globoko učenje. V primeru, da SageMaker nima podprtega vsebnika, lahko sestavite tudi svoj vsebnik (BYOC) in potisnete lastno sliko po meri ter namestite odvisnosti, ki so potrebne za vaš model.
Za uvedbo modela v SageMakerju potrebujete vsebnik (vsebnike upravljanega ogrodja SageMaker ali BYOC) in računsko instanco za gostovanje vsebnika. SageMaker podpira več naprednih možnosti za skupne oblikovalske vzorce gostovanja modelov ML, kjer se modeli lahko gostijo v enem vsebniku ali sogostujejo v skupnem vsebniku.
Aplikacija ML v realnem času lahko uporablja en sam model ali več modelov, da služi eni zahtevi za predvidevanje. Naslednji diagram prikazuje različne scenarije sklepanja za aplikacijo ML.
Raziščimo primerno možnost gostovanja SageMaker za vsakega od prejšnjih scenarijev sklepanja. Lahko se sklicujete na funkcije fitnesa, da ocenite, ali je prava možnost za dani primer uporabe.
Gostovanje aplikacije ML, ki temelji na enem modelu
Obstaja več možnosti za gostovanje aplikacij ML, ki temeljijo na enem modelu, z uporabo storitev gostovanja SageMaker, odvisno od scenarija uvedbe.
Končna točka enega modela
Končne točke z enim modelom SageMaker vam omogočajo gostovanje enega modela v vsebniku, ki gostuje na namenskih instancah za nizko zakasnitev in visoko prepustnost. Te končne točke so v celoti upravljane in podpirajo samodejno skaliranje. Končno točko z enim modelom lahko konfigurirate kot omogočeno končno točko, kjer posredujete konfiguracijo infrastrukture končne točke, kot sta vrsta in število primerkov, ali končno točko brez strežnika, kjer SageMaker samodejno zažene računalniške vire in jih poveča in zmanjša glede na promet, s čimer odpravi potrebo po za izbiro vrst primerkov ali upravljanje pravilnikov o skaliranju. Končne točke brez strežnika so za aplikacije z občasnim ali nepredvidljivim prometom.
Naslednji diagram prikazuje scenarije sklepanja končne točke z enim modelom.
Naslednja tabela ponuja smernice za ocenjevanje funkcij primernosti za predvideno končno točko z enim modelom. Za ocene funkcije končne točke brez strežnika si oglejte razdelek o končni točki brez strežnika v tej objavi.
Fitnes funkcija | Opis |
strošek | Zaračunali vam bomo uporabo vrste instance, ki jo izberete. Ker končna točka vedno deluje in je na voljo, se lahko stroški hitro povečajo. Izbira pravega primerka za vaš model vam pomaga zagotoviti najzmogljivejši primerek po najnižji ceni za vaše modele. Samodejno skaliranje je priporočljivo za dinamično prilagajanje zmogljivosti glede na promet, da se ohrani enakomerno in predvidljivo delovanje po najnižji možni ceni. |
Zakasnitev sklepanja | Končna točka z enim modelom zagotavlja interaktivno in sinhrono sklepanje v realnem času z zahtevami po milisekundni zakasnitvi. |
Pretočnost | Na prepustnost lahko vplivajo različni dejavniki, kot so velikost vnosa modela, velikost paketa, vrsta instance končne točke itd. Priporočljivo je, da pregledate meritve CloudWatch za vnosne zahteve in uporabo virov ter izberete ustrezno vrsto instance, da dosežete optimalno prepustnost. SageMaker ponuja funkcije za upravljanje virov in optimiziranje zmogljivosti sklepanja pri uvajanju modelov ML. Ti lahko optimizirajte delovanje modela z uporabo Neo, ali uporabite primerke Inf1 za boljšo prepustnost vaših modelov, ki jih gosti SageMaker, z uporabo primerka GPU za vašo končno točko. |
Kompleksnost konfiguracije skaliranja | Samodejno skaliranje je podprto takoj. SageMaker priporoča izbiro ustreznega konfiguracijo skaliranja z opravljanjem obremenitveni testi. |
Prometni vzorec | Končna točka z enim modelom je idealna za delovne obremenitve s predvidljivimi vzorci prometa. |
So-gostovanje več modelov
Ko imate opravka z velikim številom modelov, lahko uvedba vsakega na posamezno končno točko z namenskim vsebnikom in primerkom povzroči znatno povečanje stroškov. Poleg tega postane tudi težko upravljati toliko modelov v proizvodnji, še posebej, če vam ni treba priklicati vseh modelov hkrati, vendar morajo biti še vedno na voljo ves čas. So-gostovanje več modelov na istih osnovnih računalniških virih olajša upravljanje uvedb ML v velikem obsegu in zniža vaše stroške gostovanja s povečano uporabo končne točke in njenih osnovnih računalniških virov. SageMaker podpira napredne možnosti sogostiteljstva modelov, kot je končna točka več modelov (MME) za homogene modele in končna točka več vsebnikov (MCE) za heterogene modele. Homogeni modeli uporabljajo isto ogrodje ML na skupnem vsebniku storitve, medtem ko vam heterogeni modeli omogočajo uvedbo več strežnih vsebnikov, ki uporabljajo različne modele ali ogrodja, na eni končni točki.
Naslednji diagram prikazuje možnosti sogostiteljstva modela z uporabo SageMakerja.
Večmodelne končne točke SageMaker
SageMaker MME omogočajo gostovanje več modelov z uporabo skupnega strežnega vsebnika na eni končni točki. To je razširljiva in stroškovno učinkovita rešitev za uvajanje velikega števila modelov, ki ustrezajo istemu primeru uporabe, ogrodju ali logiki sklepanja. MME lahko dinamično strežejo zahteve na podlagi modela, ki ga prikliče klicatelj. Prav tako zmanjša stroške uvajanja, ker SageMaker upravlja nalaganje modelov v pomnilnik in njihovo skaliranje na podlagi vzorcev prometa do njih. Ta funkcija je idealna, če imate veliko število podobnih modelov, ki jih lahko postrežete prek skupnega vsebnika za serviranje in vam ni treba dostopati do vseh modelov hkrati. Končne točke z več modeli omogočajo tudi časovno delitev pomnilniških virov med vašimi modeli. To najbolje deluje, če so modeli precej podobni po velikosti in zakasnitvi priklica, kar omogoča MME, da učinkovito uporabljajo primerke v vseh modelih. SageMaker MME podpirajo gostovanje modelov s podporo CPE in GPE. Z uporabo modelov, podprtih z GPU, lahko znižate stroške uvajanja modela s povečano uporabo končne točke in njenih temeljnih instanc pospešenega računanja. Za primer uporabe MME v resničnem svetu glejte Kako razširiti sklepanje strojnega učenja za primere uporabe SaaS z več najemniki.
Naslednja tabela ponuja smernice za ocenjevanje funkcij primernosti za MME.
Fitnes funkcija | Opis |
strošek |
MME omogočajo uporabo skupnega strežnega vsebnika za gostovanje na tisoče modelov na eni končni točki. To znatno zmanjša stroške gostovanja z izboljšano uporabo končne točke v primerjavi z uporabo končnih točk z enim modelom. Na primer, če imate 10 modelov za uvajanje z uporabo primerka ml.c5.large, ki temelji na Cene SageMaker, je strošek 10 vztrajnih končnih točk z enim modelom: 10 * 0.102 USD = 1.02 USD na uro. Medtem ko z enim MME, ki gosti 10 modelov, dosežemo 10-kratne prihranke stroškov: 1 * 0.102 USD = 0.102 USD na uro. |
Zakasnitev sklepanja |
MME privzeto predpomnijo pogosto uporabljene modele v pomnilniku in na disku, da zagotovijo sklepanje z nizko zakasnitvijo. Predpomnjeni modeli se razložijo ali izbrišejo z diska šele, ko v vsebniku zmanjka pomnilnika ali prostora na disku za namestitev na novo ciljnega modela. MME omogočajo leno nalaganje modelov, kar pomeni, da se modeli naložijo v pomnilnik, ko so prvič priklicani. To optimizira uporabo pomnilnika; vendar povzroči skoke odzivnega časa pri prvi obremenitvi, kar povzroči težavo s hladnim zagonom. Zato so MME zelo primerni tudi za scenarije, ki lahko dopuščajo občasne zakasnitve, povezane s hladnim zagonom, do katerih pride pri klicanju redko uporabljenih modelov. Da bi izpolnili cilje glede zakasnitve in prepustnosti aplikacij ML, imajo primerki GPE prednost pred primerki CPE (glede na računalniško moč, ki jo ponujajo GPE). S podporo MME za GPU lahko uvedete na tisoče modelov globokega učenja za eno končno točko SageMaker. MME lahko poganjajo več modelov v jedru GPE, delijo primerke GPU za končno točko v več modelih ter dinamično nalagajo in razkladajo modele glede na dohodni promet. S tem lahko občutno prihranite stroške in dosežete najboljšo cenovno učinkovitost. Če vaš primer uporabe zahteva bistveno višje transakcije na sekundo (TPS) ali zahteve glede zakasnitve, priporočamo gostovanje modelov na namenskih končnih točkah. |
Pretočnost |
Idealna vrednost prepustnosti sklepanja MME je odvisna od dejavnikov, kot so model, velikost tovora in vrsta instance končne točke. Večja količina pomnilnika primerkov vam omogoča, da imate več modelov naloženih in pripravljenih za streženje zahtev za sklepanje. Ni vam treba izgubljati časa z nalaganjem modela. Večje število vCPE vam omogoča, da hkrati prikličete več edinstvenih modelov. MME dinamično nalagajo in razkladajo model v pomnilnik primerka in iz njega, kar lahko vpliva na zmogljivost V/I. SageMaker MME z GPE delujejo z uporabo NVIDIA Triton Inference Server, ki je odprtokodna programska oprema za streženje sklepanja, ki poenostavi postopek streženja sklepanja in zagotavlja visoko zmogljivost sklepanja. SageMaker naloži model v pomnilnik vsebnika NVIDIA Triton na GPU pospešeni instanci in postreže zahtevo za sklepanje. Jedro GPU si delijo vsi modeli v primerku. Če je model že naložen v pomnilnik vsebnika, se nadaljnje zahteve postrežejo hitreje, ker ga SageMakerju ni treba znova prenesti in naložiti. Pri uspešnih produkcijskih uvedbah se priporoča ustrezno testiranje in analiza delovanja. SageMaker ponuja metrike CloudWatch za končne točke z več modeli, tako da lahko določite uporabo končne točke in stopnjo zadetkov v predpomnilniku, da pomagate optimizirati svojo končno točko. |
Kompleksnost konfiguracije skaliranja | Večmodelne končne točke SageMaker v celoti podpirajo samodejno skaliranje, ki upravlja replike modelov, da zagotovi skaliranje modelov na podlagi prometnih vzorcev. Vendar je priporočljivo ustrezno testiranje obremenitve, da se določi optimalna velikost primerkov za samodejno skaliranje končne točke. Pravilna velikost voznega parka MME je pomembna, da se izognete razkladanju preveč modelov. Nalaganje več sto modelov na nekaj večjih primerkov lahko v nekaterih primerih povzroči dušenje, zato bi bilo bolje uporabiti več in manjše primerke. Če želite izkoristiti avtomatizirano skaliranje modela v SageMakerju, se prepričajte, da imate nastavljeno samodejno skaliranje primerka za zagotovitev dodatne zmogljivosti primerka. Nastavite svojo politiko skaliranja na ravni končne točke s parametri po meri ali klici na minuto (priporočeno), da dodate več primerkov v floto končnih točk. Stopnje klicanja, ki se uporabljajo za sprožitev dogodka samodejnega merila, temeljijo na skupnem naboru napovedi v celotnem naboru modelov, ki jih streže končna točka. |
Prometni vzorec | MME so idealni, če imate veliko število modelov podobne velikosti, ki jih lahko postrežete prek skupnega vsebnika za serviranje in vam ni treba dostopati do vseh modelov hkrati. |
Končne točke SageMaker z več vsebniki
SageMaker MCE podpira uvajanje do 15 vsebnikov, ki uporabljajo različne modele ali ogrodja na eni končni točki, in njihovo priklicevanje neodvisno ali v zaporedju za sklepanje z nizko zakasnitvijo in prihranek stroškov. Modeli so lahko popolnoma heterogeni, s svojim neodvisnim nizom za serviranje. Varno gostovanje več modelov iz različnih ogrodij na enem primerku vam lahko prihrani do 90 % stroškov.
Vzorci klicanja MCE so naslednji:
- Sklepni cevovodi – Vsebnike v MME je mogoče priklicati v linearnem zaporedju, znanem tudi kot a serijski inferenčni cevovod. Običajno se uporabljajo za ločevanje predprocesiranja, sklepanja o modelu in naknadnega procesiranja v neodvisne vsebnike. Izhod iz trenutnega vsebnika se kot vhod posreduje naslednjemu. V SageMakerju so predstavljeni kot model enega cevovoda. Sklepni cevovod je mogoče razmestiti kot MME, kjer lahko eden od vsebnikov v cevovodu dinamično streže zahteve na podlagi modela, ki se kliče.
- Neposredni priklic - Z neposredni priklic, lahko zahtevo pošljete v določen vsebnik sklepanja, ki gostuje na MCE.
Naslednja tabela ponuja smernice za ocenjevanje funkcij primernosti za MCE.
Fitnes funkcija | Opis |
strošek | MCE vam omogočajo, da zaženete do 15 različnih vsebnikov ML na eni končni točki in jih prikličete neodvisno, s čimer prihranite stroške. Ta možnost je idealna, če imate več modelov, ki se izvajajo na različnih strežniških skladih s podobnimi potrebami po virih, in ko posamezni modeli nimajo dovolj prometa, da bi izkoristili celotno zmogljivost instanc končne točke. MCE so zato stroškovno učinkovitejši kot končna točka z enim modelom. MCE ponujajo sinhroni odziv sklepanja, kar pomeni, da je končna točka vedno na voljo in plačate za čas delovanja instance. Stroški se lahko povečajo glede na število in vrsto primerkov. |
Zakasnitev sklepanja | MCE so idealni za izvajanje aplikacij ML z različnimi ogrodji in algoritmi ML za vsak model, do katerih se dostopa redko, vendar še vedno zahteva sklepanje z nizko zakasnitvijo. Modeli so vedno na voljo za sklepanje z nizko zakasnitvijo in ni težav s hladnim zagonom. |
Pretočnost | MCE-ji so omejeni na do 15 vsebnikov na končni točki z več vsebniki, sklepanje GPE pa ni podprto zaradi spora za sredstva. Za končne točke z več vsebniki, ki uporabljajo način neposrednega klicanja, SageMaker ne zagotavlja samo metrik na ravni primerka, kot to počne z drugimi pogostimi končnimi točkami, ampak podpira tudi metrike na vsebnik. Najboljša praksa je, da pregledate metrike CloudWatch za vnosne zahteve in uporabo virov ter izberete ustrezno vrsto instance, da dosežete optimalno prepustnost. |
Kompleksnost konfiguracije skaliranja | MCE podpirajo samodejno skaliranje. Vendar je za konfiguracijo samodejnega skaliranja priporočljivo, da model v vsakem vsebniku kaže podobno izkoriščenost CPE in zakasnitev pri vsaki zahtevi za sklepanje. To je priporočljivo, ker če se promet do končne točke z več vsebniki premakne iz modela z nizko porabo CPE na model z visoko porabo CPE, vendar celotna glasnost klica ostane enaka, se končna točka ne poveča in morda ne bo dovolj primerkov za obravnavo vseh zahtev do modela visoke izkoriščenosti procesorja. |
Prometni vzorec | MCE so idealni za delovne obremenitve s stalnimi ali rednimi prometnimi vzorci, za gostovanje modelov v različnih ogrodjih (kot so TensorFlow, PyTorch ali Sklearn), ki morda nimajo dovolj prometa, da bi nasičili celotno zmogljivost primerka končne točke. |
Gostovanje aplikacije ML, ki temelji na več modelih
Številne poslovne aplikacije morajo uporabljati več modelov ML, da svojim uporabnikom ponudijo eno samo zahtevo po predvidevanju. Na primer, maloprodajno podjetje, ki želi svojim uporabnikom zagotoviti priporočila. Aplikacija ML v tem primeru uporabe bo morda želela uporabiti različne modele po meri za priporočanje različnih kategorij izdelkov. Če želi podjetje priporočilom dodati personalizacijo z uporabo podatkov o posameznem uporabniku, se število modelov po meri še poveča. Gostovanje vsakega modela po meri na ločeni računalniški instanci ni samo previsoko, ampak vodi tudi do premajhne izkoriščenosti virov gostovanja, če se vsi modeli ne uporabljajo pogosto. SageMaker ponuja učinkovite možnosti gostovanja za aplikacije ML, ki temeljijo na več modelih.
Naslednji diagram prikazuje možnosti gostovanja z več modeli za eno končno točko z uporabo SageMakerja.
Serijski inferenčni cevovod
Sklepni cevovod je model SageMaker, ki je sestavljen iz linearnega zaporedja 2–15 vsebnikov, ki obdelujejo zahteve za sklepanje podatkov. Za definiranje in uvajanje katere koli kombinacije vnaprej usposobljenih vgrajenih algoritmov SageMaker in vaših lastnih algoritmov po meri, zapakiranih v vsebnike Docker, uporabite cevovod sklepanja. Cevovod sklepanja lahko uporabite za kombiniranje predprocesiranja, napovedi in naknadne obdelave podatkovnih nalog. Izhod iz enega vsebnika se kot vhod posreduje naslednjemu. Ko definirate vsebnike za model cevovoda, podate tudi vrstni red, v katerem se izvajajo vsebniki. V SageMakerju so predstavljeni kot model enega cevovoda. Sklepni cevovod je mogoče razmestiti kot MME, kjer lahko eden od vsebnikov v cevovodu dinamično streže zahteve na podlagi modela, ki se kliče. Zaženete lahko tudi a serijska preobrazba delo s sklepnim cevovodom. Sklepni cevovodi so v celoti upravljani.
Naslednja tabela ponuja navodila za ocenjevanje funkcij primernosti za gostovanje modela ML z uporabo serijskega sklepnega cevovoda.
Fitnes funkcija | Opis |
strošek | Serijski inferenčni cevovod vam omogoča izvajanje do 15 različnih vsebnikov ML na eni končni točki, kar vodi do stroškovne učinkovitosti gostovanja inferenčnih vsebnikov. Za uporabo te funkcije ni dodatnih stroškov. Plačate samo za primerke, ki se izvajajo na končni točki. Stroški se lahko povečajo glede na število in vrsto primerkov. |
Zakasnitev sklepanja | Ko je aplikacija ML razporejena kot cevovod sklepanja, podatki med različnimi modeli ne zapustijo prostora vsebnika. Obdelava funkcij in sklepanje poteka z nizko zakasnitvijo, ker so vsebniki nameščeni na istih instancah EC2. |
Pretočnost | Znotraj modela cevovoda sklepanja SageMaker obravnava klice kot zaporedje zahtev HTTP. Prvi vsebnik v cevovodu obravnava začetno zahtevo, nato se vmesni odgovor pošlje kot zahteva drugemu vsebniku in tako naprej za vsak vsebnik v cevovodu. SageMaker stranki vrne končni odgovor. Prepustnost je subjektivna glede na dejavnike, kot so model, velikost vnosa modela, velikost paketa in vrsta primerka končne točke. Najboljša praksa je, da pregledate metrike CloudWatch za vnosne zahteve in uporabo virov ter izberete ustrezno vrsto instance, da dosežete optimalno prepustnost. |
Kompleksnost konfiguracije skaliranja | Cevovodi serijskega sklepanja podpirajo samodejno skaliranje. Vendar je za konfiguracijo samodejnega skaliranja priporočljivo, da model v vsakem vsebniku kaže podobno izkoriščenost CPE in zakasnitev pri vsaki zahtevi za sklepanje. To je priporočljivo, ker če se promet do končne točke z več vsebniki premakne iz modela z nizko porabo CPE na model z visoko porabo CPE, vendar celotna glasnost klica ostane enaka, se končna točka ne poveča in morda ne bo dovolj primerkov za obravnavati vse zahteve za model visoke izkoriščenosti procesorja. |
Prometni vzorec |
Serijski inferenčni cevovodi so idealni za predvidljive prometne vzorce z modeli, ki se izvajajo zaporedno na isti končni točki. |
Uvajanje modelnih sklopov (Triton DAG):
SageMaker ponuja integracijo z NVIDIA Triton Inference Server skozi Triton Inference Server Containers. Ti vsebniki vključujejo NVIDIA Triton Inference Server, podporo za običajna ogrodja ML in uporabne spremenljivke okolja, ki vam omogočajo optimizacijo delovanja na SageMakerju. S slikami vsebnika NVIDIA Triton lahko enostavno strežete modele ML in izkoristite prednosti optimizacije zmogljivosti, dinamičnega paketnega dodajanja in podpore za več okvirov, ki jo nudi NVIDIA Triton. Triton pomaga povečati izkoristek GPE in CPE, kar dodatno zniža stroške sklepanja.
V primerih poslovne uporabe, kjer aplikacije ML uporabljajo več modelov za serviranje zahteve po predvidevanju, če vsak model uporablja drugačen okvir ali gostuje na ločeni instanci, lahko povzroči povečano delovno obremenitev in stroške ter povečanje splošne zakasnitve. SageMaker NVIDIA Triton Inference Server podpira uvajanje modelov iz vseh večjih ogrodij, kot so formati modelov TensorFlow GraphDef, TensorFlow SavedModel, ONNX, PyTorch TorchScript, TensorRT in Python/C++ ter drugi. Ansambel modelov Triton predstavlja cevovod enega ali več modelov ali predprocesirne in postprocesirne logike ter povezavo vhodnih in izhodnih tenzorjev med njimi. Ena sama zahteva za sklepanje skupini sproži delovanje celotnega cevovoda. Triton ima tudi več vgrajenih algoritmov za razporejanje in šaržiranje, ki združujejo posamezne zahteve za sklepanje, da izboljšajo prepustnost sklepanja. Te odločitve glede razporejanja in paketiranja so pregledne za stranko, ki zahteva sklepanje. Modele je mogoče izvajati na procesorjih CPE ali GPU za največjo prilagodljivost in podporo heterogenim računalniškim zahtevam.
Gostovanje več modelov, podprtih z GPU, na končnih točkah z več modeli je podprto prek SageMaker Triton Inference Server. NVIDIA Triton Inference Server je bil razširjen za implementacijo pogodba MME API, za integracijo z MME. Za uvedbo MME s samodejnim skaliranjem lahko uporabite NVIDIA Triton Inference Server, ki ustvari konfiguracijo repozitorija modela za različna ozadja ogrodja. Ta funkcija vam omogoča spreminjanje na stotine hiperpersonaliziranih modelov, ki so natančno prilagojeni, da poskrbijo za edinstvene izkušnje končnega uporabnika v aplikacijah AI. To funkcijo lahko uporabite tudi za doseganje potrebne cenovne zmogljivosti za vašo aplikacijo sklepanja z uporabo frakcijskih grafičnih procesorjev. Če želite izvedeti več, glejte Zaženite več modelov globokega učenja na GPE s končnimi točkami več modelov Amazon SageMaker.
Naslednja tabela ponuja smernice za ocenjevanje funkcij primernosti za gostovanje modela ML z uporabo MME s podporo GPU na vsebnikih za sklepanje Triton. Za končne točke z enim modelom in vrednotenja funkcij končne točke brez strežnika si oglejte prejšnje razdelke te objave.
Fitnes funkcija | Opis |
strošek | MME-ji SageMaker s podporo GPU z uporabo Triton Inference Server zagotavljajo razširljiv in stroškovno učinkovit način za uvajanje velikega števila modelov globokega učenja za eno končno točko SageMaker. Z MME si več modelov deli primer GPE za končno točko. To vam omogoča, da prekinete linearno naraščajoče stroške gostovanja več modelov in ponovno uporabite infrastrukturo v vseh modelih. Plačate za čas delovanja instance. |
Zakasnitev sklepanja |
SageMaker s Triton Inference Server je namensko izdelan za povečanje prepustnosti in izkoriščenosti strojne opreme z izjemno nizko (enomestno milisekundno) zakasnitvijo sklepanja. Ima široko paleto podprtih ogrodij ML (vključno s TensorFlow, PyTorch, ONNX, XGBoost in NVIDIA TensorRT) in infrastrukturnih ozadij, vključno z grafičnimi procesorji NVIDIA, procesorji in Sklepanje AWS. S podporo MME za GPU, ki uporablja SageMaker Triton Inference Server, lahko uvedete na tisoče modelov globokega učenja za eno končno točko SageMaker. SageMaker naloži model v pomnilnik vsebnika NVIDIA Triton na GPU pospešeni instanci in postreže zahtevo za sklepanje. Jedro GPU si delijo vsi modeli v primerku. Če je model že naložen v pomnilnik vsebnika, se nadaljnje zahteve postrežejo hitreje, ker ga SageMakerju ni treba znova prenesti in naložiti. |
Pretočnost |
MME ponujajo zmogljivosti za izvajanje več modelov globokega učenja ali modelov ML na GPU hkrati s Triton Inference Server. To vam omogoča preprosto uporabo multi-framework NVIDIA Triton, visoko zmogljivega sklepanja s popolnoma upravljano uvedbo modela SageMaker. Triton podpira vse sklepanje na osnovi NVIDIA GPU, x86, Arm® CPE in AWS Inferentia. Ponuja dinamično šaržiranje, sočasne zagone, optimalno konfiguracijo modela, zasedbo modelov ter pretočne avdio in video vhode za povečanje prepustnosti in izkoriščenosti. Drugi dejavniki, kot sta velikost omrežja in tovora, lahko igrajo minimalno vlogo pri režijskih stroških, povezanih s sklepanjem. |
Kompleksnost konfiguracije skaliranja |
MME-ji lahko horizontalno skalirajo z uporabo pravilnika samodejnega skaliranja in zagotovijo dodatne računske instance GPE na podlagi meritev, kot je S strežnikom za sklepanje Triton lahko preprosto zgradite vsebnik po meri, ki vključuje vaš model s Tritonom, in ga prenesete v SageMaker. SageMaker Inference bo obravnaval zahteve in samodejno prilagajal vsebnik, ko se bo uporaba povečala, kar bo olajšalo uvajanje modela s Tritonom na AWS. |
Prometni vzorec |
MME so idealni za predvidljive vzorce prometa z modeli, ki se izvajajo kot DAG na isti končni točki. SageMaker skrbi za oblikovanje prometa do končne točke MME in vzdržuje optimalne kopije modela na instancah GPE za najboljšo cenovno zmogljivost. Še naprej usmerja promet do primerka, kjer je naložen model. Če viri instance dosežejo zmogljivost zaradi visoke izkoriščenosti, SageMaker razloži najmanj uporabljene modele iz vsebnika, da sprosti vire za nalaganje pogosteje uporabljenih modelov. |
Najboljše prakse
Upoštevajte naslednje najboljše prakse:
- Visoka kohezija in nizka povezava med modeli – Gostite modele v istem vsebniku, ki ima visoko kohezijo (spodbuja funkcionalnost enega podjetja) in jih enkapsulirajte skupaj za lažjo nadgradnjo in upravljanje. Hkrati ločite te modele drug od drugega (gostite jih v drugem vsebniku), tako da lahko preprosto nadgradite en model, ne da bi vplivali na druge modele. Gostite več modelov, ki uporabljajo različne vsebnike za eno končno točko in jih nato prikličite neodvisno ali dodajte logiko predprocesiranja in naknadne obdelave modela kot serijski inferenčni cevovod.
- Zakasnitev sklepanja – Združite modele, ki temeljijo na funkciji enega podjetja, in jih gostite v enem vsebniku, da čim bolj zmanjšate število skokov in tako zmanjšate skupno zakasnitev. Obstajajo še druga opozorila, na primer, če združeni modeli uporabljajo več ogrodij; lahko se tudi odločite za gostovanje v več vsebnikih, vendar delujete na istem gostitelju, da zmanjšate zakasnitev in zmanjšate stroške.
- Logično združite modele ML z visoko kohezijo – Logično skupino lahko sestavljajo modeli, ki so homogeni (na primer vsi modeli XGBoost) ali heterogeni (na primer nekaj XGBoost in nekaj BERT). Lahko je sestavljen iz modelov, ki si jih deli več poslovnih funkcij, ali pa je specifičen za izpolnjevanje samo ene poslovne funkcije.
- Skupni modeli – Če je logična skupina sestavljena iz modelov v skupni rabi, bosta enostavnost nadgradnje modelov in zakasnitev igrali pomembno vlogo pri arhitekturi končnih točk SageMaker. Na primer, če je zakasnitev prednostna naloga, je bolje, da vse modele postavite v en vsebnik za eno končno točko SageMaker, da se izognete večkratnim skokom. Slaba stran je, da če je treba katerega od modelov nadgraditi, bo to povzročilo nadgradnjo vseh ustreznih končnih točk SageMaker, ki gostijo ta model.
- Modeli brez skupne rabe – Če je logična skupina sestavljena samo iz modelov, specifičnih za poslovne funkcije, in ni v skupni rabi z drugimi skupinami, bodo kompleksnost pakiranja in dimenzije zakasnitve postale ključne za doseganje. Priporočljivo je, da te modele gostite v enem vsebniku za eno končno točko SageMaker.
- Učinkovita uporaba strojne opreme (CPE, GPE) – Združite modele, ki temeljijo na CPE, in jih gostite na istem gostitelju, tako da lahko učinkovito uporabljate CPE. Podobno združite modele, ki temeljijo na GPU, tako da jih lahko učinkovito uporabljate in spreminjate. Obstajajo hibridne delovne obremenitve, ki zahtevajo CPE in GPE na istem gostitelju. Gostovanje modelov samo s procesorjem in samo z grafično procesorsko enoto na istem gostitelju bi moralo temeljiti na visokih zahtevah glede kohezije in zakasnitve aplikacije. Poleg tega so ključni razsežnosti, ki jih je treba preučiti, stroški, zmožnost prilagajanja velikosti in radij udarca ob udarcu v primeru okvare.
- Fitnes funkcije – Uporabite fitnes funkcije kot smernico za izbiro možnosti gostovanja ML.
zaključek
Ko gre za gostovanje ML, ni pristopa, ki bi ustrezal vsem. Strokovnjaki ML morajo izbrati pravi vzorec oblikovanja za reševanje svojih izzivov gostovanja ML. Vrednotenje funkcij fitnesa nudi predpisana navodila za izbiro prave možnosti gostovanja ML.
Za več podrobnosti o vsaki od možnosti gostovanja glejte naslednje objave v tej seriji:
O avtorjih
Dhawal Patel je glavni arhitekt strojnega učenja pri AWS. Sodeloval je z organizacijami, od velikih podjetij do srednje velikih zagonskih podjetij, pri problemih, povezanih s porazdeljenim računalništvom in umetno inteligenco. Osredotoča se na poglobljeno učenje, vključno s področja NLP in računalniškega vida. Strankam pomaga doseči visoko zmogljivo sklepanje o modelih na SageMakerju.
Deepali Rajale je strokovnjak za AI/ML, tehnični vodja računa pri Amazon Web Services. Sodeluje s podjetniškimi strankami in nudi tehnične smernice za implementacijo rešitev strojnega učenja z najboljšimi praksami. V prostem času uživa v pohodništvu, gledanju kinov in druženju z družino in prijatelji.
Saurabh Trikande je višji produktni vodja za Amazon SageMaker Inference. Navdušen je nad delom s strankami in ga motivira cilj demokratizacije strojnega učenja. Osredotoča se na ključne izzive, povezane z uvajanjem kompleksnih aplikacij ML, modelov ML z več najemniki, optimizacijo stroškov in zagotavljanjem dostopnosti uvajanja modelov globokega učenja. V prostem času Saurabh uživa v pohodništvu, spoznavanju inovativnih tehnologij, spremlja TechCrunch in preživlja čas s svojo družino.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/model-hosting-patterns-in-amazon-sagemaker-part-1-common-design-patterns-for-building-ml-applications-on-amazon-sagemaker/
- 1
- 10
- 100
- 11
- 39
- 7
- 70
- a
- sposobnost
- Sposobna
- O meni
- pospešeno
- dostop
- dostopna
- dostopen
- prilagoditi
- Račun
- natančna
- Doseči
- doseganju
- čez
- Ukrep
- aktivno
- Poleg tega
- Dodatne
- Poleg tega
- Naslov
- napredovanje
- napredno
- Prednost
- Oglaševanje
- vplivajo
- po
- združevanje
- Združevalec
- agresivni
- Sporazumi
- AI
- AI / ML
- Alarm
- algoritmi
- vsi
- Dovoli
- omogoča
- že
- vedno
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon Web Services
- znesek
- Analiza
- analizirati
- in
- in infrastrukturo
- letno
- Še ena
- Apache
- API
- Apple
- uporaba
- aplikacije
- pristop
- primerno
- aplikacije
- Arhitektura
- ARM
- umetni
- Umetna inteligenca
- vidiki
- ocenjevanje
- povezan
- lastnosti
- audio
- revizije
- avto
- Avtomatizirano
- Samodejno
- samodejno
- razpoložljivost
- Na voljo
- povprečno
- AWS
- nazaj
- Backed
- Bančništvo
- baza
- temeljijo
- ker
- postanejo
- postane
- pred
- zadaj
- počutje
- koristi
- BEST
- najboljše prakse
- Boljše
- med
- biomedicina
- Block
- Zadolževanje
- Meje
- Pasovi
- kršitev
- Break
- prinašajo
- Prinaša
- Proračuni
- izgradnjo
- Building
- zgrajena
- vgrajeno
- poslovni
- Poslovne aplikacije
- Poslovni proces
- podjetja
- Cache
- izračuna
- klic
- se imenuje
- klicatelja
- kandidati
- Zmogljivosti
- kapaciteta
- ki
- primeru
- primeri
- kategorije
- vzroki
- nekatere
- Certified
- izzivi
- spremenite
- Spremembe
- lastnosti
- zaračuna
- chatbot
- preveriti
- čip
- izbira
- možnosti
- Izberite
- izbiri
- razred
- Razvrstitev
- Razvrsti
- stranke
- stranke
- Zapri
- Cloud
- Grozd
- Koda
- skoval
- sodelavci
- zbiranje
- boj proti
- kombinacija
- združujejo
- kombinirani
- Skupno
- Podjetja
- podjetje
- v primerjavi z letom
- dokončanje
- popolnoma
- kompleksna
- kompleksnost
- skladnost
- deli
- sestavljajo
- Kompromis
- računska moč
- Izračunajte
- računalnik
- Računalniška vizija
- računalništvo
- Koncept
- Skrb
- sočasno
- konfiguracija
- povezava
- dosledno
- porabi
- Potrošniki
- Posoda
- Zabojniki
- Vsebuje
- naprej
- se nadaljuje
- neprekinjeno
- nadzor
- Core
- Ustrezno
- strošek
- prihranki pri stroških
- stroškovno učinkovito
- stroški
- bi
- ustvarjajo
- ustvari
- kritično
- ključnega pomena
- Trenutna
- po meri
- stranka
- Stranke, ki so
- DAG
- datum
- obdelava podatkov
- znanost o podatkih
- podatkovni znanstvenik
- Baze podatkov
- nabor podatkov
- dan
- deliti
- odločitve
- namenjen
- globoko
- globoko učenje
- privzeto
- definiranje
- poda
- Povpraševanje
- zahteve
- Demokratiziranje
- Odvisno
- odvisno
- razporedi
- razporejeni
- uvajanja
- uvajanje
- razmestitve
- Oblikovanje
- oblikovalski vzorci
- zasnovan
- Podatki
- Podrobnosti
- Odkrivanje
- Ugotovite,
- Razvojni
- Razvoj
- diagrami
- drugačen
- težko
- dimenzije
- neposredna
- izrazit
- porazdeljena
- porazdeljeno računalništvo
- razne
- Lučki delavec
- Dokumenti
- Ne
- domen
- dont
- navzdol
- prenesi
- slaba stran
- vozi
- padla
- Spuščanje
- med
- dinamično
- vsak
- prej
- lažje
- enostavno
- Učinkovito
- učinkovito
- učinkovitost
- učinkovitosti
- učinkovite
- učinkovito
- prizadevanje
- bodisi
- odstranjevanje
- omogočajo
- omogoča
- šifriranje
- konec koncev
- Končna točka
- Inženiring
- Inženirji
- dovolj
- zagotovitev
- zagotavlja
- Podjetje
- podjetja
- Celotna
- okolje
- Napaka
- napake
- zlasti
- ocenili
- vrednotenja
- Tudi
- Event
- vse
- evolucija
- Primer
- Primeri
- Izmenjava
- eksponati
- pričakovati
- Pričakuje
- izkušnje
- Doživetja
- raziskuje
- izrazi
- zunanja
- dodatna
- Obraz
- dejavniki
- Napaka
- pošteno
- družine
- družina
- hitreje
- Feature
- Lastnosti
- hranjenje
- Nekaj
- končna
- prva
- prvič
- fitnes
- FLET
- prilagodljivost
- Pretok
- nihati
- Osredotoča
- po
- sledi
- Ford
- obrazec
- Obrazci
- delno
- Okvirni
- okviri
- goljufija
- odkrivanje goljufij
- brezplačno
- frekvenca
- pogosto
- prijatelji
- iz
- Sadje
- polno
- v celoti
- funkcija
- funkcionalnosti
- funkcionalnost
- funkcije
- nadalje
- GDPR
- splošno
- ustvarila
- ustvarjajo
- dobili
- Daj
- dana
- Cilj
- Cilji
- dobro
- GPU
- Grafične kartice
- graf
- veliko
- več
- zelo
- skupina
- Skupine
- Grow
- vodi
- ročaj
- Ročaji
- priročen
- strojna oprema
- ob
- Zdravje
- zdravstveno varstvo
- pomoč
- pomoč
- Pomaga
- tukaj
- visoka
- visokozmogljivo
- visoka ločljivost
- več
- hit
- Horizontalno
- gostitelj
- gostila
- gostovanje
- stroški gostovanja
- storitve gostovanja
- Kako
- Vendar
- HTML
- HTTPS
- Stotine
- Hybrid
- idealen
- identiteta
- Mirovanje
- slika
- Razvrstitev slik
- slike
- nespremenljiv
- vpliv
- prizadeti
- Vplivi
- izvajati
- izvajali
- izvajanja
- Pomembno
- izboljšanje
- izboljšanju
- in
- vključujejo
- vključuje
- Vključno
- Dohodni
- Povečajte
- povečal
- Poveča
- narašča
- Neodvisni
- neodvisno
- individualna
- Podatki
- Infrastruktura
- začetna
- inovativne
- inovativne tehnologije
- vhod
- Namestitev
- primer
- Namesto
- integrirati
- integracija
- Intelligence
- interaktivno
- vključujejo
- ISO
- izolacija
- IT
- Job
- Delovna mesta
- Ključne
- tipke
- Vedite
- znano
- velika
- večja
- Latenca
- kosilo
- izstrelki
- začetek
- vodi
- vodi
- Interesenti
- UČITE
- učenje
- pustite
- Led
- Stopnja
- knjižnice
- dviganje
- Limited
- Meje
- Seznam
- v živo
- obremenitev
- nalaganje
- obremenitve
- kraj aktivnosti
- Long
- več
- Poglej
- izgube
- Sklop
- nizka
- stroj
- strojno učenje
- je
- Glavne
- vzdrževati
- vzdržuje
- velika
- Znamka
- IZDELA
- Izdelava
- upravljanje
- upravlja
- upravljanje
- upravitelj
- upravlja
- upravljanje
- več
- Trženje
- matematični
- Matter
- Povečajte
- največja
- pomeni
- Srečati
- Spomin
- Metoda
- Metode
- meritev
- Meritve
- morda
- minimalna
- minimalna
- Minute
- Mešanje
- ML
- način
- Model
- modeli
- monitor
- spremljanje
- mesec
- mesecev
- več
- Najbolj
- motivirani
- filmi
- Končna točka več modelov
- več
- Množica
- Narava
- potrebno
- Nimate
- potrebe
- mreža
- Novo
- Naslednja
- nlp
- Obvestilo
- Obvestila
- Številka
- Nvidia
- predmet
- Cilj
- Cilji
- pridobitev
- občasno
- ponudba
- Ponudbe
- offline
- ONE
- na spletu
- open source
- deluje
- deluje
- deluje
- operativno
- operacije
- operaterji
- optimalna
- optimizacija
- Optimizirajte
- optimizirana
- Optimizira
- optimizacijo
- Možnost
- možnosti
- Oranžna
- Da
- organizacije
- Ostalo
- Neporavnani
- Splošni
- lastne
- lastništvo
- paket
- embalaža
- parametri
- del
- zlasti
- partner
- opravil
- strastno
- Obliži
- Vzorec
- vzorci
- Plačajte
- Peak
- Izvedite
- performance
- izvajati
- Obdobje
- periodično
- obdobja
- personalizacija
- Prilagojene
- kramp
- plinovod
- Kraj
- Mesta
- načrtovano
- načrti
- platforma
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Predvajaj
- plus
- politike
- politika
- Popular
- mogoče
- Prispevek
- Prispevkov
- moč
- praksa
- vaje
- Predvidljivo
- napovedovanje
- napoved
- Napovedi
- prednostno
- prej
- Cena
- , ravnateljica
- prednostna naloga
- zasebna
- problem
- Težave
- Postopek
- Predelano
- Procesi
- obravnavati
- procesorji
- Izdelek
- produktni vodja
- proizvodnja
- Izdelki
- profil
- pravilno
- zagotavljajo
- če
- zagotavlja
- zagotavljanje
- zagotavljanje
- proxy
- Namen
- Push
- pitorha
- hitro
- območje
- obsegu
- hitro
- Oceniti
- Cene
- dosežejo
- Doseže
- Preberi
- pripravljen
- pravo
- resnični svet
- v realnem času
- prejeti
- prejetih
- prejme
- Priporočamo
- Priporočilo
- Priporočila
- priporočeno
- priporočilo
- priporoča
- ponavljajoče se
- zmanjša
- zmanjšuje
- nanaša
- Ne glede na to
- redni
- povezane
- Izpusti
- pomembno
- ostanki
- Skladišče
- zastopan
- predstavlja
- zahteva
- zahteva
- zahteva
- obvezna
- zahteva
- Zahteve
- zahteva
- vir
- viri
- Odgovor
- REST
- povzroči
- rezultat
- Rezultati
- Trgovina na drobno
- vrne
- pregleda
- Tveganje
- vloga
- koren
- Pot
- Pravilo
- Run
- tek
- SaaS
- sagemaker
- Sklep SageMaker
- plače
- Enako
- Shrani
- shranjevanje
- Prihranki
- razširljive
- Lestvica
- luske
- skaliranje
- scenariji
- urnik
- načrtovano
- Znanost
- Znanstvenik
- drugi
- sekund
- Oddelek
- oddelki
- Varno
- varnost
- izbiranje
- izbor
- višji
- občutljiva
- Zaporedje
- serijska
- Serija
- služijo
- Brez strežnika
- Strežniki
- služi
- Storitev
- Storitve
- služijo
- nastavite
- nastavitev
- več
- oblikovanje
- Delite s prijatelji, znanci, družino in partnerji :-)
- deli
- Izmene
- shouldnt
- Razstave
- pomemben
- bistveno
- Podoben
- podobno
- Enostavno
- sam
- Velikosti
- velikosti
- majhna
- manj
- So
- Software
- Rešitev
- rešitve
- nekaj
- Viri
- Vesolje
- specialist
- specializirani
- specifična
- posebej
- določeno
- hitrost
- Poraba
- konice
- stabilna
- sveženj
- Skladovnice
- Začetek
- začel
- začne
- zagon
- Ustanavljanjem
- dinamičnega ravnovesja
- Korak
- Koraki
- Še vedno
- Postanki
- shranjevanje
- trgovina
- strategije
- pretakanje
- Stroga
- Močno
- kasneje
- uspeh
- uspešno
- taka
- dovolj
- primerna
- podpora
- Podprti
- Podpira
- prenapetost
- miza
- Bodite
- meni
- ciljna
- ciljno
- Naloga
- Naloge
- skupina
- Skupine
- TechCrunch
- tehnični
- Tehnologije
- najemnik
- tensorflo
- Test
- Testiranje
- O
- njihove
- sami
- s tem
- zato
- tisoče
- 3
- Prag
- skozi
- vsej
- pretočnost
- čas
- krat
- do
- skupaj
- tudi
- orodje
- Skupaj za plačilo
- tps
- Sledenje
- Prometa
- Vlak
- usposobljeni
- usposabljanje
- transakcijski
- Transakcije
- Transform
- Preoblikovanje
- preoblikovanje
- tranzit
- pregleden
- sprožijo
- Triton
- OBRAT
- Vrste
- tipičen
- tipično
- pod
- osnovni
- razumeli
- edinstven
- enote
- nepredvidljivo
- neuporabljeno
- Nadgradnja
- posodobitve
- nadgradnja
- nadgrajen
- uptime
- Uporaba
- uporaba
- primeru uporabe
- uporabnik
- Uporabniki
- navadno
- uporabiti
- uporablja
- POTRDI
- vrednost
- Vrednote
- Variant
- različnih
- preko
- Video
- Video posnetki
- Poglej
- Virtual
- Vizija
- Obseg
- Glasuj
- glasov
- Odpadki
- web
- spletne storitve
- teden
- Kaj
- Kaj je
- ki
- medtem
- široka
- Širok spekter
- bo
- v
- brez
- delo
- delal
- delavec
- delavci
- deluje
- deluje
- svet
- bi
- XGBoost
- leto
- Vi
- Vaša rutina za
- zefirnet
- nič