Viimastel aastatel on loomuliku keele mõistmine (NLU) leidnud üha enam ärilist väärtust, mida soodustavad mudeli täiustused ning pilvepõhise infrastruktuuri mastaapsus ja kuluefektiivsus. Täpsemalt, Transformer süvaõppe arhitektuur, mida sageli rakendatakse kujul BERT mudelid, on olnud väga edukas, kuid nende mudelite koolitamine, peenhäälestus ja optimeerimine on osutunud keeruliseks probleemiks. Tänu sellele, AWS ja Hugging Face koostöö, on nüüd NLU mudelite treenimine ja optimeerimine lihtsam Amazon SageMaker kasutades SageMaker Python SDK-d, kuid nende mudelite märgistatud andmete hankimine on endiselt keeruline ja aeganõudev.
Üks ärihuvi pakkuv NLU probleem on küsimustele vastamise ülesanne. Selles postituses näitame, kuidas luua kohandatud küsimustele vastamise andmestik Amazon SageMaker Ground Truth et treenida Kallistava näo küsimusele vastamist NLU mudelile.
Küsimustele vastamine väljakutsetele
Küsimusele vastamine hõlmab mudelit, mis loob automaatselt vastuse päringule, kui antakse tekstiosa, mis võib vastust sisaldada või mitte. Näiteks kui võtta arvesse järgmist küsimust: "Milliseid töövooge SageMaker Ground Truth toetab?" mudel peaks suutma tuvastada segmendi „märkuste konsolideerimine ja audit” järgmises lõigus:
SageMaker Ground Truth aitab parandada siltide kvaliteeti annotatsioonide konsolideerimise ja auditi töövoogude kaudu. Märkuste konsolideerimine on protsess, mille käigus kogutakse sildi sisendeid kahelt või enamalt andmesildistajalt ja kombineeritakse need, et luua teie masinõppemudeli jaoks üks andmesilt. Sisseehitatud auditi ja ülevaatuse töövoogude abil saavad töötajad täpsuse parandamiseks silte kontrollida ja muudatusi teha.
See probleem on keeruline, kuna selle jaoks on vaja mudelit, mis mõistaks küsimuse tähendust, selle asemel et teha lihtsalt märksõnaotsingut. Selle valdkonna täpsed mudelid võivad vähendada klienditoe kulusid intelligentsete vestlusrobotite toite, kvaliteetsete kõneabitoodete pakkumise ja veebipoe tulu suurendamise kaudu isikupärastatud tooteküsimustele vastamise kaudu. Üks suur andmestik selles valdkonnas on Stanfordi küsimustele vastamise andmestik (SQuAD), mitmekesine küsimustele vastamise andmestik, mis esitab mudeli lühikeste tekstilõikudega ja nõuab, et mudel ennustaks vastuse teksti ulatuse asukohta lõigus. SQuAD on lugemise mõistmise andmestik, mis koosneb Vikipeedia artiklite komplektis rahvahulga töötajate esitatud küsimustest, kus iga küsimuse vastus on kas vastava lõigu tekstivahemik või muul viisil võimatu vastata.
Üks väljakutse SQuAD-i kohandamisel ärilisteks kasutusjuhtudeks on domeenispetsiifiliste kohandatud andmekogumite genereerimine. See uute küsimuste ja vastuste andmekogumite loomise protsess nõuab spetsiaalset kasutajaliidest, mis võimaldab annotaatoritel vahemikke esile tõsta ja neile küsimusi lisada. Samuti peab see toetama võimatute küsimuste lisamist, et toetada vormingut SQuAD 2.0, mis sisaldab vastuseta küsimusi. Need võimatud küsimused aitavad mudelitel paremini mõista, millistele päringutele antud lõigu abil vastata ei saa. The kohandatud töötaja mallid Ground Truthis lihtsustage nende andmekogumite loomist, pakkudes töötajatele kohandatud annotatsioonikogemust küsimuste ja vastuste andmekogumite loomiseks.
Lahenduse ülevaade
See lahendus loob ja haldab Ground Truthi märgistustöid, et märgistada domeenispetsiifilist kohandatud küsimuste-vastuste andmestikku, kasutades kohandatud annotatsiooni kasutajaliidest. Kasutame SageMakerit a koolitamiseks, peenhäälestamiseks, optimeerimiseks ja juurutamiseks Hugging Face
PyTorchiga loodud BERT-mudel, mis põhineb kohandatud küsimustele vastamise andmestikul.
Lahenduse saate rakendada, juurutades pakutud AWS CloudFormation malli oma AWS-i kontol. AWS CloudFormation tegeleb selle juurutamisega AWS Lambda funktsioonid, mis toetavad annotatsiooni kasutajaliidese eelmärkimist ja märkuste konsolideerimist. Samuti loob see an Amazoni lihtne salvestusteenus (Amazon S3) kopp ja AWS-i identiteedi- ja juurdepääsuhaldus (IAM) rollid, mida kasutada sildistamistöö loomisel.
See postitus juhendab teid, kuidas teha järgmist.
- Looge oma küsimustele vastamise andmestik või täiendage olemasolevat, kasutades Ground Truthi
- Kasutage teksti kombineerimiseks ja märgistamiseks kallistava näo andmekogumeid
- Täpsustage oma küsimusele vastamise andmetele BERT-i mudelit, kasutades SageMakeri koolitust
- Juurutage oma mudel SageMakeri lõpp-punkti ja visualiseerige oma tulemused
Annotatsiooni kasutajaliides
Kasutame uut kohandatud töötaja ülesande mall Ground Truthiga, et lisada olemasolevale SQuAD-andmestikule uusi märkusi. See lahendus pakub nii töötaja ülesande malli kui ka annotatsioonieelset Lambda funktsiooni (mis tegeleb andmete kasutajaliidesesse sisestamisega) ja annotatsioonijärgset Lambda funktsiooni (mis võtab pärast märgistamise lõpetamist kasutajaliidesest tulemused välja).
See kohandatud töötaja ülesandemall annab teile võimaluse tõsta paremal paanil tekst esile ja seejärel lisada vasakpoolsele paanile vastav küsimus, mis on seotud esiletõstetud tekstiga. Parempoolsel paanil esiletõstetud teksti saab lisada ka mis tahes varem loodud küsimusele. Lisaks saate lisada võimatuid küsimusi vastavalt SQUAD 2.0 vormingus. Võimatud küsimused võimaldavad mudelitel vähendada ebausaldusväärsete valepositiivsete oletuste arvu, kui lõik ei suuda päringule vastata.
See kasutajaliides kasutab sama JSON-skeemi nagu SQuAD 2.0 andmestik, mis tähendab, et see võib töötada mitme artikli ja lõiguga, kuvades ühe lõigu korraga, kasutades eelmine ja järgmine nupud. Kasutajaliidese abil on lihtne jälgida ja määrata märgistamistööd, mida iga annotaator peab ülesande esitamise etapis tegema.
Kuna annotatsiooni kasutajaliides sisaldub ühes Vedelik HTML-faili abil saate kohandada sildistamiskogemust põhiliste JavaScripti teadmistega. Saate ka muuta Vedelad sildid lisateabe edastamiseks sildistamise kasutajaliidesesse ja saate malli ennast muuta, et lisada üksikasjalikumad töötaja juhised.
Hinnangulised kulud
Selle lahenduse kasutuselevõtt võib maksta maksimaalselt umbes 20 dollarit, arvestamata inimeste märgistamise kulusid. Amazon S3, Lambda, SageMaker ja Ground Truth pakuvad kõik seda AWSi tasuta tasand, lisakasutuse eest tuleb tasuda. Lisateabe saamiseks vaadake järgmisi hinnakujunduse lehti:
- Amazon S3 hinnakujundus
- AWS lambda hinnakujundus
- Amazon SageMakeri hinnakujundus
- Amazon SageMakeri andmete märgistamise hinnakujundus – See tasu sõltub teie kasutatava tööjõu tüübist. Kui olete Ground Truthi uus kasutaja, soovitame oma sildistamistöö konfiguratsiooni testimiseks kasutada eratööjõudu ja kaasata end töötajana.
Eeldused
Selle lahenduse rakendamiseks peaksid teil olema järgmised eeltingimused:
- An AWS-i konto.
- Põhitõe tundmine. Lisateabe saamiseks vaadake Kasutage andmete märgistamiseks Amazon SageMaker Ground Truthi.
- AWS CloudFormationi tundmine. Lisateabe saamiseks vaadake AWS CloudFormationi kasutusjuhend.
- SageMaker tööjõud. Selle demonstratsiooni jaoks kasutame eratööjõudu. Tööjõudu saate luua SageMakeri konsoolil.
Järgmine GIF näitab, kuidas luua eratööjõudu. Juhiseid vt Looge Amazon Cognito tööjõud, kasutades tööjõu märgistamise lehte.
Käivitage CloudFormation Stack
Nüüd, kui olete lahenduse struktuuri näinud, juurutage see oma kontole, et saaksite käitada näidistöövoo. Kõiki märgistamiskonveieriga seotud juurutamisetappe haldab AWS CloudFormation. See tähendab, et AWS CloudFormation loob teie eelmärkuste ja annotatsioonide konsolideerimise Lambda funktsioonid ning S3 ämbri sisend- ja väljundandmete salvestamiseks.
Saate virna käivitada AWS-i piirkonnas us-east-1
AWS CloudFormationi konsoolil, kasutades Käivitage Stack nuppu. Viru käivitamiseks teises piirkonnas järgige juhiseid, mis leiate jaotisest README GitHubi hoidla.
Kasutage sülearvutit
Kui lahendus on teie kontole juurutatud, antakse märkmiku eksemplar nimega gt-hf-squad-notebook
on teie kontol saadaval. Sülearvuti kasutamise alustamiseks toimige järgmiselt.
- Navigeerige Amazon SageMakeri konsoolis märkmiku eksemplari lehele.
- Vali Avage JupyterLab eksemplari avamiseks.
- Sirvige eksemplaris hoidlasse
hf-gt-custom-qa
ja avage märkmikhf_squad_finetuning.ipynb
. - Vali
conda_pytorch_p38
kui teie kernel.
Nüüd, kui olete loonud märkmiku eksemplari ja avanud märkmiku, saate lahenduse kasutamiseks käitada märkmikus lahtreid. Selle postituse ülejäänud osa sisaldab märkmiku iga jaotise kohta täiendavaid üksikasju.
Laadige alla ja kontrollige andmeid
. SQuAD andmestik sisaldab koolituse andmestikku ning katse- ja arendusandmekogumeid. Sülearvuti laadib teie eest alla SQuAD2.0 andmestiku, kuid saate valida, millist SQuAD-i versiooni kasutada, muutes märkmiku lahtrit jaotises Laadige alla ja kontrollige andmeid.
SQuADi lõid Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev ja Percy Liang. Lisateabe saamiseks vaadake originaalpaber ja andmestik. SQuAD on autorite poolt litsentsitud Creative Commonsi Attribution-ShareAlike 4.0 rahvusvaheline avalik litsents.
Vaatame näidisküsimuste ja vastuste paari SQuADist:
Lõigu pealkiri: Immuunsüsteem
Immuunsüsteem on paljude bioloogiliste struktuuride ja protsesside süsteem organismis, mis kaitseb haiguste eest. Õigeks toimimiseks peab immuunsüsteem tuvastama mitmesuguseid aineid, mida nimetatakse patogeenideks, alates viirustest kuni parasiitide ussideni, ja eristama neid organismi enda tervetest kudedest. Paljude liikide puhul võib immuunsüsteemi liigitada alamsüsteemideks, näiteks kaasasündinud immuunsüsteem versus adaptiivne immuunsüsteem või humoraalne immuunsus versus raku vahendatud immuunsus. Inimestel eraldavad hematoentsefaalbarjäär, vere-ajuvedeliku barjäär ja sarnased vedeliku-aju barjäärid perifeerset immuunsüsteemi aju kaitsvast neuroimmuunsüsteemist.
Küsimus: mille eest immuunsüsteem organisme kaitseb?
Vastus: haigus
Koormusmudel
Nüüd, kui olete SQuADis vaadanud näidisküsimuste ja vastuste paari, saate alla laadida mudeli, mida saate küsimustele vastamiseks täpsustada. Hugging Face võimaldab teil hõlpsasti alla laadida baasmudeli, mis on läbinud suuremahulise eelkoolituse, ja lähtestada see mõne teise järgneva ülesande jaoks. Sel juhul laadite alla distilbert-base-uncased
mudelit ja taaskasutage see küsimustele vastamiseks, kasutades nuppu AutoModelForQuestionAnswering
klassist Hugging Face'ist. Samuti kasutate AutoTokenizer
klassis, et hankida modelli eelkoolitatud tokenisaator. Sukeldume hiljem postituses kasutatavasse mudelisse sügavamale.
Vaadake BERT-i sisendit
BERT nõuab tekstiandmete teisendamist numbriliseks esituseks, mida nimetatakse märkide. Saadaval on mitmesuguseid tokenisereid; järgmised märgid on loodud spetsiaalselt BERT-i jaoks loodud märgiseadja abil, mille loote määratud sõnavaraga. Iga märk vastab sõnavaras olevale sõnale. Vaatame teisendatud immuunsüsteemi küsimust ja konteksti, mille BERT-ile järelduste tegemiseks esitate.
Mudeli järeldus
Nüüd, kui olete näinud, mida BERT kasutab sisendiks, vaatame, kuidas saate mudelist järeldusi teha. Järgmine kood näitab, kuidas kasutada mudelist varem loodud märgistatud sisendit ja tagastada järeldustulemused. Sarnaselt sellele, kuidas BERT ei saa toorteksti sisendiks aktsepteerida, ei genereeri see ka toorteksti väljundina. Tõlkite BERTi väljundi, tuvastades lõigu algus- ja lõpp-punkti, mille BERT vastusena määratles. Seejärel vastendate selle väljundi meie žetoonidega ja tagasi ingliskeelse tekstiga.
Tõlgitud tulemused on järgmised:
Küsimus: mille eest immuunsüsteem organisme kaitseb?
Vastus: haigus
Täiendage SQuAD-i
Järgmisena kasutame täiendavate märgistatud andmete saamiseks a kohandatud töötaja ülesande mall aastal Ground Truth. Esmalt saame luua uue artikli SQuAD-vormingus. Märkmik kopeerib selle faili repost Amazon S3-sse, kuid tehke enne rakenduse käivitamist muudatusi. Täiendage SQuAD-i kamber. SQuAD-i vorming on näidatud järgmises koodis. Iga SQuAD JSON-fail sisaldab mitut artiklit, mis on talletatud data
võti. Igas artiklis on a title
välja ja üks või mitu lõiku. Need lõigud sisaldavad tekstilõike nimega context
ja kõik seotud küsimused qas
nimekirja. Kuna me teeme märkmeid nullist, võime lahkuda qas
loend tühi ja esitage lihtsalt kontekst. Kasutajaliides suudab liikuda nii lõikude kui artiklite vahel, võimaldades teil muuta iga töötaja ülesande nii suureks või väikeseks, kui soovite.
Pärast SQuAD-i näidisandmefaili loomist peame looma Ground Truthi laiendatud manifesti fail mis viitab meie sisendandmetele. Selleks genereerime JSON-ridavormingus faili, millel on "source
” võti, mis vastab Amazon S3 asukohale, kus me oma sisend SQuAD-andmed salvestasime:
Juurdepääs märgistamisportaalile
Pärast töö Ground Truthile saatmist saate vaadata Ground Truthi konsoolis loodud sildistamistööd.
Sildistamise teostamiseks peate eeltingimustoimingute osana loodud töötajaportaali kontole sisse logima. Teie töö on pärast mõneminutilist eeltöötlust töötajaportaalis saadaval. Pärast ülesande avamist kuvatakse teile küsimuste ja vastuste märkuse jaoks kohandatud töötaja mall. Küsimusi saate lisada, tõstes kontekstis esile tekstiosad ja seejärel valides Lisa küsimus.
Kontrollige märgistamise töö olekut
Pärast esitamist saate käivitada Kontrollige märgistamise töö olekut lahtrit, et näha, kas sildistamistöö on lõpetatud. Enne järgmiste lahtrite juurde asumist oodake lõpetamist.
Laadige märgistatud andmed
Pärast märgistamist sisaldab väljundmanifest kirje teie sildi atribuudi nimega (antud juhul squad-1626282229
), mis sisaldab SQuAD-vormingus S3 URI-d, mida saate treeningu ajal kasutada. Vaadake järgmist väljundmanifesti sisu:
Iga manifesti rida vastab ühele töötaja ülesandele.
Laadige SQuAD rongikomplekt
Kallistaval näol on a andmestiku pakett mis annab teile võimaluse SQuAD alla laadida ja eeltöödelda, kuid kohandatud küsimuste ja vastuste lisamiseks peame veidi töötlema. SQuAD on üles ehitatud teemakomplektide ümber. Igal teemal on palju erinevaid kontekstiväiteid ja igal kontekstiavaldusel on küsimuste ja vastuste paarid. Kuna tahame koolituse jaoks ise küsimusi luua, peame oma küsimused kombineerima SQuADiga. Meie õnneks on meie annotatsioonid juba SQuAD-vormingus, nii et saame võtta oma näidissildid ja lisada need olemasolevatele SQuAD-andmetele uue teemana.
Looge kallistava näo andmestiku objekt
Andmete Hugging Face'i andmekogumi vormingusse viimiseks on meil mitu võimalust. Saame kasutada load_dataset suvandit, sel juhul saame esitada CSV-, JSON- või tekstifaili, mis laaditakse andmestikuobjektina. Samuti saate tarnida load_dataset
töötlemisskriptiga, et teisendada fail soovitud vormingusse. Selle postituse jaoks kasutame selle asemel Dataset.from_dict()
meetod, mis võimaldab meil andmestikuobjekti loomiseks anda mälus oleva sõnastiku. Samuti määratleme oma andmestiku funktsioonid. Funktsioone saame vaadata kasutades Kallistava näo andmekogumi vaataja, nagu on näidatud järgmisel ekraanipildil.
Meie funktsioonid on järgmised:
- ID – teksti ID
- pealkiri – teemaga seotud pealkiri
- kontekst – kontekstilause, mille mudel peab vastuse leidmiseks otsima
- küsimus – Modellilt küsitav küsimus
- vastus – aktsepteeritud vastuse tekst ja asukoht kontekstiavalduses
Kallistava näo andmestikud võimaldavad meil hõlpsasti määratleda selle skeemi:
Pärast andmestikuobjekti loomist peame seda tegema märkima teksti. Kuna mudelid ei saa toorteksti sisendina aktsepteerida, peame teisendama oma teksti numbriliseks sisendiks, millest see aru saab, ehk teisiti tuntud kui tokeniseerimine. Tokeniseerimine on mudelispetsiifiline, nii et mõistame mudelit, mida kavatseme täpsustada. Me kasutame a destilbert-alus-korpuseta mudel. See näeb välja väga sarnane BERT-iga: see kasutab sisendi manustamist, mitme peaga tähelepanu (selle toimingu kohta lisateabe saamiseks vaadake Illustreeritud transformer) ja suunab edasi kihte, kuid selle parameetrid on poole väiksemad kui BERT-i algmudelil. Vaadake järgmisi esialgseid mudelikihte:
Jaotame mudeli pealkirja iga komponendi. Nimi distilbert
tähistab tõsiasja, et tegemist on BERTi baasmudeli destilleeritud versiooniga, mis saadakse protsessi nn. teadmiste destilleerimine. Teadmiste destilleerimine võimaldab meil koolitada väiksemat õpilasmudelit mitte ainult koolitusandmete, vaid ka suurema eelkoolitatud õpetajamudeli sama koolituskomplekti vastuste põhjal. base
viitab mudeli suurusele, antud juhul oli mudel destilleeritud BERTi baasmudelist (erinevalt BERTi suurest mudelist). uncased
viitab tekstile, mille järgi seda koolitati. Sel juhul ei arvestatud tekstis tähte; kogu tekst, mida seda õpetati, oli väiketähtedega. The uncased
aspekt mõjutab otseselt seda, kuidas me oma teksti märgistame. Õnneks pakub Hugging Face peale lihtsa juurdepääsu trafomudelite allalaadimisele ka mudeliga kaasasoleva märgise. Laadisime alla ka meie jaoks kohandatud tokenisaatori distilbert-base-uncased model
mida me nüüd teksti muutmiseks kasutame:
Andmestikuklassi teine omadus on see, et see võimaldab meil paralleelselt selle kaardifunktsiooniga käivitada eeltöötlust ja märgistamist. Määratleme töötlemisfunktsiooni ja edastame selle seejärel kaardimeetodile.
Küsimustele vastamiseks vajab Hugging Face mitut komponenti (mis on samuti määratletud sõnastik):
- tähelepanu mask – mask, mis näitab mudelile, millistele märkidele tähelepanu pöörata, kasutatakse peamiselt tegeliku teksti ja täidismärkide eristamiseks
- alguspositsioonid – vastuse alguspositsioon tekstis
- lõpp_positsioonid – vastuse lõpppositsioon tekstis
- sisend_id – märgiindeksid, mis vastavad märgid sõnavarale
Meie tokenisaator märgistab teksti, kuid me peame selgelt jäädvustama oma vastuse algus- ja lõpppositsioonid, mistõttu oleme määratlenud kohandatud eeltöötlusfunktsiooni. Nüüd, kui meil on sisendid valmis, alustame treeningutega!
Koolitustöö käivitamine
Saame oma märkmikus koolitusi läbi viia, kuid eksemplarid, mida vajame oma Q&A mudeli mõistliku aja jooksul koolitamiseks, p3 ja p4 eksemplarid, on üsna võimsad. Need juhtumid kipuvad olema sülearvuti käitamiseks või püsivaks kasutamiseks üle jõu käivad Amazon Elastic Compute Cloud (Amazon EC2) näide. Siin tuleb appi SageMakeri koolitus. SageMakeri koolitus võimaldab teil käivitada koolitustöö teatud eksemplaridel või eksemplaridel, mis on saadaval ainult koolitustöö kestuse jooksul. See võimaldab meil töötada suurematel eksemplaridel, nagu p4d.24xlarge, 8 NVIDIA A100 GPU-ga, kuid ei pea muretsema tohutu arve pärast, kui unustame selle välja lülitada. See annab meile hõlpsa juurdepääsu ka teistele SageMakeri funktsioonidele, nagu SageMakeri katsed ML treeningjooksude jälgimiseks ja SageMakeri silur koolitustööde mõistmiseks ja profileerimiseks.
Kohalik koolitus
Alustuseks mõistame, kuidas Hugging Face'is mudeli treenimine kohapeal töötab, ja seejärel vaadake üle muudatused, mida me selle SageMakeris käitamiseks teeme.
Hugging Face muudab treenimise nende treeneriklassi kasutamise kaudu lihtsaks. Treeneriklass võimaldab meil sisestada oma mudelit, koolitus- ja valideerimisandmekogumeid, hüperparameetreid ja isegi tokenisaatorit. Kuna meil on juba nii oma mudel kui ka koolitus- ja valideerimiskomplektid, peame määratlema ainult oma hüperparameetrid. Saame seda teha läbi TrainingArguments
klass. See võimaldab meil määrata selliseid asju nagu õppimiskiirus, partii suurus, ajastute arv ja põhjalikumad parameetrid, nagu kaalu vähenemine või õppimiskiiruse ajastamise strateegia. Pärast seda, kui oleme määratlenud oma TrainingArguments
, saame sisestada oma mudeli, koolituskomplekti, valideerimiskomplekti ja argumendid, et luua meie koolitaja klass. Siis saame lihtsalt helistada trainer.train()
et alustada meie mudeli treenimist. Järgmine koodiplokk näitab, kuidas kohalikku koolitust läbi viia:
Saada andmed S3-le
Sama asja tegemine SageMakeri koolitusel on lihtne. Esimene samm on meie andmete paigutamine Amazon S3-sse, et meie mudel saaks neile juurde pääseda. SageMakeri koolitus võimaldab määrata andmeallika; saate kasutada selliseid allikaid nagu Amazon S3, Amazon elastne failisüsteem (Amazon EFS) või Amazon FSx Lusteri jaoks suure jõudlusega andmete allaneelamiseks. Meie puhul pole meie laiendatud SQuAD-andmekogum eriti suur, seega on Amazon S3 hea valik. Laadime oma treeningandmed üles Amazon S3 kausta ja kui SageMaker meie treeningeksemplari üles keerutab, laadib see andmed alla meie määratud asukohast.
Esitage mudel
Koolitustöö käivitamiseks saame kasutada sisseehitatud Hugging Face hindajat SageMaker SDK. SageMaker kasutab hindajaklassi, et määratleda koolitustöö parameetrid, samuti koolituseks kasutatavate eksemplaride arv ja tüüp. SageMakeri koolitus on üles ehitatud Dockeri konteinerite kasutamisele. Saate kasutada SageMakeri vaikekonteinereid või pakkuda koolituseks oma kohandatud konteinerit. Hugging Face mudelite puhul on SageMakeril sisseehitatud Hugging Face konteinerid kõigi sõltuvustega, mida vajate Hugging Face koolitustööde tegemiseks. Peame vaid määratlema oma treeningskripti, mida meie Hugging Face konteiner kasutab oma sisenemispunktina.
Selles koolitusskriptis määratleme oma argumendid, mille edastame hüperparameetrite komplektina oma sisenemispunkti, ja ka koolituskoodi. Meie koolituskood on sama, nagu kasutaksime seda kohapeal; saame lihtsalt kasutada TrainingArguments
ja seejärel andke need treeneriobjektile. Ainus erinevus on see, et peame määrama oma mudeli väljundi asukoha /opt/ml/model
et SageMakeri koolitus saaks selle võtta, pakkida ja Amazon S3-le saata. Järgmine koodiplokk näitab, kuidas luua meie kallistava näo hinnangut:
Täpsustage mudelit
Oma konkreetse koolitustöö jaoks kasutame p3.8xlarge eksemplari, mis koosneb 4 V100 GPU-st. Treeneriklass toetab automaatselt koolitust mitme GPU-ga eksemplaridel, nii et me ei vaja selle arvessevõtmiseks täiendavaid seadistusi. Koolitame oma mudelit kahe epohhi jaoks, partii suurus on 16 ja õppimiskiirus 4e5. Võimaldame ka segatäpsusega koolitust, mis kasutab segatäpsust valdkondades, kus saame arvulist täpsust vähendada, ilma et see mõjutaks meie mudeli täpsust. See suurendab meie olemasolevat mälu ja treeningkiirust. Koolitustöö käivitamiseks helistame fit
meetod meie poolt huggingface_estimator
klass.
Kui meie mudel on koolituse läbinud, saame mudeli kohapeal alla laadida ja selle testimiseks sülearvuti mällu laadida, mida sülearvutis näidatakse. Keskendume teisele võimalusele, juurutades selle SageMakeri lõpp-punktina!
Rakendage koolitatud mudel
Lisaks koolituse jaoks mõeldud utiliitide pakkumisele võib SageMaker võimaldada ka andmeteadlastel ja ML-i inseneridel hõlpsasti juurutada REST-i lõpp-punkte oma koolitatud mudelite jaoks. Saate juurutada SageMakeris või väljaspool seda koolitatud mudeleid. Lisateabe saamiseks vaadake Juurutage mudel Amazon SageMakeris.
Kuna meie mudelit õpetati SageMakeris, on see lõpp-punktina juurutamiseks juba õiges vormingus. Sarnaselt koolitusega määratleme SageMakeri mudeliklassi, mis määratleb mudeli, teeninduskoodi ning eksemplaride arvu ja tüübi, mida soovime lõpp-punktidena juurutada. Sarnaselt koolitusele põhineb serveerimine Dockeri konteineritel ja saame kasutada kas sisseehitatud SageMakeri konteinereid või tarnida oma. Selle postituse jaoks kasutame sisseehitatud PyTorchi serveerimismahutit, nii et lõpp-punkti käivitamiseks peame lihtsalt määratlema mõned asjad. Meie teeninduskood vajab nelja funktsiooni:
- mudel_fn – Määrab, kuidas lõpp-punkt mudeli laadib (see teeb seda ainult üks kord ja säilitab selle siis mällu järgmiste prognooside jaoks)
- sisend_fn – Määrab, kuidas sisend deserialiseeritakse ja töödeldakse
- ennustada_fn – Määrab, kuidas meie mudel meie sisendit prognoosib
- väljund_fn – Määrab, kuidas lõpp-punkt vormindab ja saadab väljundandmed päringu esitavale kliendile tagasi
Pärast nende funktsioonide määratlemist saame oma lõpp-punkti juurutada ja edastada sellele kontekstilaused ja küsimused ning tagastada selle ennustatud vastuse:
Visualiseerige mudeli tulemusi
Kuna juurutasime SageMakeri lõpp-punkti, mis võimaldab meil saata konteksti avaldusi ja saada vastuseid, saame tagasi minna ja sellest tulenevaid järeldusi esialgses SQuAD-vaaturis visualiseerida, et paremini visualiseerida, mida meie mudel lõigu kontekstis leidis. Selleks vormindame järelduste tulemused uuesti SQuAD-vormingusse, seejärel asendame töötaja mallis olevad Liquid-sildid SQuAD-vormingus JSON-iga. Seejärel saame tulemuseks oleva kasutajaliidese oma töötaja mallis iframida, et tulemused ühe märkmiku kontekstis iteratiivselt üle vaadata, nagu on näidatud järgmisel ekraanipildil. Igal vasakpoolsel küsimusel saab klõpsata, et tõsta esile päringule vastavad parempoolsed tekstiulatused. Kui küsimust pole valitud, tõstetakse kõik tekstivahemikud paremal esile, nagu allpool näidatud.
Koristage
Edaspidiste tasude vältimiseks käivitage Koristage märkmiku jaotises, et kustutada kõik ressursid, sealhulgas SageMakeri lõpp-punktid, toor- ja töödeldud andmekomplekti sisaldavad S3-objektid ning CloudFormationi virn. Kui kustutamine on lõpetatud, peatage ja kustutage kindlasti sülearvuti eksemplar, mis majutab praegust märkmiku skripti.
Järeldus
Selles postituses õppisite, kuidas luua Ground Truthi abil oma küsimustele vastamise andmestik ja ühendada see SQuAD-iga, et koolitada ja juurutada oma küsimustele vastamise mudel, kasutades SageMakerit. Pärast märkmiku valmimist on teil juurutatud SageMakeri lõpp-punkt, mis on koolitatud teie kohandatud küsimuste ja vastuste andmestiku kohta. See lõpp-punkt on teie tootmis-NLU töövoogudesse integreerimiseks valmis, kuna SageMakeri lõpp-punktid on saadaval standardsete REST API-de kaudu. Teil on ka kommenteeritud kohandatud andmestik SQuAD 2.0 vormingus, mis võimaldab teil olemasolevat mudelit ümber õpetada või proovida koolitada muid küsimustele vastamise mudeliarhitektuure. Lõpuks on teil mehhanism oma järelduste tulemuste kiireks visualiseerimiseks, laadides töötaja malli oma kohalikku märkmikku.
Proovi järgi märkmik, täiendage seda oma küsimustega ning koolitage ja juurutage oma kohandatud küsimustele vastamise mudel oma NLU kasutusjuhtude jaoks!
Õnnelik hoone!
Autoritest
Jeremy Feltracco on Amazon Web Services'i Amazon ML Solutions Labi tarkvaraarenduse insener. Ta kasutab oma arvutinägemise, robootika ja masinõppe tausta, et aidata AWS-i klientidel AI kasutuselevõttu kiirendada.
Vidya Sagar Ravipati on juhataja ettevõttes Amazon ML Solutions Lab, kus ta kasutab oma tohutut kogemust suuremahuliste hajutatud süsteemide vallas ja kirge masinõppe vastu, et aidata AWS-i klientidel erinevates tööstusharudes kiirendada nende tehisintellekti ja pilve kasutuselevõttu. Varem oli ta Amazoni ühenduvusteenuste masinõppeinsener, kes aitas luua isikupärastamise ja ennustava hoolduse platvorme.
Isaac Privitera on vanemandmeteadlane Amazoni masinõppelahenduste laboris, kus ta arendab klientide äriprobleemide lahendamiseks kohandatud masinõppe- ja süvaõppelahendusi. Ta töötab peamiselt arvutinägemise ruumis, keskendudes AWS-i klientidele hajutatud koolituse ja aktiivõppe võimaldamisele.
- Münditark. Euroopa parim Bitcoini ja krüptobörs.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. TASUTA PÄÄS.
- CryptoHawk. Altcoini radar. Tasuta prooviversioon.
- Allikas: https://aws.amazon.com/blogs/machine-learning/build-a-custom-qa-dataset-using-amazon-sagemaker-ground-truth-to-train-a-hugging-face-qa- nlu-mudel/
- "
- &
- 000
- 10
- 100
- 116
- 28
- 39
- 3d
- 7
- 9
- MEIST
- kiirendama
- juurdepääs
- Vastavalt
- konto
- raamatupidamine
- täpne
- üle
- aktiivne
- lisamine
- Täiendavad lisad
- aadress
- Vastuvõtmine
- ained
- AI
- Materjal: BPA ja flataatide vaba plastik
- Lubades
- juba
- Amazon
- Amazon Web Services
- summa
- Teine
- vastus
- API-liidesed
- arhitektuur
- PIIRKOND
- argumendid
- ümber
- artikkel
- kaubad
- assistent
- tähelepanu
- audit
- suurendatud
- autorid
- Automatiseeritud
- Automaatne
- saadaval
- AWS
- tagapõhi
- tõke
- tõkked
- Algus
- on
- alla
- arve
- Natuke
- Blokeerima
- keha
- piir
- ehitama
- sisseehitatud
- äri
- helistama
- Saab
- lüüa
- juhtudel
- väljakutse
- raske
- koormuste
- Vali
- klass
- Cloud
- kood
- Kollektsioneerimine
- komponent
- Arvutama
- arvuti
- konfiguratsioon
- Side
- konsool
- konsolideerimine
- Konteiner
- Konteinerid
- sisaldab
- sisu
- töövõtjad
- Vastav
- kulud
- looma
- loodud
- loob
- loomine
- Praegune
- tava
- klient
- Klienditugi
- Kliendid
- andmed
- andmeteadlane
- sügavam
- edastamine
- näitama
- Näidatud
- sõltub
- juurutada
- lähetatud
- juurutamine
- kasutuselevõtu
- kavandatud
- üksikasjalik
- detailid
- Määrama
- & Tarkvaraarendus
- erinev
- raske
- otse
- haigus
- jagatud
- laevalaadija
- Ei tee
- alla
- lae alla
- allalaadimine
- sõidu
- ajal
- kergesti
- võimaldades
- Lõpp-punkt
- insener
- Inseneride
- Inglise
- hindamine
- näide
- olemasolevate
- kogemus
- Väljavõtted
- nägu
- tunnusjoon
- FUNKTSIOONID
- Lõpuks
- esimene
- Keskenduma
- keskendumine
- Järel
- vorm
- formaat
- edasi
- avastatud
- tasuta
- funktsioon
- edasi
- tulevik
- tekitama
- teeniva
- põlvkond
- GitHub
- läheb
- hea
- aitama
- aitab
- kvaliteetne
- Esile tõstma
- Esiletõstetud
- kõrgelt
- Hosting
- Kuidas
- Kuidas
- HTTPS
- tohutu
- inim-
- Inimestel
- sajad
- identifitseerima
- identifitseerimiseks
- Identity
- pilt
- rakendada
- rakendatud
- võimatu
- parandama
- Inc
- sisaldama
- hõlmab
- Kaasa arvatud
- üha rohkem
- tööstus
- info
- Infrastruktuur
- sisend
- integratsioon
- Intelligentne
- huvi
- Interface
- rahvusvaheliselt
- intuitiivne
- IT
- ise
- JavaScript
- töö
- Tööturg
- Võti
- teadmised
- teatud
- labor
- märgistamine
- Labels
- keel
- suur
- suurem
- algatama
- õppinud
- õppimine
- Lahkuma
- võimendab
- Litsentseeritud
- Tõenäoliselt
- joon
- Vedelik
- nimekiri
- koormus
- laadimine
- kohalik
- kohapeal
- liising
- masin
- masinõpe
- TEEB
- Tegemine
- juhitud
- juht
- kaart
- kaardistus
- kaardid
- Turundus
- mask
- sobitamine
- tähendus
- vahendid
- Mälu
- segatud
- ML
- mudel
- mudelid
- Jälgida
- rohkem
- kõige
- mitmekordne
- Natural
- märkmik
- number
- saadud
- pakkuma
- Pakkumised
- Internetis
- avatud
- avamine
- töötama
- tegutsevad
- töö
- optimeerima
- optimeerimine
- valik
- Valikud
- et
- organisatsioon
- Muu
- muidu
- enda
- osa
- eriline
- eriti
- Maksma
- esitades
- Isikupärastamine
- Platvormid
- Punkt
- võrra
- Portal
- positsioon
- positiivne
- võimas
- ennustada
- Ennustused
- hinnapoliitika
- era-
- Probleem
- probleeme
- protsess
- Protsessid
- töötlemine
- Toode
- Produktsioon
- Toodet
- profiilide
- anda
- annab
- pakkudes
- avalik
- Küsimused ja vastused
- kvaliteet
- küsimus
- kiiresti
- Töötlemata
- Lugemine
- mõistlik
- saama
- vähendama
- Hoidla
- esindamine
- Vahendid
- REST
- Tulemused
- tagasipöördumine
- tulu
- läbi
- robootika
- ümber
- jooks
- jooksmine
- Skaalautuvus
- teadlane
- teadlased
- SDK
- Otsing
- turvalisus
- segment
- segmentatsioon
- segmendid
- väljavalitud
- Teenused
- teenindavad
- komplekt
- seade
- Lühike
- näidatud
- sarnane
- lihtne
- SUURUS
- oskused
- väike
- So
- tarkvara
- tarkvaraarenduse
- tahke
- lahendus
- Lahendused
- mõned
- Ruum
- eriline
- spetsialiseeritud
- eriti
- Kestab
- standard
- algus
- väljavõte
- avaldused
- ladustamine
- salvestada
- Strateegia
- struktureeritud
- õpilane
- edukas
- varustama
- toetama
- Toetab
- süsteem
- süsteemid
- ülesanded
- test
- Läbi
- aeg
- aega võttev
- Kapslid
- sümboolne
- Tokeniseerimine
- märgistatud
- märgid
- Teemasid
- tõrvik
- Jälgimine
- koolitus
- Muutma
- liigid
- ui
- mõistma
- mõistmine
- us
- kasutama
- ära kasutama
- kinnitamine
- väärtus
- sort
- müüjad
- Kontrollimine
- Versus
- vertikaalid
- Video
- vaade
- viirused
- nägemus
- Hääl
- ootama
- web
- veebiteenused
- M
- kuigi
- WHO
- Wikipedia
- jooksul
- ilma
- Töö
- töötajate
- Tööjõud
- töötab
- ussid
- aastat