Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon

Preveri je partner platforme za preverjanje identitete za inovativne organizacije, usmerjene v rast, vključno s pionirji na področju finančnih storitev, FinTech, kripto, iger na srečo, mobilnosti in spletnih tržnic. Zagotavljajo napredno tehnologijo, ki združuje avtomatizacijo, ki jo poganja AI, s človeškimi povratnimi informacijami, globokimi vpogledi in strokovnim znanjem.

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Veriff zagotavlja preizkušeno infrastrukturo, ki njihovim strankam omogoča zaupanje v identitete in osebne lastnosti svojih uporabnikov v vseh pomembnih trenutkih na njihovi poti do stranke. Veriff zaupajo stranke, kot so Bolt, Deel, Monese, Starship, Super Awesome, Trustpilot in Wise.

Kot rešitev, ki temelji na AI, mora Veriff ustvariti in izvajati na desetine modelov strojnega učenja (ML) na stroškovno učinkovit način. Ti modeli segajo od lahkih drevesnih modelov do modelov računalniškega vida za globoko učenje, ki morajo delovati na grafičnih procesorjih, da dosežejo nizko zakasnitev in izboljšajo uporabniško izkušnjo. Veriff prav tako trenutno dodaja več izdelkov v svojo ponudbo in cilja na hiperpersonalizirano rešitev za svoje stranke. Storitev različnih modelov za različne stranke povečuje potrebo po razširljivi rešitvi za streženje modelov.

V tej objavi vam pokažemo, kako je Veriff standardiziral potek dela za uvajanje modela z uporabo Amazon SageMaker, zmanjšanje stroškov in časa razvoja.

Infrastrukturni in razvojni izzivi

Veriffova zaledna arhitektura temelji na vzorcu mikrostoritev, pri čemer se storitve izvajajo v različnih gručih Kubernetes, ki gostujejo v infrastrukturi AWS. Ta pristop je bil prvotno uporabljen za vse storitve podjetja, vključno z mikrostoritvami, ki poganjajo drage modele ML z računalniškim vidom.

Nekateri od teh modelov so zahtevali uvedbo na primerkih GPU. Zavedajoč se sorazmerno višjih stroškov vrst primerkov, podprtih z GPU, je Veriff razvil a rešitev po meri na Kubernetes za skupno rabo danih virov GPE med različnimi replikami storitev. Posamezen GPE ima običajno dovolj VRAM-a, da v pomnilniku shrani več Veriffovih modelov računalniškega vida.

Čeprav je rešitev zmanjšala stroške GPE, je prišla tudi z omejitvijo, da so morali podatkovni znanstveniki vnaprej navesti, koliko pomnilnika GPE potrebuje njihov model. Poleg tega so bili DevOps obremenjeni z ročnim zagotavljanjem primerkov GPU kot odgovor na vzorce povpraševanja. To je povzročilo operativne režijske stroške in prekomerno zagotavljanje primerkov, kar je povzročilo neoptimalen profil stroškov.

Poleg zagotavljanja GPE je ta nastavitev od podatkovnih znanstvenikov zahtevala tudi izdelavo ovoja REST API za vsak model, ki je bil potreben za zagotavljanje generičnega vmesnika za uporabo drugih storitev podjetja ter za inkapsulacijo predprocesiranja in naknadnega procesiranja podatkov modela. Ti API-ji so zahtevali kodo proizvodnega razreda, zaradi česar je bilo podatkovnim znanstvenikom izziv za izdelavo modelov.

Veriffova ekipa platforme za podatkovno znanost je iskala alternativne načine za ta pristop. Glavni cilj je bil podpreti podatkovne znanstvenike podjetja pri boljšem prehodu iz raziskav v proizvodnjo z zagotavljanjem enostavnejših cevovodov za uvajanje. Sekundarni cilj je bil zmanjšati operativne stroške zagotavljanja primerkov GPU.

Pregled rešitev

Veriff je zahteval novo rešitev, ki je rešila dve težavi:

  • Omogočite enostavno izdelavo ovojov REST API okoli modelov ML
  • Omogočite optimalno in, če je mogoče, samodejno upravljanje zmogljivosti omogočene instance GPE

Končno se je ekipa platforme ML zbližala pri odločitvi za uporabo Večmodelne končne točke Sagemaker (MME). Ta odločitev je bila posledica podpore MME za NVIDIA Triton Inference Server (strežnik, osredotočen na ML, ki omogoča enostavno zavijanje modelov kot API-jev REST; Veriff je prav tako že eksperimentiral s Tritonom), kot tudi njegovo zmožnost izvornega upravljanja samodejnega skaliranja primerkov GPU prek preprostih politik samodejnega skaliranja.

Pri Veriffu so ustvarili dva MME, enega za uprizoritev in enega za produkcijo. Ta pristop jim omogoča izvajanje korakov testiranja v uprizoritvenem okolju, ne da bi to vplivalo na proizvodne modele.

