Kako je CCC Intelligent Solutions ustvaril pristop po meri za gostovanje kompleksnih modelov AI z uporabo Amazon SageMaker

Kako je CCC Intelligent Solutions ustvaril pristop po meri za gostovanje kompleksnih modelov AI z uporabo Amazon SageMaker

To objavo so skupaj napisali Christopher Diaz, Sam Kinard, Jaime Hidalgo in Daniel Suarez iz CCC Intelligent Solutions.

V tej objavi razpravljamo o tem, kako CCC Inteligentne rešitve (CCC) skupaj Amazon SageMaker z drugimi storitvami AWS za ustvarjanje rešitve po meri, ki je sposobna gostiti predvidene vrste kompleksnih modelov umetne inteligence (AI). CCC je vodilna platforma programske opreme kot storitve (SaaS) za več bilijonov dolarjev vredno gospodarstvo premoženjskih in nezgodnih zavarovanj, ki poganja operacije za zavarovalnice, serviserje, proizvajalce avtomobilov, dobavitelje delov, posojilodajalce in druge. Tehnologija v oblaku CCC povezuje več kot 30,000 podjetij, ki digitalizirajo kritične poteke dela, trgovino in uporabniške izkušnje. Zaupanja vreden vodja na področju umetne inteligence, interneta stvari (IoT), uporabniške izkušnje ter upravljanja omrežij in delovnih tokov, CCC zagotavlja inovacije, ki ohranjajo življenje ljudi naprej, ko je to najbolj pomembno.

Izziv

CCC letno obdela več kot 1 bilijon dolarjev transakcij zahtevkov. Ker se podjetje še naprej razvija, da bi integriralo AI v svoj obstoječi in novi katalog izdelkov, to zahteva prefinjene pristope za usposabljanje in uvajanje večmodalnih modelov strojnega učenja (ML) za reševanje kompleksnih poslovnih potreb. To je razred modelov, ki zajemajo lastniške algoritme in strokovno znanje na področju predmetov, ki jih je CCC izpopolnjeval v preteklih letih. Ti modeli bi morali biti zmožni zaužiti nove plasti niansiranih podatkov in pravil strank, da ustvarijo posamezne rezultate napovedi. V tej objavi v spletnem dnevniku bomo izvedeli, kako je CCC izkoristil gostovanje Amazon SageMaker in druge storitve AWS za uvedbo ali gostovanje več multimodalnih modelov v cevovod za sklepanje ansambla.

Kot je prikazano v naslednjem diagramu, je ansambel zbirka dveh ali več modelov, ki so orkestrirani tako, da delujejo na linearen ali nelinearen način, da ustvarijo eno samo napoved. Ko so linearno zloženi, je mogoče posamezne modele ansambla neposredno priklicati za napovedi in jih pozneje konsolidirati za poenotenje. Včasih je mogoče ansambelske modele implementirati tudi kot serijski sklepni cevovod.

Za naš primer uporabe je cevovod ansambla strogo nelinearen, kot je prikazano v naslednjem diagramu. Nelinearni ansambelski cevovodi so teoretično neposredno aciklični grafi (DAG). Za naš primer uporabe je imel ta cevovod DAG neodvisne modele, ki se izvajajo vzporedno (storitve B, C), in druge modele, ki uporabljajo napovedi iz prejšnjih korakov (storitev D).

Praksa, ki izhaja iz raziskovalno usmerjene kulture pri CCC, je nenehen pregled tehnologij, ki jih je mogoče uporabiti, da strankam prinesejo večjo vrednost. Ko se je CCC soočila s tem izzivom skupine, je vodstvo sprožilo pobudo za dokaz koncepta (POC), da bi temeljito ocenili ponudbe AWS, da bi odkrili, zlasti ali lahko Amazon SageMaker in druga orodja AWS upravljajo gostovanje posameznih modelov umetne inteligence v zapleteni, nelinearni obliki. ansamblov.

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ansambel je pojasnil: V tem kontekstu je ansambel skupina dveh ali več modelov AI, ki sodelujejo pri izdelavi 2 celotne napovedi.

