NLP-alueella on viime aikoina tapahtunut monia edistysaskeleita. Esikoulutetut mallit ja täysin hallitut NLP-palvelut ovat demokratisoineet NLP:n pääsyn ja käyttöönoton. Amazonin käsitys on täysin hallittu palvelu, joka pystyy suorittamaan NLP-tehtäviä, kuten mukautetun entiteetin tunnistusta, aiheen mallintamista, mielipideanalyysiä ja paljon muuta oivallusten poimimiseksi tiedoista ilman aikaisempaa ML-kokemusta.
Viime vuonna AWS ilmoitti a kumppanuus with Halaaminen kasvot auttaa tuomaan luonnollisen kielen käsittelymalleja (NLP) nopeammin tuotantoon. Hugging Face on avoimen lähdekoodin tekoälyyhteisö, joka keskittyy NLP:hen. Heidän Python-pohjainen kirjastonsa (Muuntajat) tarjoaa työkaluja, joiden avulla voit helposti käyttää suosittuja huippuluokan Transformer-arkkitehtuureja, kuten BERT, RoBERTa ja GPT. Voit soveltaa näitä malleja erilaisiin NLP-tehtäviin, kuten tekstin luokitteluun, tiedon poimimiseen ja kysymyksiin vastaamiseen. muut.
Amazon Sage Maker on täysin hallittu palvelu, joka tarjoaa kehittäjille ja datatieteilijöille mahdollisuuden rakentaa, kouluttaa ja ottaa käyttöön koneoppimismalleja (ML) nopeasti. SageMaker poistaa raskaan noston jokaisesta ML-prosessin vaiheesta, mikä helpottaa korkealaatuisten mallien kehittämistä. SageMaker Python SDK tarjoaa avoimen lähdekoodin sovellusliittymiä ja säilöjä mallien kouluttamiseen ja käyttöönottoon SageMakerissa käyttämällä useita erilaisia ML- ja syväoppimiskehyksiä.
Hugging Face -integraatio SageMakerin kanssa mahdollistaa Hugging Face -mallien rakentamisen mittakaavassa omiin verkkotunnuskohtaisiin käyttötapauksiin.
Tässä viestissä opastamme sinut läpi esimerkin mukautetun Hugging Face -tekstin yhteenvedon rakentamisesta ja käyttöönotosta SageMakerissa. Käytämme tähän tarkoitukseen Pegasusta [1], ensimmäistä Transformer-pohjaista mallia, joka on erityisesti esikoulutettu abstraktia tekstin yhteenvetoa varten räätälöityyn tavoitteeseen. BERT on valmiiksi koulutettu peittämään satunnaisia sanoja lauseessa; Sitä vastoin Pegasuksen esikoulutuksen aikana lauseet peitetään syötedokumentista. Malli luo sitten puuttuvat lauseet yhtenä tulossekvenssinä käyttämällä kaikkia peittämättömiä lauseita kontekstina, ja tuloksena luodaan asiakirjasta yhteenveto.
HuggingFace-kirjaston joustavuuden ansiosta voit helposti mukauttaa tässä viestissä näkyvän koodin muun tyyppisiin muuntajamalleihin, kuten t5, BART ja muihin.
Lataa oma tietojoukosi hienosäätääksesi Hugging Face -mallia
Käytämme mukautetun tietojoukon lataamiseen CSV-tiedostosta load_dataset
menetelmä Transformers-paketista. Voimme käyttää tokenointia ladatussa tietojoukossa käyttämällä datasets.Dataset.map
toimia. map
funktio iteroituu ladatun tietojoukon yli ja käyttää tokenize-funktiota jokaisessa esimerkissä. Tokenoitu tietojoukko voidaan sitten välittää kouluttajalle mallin hienosäätöä varten. Katso seuraava koodi:
Rakenna harjoitusskripti Hugging Face SageMaker -estimaattoria varten
Kuten postauksessa selitettiin AWS ja Hugging Face yksinkertaistavat ja nopeuttavat luonnollisen kielen käsittelymallien käyttöönottoa, Hugging Face -mallin kouluttaminen SageMakerilla ei ole koskaan ollut näin helppoa. Voimme tehdä sen käyttämällä Hugging Face -estimaattoria SageMaker SDK.
Seuraava koodinpätkä hienosäätää Pegasusta tietojoukossamme. Löydät myös monia näytekannettavat jotka opastavat sinua erityyppisten mallien hienosäädössä, jotka ovat saatavilla suoraan muuntajien GitHub-arkistosta. Hajautetun koulutuksen mahdollistamiseksi voimme käyttää Data Parallelism Library SageMakerissa, joka on sisäänrakennettu HuggingFace Trainer -sovellusliittymään. Tietojen rinnakkaisuuden mahdollistamiseksi meidän on määritettävä distribution
-parametri Hugging Face -estimaattorissamme.
Suurin määritettävissä oleva harjoituserän koko riippuu mallin koosta ja käytetyn ilmentymän GPU-muistista. Jos SageMakerin hajautettu koulutus on käytössä, erän kokonaiskoko on jokaisen laitteen/GPU:n kesken jaetun erän summa. Jos käytämme ml.g4dn.16xlargea hajautetun harjoittelun kanssa ml.g4dn.xlarge-instanssin sijaan, meillä on kahdeksan kertaa (8 GPU:ta) enemmän muistia kuin ml.g4dn.xlarge-esiintymässä (1 GPU). Eräkoko laitetta kohti pysyy samana, mutta kahdeksan laitetta harjoittelee rinnakkain.
Kuten SageMakerissa tavallista, luomme a train.py
komentosarja käytettäväksi Script Moden kanssa ja siirtää hyperparametrit harjoittelua varten. Seuraava Pegasuksen koodinpätkä lataa mallin ja harjoittelee sitä Transformersin avulla Trainer
luokka:
Koko koodi on saatavilla osoitteessa GitHub.
Ota koulutettu Hugging Face -malli käyttöön SageMakerissa
Hugging Facen ystävämme ovat tehneet johtopäätöksen SageMaker for Transformers -malleista helpommin kuin koskaan, kiitos SageMaker Hugging Face Inference Toolkit. Voit ottaa suoraan käyttöön aiemmin koulutetun mallin yksinkertaisesti määrittämällä ympäristömuuttujan "HF_TASK":"summarization"
(ohjeet, katso Pegasus-mallit), valitsemalla Sijoittaaja valitse sitten Amazon Sage Maker, tarvitsematta kirjoittaa päättelykomentosarjaa.
Jos kuitenkin tarvitset tietyn tavan luoda tai jälkikäsitellä ennusteita, esimerkiksi luoda useita yhteenvetoehdotuksia, jotka perustuvat erilaisten tekstin luontiparametrien luetteloon, oman päättelyskriptin kirjoittaminen voi olla hyödyllistä ja suhteellisen yksinkertaista:
Kuten edellisessä koodissa näkyy, tällainen HuggingFacen päättelyskripti SageMakerissa tarvitsee vain seuraavat mallipohjatoiminnot:
- model_fn () – Lukee sisälle koulutustyön lopussa tallennetun sisällön
SM_MODEL_DIR
, tai olemassa olevasta mallipainojen hakemistosta, joka on tallennettu tar.gz-tiedostona Amazonin yksinkertainen tallennuspalvelu (Amazon S3). Sitä käytetään koulutetun mallin ja siihen liittyvän tokenisaattorin lataamiseen. - input_fn () – Muotoilee päätepisteelle tehdystä pyynnöstä saadut tiedot.
- predict_fn () – Kutsuu tulosteen
model_fn()
(malli ja tokenizer) suorittaaksesi päätelmän tulosteestainput_fn()
(muotoiltu data).
Valinnaisesti voit luoda output_fn()
toiminto päätelmien muotoiluun käyttämällä tulostetta predict_fn()
, jota emme osoittaneet tässä viestissä.
Voimme sitten ottaa käyttöön koulutetun Hugging Face -mallin ja siihen liittyvän päättelyskriptin SageMakeriin käyttämällä Halaavat kasvot SageMaker-malli luokka:
Testaa käytössä olevaa mallia
Tätä demoa varten koulutimme mallin Naisten verkkokaupan vaatteiden arvostelut -tietojoukko, joka sisältää arvosteluja vaateartikkeleista (jotka pidämme syötetekstinä) ja niihin liittyvistä otsikoista (jotka pidämme yhteenvetoina). Kun olemme poistaneet artikkelit, joiden otsikoista puuttuu, tietojoukko sisältää 19,675 70 arvostelua. Pegasus-mallin hienosäätö harjoitussarjassa, joka sisälsi 3.5 % näistä artikkeleista viiden aikakauden ajalta, kesti noin 3.16 tuntia ml.pXNUMXx-suuressa tapauksessa.
Voimme sitten ottaa mallin käyttöön ja testata sitä jollain testijoukon esimerkkidatalla. Seuraavassa on esimerkkiarvostelu, jossa kuvataan villapaita:
SageMaker-päätepisteessä isännöidyn mukautetun päätelmäskriptimme ansiosta voimme luoda useita yhteenvetoja tätä tarkistusta varten erilaisilla tekstin luontiparametreilla. Voimme esimerkiksi pyytää päätepistettä luomaan joukon hyvin lyhyitä tai kohtalaisen pitkiä yhteenvetoja, joissa määritellään eripituiset rangaistukset (mitä pienempi pituusrangaistus, sitä lyhyempi luotu yhteenveto). Seuraavassa on joitain parametrien syöttöesimerkkejä ja niitä seuraavat koneella luodut yhteenvedot:
Kummasta yhteenvedosta pidät enemmän? Ensimmäinen luotu otsikko sisältää kaikki tärkeät faktat arvostelusta neljänneksen sanojen määrällä. Sitä vastoin viimeinen käyttää vain kolmea sanaa (alle 1/10 alkuperäisen arvostelun pituudesta) keskittyäkseen puseron tärkeimpään ominaisuuteen.
Yhteenveto
Voit hienosäätää mukautetun tietojoukon tekstin yhteenvedon ja ottaa sen käyttöön SageMakerin tuotannossa tämän yksinkertaisen esimerkin avulla. GitHub. lisä- näytekannettavat Hugging Face -mallit ovat myös saatavilla SageMakerin kouluttamiseen ja käyttöönottoon.
Kuten aina, AWS suhtautuu myönteisesti palautteeseen. Lähetä kommentteja tai kysymyksiä.
Viitteet
[1] PEGASUS: Esiharjoittelu purettujen aukkolauseiden avulla abstraktia yhteenvetoa varten
Tietoja kirjoittajista
Viktor Malesevic on koneoppimisinsinööri, jolla on AWS-asiantuntijapalvelut, ja hän on intohimoinen luonnollisen kielen prosessoinnista ja MLOpsista. Hän työskentelee asiakkaiden kanssa kehittääkseen ja tuodakseen haastavia syväoppimismalleja AWS:n tuotantoon. Vapaa-ajallaan hän nauttii lasillisen punaviiniä ja juustoa ystävien kanssa.
Aamna Najmi on tietotutkija, jolla on AWS Professional Services. Hän on intohimoinen auttamaan asiakkaita innovoimaan Big Data- ja tekoälytekniikoilla, jotta he voivat hyödyntää datasta liiketoiminta-arvoa ja oivalluksia. Vapaa-ajallaan hän nauttii puutarhanhoidosta ja matkustamisesta uusiin paikkoihin.
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazon Sage Maker
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- zephyrnet