SageMaker MME

SageMaker je popolnoma upravljana storitev, ki razvijalcem in podatkovnim znanstvenikom omogoča hitro gradnjo, usposabljanje in uvajanje modelov ML. SageMaker MME zagotavljajo razširljivo in stroškovno učinkovito rešitev za uvajanje velikega števila modelov za sklepanje v realnem času. MME uporabljajo skupni strežni vsebnik in floto virov, ki lahko uporabljajo pospešene instance, kot so GPU, za gostovanje vseh vaših modelov. To zmanjša stroške gostovanja z maksimiranjem uporabe končne točke v primerjavi z uporabo končnih točk z enim modelom. Prav tako zmanjša stroške uvajanja, ker SageMaker upravlja nalaganje in razkladanje modelov v pomnilniku ter njihovo skaliranje na podlagi prometnih vzorcev končne točke. Poleg tega imajo vse končne točke SageMaker v realnem času koristi od vgrajenih zmogljivosti za upravljanje in spremljanje modelov, kot je vključevanje senčne variante, samodejno skaliranjein domača integracija z amazoncloudwatch (za več informacij glejte Meritve CloudWatch za uvedbe končnih točk z več modeli).

Modeli Triton po meri

Obstaja več razlogov, zakaj se je Veriff odločil uporabiti Triton Inference Server, glavni pa so:

  • Podatkovnim znanstvenikom omogoča, da iz modelov zgradijo API-je REST z urejanjem datotek artefaktov modela v standardni obliki imenika (brez kodne rešitve)
  • Združljiv je z vsemi glavnimi ogrodji AI (PyTorch, Tensorflow, XGBoost in več)
  • Zagotavlja nizkonivojske in strežniške optimizacije, specifične za ML, kot npr dinamično doziranje zahtevkov

Uporaba Tritona podatkovnim znanstvenikom omogoča preprosto uvajanje modelov, saj morajo namesto pisanja kode za izdelavo REST API-jev zgraditi le oblikovane repozitorije modelov (Triton podpira tudi Python modeli če je potrebna logika sklepanja po meri). To skrajša čas uvajanja modela in daje podatkovnim znanstvenikom več časa, da se osredotočijo na gradnjo modelov, namesto na njihovo uvajanje.

Druga pomembna lastnost Tritona je, da vam omogoča gradnjo manekenski ansambli, ki so skupine modelov, ki so povezani skupaj. Te sklope je mogoče voditi, kot da bi bili en sam model Triton. Veriff trenutno uporablja to funkcijo za uvajanje logike predprocesiranja in postprocesiranja z vsakim modelom ML z uporabo modelov Python (kot je bilo omenjeno prej), s čimer zagotavlja, da ni neujemanja v vhodnih podatkih ali izhodu modela, ko se modeli uporabljajo v proizvodnji.

Spodaj je videti tipičen repozitorij modela Triton za to delovno obremenitev:

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

O model.py datoteka vsebuje kodo za predprocesiranje in naknadno obdelavo. Uteži natreniranih modelov so v screen_detection_inferencer imenik, pod različico modela 1 (model je v tem primeru v formatu ONNX, lahko pa tudi v formatu TensorFlow, PyTorch ali drugih). Definicija modela ansambla je v screen_detection_pipeline imenik, kjer so vhodi in izhodi med koraki preslikani v konfiguracijsko datoteko.

Dodatne odvisnosti, potrebne za izvajanje modelov Python, so podrobno opisane v a requirements.txt datoteko in jo je treba zapakirati v conda, da se zgradi okolje Conda (python_env.tar.gz). Za več informacij glejte Upravljanje izvajalnega okolja in knjižnic Python. Poleg tega morajo konfiguracijske datoteke za korake Pythona kazati na python_env.tar.gz uporabi EXECUTION_ENV_PATH Direktiva.

Mapa modela je nato treba stisniti TAR in preimenovati z uporabo model_version.txt. Končno, rezultat <model_name>_<model_version>.tar.gz datoteka se kopira v Preprosta storitev shranjevanja Amazon (Amazon S3) vedro, povezano z MME, kar SageMakerju omogoča zaznavanje in serviranje modela.

Različica modela in neprekinjeno uvajanje

Kot je razvidno iz prejšnjega razdelka, je izdelava repozitorija modela Triton enostavna. Vendar pa je zagon vseh potrebnih korakov za njegovo uvajanje dolgočasen in nagnjen k napakam, če ga zaženete ročno. Da bi to premagal, je Veriff zgradil monorepo, ki vsebuje vse modele, ki jih je treba namestiti v MME, kjer podatkovni znanstveniki sodelujejo v pristopu, podobnem Gitflowu. Ta monorepo ima naslednje lastnosti:

  • Upravlja se z uporabo Hlače.
  • Orodja za kakovost kode, kot sta Black in MyPy, se uporabljajo z uporabo Pants.
  • Za vsak model so opredeljeni testi enot, ki preverjajo, ali je izhod modela pričakovan izhod za dani vhod modela.
  • Uteži modelov so shranjene skupaj z repozitoriji modelov. Te uteži so lahko velike binarne datoteke, torej KVB se uporablja za njihovo sinhronizacijo z Gitom na način z različicami.