Vprašanja, ki vodijo raziskavo

Ali je mogoče Amazon SageMaker uporabiti za gostovanje kompleksnih sklopov modelov umetne inteligence, ki skupaj zagotavljajo eno splošno napoved? Če je odgovor pritrdilen, ali lahko SageMaker takoj ponudi druge prednosti, kot so večja avtomatizacija, zanesljivost, nadzor, samodejno skaliranje in ukrepi za znižanje stroškov?

Iskanje alternativnih načinov za uvedbo CCC-jevih modelov umetne inteligence z uporabo tehnološkega napredka ponudnikov v oblaku bo podjetju CCC omogočilo, da rešitve umetne inteligence ponudi na trg hitreje kot njegova konkurenca. Poleg tega več kot ena umestitvena arhitektura zagotavlja prilagodljivost pri iskanju ravnovesja med stroški in zmogljivostjo na podlagi poslovnih prioritet.

Na podlagi naših zahtev smo dokončno oblikovali naslednji seznam funkcij kot kontrolni seznam za arhitekturo uvajanja proizvodnega razreda:

  • Podpora za kompleksne ansamble
  • Zagotovljen čas delovanja za vse komponente
  • Prilagodljivo samodejno skaliranje za nameščene modele AI
  • Ohranjanje vnosa in izhoda modela AI
  • Meritve uporabe in dnevniki za vse komponente
  • Mehanizmi varčevanja

Ker večina rešitev CCC AI temelji na modelih računalniškega vida, je bila potrebna nova arhitektura za podporo slikovnim in video datotekam, katerih ločljivost še naprej narašča. Obstajala je velika potreba po oblikovanju in implementaciji te arhitekture kot asinhronega modela.

Po ciklih raziskav in začetnih prizadevanjih za primerjalno analizo je CCC ugotovil, da je SageMaker popolnoma primeren za izpolnitev večine njihovih proizvodnih zahtev, zlasti zajamčenega delovanja, ki ga SageMaker zagotavlja za večino svojih komponent sklepanja. Privzeta funkcija končnih točk Amazon SageMaker Asynchronous Inference, ki shranjuje vhod/izhod v Amazon S3, poenostavlja nalogo ohranjanja podatkov, ustvarjenih iz kompleksnih sklopov. Poleg tega z vsakim modelom AI, ki ga gosti lastna končna točka, postane upravljanje politik samodejnega skaliranja na ravni modela ali končne točke lažje. S poenostavitvijo upravljanja je potencialna prednost prihranka stroškov ta, da lahko razvojne skupine namenijo več časa za natančno prilagajanje politik skaliranja, da zmanjšajo prekomerno zagotavljanje računalniških virov.

Ko smo se odločili, da bomo nadaljevali z uporabo SageMakerja kot ključne komponente arhitekture, smo tudi ugotovili, da je SageMaker lahko del še večje arhitekture, dopolnjene s številnimi drugimi brezstrežniškimi storitvami, ki jih upravlja AWS. Ta izbira je bila potrebna za olajšanje potreb po orkestraciji višjega reda in opazljivosti te kompleksne arhitekture.

Prvič, da bi odstranil omejitve velikosti tovora in močno zmanjšal tveganje časovne omejitve med scenariji z velikim prometom, je CCC implementiral arhitekturo, ki izvaja napovedi asinhrono z uporabo Končne točke asinhronega sklepanja SageMaker skupaj z drugimi storitvami, ki jih upravlja AWS, kot temeljnimi gradniki. Poleg tega uporabniški vmesnik za sistem sledi oblikovalskemu vzorcu "poženi in pozabi". Z drugimi besedami, ko uporabnik naloži svoj vnos v sistem, ni treba storiti ničesar več. Ko bo napoved na voljo, bodo obveščeni. Spodnja slika prikazuje pregled na visoki ravni naše asinhrone arhitekture, ki temelji na dogodkih. V prihajajočem razdelku se poglobimo v tok izvajanja zasnovane arhitekture.

