To je gostujoča objava v blogu, ki jo je napisal skupaj s Hussainom Jagirdarjem iz Games24x7.
Igre 24x7 je ena najdragocenejših indijskih platform za več iger in zabava več kot 100 milijonov igralcev v različnih spretnostnih igrah. Z »Znanostjo o igrah« kot svojo osrednjo filozofijo so omogočili vizijo celovite informatike okoli dinamike iger, igralnih platform in igralcev s konsolidacijo ortogonalnih raziskovalnih smeri umetne inteligence iger, znanosti o podatkih o igrah in raziskav uporabnikov iger. Ekipa za AI in znanost o podatkih se potopi v množico večdimenzionalnih podatkov in izvaja različne primere uporabe, kot so optimizacija poti igralca, zaznavanje dejanj v igri, hiperpersonalizacija, customer 360 in več na AWS.
Games24x7 uporablja avtomatiziran okvir, ki temelji na podatkih in ga poganja umetna inteligenca, za oceno vedenja vsakega igralca prek interakcij na platformi in označuje uporabnike z nenormalnim vedenjem. Zgradili so model globokega učenja ScarceGAN, ki se osredotoča na identifikacijo izjemno redkih ali redkih vzorcev iz večdimenzionalnih longitudinalnih telemetričnih podatkov z majhnimi in šibkimi oznakami. To delo je bilo objavljeno v CIKM'21 in open source za identifikacijo redkih razredov za vse longitudinalne telemetrične podatke. Potreba po produkciji in sprejetju modela je bila najpomembnejša za ustvarjanje hrbtenice za omogočanje odgovornega igranja iger na njihovi platformi, kjer je mogoče označene uporabnike popeljati skozi drugačno pot moderiranja in nadzora.
V tej objavi delimo, kako je Games24x7 izboljšal svoje kanale usposabljanja za odgovorno uporabo platforme iger Amazon SageMaker.
Izzivi strank
Ekipa DS/AI pri Games24x7 je uporabila več storitev, ki jih je zagotovil AWS, vključno s prenosniki SageMaker, Korak funkcije AWS, AWS Lambdain Amazonski EMR, za gradnjo cevovodov za različne primere uporabe. Za obvladovanje premika v distribuciji podatkov in s tem za ponovno usposobitev svojega modela ScarceGAN so ugotovili, da obstoječi sistem potrebuje boljšo rešitev MLOps.
V prejšnjem cevovodu prek funkcij Step Functions je ena sama monolitna kodna baza izvajala predhodno obdelavo podatkov, ponovno usposabljanje in vrednotenje. To je postalo ozko grlo pri odpravljanju težav, dodajanju ali odstranjevanju koraka ali celo pri nekaterih majhnih spremembah v celotni infrastrukturi. Ta stopenjska funkcija je ustvarila gručo primerkov za ekstrahiranje in obdelavo podatkov iz S3, nadaljnji koraki predhodne obdelave, usposabljanja in vrednotenja pa bi se izvajali na enem samem velikem primerku EC2. V scenarijih, kjer je cevovod odpovedal na katerem koli koraku, je bilo treba celoten potek dela znova zagnati od začetka, kar je povzročilo ponavljajoče se zagone in višje stroške. Vse metrike usposabljanja in vrednotenja so bile ročno pregledane v storitvi Amazon Simple Storage Service (Amazon S3). Ni bilo mehanizma za posredovanje in shranjevanje metapodatkov več poskusov, izvedenih na modelu. Zaradi decentraliziranega spremljanja modela, temeljite preiskave in izbire najboljšega modela je skupina za podatkovno znanost zahtevala ure. Kopičenje vseh teh prizadevanj je imelo za posledico nižjo produktivnost ekipe in povečane režijske stroške. Poleg tega je bilo s hitro rastočo ekipo zelo težko deliti to znanje med ekipo.
Ker so koncepti MLOps zelo obsežni in bi izvedba vseh korakov potrebovala čas, smo se odločili, da bomo v prvi fazi obravnavali naslednja ključna vprašanja:
- Varno, nadzorovano in šablonsko okolje za ponovno usposabljanje našega internega modela poglobljenega učenja z uporabo najboljših praks v industriji
- Parametrirano okolje za usposabljanje za pošiljanje drugačnega nabora parametrov za vsako opravilo preusposabljanja in revidiranje zadnjih izvedb
- Sposobnost vizualnega sledenja meritvam usposabljanja in meritvam vrednotenja ter metapodatkov za sledenje in primerjavo poskusov
- Možnost prilagajanja vsakega koraka posebej in ponovne uporabe prejšnjih korakov v primerih napak korakov
- Enotno namensko okolje za registracijo modelov, shranjevanje funkcij in priklic cevovodov za sklepanje
- Sodoben nabor orodij, ki bi lahko zmanjšal računalniške zahteve, znižal stroške in spodbudil trajnostni razvoj in operacije strojnega pisanja z vključitvijo prilagodljivosti uporabe različnih primerkov za različne korake
- Ustvarjanje primerjalne predloge najsodobnejšega cevovoda MLOps, ki bi ga lahko uporabljali v različnih skupinah za podatkovno znanost
Games24x7 je začel ocenjevati druge rešitve, vključno z Amazon SageMaker Studio Pipelines. Že obstoječa rešitev prek funkcij Step Functions je imela omejitve. Studijski cevovodi so imeli prilagodljivost dodajanja ali odstranjevanja koraka v katerem koli trenutku. Celotno arhitekturo in njihove odvisnosti podatkov med posameznimi koraki je mogoče vizualizirati prek DAG-jev. Vrednotenje in natančno prilagajanje korakov ponovnega usposabljanja je postalo zelo učinkovito, potem ko smo sprejeli različne funkcionalnosti Amazon SageMaker, kot so Amazon SageMaker Studio, Cevovodi, Obdelava, Usposabljanje, register modelov ter eksperimenti in poskusi. Ekipa AWS Solution Architecture je pokazala odličen poglobljeni potop in je bila resnično ključna pri načrtovanju in implementaciji te rešitve.
Pregled rešitev
Naslednji diagram prikazuje arhitekturo rešitev.
Rešitev uporablja a Studio SageMaker okolje za izvajanje poskusov preusposabljanja. Koda za priklic skripta cevovoda je na voljo v zvezkih Studio, pri klicanju cevovoda pa lahko spremenimo hiperparametre in vhod/izhod. To se precej razlikuje od naše prejšnje metode, kjer smo imeli vse parametre trdo kodirane znotraj skriptov in so bili vsi procesi neločljivo povezani. To je zahtevalo modularizacijo monolitne kode v različne korake.
Naslednji diagram ponazarja naš prvotni monolitni postopek.
Modularizacija
Za prilagajanje, sledenje in izvajanje vsakega koraka posebej je bilo treba monolitno kodo modularizirati. Odvisnosti parametrov, podatkov in kode med posameznimi koraki so bile odstranjene in ustvarjeni so bili moduli v skupni rabi za komponente v skupni rabi med koraki. Ilustracija modularizacije je prikazana spodaj: -
Za vsak posamezen modul je bilo testiranje opravljeno lokalno s SDK-jem SageMaker Način skripta za usposabljanje, obdelavo in vrednotenje, ki zahteval manjše spremembe v kodi za izvajanje s SageMakerjem. The testiranje lokalnega načina za skripte za globoko učenje je mogoče narediti na prenosnikih SageMaker, če se že uporabljajo, ali z uporabo Lokalni način z uporabo cevovodov SageMaker v primeru neposrednega zagona s cevovodi. To pomaga pri preverjanju, ali se bodo naši skripti po meri izvajali na primerkih SageMaker.
Vsak modul je bil nato testiran ločeno z SDK-jem za usposabljanje/obdelavo SageMaker z uporabo Način skripta in jih ročno zagnal v zaporedju z uporabo primerkov SageMaker za vsak korak, kot je spodnji korak usposabljanja:
Amazon S3 je bil uporabljen za pridobivanje izvornih podatkov za obdelavo in nato shranjevanje vmesnih podatkov, podatkovnih okvirov in rezultatov NumPy nazaj v Amazon S3 za naslednji korak. Po opravljenem integracijskem testiranju med posameznimi moduli za predprocesiranje, usposabljanje, evalvacijo je SDK SageMaker Pipeline ki je integriran s SDK-jem SageMaker Python, ki smo ga že uporabili v zgornjih korakih, nam je omogočil, da programsko povežemo vse te module s posredovanjem vhodnih parametrov, podatkov, metapodatkov in izhoda vsakega koraka kot vnosa v naslednje korake.
Lahko bi ponovno uporabili prejšnjo kodo SDK Sagemaker Python za zagon modulov posamično v izvajanjih, ki temeljijo na SDK za cevovod Sagemaker. Razmerja med posameznimi koraki cevovoda so določena z odvisnostmi podatkov med koraki.
Končni koraki plinovoda so naslednji:
- Predobdelava podatkov
- Prekvalifikacija
- Ocenjevanje
- Registracija modela
V naslednjih razdelkih podrobneje razpravljamo o vsakem od korakov pri izvajanju s SDK-jem SageMaker Pipeline.
Predobdelava podatkov
Ta korak preoblikuje neobdelane vhodne podatke in predobdela ter razdeli na nize za usposabljanje, validacijo in teste. Za ta korak obdelave smo instancirali opravilo obdelave SageMaker z TensorFlow Framework procesor, ki vzame naš skript, kopira podatke iz Amazon S3 in nato potegne sliko Docker, ki jo zagotavlja in vzdržuje SageMaker. Ta vsebnik Docker nam je omogočil posredovanje naših odvisnosti knjižnice v datoteki requirements.txt, medtem ko so vse knjižnice TensorFlow že vključene, in posredovanje poti za source_dir za skript. Podatki o usposabljanju in validaciji gredo v korak usposabljanja, testni podatki pa se posredujejo v korak ocenjevanja. Najboljši del uporabe tega vsebnika je bil, da nam je omogočil posredovanje različnih vhodov in izhodov kot različnih lokacij S3, ki jih je bilo nato mogoče posredovati kot odvisnost od korakov za naslednje korake v cevovodu SageMaker.
Prekvalifikacija
Modul usposabljanja smo zavili skozi SageMaker cevovodi TrainingStep API in uporabil že razpoložljive slike vsebnika za globoko učenje prek ocenjevalca TensorFlow Framework (znanega tudi kot skriptni način) za Izobraževanje žajblja. Skriptni način nam je omogočil minimalne spremembe v naši kodi za usposabljanje, SageMaker vnaprej zgrajen vsebnik Docker pa obravnava različice Python, Framework in tako naprej. Izhodi obdelave iz Data_Preprocessing
korak so bili posredovani kot TrainingInput tega koraka.
Vsi hiperparametri so bili posredovani skozi ocenjevalec prek datoteke JSON. Za vsako obdobje v našem usposabljanju smo svoje metrike usposabljanja že pošiljali prek stdOut v skriptu. Ker smo želeli slediti metrikam tekočega usposabljanja in jih primerjati s prejšnjimi izobraževalnimi opravili, smo morali razčleniti ta StdOut z definiranjem metričnih definicij prek regularnega izraza, da bi pridobili metrike iz StdOut za vsako obdobje.
Zanimivo je bilo razumeti, da SageMaker Cevovodi samodejno integrira se z API-jem SageMaker Experiments, ki privzeto ustvari preizkus, preizkus in preizkusno komponento za vsako izvedbo. To nam omogoča, da primerjamo meritve vadbe, kot sta točnost in natančnost, med več teki, kot je prikazano spodaj.
Za vsako izvedbo usposabljanja ustvarimo štiri različne modele za Amazon S3 na podlagi naše poslovne definicije po meri.
Ocenjevanje
Ta korak naloži usposobljene modele iz Amazon S3 in oceni naše meritve po meri. Ta ProcessingStep vzame model in testne podatke kot vhod ter izpiše poročila o delovanju modela na Amazon S3.
Uporabljamo metrike po meri, zato smo morali za registracijo teh metrik po meri v register modelov pretvoriti shemo metrik ocenjevanja, shranjenih v Amazon S3 kot CSV, v Kakovost modela SageMaker Izhod JSON. Nato lahko registriramo lokacijo te ocenjevalne metrike JSON v registru modela.
Naslednji posnetki zaslona prikazujejo primer, kako smo pretvorili CSV v format kakovosti JSON modela Sagemaker.
Registracija modela
Kot smo že omenili, smo ustvarjali več modelov v enem koraku usposabljanja, zato smo morali uporabiti integracijo SageMaker Pipelines Lambda, da smo registrirali vse štiri modele v register modelov. Za registracijo posameznega modela lahko uporabimo ModelStep API za ustvarjanje modela SageMaker v registru. Za vsak model funkcija Lambda pridobi artefakt modela in metriko vrednotenja iz Amazona S3 ter ustvari paket modela za določeno ARN, tako da je mogoče vse štiri modele registrirati v en sam register modelov. API-ji SageMaker Python prav tako nam je omogočil pošiljanje metapodatkov po meri, ki smo jih želeli posredovati za izbiro najboljših modelov. To se je izkazalo za velik mejnik za produktivnost, saj je vse modele zdaj mogoče primerjati in revidirati iz enega okna. Zagotovili smo metapodatke za edinstveno razlikovanje modela drug od drugega. To je pomagalo tudi pri odobritvi enega samega modela s pomočjo strokovnih pregledov in vodstvenih pregledov na podlagi meritev modela.
Zgornji blok kode prikazuje primer, kako smo dodali metapodatke prek vnosa paketa modela v register modela skupaj z metriko modela.
Spodnji posnetek zaslona prikazuje, kako enostavno lahko primerjamo meritve različnih različic modelov, ko so registrirane.
Priklic cevovoda
Cevovod je mogoče priklicati prek EventBridge , Sagemaker Studio ali SDK sama. Priklic zažene opravila na podlagi odvisnosti podatkov med koraki.
zaključek
V tej objavi smo pokazali, kako je Games24x7 preoblikoval svoja sredstva MLOps prek cevovodov SageMaker. Zmožnost vizualnega sledenja metrikam usposabljanja in metrikam ocenjevanja s parametriziranim okoljem, prilagajanjem posameznih korakov s pravo platformo za obdelavo in osrednjim registrom modelov se je izkazalo za velik mejnik pri standardizaciji in napredovanju do revizijskega, večkratno uporabljivega, učinkovitega in razložljivega poteka dela. . Ta projekt je načrt za različne ekipe za podatkovno znanost in je povečal splošno produktivnost, saj je članom omogočil delovanje, upravljanje in sodelovanje z najboljšimi praksami.
Če imate podoben primer uporabe in želite začeti, vam priporočamo uporabo SageMakerja Način skripta in SageMaker primeri od konca do konca z uporabo Sagemaker Studio. Ti primeri vsebujejo tehnične podrobnosti, ki so bile obravnavane v tem blogu.
Sodobna podatkovna strategija vam ponuja obsežen načrt za upravljanje, dostop, analizo in ukrepanje na podlagi podatkov. AWS zagotavlja najpopolnejši nabor storitev za celotno potovanje podatkov od konca do konca za vse delovne obremenitve, vse vrste podatkov in vse želene poslovne rezultate. Zaradi tega je AWS najboljše mesto za odklepanje vrednosti vaših podatkov in njihovo spreminjanje v vpogled.
O avtorjih
Hussain Jagirdar je višji znanstvenik – uporabne raziskave pri Games24x7. Trenutno je vključen v raziskovalna prizadevanja na področju razložljive umetne inteligence in globokega učenja. Njegovo nedavno delo je vključevalo globoko generativno modeliranje, modeliranje časovnih vrst in sorodna podpodročja strojnega učenja in umetne inteligence. Prav tako je navdušen nad MLOps in standardizirajočimi projekti, ki zahtevajo omejitve, kot so razširljivost, zanesljivost in občutljivost.
Sumir Kumar je arhitekt rešitev pri AWS in ima več kot 13 let izkušenj v tehnološki industriji. Pri AWS tesno sodeluje s ključnimi strankami AWS pri oblikovanju in izvajanju rešitev v oblaku, ki rešujejo zapletene poslovne probleme. Zelo se navdušuje nad podatkovno analitiko in strojnim učenjem ter ima dokazane izkušnje pri pomoči organizacijam pri sprostitvi celotnega potenciala njihovih podatkov z uporabo AWS Cloud.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- Kovanje prihodnosti z Adryenn Ashley. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/how-games24x7-transformed-their-retraining-mlops-pipelines-with-amazon-sagemaker/
- : je
- 1
- 10
- 100
- 11
- 7
- a
- sposobnost
- O meni
- nad
- dostop
- akumulacija
- natančnost
- ACM
- čez
- Zakon
- Ukrep
- dodano
- Dodatne
- Poleg tega
- Naslov
- sprejet
- Sprejetje
- po
- AI
- vsi
- Dovoli
- omogoča
- že
- Amazon
- Amazon SageMaker
- Amazon SageMaker Studio
- analitika
- analizirati
- in
- API
- uporabna
- Arhitektura
- SE
- OBMOČJE
- okoli
- AS
- ocenjevanje
- Sredstva
- At
- Revizija
- revidiran
- revidiranih
- Avtomatizirano
- samodejno
- Na voljo
- AWS
- nazaj
- Hrbtenica
- temeljijo
- BE
- ker
- Začetek
- zadaj
- počutje
- spodaj
- merilo
- BEST
- najboljše prakse
- Boljše
- med
- Block
- Blog
- Building
- zgrajena
- poslovni
- by
- CAN
- primeru
- primeri
- Osrednji
- verige
- izziv
- spremenite
- Spremembe
- razred
- tesno
- Cloud
- Grozd
- Koda
- Koda
- sodelovati
- primerjate
- v primerjavi z letom
- dokončanje
- kompleksna
- komponenta
- deli
- celovito
- Izračunajte
- koncepti
- utrjevanje
- omejitve
- Posoda
- Zabojniki
- nadzor
- nadzorom
- pretvorbo
- pretvori
- Core
- strošek
- stroški
- bi
- zajeti
- ustvarjajo
- ustvaril
- ustvari
- Ustvarjanje
- Trenutno
- po meri
- stranka
- Stranke, ki so
- datum
- Podatkovna analiza
- znanost o podatkih
- podatkovna strategija
- Podatkov usmerjenih
- Decentralizirano
- odločil
- namenjen
- globoko
- globok potop
- globoko učenje
- privzeto
- definiranje
- Povpraševanje
- Dokazano
- Odvisnost
- Oblikovanje
- želeno
- Podatki
- Podrobnosti
- Odkrivanje
- določi
- Razvoj
- drugačen
- neposredno
- odkril
- razpravlja
- razlikovati
- distribucija
- Lučki delavec
- navzdol
- pogon
- dinamika
- vsak
- prej
- enostavno
- učinkovite
- prizadevanja
- bodisi
- zaposluje
- omogočena
- omogočanje
- konec koncev
- Celotna
- okolje
- epoha
- ocenjevanje
- Ocena
- Tudi
- Tudi vsak
- Primer
- Primeri
- izvedba
- obstoječih
- obstoječi sistem
- izkušnje
- poskus
- obsežen
- ekstrakt
- izredno
- ni uspelo
- Lastnosti
- file
- končna
- prva
- označeno
- zastave
- prilagodljivost
- Osredotoča
- po
- sledi
- za
- format
- Okvirni
- iz
- polno
- funkcija
- funkcionalnosti
- funkcije
- nadalje
- igra
- Gamers
- Games
- igre na srečo
- igralna platforma
- ustvarjajo
- generativno
- dobili
- daje
- Go
- goes
- veliko
- Gost
- ročaj
- Ročaji
- Trdi
- Imajo
- ob
- pomoč
- pomagal
- pomoč
- Pomaga
- URE
- Kako
- HTML
- HTTPS
- Identifikacija
- slika
- slike
- izvajati
- Izvajanje
- izvajanja
- uvoz
- izboljšalo
- in
- vključeno
- Vključno
- vključujoč
- povečal
- individualna
- Posamezno
- Industrija
- Infrastruktura
- vhod
- vpogled
- primer
- instrumental
- integrirana
- integracija
- interakcije
- Zanimivo
- preiskava
- vključeni
- izolacija
- Vprašanja
- IT
- ponovitev
- ITS
- sam
- Job
- Delovna mesta
- Potovanje
- jpg
- json
- Ključne
- znanje
- znano
- Oznake
- velika
- učenje
- knjižnice
- Knjižnica
- kot
- omejitve
- povezane
- obremenitve
- lokalno
- kraj aktivnosti
- Lokacije
- stroj
- strojno učenje
- velika
- IZDELA
- Izdelava
- upravljanje
- upravljanje
- ročno
- Mehanizem
- člani
- omenjeno
- metapodatki
- Metoda
- meritev
- Meritve
- mejnik
- milijonov
- minimalna
- mladoletnika
- ML
- MLOps
- način
- Model
- modeli
- zmernost
- sodobna
- Moduli
- Moduli
- spremljanje
- Monolit
- več
- Najbolj
- več
- Ime
- Nimate
- Naslednja
- prenosnik
- otopeli
- of
- on
- ONE
- v teku
- odprite
- deluje
- operacije
- optimizacija
- Da
- organizacije
- izvirno
- Ostalo
- izhod
- Splošni
- paket
- parametri
- Paramount
- del
- mimo
- opravil
- vozovnice
- Podaje
- strastno
- pot
- performance
- filozofija
- plinovod
- Kraj
- Načrt
- platforma
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- Predvajaj
- predvajalnik
- igralci
- pletora
- Točka
- Prispevek
- potencial
- poganja
- vaje
- Precision
- prejšnja
- Težave
- Postopek
- Procesi
- obravnavati
- produktivnost
- Projekt
- projekti
- Lastnosti
- dokazano
- dokazano
- če
- zagotavlja
- objavljeno
- Potegne
- Python
- kakovost
- REDKO
- Surovi
- nedavno
- Priporočamo
- zapis
- regularni izraz
- Registracija
- registriranih
- registracija
- registra
- povezane
- Razmerja
- zanesljivost
- Odstranjeno
- odstranjevanje
- ponovi
- Poročila
- obvezna
- Zahteve
- Raziskave
- odgovorna
- Odgovorno igranje
- ponovno zagnan
- Rezultati
- vrnitev
- za večkratno uporabo
- ponovna
- Mnenja
- vloga
- Run
- tek
- sagemaker
- SageMaker cevovodi
- Prilagodljivost
- Lestvica
- skaliranje
- Gladina
- scenariji
- Znanost
- Znanstvenik
- galerija
- skripte
- SDK
- oddelki
- zavarovanje
- pošiljanja
- višji
- občutljivost
- Zaporedje
- Storitev
- Storitve
- nastavite
- Kompleti
- Delite s prijatelji, znanci, družino in partnerji :-)
- deli
- Prikaži
- pokazale
- Razstave
- Podoben
- Enostavno
- sam
- spretnost
- majhna
- So
- Rešitev
- rešitve
- SOLVE
- nekaj
- vir
- specifična
- Razcepi
- Stage
- standardiziranje
- začel
- Začetek
- state-of-the-art
- Statistika
- Korak
- Koraki
- shranjevanje
- trgovina
- shranjeni
- Strategija
- studio
- taka
- trajnostno
- sistem
- meni
- skupina
- Skupine
- tehnični
- Tehnologija
- Predloga
- tensorflo
- Test
- Testiranje
- da
- O
- Območje
- Vir
- njihove
- Njih
- zato
- te
- skozi
- čas
- do
- sledenje
- Vlak
- usposobljeni
- usposabljanje
- preoblikovati
- sojenje
- poskusi
- OBRAT
- Vrste
- razumeli
- edinstveno
- odklepanje
- us
- uporaba
- primeru uporabe
- uporabnik
- Uporabniki
- potrjevanje
- dragocene
- vrednost
- raznolikost
- različnih
- Vizija
- hotel
- ki
- medtem
- celoti
- bo
- z
- v
- delo
- deluje
- bi
- Zavito
- let
- Vi
- Vaša rutina za
- zefirnet