Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtude jaoks

See postitus on kirjutatud koos Sowmya Manusaniga, Zendeski vanem masinõppeinseneriga

Zendesk on SaaS-i ettevõte, mis loob kõigi jaoks tugi-, müügi- ja klientide kaasamise tarkvara, mille aluseks on lihtsus. See areneb tänu sellele, et üle 170,000 XNUMX ettevõtte üle maailma teenindab tõhusalt oma sadu miljoneid kliente. Zendcaeski masinõppemeeskond vastutab kliendikogemuse meeskondade täiustamise eest, et saavutada oma parim. Ühendades andmete ja inimeste võimsuse, pakub Zendesk intelligentseid tooteid, mis muudavad nende kliendid käsitsitöö automatiseerimise kaudu tootlikumaks.

Zendesk on ML tooteid ehitanud alates 2015. aastast, sh Vasta Botile, Rahulolu ennustamine, Sisu näpunäited, Soovitatavad makrod, ja paljud teised. Viimastel aastatel nägid nad süvaõppe kasvuga, eriti NLP-s, palju võimalusi töövoogude automatiseerimiseks ja agentide abistamiseks oma klientide toetamisel Zendeski lahendustega. Zendesk kasutab praegu süvaõppemudelite loomiseks TensorFlow ja PyTorchi.

Kliendid, nagu Zendesk, on Amazon Web Servicesis (AWS) loonud edukaid laiaulatuslikke tarkvara kui teenuse (SaaS) ettevõtteid. Eduka SaaS-i ärimudeli peamiseks tõukejõuks on võimalus rakendada rakenduses ja infrastruktuuris mitut üürilepingut. See võimaldab suurendada kulusid ja toimimist, sest rakendust tuleb ehitada vaid üks kord, kuid seda saab kasutada mitu korda ja infrastruktuuri saab jagada. Näeme, et paljud kliendid ehitavad AWS-is turvalisi, kuluefektiivseid ja mitme rentnikuga süsteeme pinu kõigil kihtidel, alates arvutamisest, salvestusest, andmebaasist kuni võrgu loomiseni, ja nüüd näeme, et kliendid peavad seda masinõppes (ML) rakendama. ).

Raske kompromissi tegemine mudeli taaskasutamise ja hüperpersonaliseerimise vahel

SaaS-i ettevõtete mitmekordne rentimine tähendab tavaliselt seda, et ühte rakendust kasutatakse uuesti paljude kasutajate (SaaS-i klientide) vahel. See suurendab kuluefektiivsust ja vähendab tegevuskulusid. Täpsete prognooside tegemiseks tuleb aga masinõppemudeleid mõnikord suure spetsiifilisusega isikupärastada (hüperpersonaliseerida). See tähendab, et SaaS-i paradigmat „Ehita üks kord, kasuta mitu korda” ei saa alati ML-ile rakendada, kui mudelitel on spetsiifilisus. Võtke näiteks klienditoe platvormide kasutusjuht. Keel, mida kasutajad tugipiletile lisavad, oleneb sellest, kas tegemist on sõidujagamise probleemiga („sõit kestis liiga kaua“) või riiete ostmisega („värvimuutus pesemisel“). Sel juhul võib parima parandustoimingu ennustamise täpsuse parandamiseks olla vajalik loomuliku keele töötlemise (NLP) mudeli väljaõpe ärivaldkonna või tööstuse vertikaali jaoks spetsiifilise andmestiku kohta. Zendesk seisab silmitsi täpselt selle väljakutsega, kui üritab oma lahendustes ML-i võimendada. Nad pidid looma tuhandeid väga kohandatud ML-mudeleid, millest igaüks oli kohandatud konkreetse kliendi jaoks. Tuhandete mudelite kuluefektiivse kasutuselevõtu väljakutse lahendamiseks pöördus Zendesk Amazon SageMakeri poole.

Selles postituses näitame, kuidas mõnda uuemat funktsiooni kasutada Amazon SageMaker, täielikult hallatav masinõppeteenus, et luua mitme rentnikuga ML-i järeldamisvõimalus. Samuti jagame reaalset näidet selle kohta, kuidas Zendesk saavutas edukalt sama tulemuse, rakendades õnneliku meediumi oma ML-mudelites hüperpersonaliseerimise toetamise ja infrastruktuuri kuluefektiivse ja jagatud kasutamise vahel, kasutades SageMakeri mitme mudeli lõpp-punkte ( MME).

SageMakeri mitme mudeli lõpp-punktid