Rešitev po korakih

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

korak 1

Stranka poda zahtevo pri Prehod API-ja AWS končna točka. Vsebina zahteve vsebuje ime storitve AI, od katere potrebujejo napoved in želeni način obveščanja.

Ta zahteva se posreduje a Lambda imenovana funkcija Nova napoved, katerega glavne naloge so:

  • Preverite, ali je storitev, ki jo zahteva stranka, na voljo.
  • Zahtevi dodelite edinstveni ID predvidevanja. Ta ID napovedi lahko uporabnik uporabi za preverjanje statusa napovedi skozi celoten proces.
  • Ustvari an Amazon S3 vnaprej podpisan URL, ki ga bo uporabnik moral uporabiti v naslednjem koraku za nalaganje vhodne vsebine zahteve za predvidevanje.
  • Ustvari vnos v Amazon DynamoDB s podatki o prejeti zahtevi.

Funkcija Lambda bo nato prek končne točke API Gateway vrnila odgovor s sporočilom, ki vključuje ID predvidevanja, dodeljen zahtevi, in vnaprej podpisani URL Amazon S3.

korak 2

Odjemalec varno naloži vhodno vsebino predvidevanja v vedro S3 z uporabo vnaprej podpisanega URL-ja, ustvarjenega v prejšnjem koraku. Vhodna vsebina je odvisna od storitve AI in je lahko sestavljena iz slik, tabelaričnih podatkov ali kombinacije obojega.

korak 3

Vedro S3 je konfigurirano tako, da sproži dogodek, ko uporabnik naloži vhodno vsebino. To obvestilo je poslano v čakalno vrsto Amazon SQS in obdelano s klicano funkcijo Lambda Procesni vnos. Procesni vnos Lambda bo od DynamoDB pridobila informacije, povezane s tem ID-jem napovedi, da dobi ime storitve, na katero je treba poslati zahtevo.

Ta storitev je lahko en sam model AI, v tem primeru Procesni vnos Lambda bo poslala zahtevo končni točki SageMaker, ki gosti ta model (korak 3-A), ali pa je to lahko storitev umetne inteligence ansambla, v tem primeru Procesni vnos Lambda bo podala zahtevo državnemu stroju stopenjskih funkcij, ki gosti logiko ansambla (korak 3-B).

Pri kateri koli možnosti (enojni model AI ali storitev AI za skupino), ko bo končna napoved pripravljena, bo shranjena v ustreznem vedru S3, klicatelj pa bo obveščen na način, določen v 1. koraku (več podrobnosti o obvestilih v koraku 4).

Korak 3-A

Če je ID napovedi povezan z enim samim modelom AI, se Procesni vnos Lambda bo poslala zahtevo končni točki SageMaker, ki služi modelu. V tem sistemu sta podprti dve vrsti končnih točk SageMaker:

  • Asinhrono: Procesni vnos Lambda pošlje zahtevo asinhroni končni točki SageMaker. Takojšnji odziv vključuje lokacijo S3, kjer bo SageMaker shranil izhodne podatke predvidevanja. Ta zahteva je asinhrona, sledi vzorcu sproži in pozabi in ne blokira poteka izvajanja funkcije Lambda.
  • sinhrono: Procesni vnos Lambda pošlje zahtevo sinhroni končni točki SageMaker. Ker gre za sinhrono zahtevo, Process Input čaka na odgovor in ga, ko ga prejme, shrani v S3 na podoben način, kot bi to storile asinhrone končne točke SageMaker.

V obeh primerih (sinhrone ali asinhrone končne točke) se napoved obdela na enakovreden način, pri čemer se izhod shrani v vedro S3. Ko asinhrona končna točka SageMaker zaključi predvidevanje, se sproži dogodek Amazon SNS. To vedenje se ponovi tudi za sinhrone končne točke z dodatno logiko v funkciji Lambda.

