Loomuliku keele mõistmist rakendatakse paljudel kasutusjuhtudel alates vestlusrobotidest ja virtuaalsetest assistentidest kuni masintõlke ja teksti kokkuvõtete tegemiseni. Nende rakenduste eeldatava jõudluse taseme tagamiseks on oluline, et andmed koolitus- ja tootmiskeskkondades pärineksid samast jaotusest. Kui järelduste tegemiseks kasutatavad andmed (tootmisandmed) erinevad mudelikoolituse käigus kasutatud andmetest, puutume kokku nähtusega, mida nimetatakse andmete triiviks. Andmete triivimise korral pole mudel enam tootmises olevate andmete jaoks asjakohane ja toimib tõenäoliselt oodatust halvemini. Oluline on järelduste andmeid pidevalt jälgida ja võrrelda treeningu ajal kasutatud andmetega.
Võite kasutada Amazon SageMaker masinõppe (ML) mudelite kiireks ehitamiseks, koolitamiseks ja juurutamiseks mis tahes ulatuses. Ennetava meetmena mudeli halvenemise vastu võite kasutada Amazon SageMakeri mudelimonitor oma ML-mudelite kvaliteedi pidevaks jälgimiseks reaalajas. Mudelimonitori abil saate ka konfigureerida hoiatusi, et teavitada ja käivitada toiminguid, kui mudeli jõudluses täheldatakse kõrvalekaldeid. Nende kõrvalekallete varajane ja proaktiivne tuvastamine võimaldab teil võtta parandusmeetmeid, näiteks koguda uusi põhitõdede koolitusandmeid, ümberõpetada mudeleid ja auditeerida ülesvoolu süsteeme, ilma et peaksite mudeleid käsitsi jälgima või lisatööriistu looma.
Model Monitor pakub nelja erinevat tüüpi jälgimisvõimalust, et tuvastada ja leevendada mudeli triivi reaalajas:
- Andmete kvaliteet – Aitab tuvastada muutusi andmeskeemides ja sõltumatute muutujate statistilistes omadustes ning hoiatab triivi tuvastamisel.
- Mudeli kvaliteet – Mudeli jõudlusnäitajate, näiteks täpsuse või täpsuse reaalajas jälgimiseks võimaldab Model Monitor teil alla neelata teie rakendustest kogutud põhitõe silte. Model Monitor liidab mudeli jõudlusmõõdikute arvutamiseks automaatselt põhitõe teabe ennustusandmetega.
- Mudeli eelarvamus -Model Monitor on integreeritud Amazon SageMaker Clarify võimaliku eelarvamuse nähtavuse parandamiseks. Kuigi teie algandmed või mudel ei pruugi olla kallutatud, võivad muutused maailmas põhjustada aja jooksul kallutatust juba koolitatud mudelis.
- Mudeli seletatavus – Triivituvastus hoiatab teid, kui funktsioonide omistamiste suhteline tähtsus muutub.
Selles postituses käsitleme tekstiandmetele kohaldatavaid andmekvaliteedi triivi tüüpe. Tutvustame ka lähenemisviisi andmete triivi tuvastamiseks tekstiandmetes Model Monitori abil.
Andmete triiv NLP-s
Andmete triivi saab liigitada kolme kategooriasse sõltuvalt sellest, kas jaotusnihe toimub sisendi või väljundi poolel või on sisendi ja väljundi suhe muutunud.
Ühismuutuja nihe
Aastal ühismuutuja nihe, sisendite jaotus muutub ajas, kuid tingimuslik jaotus P(y|x) ei muutu. Seda tüüpi triivi nimetatakse ühismuutuja nihkeks, kuna probleem tekib ühismuutujate (tunnuste) jaotumise nihke tõttu. Näiteks e-posti rämpsposti klassifitseerimise mudelis võib koolitusandmete (meilikorpuste) jaotus erineda andmete jaotamisest punktiarvestuse ajal.
Sildi vahetus
Kuigi ühismuutuja nihe keskendub muutustele funktsioonide jaotuses, sildivahetus keskendub muutustele klassimuutuja jaotuses. Seda tüüpi nihutamine on sisuliselt ühismuutuja nihke vastupidine. Intuitiivne viis selle üle mõelda võib olla tasakaalustamata andmestiku kaalumine. Kui meie koolituskomplekti kuuluvate e-kirjade rämpsposti ja mitterämpsposti suhe on 50%, kuid tegelikkuses on 10% meie kirjadest mitterämpspost, siis on sihtmärgiste jaotus nihkunud.
Kontseptsiooni nihe
Kontseptsiooni nihe erineb ühismuutuja ja sildi nihkest selle poolest, et see ei ole seotud andmete jaotuse ega klassijaotusega, vaid on seotud kahe muutuja vahelise seosega. Näiteks kasutavad rämpsposti saatjad rämpspostifiltri mudelite läbimiseks sageli erinevaid kontseptsioone ja koolitusel kasutatavate meilide kontseptsioon võib aja möödudes muutuda.
Nüüd, kui me mõistame erinevaid andmete triivimise tüüpe, vaatame, kuidas saame mudelimonitori kasutada tekstiandmetes ühismuutujate nihke tuvastamiseks.
Lahenduse ülevaade
Erinevalt tabeliandmetest, mis on struktureeritud ja piiratud, on tekstilised andmed keerukad, suuremõõtmelised ja vabas vormis. NLP-s triivimise tõhusaks tuvastamiseks töötame koos manused, mis on teksti madaladimensioonilised esitused. Manuseid saate hankida erinevate keelemudelite (nt Word2Vec) ja trafopõhiste mudelite (nt BERT. Need mudelid projitseerivad kõrgmõõtmelisi andmeid madalamõõtmelistesse ruumidesse, säilitades samas teksti semantilise teabe. Tulemused on tihedad ja kontekstuaalselt tähendusrikkad vektorid, mida saab kasutada mitmesuguste allavoolu ülesannete jaoks, sealhulgas andmete triivimise jälgimiseks.
Oma lahenduses kasutame ingliskeelsete lausete ühismuutuja nihke tuvastamiseks manuseid. Kasutame Model Monitori, et hõlbustada tootmiskeskkonda juurutatud tekstiklassifikaatori pidevat jälgimist. Meie lähenemisviis koosneb järgmistest sammudest:
- Täpsustage BERT-mudelit SageMakeri abil.
- Kasutage peenhäälestatud BERT-klassifikaatorit reaalajas lõpp-punktina andmete hõivamine lubatud.
- Looge lähteandmekogum, mis koosneb BERT-i klassifikaatori koolitamiseks kasutatud lausete näidist.
- Loo kohandatud SageMakeri jälgimistöö tootmises kogutud andmete ja lähteandmestiku koosinussarnasuse arvutamiseks.
Järgmine diagramm illustreerib lahenduse töövoogu:
BERTi mudeli peenhäälestus
Selles postituses kasutame Keelelise vastuvõetavuse korpus (CoLA), 10,657 XNUMX ingliskeelsest lausest koosnev andmekogum, mis on avaldatud lingvistikaalases kirjanduses märgitud kui grammatilised või ebagrammatilised. Kasutame SageMakeri koolitust, et täpsustada BERT-mudelit, kasutades CoLa andmestikku, määratledes PyTorchi hindajaklassi. Lisateavet selle SDK kasutamise kohta PyTorchiga vt Kasutage PyTorchi koos SageMaker Python SDK-ga. Helistades fit()
hindaja meetod käivitab koolitustöö:
Mudeli juurutamine
Pärast mudeli väljaõpetamist hostime seda SageMakeri lõpp-punktis. Selleks, et lõpp-punkt mudelit laadiks ja ennustusi esitaks, rakendame mõned meetodid train_deploy.py:
- model_fn() – Laadib salvestatud mudeli ja tagastab mudeliobjekti, mida saab kasutada mudeli teenindamiseks. Mudeliserver SageMaker PyTorch laadib meie mudeli kutsudes
model_fn
. - input_fn() – Deserialiseerib ja valmistab ette ennustussisendi. Selles näites muudetakse meie päringu keha esmalt JSON-iks ja saadetakse seejärel mudeli teenindamise lõpp-punkti. Seetõttu sisse
input_fn()
, deserialiseerime esmalt JSON-vormingus päringu keha ja tagastame sisendi kui atorch.tensor
, nagu BERTi jaoks nõutud. - ennusta_fn() – Teostab ennustuse ja tagastab tulemuse.
Luba mudelimonitori andmete kogumine
Me lubame Mudel Monitor andmete kogumine sisendandmete salvestamiseks Amazoni lihtne salvestusteenus (Amazon S3) ämber, et sellele hiljem viidata:
Seejärel loome eelmises etapis loodud mudeliga reaalajas SageMakeri lõpp-punkti:
Järeldus
Käitame ennustamise, kasutades eelmises etapis loodud ennustajaobjekti. Seadistasime JSON-serialiseerija ja deserialiseerija, mida kasutab järelduse lõpp-punkt:
Reaalajas lõpp-punkt on konfigureeritud päringu andmete jäädvustamiseks ning vastus ja andmed salvestatakse Amazon S3-sse. Saate vaadata eelmises seiregraafikus kogutud andmeid.
Looge baasjoon
Kasutame treeningandmetest lause manustamise funktsioonide eraldamiseks peenhäälestatud BERT-i mudelit. Me kasutame neid vektoreid kvaliteetsete funktsioonisisenditena koosinuskauguse võrdlemiseks, kuna BERT toodab dünaamilist sõnaesitust semantilise kontekstiga. Lause manustamise saamiseks toimige järgmiselt.
- Kasutage BERT-i tokenisaatorit, et hankida iga märgi ID-d (
input_id
) sisestuslauses ja maskis, et näidata, millised sisestusjada elemendid on märgid või täidiselemendid (attention_mask_id
). Me kasutame BERT-itokenizer.encode_plus
funktsioon, et saada iga sisendlause jaoks need väärtused:
input_ids
ja attention_mask_ids
edastatakse mudelile ja toovad võrgu peidetud olekud. The hidden_states
sellel on neli mõõdet järgmises järjekorras:
- Kihi number (BERTil on 12 kihti)
- Partii number (1 lause)
- Wordi märgiindeksid
- Peidetud üksused (768 funktsiooni)
- Kasutage kahte viimast peidetud kihti, et saada üks vektor (lause manustamine), arvutades lause kõigi sisendmärkide keskmise:
- Teisendage lause manustamine NumPy massiiviks ja salvestage see Amazon S3 asukohta lähtejoonena, mida Model Monitor kasutab:
Hindamisskript
Model Monitor pakub eelehitatud konteinerit, mis võimaldab analüüsida lõpp-punktidest kogutud andmeid tabeliandmete kogumite jaoks. Kui soovite oma konteinerit kaasa võtta, pakub Model Monitor laienduspunkte, mida saate kasutada. Kui loote a MonitoringSchedule
, Model Monitor käivitab lõpuks töötlemistööd. Seetõttu peab konteiner olema töötlemise töölepingust teadlik. Peame looma konteineriga ühilduva hindamisskripti lepingu sisendid ja väljundid.
Model Monitor kasutab hindamiskoodi kõikidel proovidel, mis seiregraafiku käigus kogutakse. Iga järelduse andmepunkti jaoks arvutame lause manustamise, kasutades sama loogikat, mida kirjeldati varem. Koosinussarnasust kasutatakse kauguse mõõdikuna, et mõõta lähtejoones olevate järelduste andmepunkti ja lause manustuste sarnasust. Matemaatiliselt mõõdab see koosinusnurka kahe lause manustamisvektori vahel. Kõrge koosinussarnasuse skoor näitab sarnaseid lausete manuseid. Madalam koosinuse sarnasuse skoor näitab andmete triivi. Arvutame kõigi koosinussarnasuse skooride keskmise ja kui see on lävest väiksem, lisatakse see rikkumise aruandesse. Kasutusjuhtumi põhjal saate kasutada muid kaugusmõõdikuid, näiteks manhattan
or euclidean
lausete manustamise sarnasuse mõõtmiseks.
Järgmine diagramm näitab, kuidas me kasutame SageMaker Model Monitoringi baasjoone loomiseks ja andmete triivi tuvastamiseks koosinuskauguse sarnasuse abil.
Järgmine on rikkumiste arvutamise kood; täielik hindamisskript on saadaval aadressil GitHub:
Andmete triivi mõõtmine Model Monitori abil
Selles jaotises keskendume andmete triivi mõõtmisele mudelimonitori abil. Model Monitori eelehitatud monitorid toidavad Deequ, mis on Apache Sparki peale ehitatud teek andmete ühikutestide määratlemiseks, mis mõõdavad andmete kvaliteeti suurtes andmekogumites. Nende eelehitatud jälgimisvõimaluste kasutamiseks pole vaja kodeerimist. Samuti saate paindlikult jälgida mudeleid kodeerides, et pakkuda kohandatud analüüsi. Saate koguda ja üle vaadata kõik Model Monitori väljastatavad mõõdikud Amazon SageMaker Studio, et saaksite oma mudeli toimivust visuaalselt analüüsida ilma täiendavat koodi kirjutamata.
Teatud stsenaariumide korral, näiteks kui andmed ei ole tabelipõhised, kasutatakse vaiketöötlustööd (toiteallikaks Deequ) ei piisa, sest see toetab ainult tabeliandmekogumeid. Eelehitatud monitoridest ei pruugi piisata keerukate mõõdikute loomiseks triivide tuvastamiseks ja võib osutuda vajalikuks oma mõõdikud kaasa võtta. Järgmistes jaotistes kirjeldame seadistust mõõdikute toomiseks kohandatud konteineri loomisega.
Ehitage kohandatud mudelimonitori konteiner
Me kasutame hindamisskript eelmisest jaotisest Dockeri konteineri ehitamiseks ja selle lükkamiseks Amazoni elastsete konteinerite register (Amazon ECR):
Kui kliendi Dockeri konteiner on Amazon ECR-is, saame ajastada mudeli jälgimise töö ja luua rikkumiste aruande, nagu on näidatud järgmistes jaotistes.
Planeerige mudeli jälgimise töö
Mudeli jälgimise töö ajastamiseks loome Model Monitori eksemplari ja image_uri
, viitame Dockeri konteinerile, mille lõime eelmises jaotises:
Ajastame seiretöö kasutades create_monitoring_schedule
API. Järelevalvetöö saate ajastada tunni- või päevapõhiselt. Töö konfigureerimiseks kasutate destination
parameeter, nagu on näidatud järgmises koodis:
Järelevalve ajakava ja selle käitamiste kirjeldamiseks ja loetlemiseks saate kasutada järgmisi käske:
Andmete triivimise rikkumise aruanne
Kui mudeli jälgimise töö on lõpetatud, saate rikkumiste aruannetele juurdepääsuks navigeerida sihtkoha S3 teele. See aruanne sisaldab kõiki sisendeid, mille keskmine koosinusskoor (avg_cosine_score
) on alla keskkonnamuutujana konfigureeritud läve THRESHOLD:0.5
aasta Mudelimonitor näiteks. See viitab sellele, et järelduste tegemisel vaadeldud andmed triivivad kehtestatud lähtetasemest kaugemale.
Järgmine kood näitab loodud rikkumise aruannet:
Lõpuks saate selle tähelepaneku põhjal oma mudeli ümberõppeks konfigureerida. Saate ka lubada Amazoni lihtne teavitusteenus (Amazon SNS) märguanded rikkumiste korral hoiatuste saatmiseks.
Järeldus
Model Monitor võimaldab teil säilitada oma mudelite kõrget kvaliteeti tootmises. Selles postituses tõime esile väljakutsed andmete triivi jälgimisel struktureerimata andmetel, näiteks tekstil, ja pakkusime intuitiivset lähenemisviisi andmete triivi tuvastamiseks kohandatud jälgimisskripti abil. Postitusega seotud koodi leiate järgmisest GitHubi hoidla. Lisaks saate kohandada lahendust, et kasutada muid kaugusmõõdikuid, näiteks maksimaalne keskmine lahknevus (MMD), mitteparameetriline kaugusmõõdik, et arvutada piirjaotus allika ja sihtjaotuse vahel manustatud ruumis.
Autoritest
Vikram Elango on AI/ML spetsialistilahenduste arhitekt ettevõttes Amazon Web Services, mis asub USA-s Virginias. Vikram aitab finants- ja kindlustussektori klientidel disaini ja läbimõeldud juhtimisega luua ja juurutada masinõpperakendusi ulatuslikult. Praegu on ta keskendunud loomuliku keele töötlemisele, vastutustundlikule AI-le, järelduste optimeerimisele ja ML-i skaleerimisele kogu ettevõttes. Vabal ajal meeldib talle perega reisida, matkata, süüa teha ja telkida.
Raghu Ramesha on Amazon SageMaker Service meeskonnaga ML Solutionsi arhitekt. Ta keskendub sellele, et aidata klientidel ML-i tootmise töökoormust SageMakerile ulatuslikult üle viia. Ta on spetsialiseerunud masinõppele, tehisintellektile ja arvutinägemisvaldkondadele ning tal on magistrikraadi arvutiteaduses TÜ Dallases. Vabal ajal meeldib talle reisida ja pildistada.
Tony Chen on Amazon Web Servicesi masinõppelahenduste arhitekt, kes aitab klientidel kujundada pilves skaleeritavaid ja jõulisi masinõppevõimalusi. Endise andmeteadlase ja andmeinsenerina kasutab ta oma kogemusi, et aidata lahendada mõningaid kõige keerulisemaid probleeme, millega organisatsioonid masinõppe rakendamisel silmitsi seisavad.
- '
- "
- 100
- 11
- 7
- MEIST
- juurdepääs
- konto
- üle
- meetmete
- Täiendavad lisad
- AI
- Materjal: BPA ja flataatide vaba plastik
- juba
- Kuigi
- Amazon
- Amazon SageMaker
- Amazon Web Services
- analüüs
- Apache
- Apache Spark
- kohaldatav
- rakendused
- saadaval
- keskmine
- AWS
- Baseline
- keha
- ehitama
- Ehitus
- telkimine
- juhtudel
- Põhjus
- väljakutseid
- muutma
- jututoad
- klassifikatsioon
- Cloud
- kood
- Kodeerimine
- Kollektsioneerimine
- keeruline
- Arvutama
- Arvutiteadus
- Arvuti visioon
- Konteiner
- sisaldab
- pidev
- leping
- cooking
- loomine
- Kliendid
- Dallas
- andmed
- andmete kvaliteedi
- andmeteadlane
- Disain
- Detection
- arendama
- erinev
- arutama
- kaugus
- laevalaadija
- Dockeri konteiner
- Ei tee
- Domeenid
- sõidu
- ajal
- dünaamiline
- Varajane
- kohtumine
- Lõpp-punkt
- insener
- Inglise
- ettevõte
- keskkond
- asutatud
- näide
- kogemus
- nägu
- pere
- tunnusjoon
- FUNKTSIOONID
- finants-
- esimene
- Paindlikkus
- Keskenduma
- keskendunud
- vorm
- edasi
- tasuta
- funktsioon
- tekitama
- GitHub
- võttes
- aitama
- aitab
- Suur
- Esiletõstetud
- matkamine
- Avaleht
- Kuidas
- Kuidas
- HTTPS
- pilt
- rakendada
- oluline
- Kaasa arvatud
- tööstus
- info
- kindlustus
- kindlustussektor
- IT
- töö
- Tööturg
- Labels
- keel
- suur
- hiljemalt
- käivitab
- Juhtimine
- õppimine
- Tase
- võimendab
- Raamatukogu
- keeleteadus
- nimekiri
- kirjandus
- koormus
- liising
- masinõpe
- masintõlge
- mask
- mõõtma
- Meetrika
- ML
- mudel
- mudelid
- järelevalve
- rohkem
- Loomulik keel
- Natural Language Processing
- võrk
- nlp
- teade
- Pakkumised
- et
- organisatsioonid
- Muu
- jõudlus
- fotograafia
- Täpsus
- ennustus
- Ennustused
- esitada
- Probleem
- Produktsioon
- projekt
- anda
- annab
- Python
- pütorch
- kvaliteet
- valik
- reaalajas
- Reaalsus
- rekord
- aru
- Aruanded
- vastus
- Tulemused
- ümberõpe
- Tulu
- tagasikäik
- läbi
- jooks
- jooksmine
- salveitegija
- Skaala
- ketendamine
- teadus
- SDK
- Teenused
- teenindavad
- komplekt
- suunata
- sarnane
- lihtne
- So
- Lahendused
- Ruum
- tühikud
- spam
- spetsialiseerunud
- Ühendriigid
- ladustamine
- salvestada
- Toetab
- süsteemid
- sihtmärk
- test
- Testimine
- testid
- maailm
- arvasin
- mõttejuhtimine
- aeg
- sümboolne
- märgid
- ülemine
- tõrvik
- liiklus
- koolitus
- Tõlge
- USA
- vaade
- virginia
- virtuaalne
- nähtavus
- nägemus
- ootama
- web
- veebiteenused
- Wikipedia
- ilma
- Töö
- töövoog
- maailm
- kirjutamine