Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Koneoppimispäätelmän skaalaaminen usean vuokralaisen SaaS-käyttötapauksissa

Tämä viesti on kirjoitettu yhdessä Zendeskin vanhemman henkilöstön koneoppimisinsinöörin Sowmya Manusanin kanssa

Zendesk on SaaS-yritys, joka rakentaa tuki-, myynti- ja asiakkaiden sitouttamisohjelmistoja kaikille yksinkertaisuuden perustana. Se menestyy saamalla yli 170,000 XNUMX yritystä maailmanlaajuisesti palvelemaan satoja miljoonia asiakkaitaan tehokkaasti. Zendcaeskin koneoppimistiimi vastaa asiakaskokemustiimien tehostamisesta parhaansa saavuttamiseksi. Yhdistämällä tiedon ja ihmisten voiman Zendesk toimittaa älykkäitä tuotteita, jotka tekevät asiakkaistaan ​​tuottavampia automatisoimalla manuaalista työtä.

Zendesk on rakentanut ML-tuotteita vuodesta 2015, mukaan lukien Vastaa Bot, Tyytyväisyyden ennuste, Sisällön vihjeitä, Ehdotetut makrot, ja paljon muuta. Viime vuosina syväoppimisen, erityisesti NLP:n, kasvun myötä he näkivät paljon mahdollisuuksia automatisoida työnkulkuja ja auttaa agentteja tukemaan asiakkaitaan Zendesk-ratkaisuilla. Zendesk käyttää tällä hetkellä TensorFlow- ja PyTorchia syväoppimismallien rakentamiseen.

Zendeskin kaltaiset asiakkaat ovat rakentaneet menestyviä, korkean mittakaavan ohjelmistoja palveluna (SaaS) -yrityksiä Amazon Web Services -palveluun (AWS). Menestyvän SaaS-liiketoimintamallin keskeinen tekijä on kyky soveltaa monivuokrausta sovelluksessa ja infrastruktuurissa. Tämä mahdollistaa kustannus- ja toimintatehokkuuden, koska sovellus tarvitsee rakentaa vain kerran, mutta sitä voidaan käyttää monta kertaa ja infrastruktuuria voidaan jakaa. Näemme monien asiakkaiden rakentavan turvallisia, kustannustehokkaita, usean vuokraajan järjestelmiä AWS:lle pinon kaikilla tasoilla laskemisesta, tallennustilasta, tietokannasta ja verkkoon, ja nyt näemme asiakkaiden tarvitsevan soveltaa sitä koneoppimiseen (ML). ).

Vaikea kompromissi mallin uudelleenkäytön ja hyperpersonalisoinnin välillä

Monivuokraus SaaS-yrityksille tarkoittaa yleensä sitä, että yhtä sovellusta käytetään uudelleen useiden käyttäjien (SaaS-asiakkaiden) välillä. Tämä luo kustannustehokkuutta ja alentaa käyttökustannuksia. Koneoppimismalleja on kuitenkin joskus yksilöitävä erittäin tarkasti (hyperpersonaloitava) tarkkojen ennusteiden tekemiseksi. Tämä tarkoittaa, että "koonti kerran, käytä monta kertaa" SaaS-paradigmaa ei voida aina soveltaa ML:ään, jos malleilla on erityispiirteitä. Otetaan esimerkiksi asiakastukialustojen käyttötapaus. Kieli, jonka käyttäjät sisällyttävät tukilippuun, vaihtelee sen mukaan, onko kyseessä kyytiosakeongelma ("matka kesti liian kauan") vai vaatteiden ostoon liittyvä ongelma ("värinmuutos pestäessä"). Tässä käyttötapauksessa parhaan korjaustoimenpiteen ennustamisen tarkkuuden parantaminen saattaa edellyttää luonnollisen kielen käsittelymallin (NLP) koulutusta liiketoiminta-alueelle tai toimialalle ominaiselle tietojoukolle. Zendesk kohtaa juuri tämän haasteen yrittäessään hyödyntää ML:ää ratkaisuissaan. Heidän täytyi luoda tuhansia pitkälle räätälöityjä ML-malleja, joista jokainen oli räätälöity tietylle asiakkaalle. Zendesk kääntyi Amazon SageMakerin puoleen ratkaistakseen tämän tuhansien mallien käyttöönoton haasteen kustannustehokkaasti.