Korak 3-B

Če je ID napovedi povezan z ansamblom AI, je Procesni vnos Lambda bo poslala zahtevo stopenjski funkciji, povezani s tem AI Ensemble. Kot je navedeno zgoraj, je ansambel AI arhitektura, ki temelji na skupini modelov AI, ki skupaj ustvarjajo eno samo splošno napoved. Orkestracija ansambla z umetno inteligenco poteka prek funkcije korakov.

Funkcija korakov ima en korak na storitev AI, ki sestavlja skupino. Vsak korak bo priklical funkcijo Lambda, ki bo pripravila ustrezen vnos storitve AI z uporabo različnih kombinacij izhodne vsebine iz prejšnjih klicev storitve AI prejšnjih korakov. Nato pokliče vsako storitev AI, ki je v tem kontekstu lahko en sam model AI ali druga skupina AI.

Ista funkcija Lambda, imenovana GetTransformCall ki se uporablja za obdelavo vmesnih napovedi ansambla AI Ensemble, se uporablja skozi celotno funkcijo koraka, vendar z različnimi vhodnimi parametri za vsak korak. Ta vnos vključuje ime storitve AI, ki jo želite poklicati. Vključuje tudi definicijo preslikave za izdelavo vnosa za navedeno storitev AI. To se izvede z uporabo sintakse po meri, ki jo Lambda lahko dekodira, kar je, če povzamemo, slovar JSON, kjer je treba vrednosti nadomestiti z vsebino iz prejšnjih napovedi AI. Lambda bo te prejšnje napovedi prenesla iz Amazona S3.

V vsakem koraku, GetTransformCall Lambda iz Amazona S3 prebere prejšnje izhode, ki so potrebni za izgradnjo vhoda določene storitve AI. Nato bo priklical Nova napoved Lambda koda, ki je bila prej uporabljena v 1. koraku, in zagotavlja ime storitve, metodo povratnega klica (»funkcija koraka«) in žeton, potreben za povratni klic v koristnem tovoru zahteve, ki se nato shrani v DynamoDB kot nov zapis predvidevanja. Lambda tudi shrani ustvarjeni vnos te stopnje v vedro S3. Odvisno od tega, ali je ta stopnja en sam model AI ali ansambel AI, Lambda pošlje zahtevo končni točki SageMaker ali drugi funkciji koraka, ki upravlja ansambel AI, ki je odvisen od nadrejenega ansambla.

Ko je zahteva vložena, funkcija koraka preide v stanje čakanja, dokler ne prejme žetona povratnega klica, ki označuje, da se lahko premakne na naslednjo stopnjo. Dejanje pošiljanja žetona za povratni klic izvede imenovana funkcija Lambda Obvestila (več podrobnosti v 4. koraku), ko je vmesna napoved pripravljena. Ta postopek se ponavlja za vsako stopnjo, definirano v stopenjski funkciji, dokler ni pripravljena končna napoved.

korak 4

Ko je napoved pripravljena in shranjena v vedru S3, se sproži obvestilo SNS. Ta dogodek se lahko sproži na različne načine, odvisno od toka:

  1. Samodejno, ko asinhrona končna točka SageMaker zaključi napoved.
  2. Kot zadnji korak funkcije koraka.
  3. By Procesni vnos or GetTransformCall Lambda, ko je sinhrona končna točka SageMaker vrnila napoved.

Za B in C ustvarimo sporočilo SNS, podobno tistemu, ki ga samodejno pošlje A.

Funkcija Lambda, imenovana obvestila, je naročena na to temo SNS. Obvestila Lambda bo pridobila informacije v zvezi z ID-jem predvidevanja iz DynamoDB, posodobila vnos z vrednostjo statusa na »dokončano« ali »napaka« in izvedla potrebno dejanje, odvisno od načina povratnega klica, shranjenega v zapisu baze podatkov.

