Ezt a bejegyzést Sowmya Manusanival, a Zendesk Sr. Staff Machine Learning Engineerével közösen írták
Zendesk egy SaaS-cég, amely támogatási, értékesítési és ügyfél-elköteleződési szoftvereket készít mindenki számára, az egyszerűség alapja. Világszerte több mint 170,000 XNUMX vállalatot tesz lehetővé, hogy hatékonyan szolgálja ki több száz millió ügyfelét. A Zendcaesk gépi tanulási csapata felelős azért, hogy az ügyfélélményt nyújtó csapatokat a legjobb teljesítményük elérése érdekében javítsa. Az adatok és az emberek erejét kombinálva a Zendesk intelligens termékeket kínál, amelyek a kézi munka automatizálásával termelékenyebbé teszik ügyfeleit.
A Zendesk 2015 óta gyárt ML termékeket, beleértve Válasz Bot, Elégedettség-előrejelzés, Tartalmi jelek, Javasolt makrók, és még sok más. Az elmúlt néhány évben, a mély tanulással, különösen az NLP-ben, sok lehetőséget láttak a munkafolyamatok automatizálására és az ügynökök támogatására ügyfeleik Zendesk megoldásaival való támogatásában. A Zendesk jelenleg a TensorFlow-t és a PyTorch-ot használja a mély tanulási modellek felépítéséhez.
Az olyan ügyfelek, mint a Zendesk, az Amazon Web Services (AWS) szolgáltatáson keresztül sikeres, nagyszabású szoftvereket építettek ki szolgáltatásként (SaaS). A SaaS sikeres üzleti modelljének kulcsfontosságú mozgatórugója a több bérlés alkalmazásának képessége az alkalmazásban és az infrastruktúrában. Ez költség- és működési hatékonyságot tesz lehetővé, mivel az alkalmazást csak egyszer kell elkészíteni, de többször használható, és az infrastruktúra megosztható. Látjuk, hogy sok ügyfél biztonságos, költséghatékony, több bérlős rendszert épít AWS-re a verem minden rétegében, a számításoktól, tárolástól, adatbázistól egészen a hálózatépítésig, és most azt látjuk, hogy az ügyfeleknek alkalmazniuk kell ezt a gépi tanulásban (ML). ).
Nehéz kompromisszum létrehozása a modell újrafelhasználása és a hiper-személyre szabás között
A SaaS-vállalkozások többbérleti szerződése általában azt jelenti, hogy egyetlen alkalmazást több felhasználó (SaaS-ügyfelek) használ fel újra. Ez költséghatékonyságot eredményez, és csökkenti a működési költségeket. A gépi tanulási modelleket azonban időnként nagyfokú specifikusságra (hiperszemélyre szabottan) kell személyre szabni a pontos előrejelzések készítéséhez. Ez azt jelenti, hogy az „egyszer építeni, többször használni” SaaS-paradigma nem mindig alkalmazható az ML-re, ha a modellek meghatározottak. Vegyük például az ügyfélszolgálati platformok használati esetét. A felhasználók által a támogatási jegyben feltüntetett nyelv attól függően változik, hogy utazási részesedésről („túl sokáig tartott az utazás”) vagy ruhavásárlási problémáról („elszíneződés mosáskor”) van-e szó. Ebben a használati esetben a legjobb helyreállítási művelet előrejelzésének pontosságának javítása szükségessé teheti egy természetes nyelvi feldolgozási (NLP) modell betanítását egy üzleti tartományra vagy iparági vertikumra jellemző adatkészletre. A Zendesk pontosan ezzel a kihívással néz szembe, amikor az ML-t próbálja kihasználni megoldásaiban. Több ezer nagymértékben testreszabott ML-modellt kellett létrehozniuk, mindegyiket egy-egy ügyfélre szabva. A több ezer modell bevezetésével kapcsolatos kihívás költséghatékony megoldása érdekében a Zendesk az Amazon SageMakerhez fordult.
Ebben a bejegyzésben bemutatjuk, hogyan használhatod a következő néhány új funkciót Amazon SageMaker, egy teljesen felügyelt gépi tanulási szolgáltatás, több bérlős ML következtetési képesség kiépítéséhez. Megosztunk egy valós példát is arra vonatkozóan, hogy a Zendesk sikeresen elérte ugyanazt az eredményt azáltal, hogy boldog médiumot telepített az ML modelljeikben a hiper-személyre szabás támogatása és az infrastruktúra költséghatékony, megosztott használata között a SageMaker többmodell végpontjaival ( MME).
SageMaker többmodell végpontok
A SageMaker többmodelles végpontjai lehetővé teszik több modell telepítését egyetlen következtetési végpont mögé, amely egy vagy több példányt tartalmazhat. Minden példányt több modell betöltésére és kiszolgálására terveztek, egészen a memória- és CPU-kapacitásig. Ezzel az architektúrával a SaaS-üzletág megtörheti a több modell üzemeltetésének lineárisan növekvő költségeit, és elérheti az infrastruktúra újrafelhasználását, amely összhangban van az alkalmazásveremben máshol alkalmazott többbérleti modellel.
A következő diagram egy SageMaker többmodell végpont architektúráját mutatja be.
A SageMaker többmodell végpontja dinamikusan tölti be a modelleket innen Amazon egyszerű tárolási szolgáltatás (Amazon S3) meghívásakor, ahelyett, hogy a végpont első létrehozásakor letöltené az összes modellt. Ennek eredményeként egy modell kezdeti meghívása magasabb következtetési késleltetést láthat, mint a későbbi következtetések, amelyek alacsony késleltetéssel fejeződnek be. Ha a modell meghívásakor már be van töltve a tárolóba, akkor a letöltési lépés kimarad, és a modell alacsony késleltetéssel adja vissza a következtetéseket. Tegyük fel például, hogy van egy modellje, amelyet naponta csak néhány alkalommal használnak. Igény szerint automatikusan betöltődik, miközben a gyakran használt modellek megmaradnak a memóriában, és következetesen alacsony késleltetéssel hívódnak meg.
Nézzük meg közelebbről, hogyan használta a Zendesk a SageMaker MME-t a költséghatékony, nagy léptékű ML-telepítés eléréséhez a Javasolt makrók ML funkciójával.
Miért épített a Zendesk hiperszemélyre szabott modelleket?
A Zendesk ügyfelei világszerte elterjedtek különböző iparági vertikumokban, eltérő támogatási jegy szemantikával. Ezért ügyfeleik legjobb kiszolgálása érdekében gyakran személyre szabott modelleket kell készíteniük, amelyek az ügyfél-specifikus támogatási jegyek adataira vannak kiképezve, hogy helyesen azonosítsák a szándékot, a makrókat és egyebeket.
2021 októberében kiadtak egy új NLP ML-funkciót, a Javasolt makrókat, amely makrókat (előre meghatározott műveleteket) ajánl több ezer ügyfél-specifikus modell-előrejelzés alapján. A Zendesk ML csapata egy TensorFlow alapú NLP osztályozó modellt épített, amelyet a jegytartalom és a makrók ügyfelenkénti korábbi történetéből oktattak. Ezekkel a modellekkel a makró előrejelzése javasolt, amikor egy ügyintéző megtekinti a jegyet (amint az a következő képernyőképen látható), ami segít az ügynöknek az ügyfelek gyors kiszolgálásában. Mivel a makrók az ügyfelekre jellemzőek, a Zendesknek ügyfélspecifikus modellekre van szüksége a pontos előrejelzések kiszolgálásához.
A Zendesk Javasolt makrók burkolata alatt
A javasolt makrók NLP-alapú neurális hálók, amelyek körülbelül 7–15 MB méretűek. A fő kihívás az ilyen modellek ezrei gyártásba helyezése költséghatékony, megbízható és méretezhető megoldásokkal.
Mindegyik modellnek más-más forgalmi mintázata van, legalább két kéréssel másodpercenként, és a csúcsértéke másodpercenként több száz, és naponta több millió előrejelzést szolgál ki, körülbelül 100 ezredmásodperces modell késleltetéssel, ha a modell elérhető a memóriában. A SageMaker-végpontok több AWS-régióban vannak üzembe helyezve, és végpontonként percenként több ezer kérést szolgálnak ki.
Azáltal, hogy több modellt egyetlen végponton tud tárolni, a SageMaker segített a Zendesknek csökkenteni az üzembe helyezési többletköltségeket, és költséghatékony megoldást hozott létre, összehasonlítva azzal, hogy ügyfelenként egyetlen modelles végpontot telepített. A kompromisszum itt a modellenkénti menedzsment kevésbé szabályozható; azonban ez az a terület, ahol a Zendesk együttműködik az AWS-szel a többmodelles végpontok fejlesztése érdekében.
A SageMaker egyik multimodell funkciója a modellek lusta betöltése, vagyis a modellek az első meghívásra kerülnek a memóriába. Ez a memóriahasználat optimalizálását szolgálja; azonban az első terhelésnél megugrik a válaszidő, ami hidegindítási problémának tekinthető. A javasolt makrók számára ez kihívást jelentett; A Zendesk azonban túljutott ezen azáltal, hogy a SageMaker végpont-kiépítésen felül egy előbetöltési funkciót implementált, hogy a modelleket az éles forgalom kiszolgálása előtt betöltse a memóriába. Másodszor, az MME kiüríti a ritkán használt modelleket a memóriából, így annak érdekében, hogy az összes modellen egyenletesen alacsony késleltetést érjen el, és elkerülje, hogy a „zajos szomszédok” hatással legyenek a többi kevésbé aktív modellre, a Zendesk együttműködik az AWS-szel, hogy új funkciókat adjon hozzá, amelyekről a bejegyzés későbbi részében lesz szó. explicitebb modellenkénti menedzsment. Ezen túlmenően átmeneti megoldásként a Zendesk megfelelő méretűre szabta az MME flottát, hogy minimalizálja a túl sok modell kirakodását. Ezzel a Zendesk alacsony késleltetéssel, körülbelül 100 ezredmásodperccel tud előrejelzéseket kiszolgálni minden ügyfelének, és így is 90%-os költségmegtakarítást ér el a dedikált végpontokhoz képest.
Az MME megfelelő méretezésénél a Zendesk a terhelési tesztelés során azt figyelte meg, hogy az MME mögött nagyobb számú kisebb példány (vízszintes skálázás torzítása) jobb választás, mint kevesebb nagyobb memóriapéldány (függőleges méretezés). A Zendesk megfigyelte, hogy a túl sok modell (az esetükben 500 TensorFlow modellen túl) tárolása egyetlen nagy memóriapéldányra nem működik jól, mert a memória nem az egyetlen erőforrás egy példányon, amely szűk keresztmetszetet jelenthet. Pontosabban azt figyelték meg, hogy a TensorFlow modellenként több szálat (az összes példány vCPU-t) hozott létre, így több mint 3 modell betöltése egyetlen példányra a kernelszintű korlátok megsértését okozta az egy példányon létrehozható szálak maximális számában. Egy másik probléma a kevesebb, nagyobb példányok használatával kapcsolatban akkor fordult elő, amikor a Zendesk szabályozást tapasztalt (biztonsági mechanizmusként) néhány példányon az MME mögött, mivel az egyedi modell másodpercenkénti hívási sebessége meghaladta a Több modell szerver (MMS) az egyetlen példányon biztonságosan kezelhető anélkül, hogy a példány elbarnulna. Ez egy másik probléma volt, amelyet több és kisebb példány használatával sikerült megoldani.
A megfigyelhetőség szempontjából, ami minden termelési alkalmazás döntő összetevője, amazonfelhőóra Az olyan mérőszámok, mint a meghívások, a CPU, a memória kihasználtsága és a több modellre jellemző mérőszámok, mint például a memóriába betöltött modellek, a modell betöltési ideje, a modell betöltési várakozási ideje és a modell gyorsítótár találatai, tájékoztató jellegűek. Pontosabban, a modell késleltetésének lebontása segített a Zendesknek megérteni a hidegindítási problémát és annak hatását.
Az MME automatikus skálázás burkolata alatt
Az egyes többmodell-végpontok mögött modellek tárolási példányai találhatók, amint azt a következő ábra mutatja. Ezek a példányok több modellt töltenek be a memóriába és a memóriából a modellek forgalmi mintái alapján.
A SageMaker továbbra is a modellhez tartozó következtetési kérelmeket arra a példányra irányítja, ahol a modell már be van töltve, így a kérések a gyorsítótárazott modellmásolatból kerülnek kiszolgálásra (lásd a következő diagramot, amely az első előrejelzési kérés és a gyorsítótárazott előrejelzési kérelem kérési útvonalát mutatja pálya). Ha azonban a modell sok hívási kérelmet kap, és a többmodell végponthoz további példányok is tartoznak, a SageMaker egyes kéréseket egy másik példányhoz irányít a növekedéshez. A SageMaker automatizált modellméretezésének előnyeinek kihasználásához győződjön meg arról, hogy rendelkezik példány automatikus skálázás beállítása további példánykapacitás biztosítására. Állítsa be a végpont-szintű skálázási szabályzatot egyéni paraméterekkel vagy percenkénti hívásokkal (ajánlott), hogy további példányokat adjon a végpontflottához.
Az MME-nek leginkább megfelelő esetek
A SageMaker többmodelles végpontjai kiválóan alkalmasak nagyszámú hasonló modell fogadására, amelyeket megosztott kiszolgálókonténeren keresztül is kiszolgálhat, és nem kell egyszerre hozzáférnie az összes modellhez. Az MME olyan modellekhez a legalkalmasabb, amelyek mérete és hívási késleltetése hasonló. A modell méretének némi eltérése elfogadható; Például a Zendesk modelljei 10 és 50 Mb között vannak, ami jól működik, de a 10-szeres, 50-szeres vagy 100-szoros méretváltozatok nem megfelelőek. A nagyobb modellek nagyobb számú be- és kirakodást okozhatnak a kisebb modelleknél, hogy elegendő memóriaterületet tudjunk biztosítani, ami a végponton megnövekedett késleltetést eredményezhet. A nagyobb modellek teljesítményjellemzőiben mutatkozó különbségek az erőforrásokat, például a CPU-t is egyenlőtlenül fogyaszthatják, ami hatással lehet a példány többi modelljére.
Az MME-t olyan modellek társhosztolására is tervezték, amelyek ugyanazt az ML keretrendszert használják, mivel a megosztott tárolót használják több modell betöltésére. Ezért, ha a modellflottában vegyes ML-keretrendszerek vannak (például PyTorch és TensorFlow), akkor a SageMaker dedikált végpontjai vagy a többtárolós hosting jobb választás. Végül, az MME alkalmas olyan alkalmazásokra, amelyek elviselik az alkalmankénti hidegindítási késleltetést, mivel a ritkán használt modellek tehermentesíthetők a gyakran meghívott modellek javára. Ha sok ritkán elérhető modellje van, egy többmodellből álló végpont hatékonyan tudja kiszolgálni ezt a forgalmat, és jelentős költségmegtakarítást tesz lehetővé.
Összegzésként
Ebből a bejegyzésből megtudhatta, hogy a SaaS és a több bérlés hogyan kapcsolódik az ML-hez, és hogyan teszik lehetővé a SageMaker többmodell végpontjai a több bérlést és a költséghatékonyságot az ML következtetésekhez. Megismerhette a Zendesk ügyfelenkénti ML-modellek többszörös bérelt felhasználását, és azt, hogy a SageMaker MME-ben több ezer ML-modellt tároltak a Javasolt makrók funkcióhoz, és 90%-os költségmegtakarítást értek el a következtetések során a dedikált végpontokhoz képest. A hiper-személyre szabott használati esetek több ezer ML modellt igényelhetnek, és az MME költséghatékony választás erre a felhasználási esetre. Továbbra is továbbfejlesztjük az MME-t, hogy lehetővé tegyük alacsony késleltetésű modellek tárolását, és részletesebb vezérlőkkel minden egyes személyre szabott modellhez. Az MME használatának megkezdéséhez lásd Több modellt is tárolhat egy tárolóban egy végpont mögött.
A szerzőkről
Syed Jaffry Sr. Solutions Architect az AWS-nél. Számos vállalattal dolgozik, a közepes méretű szervezetektől a nagyvállalatokig, a pénzügyi szolgáltatásoktól az ISV-kig, hogy segítsen nekik biztonságos, rugalmas, méretezhető és nagy teljesítményű alkalmazásokat felépíteni és működtetni a felhőben.
Sowmya Manusani a Zendesk vezető beosztású gépi tanulási mérnöke. Az NLP-alapú gépi tanulási funkciók gyártási folyamatán dolgozik, amelyek az ügynök termelékenységének javítására összpontosítanak több ezer Zendesk Enterprise-ügyfél számára. Tapasztalata van több ezer személyre szabott modell automatizált képzési folyamatainak felépítésében, valamint biztonságos, rugalmas, méretezhető és nagy teljesítményű alkalmazások segítségével történő kiszolgálásában. Szabadidejében szeret rejtvényeket fejteni és kipróbálni a festést.
Saurabh Trikande az Amazon SageMaker Inference vezető termékmenedzsere. Szenvedélye az ügyfelekkel való együttműködés és a gépi tanulás hozzáférhetőbbé tétele. Szabadidejében Saurabh szeret túrázni, innovatív technológiákat tanulni, követi a TechCrunch-ot és a családjával tölt időt.
Deepti Ragha az Amazon SageMaker csapat szoftverfejlesztő mérnöke. Jelenlegi munkája a gépi tanulási modellek hatékony tárolására szolgáló funkciók létrehozására összpontosít. Szabadidejében szeret utazni, túrázni és növényt termeszteni.
- Coinsmart. Európa legjobb Bitcoin- és kriptográfiai tőzsdéje.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. SZABAD HOZZÁFÉRÉS.
- CryptoHawk. Altcoin radar. Ingyenes próbaverzió.
- Forrás: https://aws.amazon.com/blogs/machine-learning/how-to-scale-machine-learning-inference-for-multi-tenant-saas-use-cases/
- "
- 000
- 10
- 100
- 2021
- a
- képesség
- Rólunk
- hozzáférés
- hozzáférhető
- elhelyezésére
- pontos
- Elérése
- elért
- Akció
- cselekvések
- aktív
- hozzáadott
- További
- Előny
- szerek
- Minden termék
- már
- mindig
- amazon
- Az Amazon Web Services
- Másik
- Alkalmazás
- alkalmazások
- alkalmazott
- alkalmaz
- körülbelül
- építészet
- TERÜLET
- körül
- auto
- automatizált
- Automatizált
- automatikusan
- automatizálás
- elérhető
- AWS
- mert
- előtt
- hogy
- BEST
- között
- Túl
- Bontás
- épít
- Épület
- épít
- üzleti
- üzleti modell
- vállalkozások
- Kapacitás
- eset
- esetek
- Okoz
- okozott
- okai
- kihívás
- választás
- közelebb
- Ruházat
- felhő
- együttműködő
- Companies
- vállalat
- képest
- összetevő
- Kiszámít
- következetes
- fogyaszt
- Konténer
- tartalom
- folytatódik
- tovább
- ellenőrzés
- ellenőrzések
- költséghatékony
- tudott
- teremt
- készítette
- teremt
- kritikus
- Jelenlegi
- Jelenleg
- szokás
- vevő
- Vásárlói élmény
- Vevőszolgálat
- Ügyfelek
- dátum
- adatbázis
- nap
- elszánt
- mély
- szállít
- Kereslet
- attól
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- tervezett
- Fejlesztés
- különböző
- nehéz
- domain
- letöltés
- gépkocsivezető
- alatt
- minden
- hatékonyan
- eredményesen
- lehetővé
- lehetővé teszi
- Endpoint
- eljegyzés
- mérnök
- Vállalkozás
- Vállalatok
- különösen
- mindenki
- pontosan
- példa
- tapasztalat
- tapasztalt
- Arc
- család
- Funkció
- Jellemzők
- Végül
- pénzügyi
- pénzügyi szolgáltatások
- végén
- vezetéknév
- első
- FLOTTA
- Összpontosít
- koncentrál
- következő
- Alapítvány
- Keretrendszer
- keretek
- Ingyenes
- ból ből
- funkcionalitás
- globálisan
- nagyobb
- Növekvő
- Növekedés
- fogantyú
- boldog
- tekintettel
- segített
- segít
- itt
- Magas
- <p></p>
- nagyon
- történelem
- Vízszintes
- házigazdája
- tárhely
- Hogyan
- How To
- azonban
- HTTPS
- Több száz
- azonosítani
- Hatás
- végrehajtási
- javul
- javuló
- tartalmaz
- Beleértve
- Növelje
- növekvő
- ipar
- tájékoztató
- Infrastruktúra
- újító
- példa
- Intelligens
- A szándék
- kérdés
- IT
- Kulcs
- nyelv
- nagy
- nagyobb
- tanult
- tanulás
- szint
- Tőkeáttétel
- határértékek
- kiszámításának
- betöltés
- Hosszú
- néz
- gép
- gépi tanulás
- Macro
- csinál
- Gyártás
- sikerült
- vezetés
- menedzser
- kézikönyv
- kézi munka
- eszközök
- mechanizmus
- közepes
- Memory design
- Metrics
- esetleg
- Több millió
- minimum
- ML
- modell
- modellek
- több
- többszörös
- Természetes
- igénylő
- igények
- hálózatba
- Új funkciók
- szám
- működik
- Alkalom
- Optimalizálja
- szervezetek
- Más
- paradigma
- szenvedélyes
- Emberek (People)
- teljesítmény
- Személyre
- perspektíva
- Platformok
- politika
- hatalom
- előrejelzés
- Tippek
- előző
- Probléma
- feldolgozás
- Termékek
- Termelés
- termelékenység
- Termékek
- Vásárlás
- gyorsan
- hatótávolság
- ajánlja
- csökkenteni
- felszabaduló
- megbízható
- kérni
- kéri
- szükség
- rugalmas
- forrás
- Tudástár
- válasz
- felelős
- Visszatér
- Útvonal
- biztosan
- Biztonság
- értékesítés
- azonos
- elégedettség
- skálázható
- Skála
- skálázás
- biztonság
- szemantika
- szolgáltatás
- Szolgáltatások
- szolgáló
- készlet
- Megosztás
- megosztott
- mutatott
- jelentős
- hasonló
- Egyszerű
- óta
- egyetlen
- Méret
- So
- szoftver
- szoftver mint szolgáltatás
- szoftverfejlesztés
- megoldások
- Megoldások
- SOLVE
- néhány
- Hely
- különleges
- kifejezetten
- Költési
- terjedése
- verem
- kezdet
- kezdődött
- Még mindig
- tárolás
- sikeres
- sikeresen
- támogatás
- Támogató
- Systems
- csapat
- csapat
- Technologies
- Tesztelés
- A
- ebből adódóan
- ezer
- Keresztül
- jegy
- idő
- alkalommal
- felső
- forgalom
- Képzések
- Utazó
- jellemzően
- megért
- egyedi
- használ
- Felhasználók
- függőlegesek
- várjon
- háló
- webes szolgáltatások
- Mit
- míg
- nélkül
- Munka
- munkafolyamatok
- dolgozó
- művek
- világszerte
- X
- év
- A te
- Zendesk