Tässä viestissä näytämme, kuinka voit käyttää joitain uudempia ominaisuuksia Amazon Sage Maker, täysin hallittu koneoppimispalvelu, jonka avulla voidaan rakentaa usean vuokraajan ML-johtopäätös. Jaamme myös todellisen esimerkin siitä, kuinka Zendesk onnistui saavuttamaan saman tuloksen ottamalla käyttöön onnellisen välineen ML-malleissaan hyperpersonalisoinnin tukemisen ja infrastruktuurin kustannustehokkaan jaetun käytön välillä SageMaker-monimallipäätepisteiden avulla ( MME).

SageMakerin usean mallin päätepisteet

SageMakerin usean mallin päätepisteiden avulla voit ottaa käyttöön useita malleja yhden päätepäätepisteen taakse, joka voi sisältää yhden tai useamman esiintymän. Jokainen esiintymä on suunniteltu lataamaan ja palvelemaan useita malleja muistiin ja prosessorikapasiteettiin asti. Tämän arkkitehtuurin avulla SaaS-yritys voi murtaa useiden mallien isännöinnin lineaarisesti kasvavat kustannukset ja saavuttaa infrastruktuurin uudelleenkäytön, joka on sopusoinnussa muualla sovelluspinossa käytetyn usean vuokrausmallin kanssa.

Seuraava kaavio havainnollistaa SageMaker-monimallipäätepisteen arkkitehtuuria.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

SageMaker-monimallipäätepiste lataa mallit dynaamisesti alkaen Amazonin yksinkertainen tallennuspalvelu (Amazon S3), kun sitä kutsutaan, sen sijaan, että ladattaisiin kaikki mallit päätepisteen luomisen yhteydessä. Tämän seurauksena mallin ensimmäinen kutsu saattaa nähdä suuremman päättelyviiveen kuin myöhemmissä johtopäätöksissä, jotka suoritetaan pienellä viiveellä. Jos malli on jo ladattu säilöön kutsuttaessa, latausvaihe ohitetaan ja malli palauttaa päätelmät pienellä viiveellä. Oletetaan esimerkiksi, että sinulla on malli, jota käytetään vain muutaman kerran päivässä. Se ladataan automaattisesti pyynnöstä, kun taas usein käytetyt mallit säilyvät muistissa ja niitä kutsutaan jatkuvasti alhaisella viiveellä.

Katsotaanpa tarkemmin, kuinka Zendesk käytti SageMaker MME:tä saavuttaakseen kustannustehokkaan, hypermittakaavan ML-käyttöönoton Suggested Macros ML -ominaisuuden avulla.

Miksi Zendesk rakensi hyperpersonoituja malleja

Zendeskin asiakkaat ovat hajallaan maailmanlaajuisesti eri toimialoilla erilaisilla tukilippusemantiikalla. Tästä syystä palvellakseen asiakkaitaan parhaiten heidän on usein rakennettava henkilökohtaisia ​​malleja, jotka on koulutettu asiakaskohtaisiin tukilipputietoihin tunnistaakseen oikein tarkoituksen, makrot ja paljon muuta.