Če je ta napoved vmesna napoved skupine AI, kot je opisano v koraku 3-B, bo način povratnega klica, povezan s to napovedjo, »funkcija koraka«, zapis baze podatkov pa bo imel žeton povratnega klica, povezan z določenim korakom v stopenjska funkcija. Obvestila Lambda bodo opravila klic AWS Step Functions API z uporabo metode »SendTaskSuccess« ali »SendTaskFailure«. To bo funkciji korakov omogočilo nadaljevanje na naslednji korak ali izhod.

Če je predvidevanje končni rezultat funkcije koraka in je način povratnega klica »Webhook« [ali e-pošta, posredniki sporočil (Kafka) itd.], bo obvestila Lambda obvestila odjemalca na določen način. Uporabnik lahko kadar koli zahteva status svoje napovedi. Zahteva mora vključevati ID predvidevanja, ki je bil dodeljen v 1. koraku, in kazati na pravilen URL znotraj prehoda API, da usmeri zahtevo na funkcijo Lambda, imenovano Rezultati.

Rezultati Lambda bo poslala zahtevo DynamoDB, pridobila status zahteve in vrnila informacije uporabniku. Če je stanje napovedi Napaka, potem bodo ustrezne podrobnosti o napaki vključene v odgovor. Če je stanje napovedi uspeh, bo uporabniku vrnjen vnaprej podpisan URL S3 za prenos vsebine predvidevanja.

Rezultati

Predhodni rezultati testiranja delovanja so obetavni in podpirajo CCC, da razširi izvajanje te nove arhitekture uvajanja.

Pomembna opažanja:

  • Preizkusi razkrivajo moč pri obdelavi paketnih ali sočasnih zahtev z visoko prepustnostjo in 0-odstotno stopnjo napak med scenariji velikega prometa.
  • Čakalne vrste sporočil zagotavljajo stabilnost v sistemu med nenadnimi pritoki zahtev, dokler sprožilci skaliranja ne zagotovijo dodatnih računalniških virov. Pri 3-kratnem povečanju prometa se je povprečna zakasnitev zahteve povečala le za 5 odstotkov.
  • Cena stabilnosti je povečana zakasnitev zaradi komunikacijskih stroškov med različnimi komponentami sistema. Ko je uporabniški promet nad osnovnim pragom, je mogoče dodano zakasnitev delno ublažiti z zagotavljanjem več računalniških virov, če je zmogljivost višja prednost pred stroški.
  • Končne točke asinhronega sklepanja SageMaker omogočajo zmanjšanje števila primerkov na nič, medtem ko končna točka ostane aktivna za sprejemanje zahtev. Ta funkcionalnost omogoča, da se uvedbe še naprej izvajajo, ne da bi pri tem povzročile stroške računalništva, in se povečajo od nič, ko je to potrebno, v dveh scenarijih: uvedbe storitev, ki se uporabljajo v nižjih testnih okoljih, in tiste, ki imajo minimalen promet in ne zahtevajo takojšnje obdelave.

zaključek

Kot je bilo ugotovljeno med postopkom POC, inovativna zasnova, ki sta jo skupaj ustvarila CCC in AWS, zagotavlja trdne temelje za uporabo Amazon SageMaker z drugimi storitvami, ki jih upravlja AWS, za gostovanje kompleksnih večmodalnih sklopov umetne inteligence in učinkovito in brezhibno orkestriranje cevovodov sklepanja. Z izkoriščanjem že pripravljenih funkcij Amazon SageMaker, kot je Asynchronous Inference, ima CCC več možnosti, da se osredotoči na specializirane poslovno kritične naloge. V duhu raziskovalno usmerjene kulture CCC se bo ta nova arhitektura še naprej razvijala, saj bo CCC skupaj z AWS vodila pot naprej pri sproščanju zmogljivih novih rešitev AI za stranke.