SageMakeri mitme mudeli lõpp-punktid võimaldavad teil juurutada mitu mudelit ühe järelduse lõpp-punkti taga, mis võib sisaldada ühte või mitut eksemplari. Iga eksemplar on mõeldud mitme mudeli laadimiseks ja teenindamiseks kuni selle mälu ja protsessori mahuni. Selle arhitektuuriga saab SaaS-i ettevõte kaotada mitme mudeli hostimise lineaarselt kasvavad kulud ja saavutada infrastruktuuri taaskasutamise, mis on kooskõlas mujal rakenduste virnas rakendatava mitme rendimudeliga.

Järgmine diagramm illustreerib SageMakeri mitme mudeli lõpp-punkti arhitektuuri.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

SageMakeri mitme mudeli lõpp-punkt laadib dünaamiliselt mudeleid alates Amazoni lihtne salvestusteenus (Amazon S3) käivitamisel, selle asemel, et lõpp-punkti esmakordsel loomisel alla laadida kõik mudelid. Selle tulemusena võib mudeli esialgne kutsumine näha suuremat järelduste latentsust kui järgnevad järeldused, mis viiakse lõpule madala latentsusega. Kui mudel on käivitamisel konteinerisse juba laaditud, jäetakse allalaadimise etapp vahele ja mudel tagastab järeldused madala latentsusega. Oletagem näiteks, et teil on mudel, mida kasutatakse vaid paar korda päevas. See laaditakse nõudmisel automaatselt, samas kui sageli kasutatavad mudelid säilitatakse mällu ja käivitatakse pidevalt madala latentsusega.

Vaatame lähemalt, kuidas Zendesk kasutas SageMaker MME-d, et saavutada kulutõhusa hüperskaala ML juurutamine nende soovitatud makrode ML funktsiooniga.

Miks Zendesk ehitas hüperpersonaliseeritud mudeleid?

Zendeski kliendid on globaalselt levinud erinevates tööstusharudes, millel on erinev tugipiletite semantika. Seetõttu peavad nad klientide parimaks teenindamiseks sageli looma isikupärastatud mudeleid, mis on koolitatud kliendipõhiste tugipiletite andmete põhjal, et kavatsust, makrosid ja muud õigesti tuvastada.

2021. aasta oktoobris andsid nad välja uue NLP ML-i funktsiooni Soovitatud makrod, mis soovitab makrosid (eelmääratletud toiminguid) tuhandete kliendispetsiifiliste mudeliennustuste põhjal. Zendeski ML-i meeskond koostas TensorFlow-põhise NLP-klassifikaatori mudeli, mis on koolitatud pileti sisu ja makrode varasemast ajaloost kliendi kohta. Nende mudelite puhul on makroprognoos soovitatav iga kord, kui agent vaatab piletit (nagu on näidatud järgmisel ekraanipildil), mis aitab agendil kliente kiiresti teenindada. Kuna makrod on klientidele omased, vajab Zendesk täpsete prognooside esitamiseks kliendipõhiseid mudeleid.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Zendeski soovitatud makrode kapoti all

Soovitatavad makromudelid on NLP-põhised närvivõrgud, mille suurus on umbes 7–15 MB. Peamine väljakutse on panna tuhandeid neid mudeleid tootmisse kuluefektiivsete, töökindlate ja skaleeritavate lahendustega.

Igal mudelil on erinevad liiklusmustrid, minimaalselt kaks päringut sekundis ja maksimaalne sadade päringute arv sekundis, mis teenindab miljoneid ennustusi päevas mudeli latentsusajaga umbes 100 millisekundit, kui mudel on mälus saadaval. SageMakeri lõpp-punktid on juurutatud mitmes AWS-i piirkonnas, teenindades iga lõpp-punkti kohta tuhandeid päringuid minutis.

Tänu oma võimele majutada mitut mudelit ühes lõpp-punktis, aitas SageMaker Zendeskil vähendada juurutamise üldkulusid ja luua kulutõhusa lahenduse, võrreldes ühe mudeli lõpp-punkti juurutamisega kliendi kohta. Kompromiss on siin väiksema kontrolli mudelipõhise haldamise üle; see on aga valdkond, kus Zendesk teeb koostööd AWS-iga, et täiustada mitme mudeli lõpp-punkte.