Lokakuussa 2021 he julkaisivat uuden NLP ML -ominaisuuden, Suggested Macros, joka suosittelee makroja (ennalta määritettyjä toimintoja) tuhansien asiakaskohtaisten malliennusteiden perusteella. Zendeskin ML-tiimi rakensi TensorFlow-pohjaisen NLP-luokittelumallin, joka on koulutettu aiemmasta lippusisällön ja asiakaskohtaisten makrojen historiasta. Kun nämä mallit ovat saatavilla, makroennustetta suositellaan aina, kun agentti tarkastelee lippua (kuten seuraavassa kuvakaappauksessa), mikä auttaa agenttia palvelemaan asiakkaita nopeasti. Koska makrot ovat asiakaskohtaisia, Zendesk tarvitsee asiakaskohtaisia ​​malleja tarjotakseen tarkkoja ennusteita.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Zendeskin ehdotettujen makrojen konepellin alla

Ehdotetut makromallit ovat NLP-pohjaisia ​​hermoverkkoja, jotka ovat kooltaan noin 7–15 MB. Suurin haaste on saada tuhansia näitä malleja tuotantoon kustannustehokkailla, luotettavilla ja skaalautuvilla ratkaisuilla.

Jokaisella mallilla on erilaiset liikennemallit, joissa on vähintään kaksi pyyntöä sekunnissa ja huippu satoja pyyntöjä sekunnissa. Se palvelee miljoonia ennusteita päivässä mallin viiveellä noin 100 millisekuntia, kun malli on käytettävissä muistissa. SageMaker-päätepisteitä on otettu käyttöön useilla AWS-alueilla, ja ne palvelevat tuhansia pyyntöjä minuutissa per päätepiste.

SageMakerin kyky isännöidä useita malleja yhdessä päätepisteessä auttoi Zendeskiä vähentämään käyttöönoton yleiskustannuksia ja luomaan kustannustehokkaan ratkaisun verrattuna yhden mallin päätepisteen käyttöönottoon asiakasta kohti. Kompromissi tässä on vähemmän mallikohtaista hallintaa; Tämä on kuitenkin alue, jolla Zendesk tekee yhteistyötä AWS:n kanssa parantaakseen usean mallin päätepisteitä.

Yksi SageMaker-monimalliominaisuuksista on mallien laiska lataus, eli mallit ladataan muistiin, kun niitä kutsutaan ensimmäisen kerran. Tämä optimoi muistin käytön; Se aiheuttaa kuitenkin vasteaikapiikkejä ensimmäisellä kuormituksella, mikä voidaan nähdä kylmäkäynnistysongelmana. Ehdotetuille makroille tämä oli haaste; Zendesk kuitenkin selvisi tästä ottamalla käyttöön esilataustoiminnon SageMaker-päätepisteiden varauksen päälle mallien lataamiseksi muistiin ennen tuotantoliikenteen palvelemista. Toiseksi MME purkaa harvoin käytetyt mallit muistista, joten saavuttaakseen tasaisen alhaisen viiveen kaikissa malleissa ja välttääkseen "meluisten naapureiden" vaikuttamisen muihin vähemmän aktiivisiin malleihin Zendesk tekee yhteistyötä AWS:n kanssa lisätäkseen uusia ominaisuuksia, joista keskustellaan myöhemmin postauksessa. selkeämpi mallikohtainen hallinta. Lisäksi Zendesk on väliaikaisena ratkaisuna mitoittanut MME-kaluston oikeankokoiseksi minimoimaan liian monen mallin purkamisen. Tämän ansiosta Zendesk pystyy tarjoamaan ennusteita kaikille asiakkailleen alhaisella latenssilla, noin 100 millisekunnissa, ja saavuttaa silti 90 % kustannussäästöjä omistettuihin päätepisteisiin verrattuna.