Za podrobne korake o tem, kako ustvariti, priklicati in spremljati končne točke asinhronega sklepanja, glejte Dokumentacija, ki vsebuje tudi a vzorec zvezka da vam pomagam začeti. Za informacije o cenah obiščite Cene Amazon SageMaker.

Za primere uporabe asinhronega sklepanja z nestrukturiranimi podatki, kot sta računalniški vid in obdelava naravnega jezika (NLP), glejte Zaženite sklepanje računalniškega vida na velikih videoposnetkih z asinhronimi končnimi točkami Amazon SageMaker in Izboljšajte raziskave visoke vrednosti s končnimi točkami asinhronega sklepanja Hugging Face in Amazon SageMakerOz.


O avtorjih

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Christopher Diaz je vodilni inženir za raziskave in razvoj pri CCC Intelligent Solutions. Kot član skupine za raziskave in razvoj je delal na različnih projektih, ki segajo od orodij ETL, zalednega spletnega razvoja, sodelovanja z raziskovalci za usposabljanje modelov umetne inteligence v porazdeljenih sistemih in olajšanja zagotavljanja novih storitev umetne inteligence med raziskovalnimi in operativnimi skupinami. Njegov nedavni poudarek je bil na raziskovanju rešitev orodij v oblaku za izboljšanje različnih vidikov življenjskega cikla razvoja modela AI podjetja. V prostem času uživa v preizkušanju novih restavracij v domačem Chicagu in zbiranju toliko kompletov LEGO, kolikor jih lahko sprejme njegov dom. Christopher je diplomiral iz računalništva na univerzi Northeastern Illinois.

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Dobitnik nagrade Emmy Sam Kinard je višji vodja programskega inženiringa pri CCC Intelligent Solutions. S sedežem v Austinu v Teksasu se prepira z ekipo AI Runtime Team, ki je odgovorna za storitve CCC-jevih izdelkov AI pri visoki razpoložljivosti in velikem obsegu. Sam v prostem času uživa v neprespanosti zaradi svojih dveh čudovitih otrok. Sam je diplomiral iz računalništva in diplomiral iz matematike na teksaški univerzi v Austinu.

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Jaime Hidalgo je višji sistemski inženir pri CCC Intelligent Solutions. Preden se je pridružil raziskovalni skupini AI, je vodil globalno migracijo podjetja na arhitekturo mikrostoritev, načrtovanje, gradnjo in avtomatizacijo infrastrukture v AWS za podporo uvajanju izdelkov in storitev v oblaku. Trenutno gradi in podpira lokalno gručo podatkovnega centra, zgrajeno za usposabljanje z umetno inteligenco, ter oblikuje in gradi rešitve v oblaku za prihodnost podjetja pri raziskavah in uvajanju umetne inteligence.

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Daniel Suarez je inženir podatkovne znanosti pri CCC Intelligent Solutions. Kot član ekipe AI Engineering se ukvarja z avtomatizacijo in pripravo modelov AI pri izdelavi, vrednotenju in spremljanju metrik ter drugih vidikov operacij ML. Daniel je magistriral iz računalništva na tehnološkem inštitutu Illinois ter magistriral in diplomiral iz telekomunikacijskega inženiringa na Universidad Politecnica de Madrid.

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Arunprasath Shankar je višji arhitekt za rešitve AI/ML pri AWS, ki strankam po vsem svetu pomaga učinkovito in uspešno prilagoditi svoje rešitve AI v oblaku. V prostem času Arun uživa v gledanju znanstvenofantastičnih filmov in poslušanju klasične glasbe.

­­How CCC Intelligent Solutions created a custom approach for hosting complex AI models using Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.Justin McWhirter je vodja arhitekta rešitev pri AWS. Sodeluje z ekipo izjemnih arhitektov rešitev, ki strankam pomagajo pridobiti pozitivno izkušnjo pri sprejemanju platforme AWS. Ko ni v službi, Justin uživa v igranju video iger s svojima fantoma, hokeju na ledu in vožnji po brezpotjih s svojim džipom.

Časovni žig:

Več od Strojno učenje AWS