Ta monorepo je integriran z orodjem za stalno integracijo (CI). Za vsak nov pritisk na repo ali nov model se izvedejo naslednji koraki:

  1. Opravite preverjanje kakovosti kode.
  2. Prenesite uteži modela.
  3. Zgradite okolje Conda.
  4. Zavrtite strežnik Triton z okoljem Conda in ga uporabite za obdelavo zahtev, definiranih v testih enot.
  5. Zgradite datoteko TAR končnega modela (<model_name>_<model_version>.tar.gz).

Ti koraki zagotavljajo, da imajo modeli kakovost, ki je potrebna za uvedbo, tako da se za vsak pritisk na vejo repoja nastala datoteka TAR kopira (v drugem koraku CI) v uprizoritveno vedro S3. Ko se potiski izvedejo v glavni veji, se datoteka modela prekopira v produkcijsko vedro S3. Naslednji diagram prikazuje ta sistem CI/CD.

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Prednosti stroškov in hitrosti uvajanja

Uporaba MME omogoča Veriffu uporabo pristopa monorepo za uvajanje modelov v proizvodnjo. Če povzamemo, potek dela za uvajanje novega modela Veriff je sestavljen iz naslednjih korakov:

  1. Ustvarite vejo v monorepoju z novim modelom ali različico modela.
  2. Definirajte in zaženite teste enot v razvojnem stroju.
  3. Potisnite vejo, ko je model pripravljen za testiranje v uprizoritvenem okolju.
  4. Spojite vejo v glavno, ko bo model pripravljen za uporabo v proizvodnji.

S to novo rešitvijo je uvedba modela v podjetju Veriff preprost del razvojnega procesa. Čas razvoja novega modela se je zmanjšal z 10 dni na povprečno 2 dni.

Funkcije za zagotavljanje upravljane infrastrukture in samodejnega skaliranja SageMakerja so Veriffu prinesle dodatne prednosti. Uporabili so InvocationsPerInstance Meritev CloudWatch za prilagajanje glede na prometne vzorce, kar prihrani pri stroških brez žrtvovanja zanesljivosti. Da bi določili vrednost praga za metriko, so izvedli testiranje obremenitve na uprizoritveni končni točki, da bi našli najboljši kompromis med zakasnitvijo in stroški.

Po uvedbi sedmih produkcijskih modelov v MME in analizi porabe je Veriff poročal o 75-odstotnem znižanju stroškov pri modelu GPU v primerjavi z izvirno rešitvijo, ki temelji na Kubernetesu. Zmanjšali so se tudi operativni stroški, saj je bilo breme ročnega zagotavljanja primerkov odvzeto inženirjem podjetja DevOps.

zaključek

V tej objavi smo pregledali, zakaj je Veriff izbral MME Sagemaker namesto samoupravljane uvedbe modela na Kubernetes. SageMaker prevzema nediferencirano težko delo in Veriffu omogoča, da skrajša čas razvoja modela, poveča učinkovitost inženiringa in dramatično zniža stroške sklepanja v realnem času, hkrati pa ohrani zmogljivost, potrebno za njihove poslovno kritične operacije. Nazadnje smo predstavili Veriffov preprost, a učinkovit cevovod CI/CD za uvajanje modela in mehanizem za različice modela, ki se lahko uporabita kot referenčna izvedba združevanja najboljših praks razvoja programske opreme in MME-jev SageMaker. Vzorce kode za gostovanje več modelov z uporabo SageMaker MME najdete na GitHub.


O avtorjih

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Ricard Borràs je višji vodja strojnega učenja pri Veriffu, kjer vodi prizadevanja MLOps v podjetju. Podatkovnim znanstvenikom pomaga zgraditi hitrejše in boljše izdelke AI/ML, tako da v podjetju zgradi podatkovno znanstveno platformo in združi več odprtokodnih rešitev s storitvami AWS.

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.João Moura je specialist za rešitve AI/ML pri AWS s sedežem v Španiji. Strankam pomaga z modeliranjem globokega učenja in obsežnim usposabljanjem in optimizacijo sklepanja ter širše pri gradnji obsežnih platform ML na AWS.

Kako je Veriff skrajšal čas uvajanja za 80 % z uporabo večmodelnih končnih točk Amazon SageMaker | Spletne storitve Amazon PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Miguel Ferreira dela kot starejši arhitekt rešitev pri AWS s sedežem v Helsinkih na Finskem. Umetna inteligenca/ML se že vse življenje zanima in številnim strankam je pomagal integrirati Amazon SageMaker v njihove poteke dela ML.

Časovni žig:

Več od Strojno učenje AWS