Oikean kokoisen MME:n kohdalla Zendesk havaitsi kuormitustestauksen aikana, että suurempi määrä pienempiä ilmentymiä (vaakasuuntainen skaalaus) MME:n takana oli parempi valinta kuin pienempi määrä suurempia muistiinstansseja (pystysuuntainen skaalaus). Zendesk havaitsi, että liian monen mallin (yli 500 TensorFlow-mallin) pakkaaminen yhteen suureen muistiinstanssiin ei toiminut hyvin, koska muisti ei ole ilmentymän ainoa resurssi, joka voi olla pullonkaula. Tarkemmin sanottuna he havaitsivat, että TensorFlow synnytti useita säikeitä (3 x esiintymän vCPU:ita yhteensä) mallia kohden, joten yli 500 mallin lataaminen yhteen ilmentymään aiheutti ytimen tason rajoitusten rikkomisen instanssiin mahdollisesti syntyvien säikeiden enimmäismäärässä. Toinen ongelma pienempien, suurempien esiintymien käytössä ilmeni, kun Zendesk koki kuristuksen (turvamekanismina) joissakin tapauksissa MME:n takana, koska ainutlaatuisen mallin kutsun sekuntinopeus ylitti Monimallipalvelin (MMS) yksittäisessä ilmentymässä voisi käsitellä turvallisesti ilman, että ilmentymä tuhoutuu. Tämä oli toinen ongelma, joka ratkaistiin käyttämällä enemmän ja pienempiä esiintymiä.

Havaittavuuden näkökulmasta, joka on olennainen osa minkä tahansa tuotantosovelluksen, amazonin pilvikello mittarit, kuten kutsut, prosessori, muistin käyttö ja useita mallikohtaisia ​​mittareita, kuten muistiin ladatut mallit, mallin latausaika, mallin latauksen odotusaika ja mallin välimuistin osuma, ovat informatiivisia. Erityisesti mallin latenssin hajoaminen auttoi Zendeskiä ymmärtämään kylmäkäynnistysongelman ja sen vaikutuksen.

MME:n automaattisen skaalauksen kannen alla

Jokaisen usean mallin päätepisteen takana on mallin isännöintiinstanssit seuraavan kaavion mukaisesti. Nämä ilmentymät lataavat ja poistavat useita malleja muistiin ja muistista mallien liikennemallien perusteella.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

SageMaker jatkaa mallin päättelypyyntöjen reitittämistä ilmentymään, jossa malli on jo ladattu siten, että pyynnöt toimitetaan välimuistissa olevasta mallikopiosta (katso seuraava kaavio, joka näyttää pyyntöpolun ensimmäiselle ennustepyynnölle vs. välimuistiin tallennettu ennustepyyntö polku). Jos malli kuitenkin vastaanottaa useita kutsupyyntöjä ja usean mallin päätepisteelle on lisäilmentymiä, SageMaker reitittää jotkin pyynnöt toiseen ilmentymään kasvun huomioon ottamiseksi. Hyödynnä automaattista mallin skaalaus SageMakerissa, varmista, että sinulla on esimerkiksi automaattinen skaalaus tarjota lisää esiintymäkapasiteettia. Määritä päätepistetason skaalauskäytäntö joko mukautetuilla parametreilla tai kutsuilla minuutissa (suositus), jotta voit lisätä päätepistekalustoon uusia esiintymiä.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Käytä MME:lle parhaiten sopivia tapauksia

SageMakerin usean mallin päätepisteet sopivat hyvin useiden samankaltaisten mallien isännöimiseen, joita voit palvella jaetun tarjoilusäiliön kautta, eikä kaikkia malleja tarvitse käyttää samanaikaisesti. MME sopii parhaiten malleille, jotka ovat kooltaan ja kutsuviiveitään samanlaisia. Jotkut mallin koon vaihtelut ovat hyväksyttäviä; Esimerkiksi Zendeskin mallit vaihtelevat 10–50 Mt, mikä toimii hyvin, mutta 10-, 50- tai 100-kertaiset kokovaihtelut eivät sovellu. Suuremmat mallit voivat aiheuttaa suuremman määrän pienempien mallien latausta ja purkamista riittävän muistitilan saamiseksi, mikä voi lisätä päätepisteen viivettä. Erot suurempien mallien suorituskykyominaisuuksissa voivat myös kuluttaa resursseja, kuten prosessoria, epätasaisesti, mikä voi vaikuttaa esiintymän muihin malleihin.