Üks SageMakeri mitme mudeli funktsioone on mudelite laisk laadimine, st mudelid laaditakse mällu esmakordsel käivitamisel. See on mõeldud mälu kasutamise optimeerimiseks; see põhjustab aga reageerimisaja hüppeid esimesel koormusel, mida võib vaadelda külmkäivituse probleemina. Soovitatud makrode jaoks oli see väljakutse; Zendesk sai sellest aga üle, rakendades SageMakeri lõpp-punkti pakkumisele eellaadimise funktsiooni, et laadida mudelid enne tootmisliikluse teenindamist mällu. Teiseks laadib MME mälust välja harva kasutatavad mudelid, nii et kõigi mudelite ühtlast madalat latentsust ja vältida "mürarikaste naabrite" mõju teistele vähemaktiivsetele mudelitele, teeb Zendesk koostööd AWS-iga, et lisada uusi funktsioone, mida arutatakse hiljem postituses. selgesõnalisem mudelipõhine juhtimine. Lisaks on Zendesk ajutise lahendusena MME-pargi õige suurusega, et minimeerida liiga paljude mudelite mahalaadimist. Selle abil suudab Zendesk pakkuda ennustusi kõigile oma klientidele madala latentsusajaga, umbes 100 millisekundiga, ja saavutada siiski 90% kulude kokkuhoidu võrreldes spetsiaalsete lõpp-punktidega.

MME õige suuruse puhul täheldas Zendesk koormustestimise ajal, et suurem arv väiksemaid eksemplare (horisontaalse skaleerimise nihe) MME taga oli parem valik kui vähem suuremaid mälueksemplare (vertikaalne skaleerimine). Zendesk märkis, et liiga paljude mudelite (nende puhul üle 500 TensorFlow mudeli) pakkimine ühele suurele mälueksemplarile ei toiminud hästi, kuna mälu pole eksemplari ainus ressurss, mis võib olla kitsaskohaks. Täpsemalt täheldasid nad, et TensorFlow tekitas mudeli kohta mitu lõime (3 korda eksemplari vCPU-sid kokku), nii et üle 500 mudeli laadimine ühele eksemplarile põhjustas tuumataseme piirangute rikkumise eksemplarile tekitatavate lõimede maksimaalse arvu osas. Veel üks probleem väiksemate ja suuremate eksemplaride kasutamisel ilmnes siis, kui Zendesk koges mõnel MME taga oleval eksemplaril (turvamehhanismina) drosselit, kuna unikaalne mudeli käivitamise kiirus sekundis ületas Mitme mudeli server (MMS) saaks ühel eksemplaril ohutult hakkama ilma eksemplari pruunistamata. See oli veel üks probleem, mis lahenes rohkemate ja väiksemate eksemplaride kasutamisega.

Vaadeldavuse vaatenurgast, mis on iga tootmisrakenduse oluline komponent, Amazon CloudWatch mõõdikud, nagu kutsumised, protsessor, mälukasutus ja mitme mudelipõhised mõõdikud, nagu mällu laaditud mudelid, mudeli laadimisaeg, mudeli laadimise ooteaeg ja mudeli vahemälu tabamus, on informatiivsed. Täpsemalt, mudeli latentsusaja jaotus aitas Zendeskil mõista külmkäivituse probleemi ja selle mõju.

MME automaatse skaleerimise kapoti all

Iga mitme mudeli lõpp-punkti taga on mudeli hostimise eksemplarid, nagu on näidatud järgmisel diagrammil. Need eksemplarid laadivad ja eemaldavad mitu mudelit mälusse ja sealt välja mudelite liiklusmustrite põhjal.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

SageMaker jätkab mudeli järelduspäringute suunamist eksemplari, kus mudel on juba laaditud, nii et päringud edastatakse vahemällu salvestatud mudelikoopiast (vt järgmist diagrammi, mis näitab päringu teed esimese ennustuspäringu ja vahemällu salvestatud ennustuspäringu jaoks tee). Kui aga mudel saab palju kutsumistaotlusi ja mitme mudeli lõpp-punkti jaoks on täiendavaid eksemplare, suunab SageMaker mõned päringud teise eksemplari, et seda kasvu arvesse võtta. SageMakeri automaatse mudeli skaleerimise eeliste kasutamiseks veenduge, et teil on eksemplari automaatse skaleerimise seadistamine et pakkuda täiendavat eksemplari võimsust. Seadistage lõpp-punkti tasemel skaleerimispoliitika kas kohandatud parameetrite või väljakutsete arvuga minutis (soovitatav), et lisada lõpp-punktiparki rohkem eksemplare.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Kasutage MME jaoks kõige paremini sobivaid juhtumeid

SageMakeri mitme mudeli lõpp-punktid sobivad hästi suure hulga sarnaste mudelite majutamiseks, mida saate teenindada jagatud serveerimismahuti kaudu ja millel pole vaja korraga juurdepääsu kõigile mudelitele. MME sobib kõige paremini mudelitele, mis on suuruse ja väljakutsumise latentsusaja poolest sarnased. Mudeli suuruse mõningane erinevus on vastuvõetav; Näiteks Zendeski mudelid on vahemikus 10–50 Mb, mis töötab hästi, kuid 10, 50 või 100 korda suuremad suurusevariatsioonid ei sobi. Suuremad mudelid võivad põhjustada suurema arvu väiksemate mudelite laadimisi ja mahalaadimisi, et mahutada piisavalt mälu, mis võib põhjustada lõpp-punkti latentsusaega. Suuremate mudelite jõudlusnäitajate erinevused võivad ka ebaühtlaselt tarbida ressursse, näiteks protsessorit, mis võib mõjutada teisi eksemplari mudeleid.

MME on mõeldud ka sama ML-i raamistikku kasutavate mudelite kaashostimiseks, kuna nad kasutavad mitme mudeli laadimiseks jagatud konteinerit. Seega, kui teie mudelipargis on ML-raamistike segu (nt PyTorch ja TensorFlow), on SageMakerile pühendatud lõpp-punktid või mitme konteineri hostimine parem valik. Lõpuks sobib MME rakendustele, mis taluvad aeg-ajalt külmkäivituse latentsust, kuna harva kasutatavaid mudeleid saab sageli käivitatavate mudelite kasuks välja laadida. Kui teil on palju harva kasutatavaid mudeleid, võib mitme mudeliga lõpp-punkt seda liiklust tõhusalt teenindada ja võimaldada märkimisväärset kulude kokkuhoidu.

kokkuvõte

Sellest postitusest õppisite, kuidas SaaS ja mitmekordne rentimine on seotud ML-iga ning kuidas SageMakeri mitme mudeli lõpp-punktid võimaldavad mitme rendilepingu ja ML-i järelduste kuluefektiivsust. Õppisite tundma Zendeski kliendipõhiste ML-mudelite mitme rentimise juhtumit ja seda, kuidas nad hostisid SageMaker MME-s tuhandeid ML-mudeleid oma soovitatud makrode funktsiooni jaoks ning saavutasid 90% kulude kokkuhoiu võrreldes spetsiaalsete lõpp-punktidega. Hüperpersonaliseerimise kasutusjuhtumid võivad nõuda tuhandeid ML-mudeleid ja MME on selle kasutusjuhtumi jaoks kulutõhus valik. Jätkame MME täiustuste tegemist, et saaksite hostida väikese latentsusajaga mudeleid ja üksikasjalikumaid juhtnuppe iga isikupärastatud mudeli jaoks. MME-ga alustamiseks vaadake Hostige mitu mudelit ühes konteineris ühe lõpp-punkti taga.


Autoritest

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Syed Jaffry on AWS-i vanemlahenduste arhitekt. Ta teeb koostööd paljude ettevõtetega alates keskmise suurusega organisatsioonidest kuni suurte ettevõteteni, finantsteenustest kuni ISV-deni, aidates neil luua ja kasutada pilves turvalisi, vastupidavaid, skaleeritavaid ja suure jõudlusega rakendusi.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Sowmya Manusani on Zendeski vanempersonali masinõppeinsener. Ta tegeleb NLP-põhiste masinõppe funktsioonide tootmisega, mis keskenduvad tuhandete Zendesk Enterprise'i klientide agendi tootlikkuse parandamisele. Tal on kogemusi tuhandete isikupärastatud mudelite jaoks automatiseeritud koolitustorude loomisel ja nende teenindamisel turvaliste, vastupidavate, skaleeritavate ja suure jõudlusega rakenduste abil. Vabal ajal meeldib talle mõistatusi lahendada ja maalimist proovida.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai. Saurabh Trikande on Amazon SageMaker Inference'i vanemtootejuht. Ta on kirglik klientidega töötamise ja masinõppe kättesaadavamaks muutmise vastu. Vabal ajal naudib Saurabh matkamist, uuenduslike tehnoloogiate õppimist, TechCrunchi jälgimist ja perega aega veetmist.

Kuidas skaleerida masinõppe järeldust mitme rentniku SaaS-i kasutusjuhtumite jaoks PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.Sügav Ragha on Amazon SageMakeri meeskonna tarkvaraarenduse insener. Tema praegune töö keskendub masinõppemudelite tõhusaks hostimiseks funktsioonide loomisele. Vabal ajal naudib ta reisimist, matkamist ja taimede kasvatamist.

Ajatempel:

Veel alates AWS-i masinõpe