MME on myös suunniteltu yhteiskäyttöön malleihin, jotka käyttävät samaa ML-kehystä, koska ne käyttävät jaettua säilöä useiden mallien lataamiseen. Siksi, jos mallikannassasi on sekoitus ML-kehyksiä (kuten PyTorch ja TensorFlow), SageMakerille omistetut päätepisteet tai usean kontin isännöinti on parempi valinta. Lopuksi MME sopii sovelluksiin, jotka voivat sietää satunnaista kylmäkäynnistysviivettä, koska harvoin käytetyt mallit voidaan kuormittaa usein käytettyjen mallien hyväksi. Jos sinulla on pitkä pyrstö harvoin käytettyjä malleja, usean mallin päätepiste voi palvella tehokkaasti tätä liikennettä ja mahdollistaa merkittäviä kustannussäästöjä.

Yhteenveto

Tässä viestissä opit, kuinka SaaS ja monivuokraus liittyvät ML:ään ja kuinka SageMakerin usean mallin päätepisteet mahdollistavat usean vuokrauksen ja kustannustehokkuuden ML-päätelmien tekemiseen. Opit Zendeskin usean vuokralaisen asiakaskohtaisten ML-mallien käyttötapauksesta ja siitä, kuinka he isännöivät tuhansia ML-malleja SageMaker MME:ssä ehdotetut makrot -ominaisuutta varten ja saavuttivat 90 % kustannussäästöjä johtopäätöksissä verrattuna omistettuihin päätepisteisiin. Hyperpersonalisoinnin käyttötapaukset voivat vaatia tuhansia ML-malleja, ja MME on kustannustehokas valinta tähän käyttötapaukseen. Jatkamme MME:n parannuksia, jotta voit isännöidä malleja, joissa on alhainen viive ja tarkemmat ohjaimet jokaiselle yksilölliselle mallille. Aloita MME:n käyttö katsomalla Isännöi useita malleja yhdessä säilössä yhden päätepisteen takana.


Tietoja Tekijät

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Syed Jaffry on AWS:n vanhempi ratkaisuarkkitehti. Hän työskentelee useiden yritysten kanssa keskikokoisista organisaatioista suuriin yrityksiin, rahoituspalveluista ISV:hin, auttaakseen niitä rakentamaan ja käyttämään turvallisia, joustavia, skaalautuvia ja korkean suorituskyvyn sovelluksia pilvessä.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Sowmya Manusani on vanhempi henkilöstön koneoppimisinsinööri Zendeskissä. Hän työskentelee tuottaakseen NLP-pohjaisia ​​koneoppimisominaisuuksia, jotka keskittyvät parantamaan agenttien tuottavuutta tuhansille Zendesk Enterprise -asiakkaille. Hänellä on kokemusta automatisoitujen koulutusputkien rakentamisesta tuhansille yksilöllisille malleille ja niiden palvelemisesta turvallisilla, joustavilla, skaalautuvilla ja tehokkailla sovelluksilla. Vapaa-ajallaan hän ratkaisee pulmia ja kokeilee maalausta.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai. Saurabh Trikande on Amazon SageMaker Inferencen -tuotepäällikkö. Hän on intohimoinen työskennellä asiakkaiden kanssa ja tehdä koneoppimisesta helpompaa. Vapaa-ajallaan Saurabh nauttii vaeltamisesta, innovatiivisten teknologioiden oppimisesta, TechCrunchien seuraamisesta ja perheensä kanssa viettämisestä.

Kuinka skaalata koneoppimispäätelmä usean vuokralaisen SaaS-käyttötapauksissa PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Deepti Ragha on ohjelmistokehitysinsinööri Amazon SageMaker -tiimissä. Hänen nykyinen työnsä keskittyy ominaisuuksien rakentamiseen koneoppimismallien tehokkaaseen isännöintiin. Vapaa-ajallaan hän nauttii matkustamisesta, retkeilystä ja kasvien kasvattamisesta.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen