NLP: n nopeuttaminen BERT: llä: maailmanluokan tulokset 100x pienemmällä datalla
Luonnollisen kielen käsittelyn syvällisen oppimisen (NLP) luokitusmallien rakentamisessa on kaksi ensisijaista vaikeutta.
Kykymme rakentaa monimutkaisia syvällisen oppimisen malleja, jotka kykenevät ymmärtämään kielen monimutkaisuuden, on tyypillisesti edellyttänyt vuosien kokemusta kaikilla näillä aloilla. Mitä vaikeampaa ongelmasi on, sitä monipuolisempi tuotos, sitä enemmän aikaa sinun on käytettävä kullekin näistä vaiheista.
Tiedonkeruu on raskasta, aikaa vievää, kallista ja on ykkönen rajoittava tekijä onnistuneille NLP-projekteille. Tietojen valmistelu, joustavien putkilinjojen rakentaminen, valintojen tekeminen satojen mahdollisten valmisteluvaihtoehtojen joukossa ja 'mallivalmiiksi' saattaminen vievät helposti kuukausien vaivaa jopa lahjakkaat koneoppimisinsinöörit . Lopuksi, syvällisten oppimismallien koulutus ja optimointi edellyttävät intuitiivisen ymmärryksen, teknisen asiantuntemuksen ja kyvyn pysyä ongelman yhdistelmänä.
Tässä artikkelissa käsitellään
Luonnollisesti tämän prosessin optimointi alkoi lisääntyvällä tarkkuudella. LSTM (long-short term memory) -verkot mullistivat monet NLP-tehtävät, mutta ne olivat (ja ovat) uskomattoman tiedonhimoisia. Näiden mallien optimointi ja koulutus voi kestää päiviä tai viikkoja suurilla ja kalliilla koneilla. Lopuksi näiden suurten mallien käyttöönotto tuotannossa on kallista ja hankalaa.
Näiden monimutkaisuutta aiheuttavien tekijöiden vähentämiseksi tietokonenäkökenttä on jo pitkään hyödyntänyt siirto-oppimista. Siirto-oppiminen on kyky käyttää mallia, joka on koulutettu eri, mutta samankaltaiseen tehtävään, nopeuttamaan ratkaisua uudella. Puun luokittelemiseen jo mallin uudelleenkouluttaminen vaatii paljon vähemmän vaivaa kuin uuden mallin kouluttaminen tunnistamaan pensaat tyhjästä.
Kuvittele skenaario, jossa joku ei ollut koskaan nähnyt pensaita, mutta oli nähnyt monia puita elämässään. Sinun olisi paljon helpompaa selittää heille, millainen pensas näyttää siltä kannalta, mitä he tietävät puista, sen sijaan, että kuvailisi pensasta alusta alkaen. Siirto-oppiminen on hyvin inhimillinen tapa oppia, joten on järkevää ymmärtää, että tämä toimisi syvissä oppimistehtävissä.
BERT tarkoittaa, että tarvitset vähemmän tietoja, vähemmän koulutusaikaa ja saat enemmän liiketoiminnallista arvoa. Kaikkien yritysten rakentamien NLP-tuotteiden laadusta on tullut maailmanluokan.
BERT käyttää niin sanottuja muuntajia ja on suunniteltu tuottamaan lauseenkoodauksia. Pohjimmiltaan BERT on erityiseen syvälliseen oppimiseen perustuva kielimalli. Sen tarkoitus on antaa lauseen tai lausejoukon kontekstuaalinen, numeerinen esitys. Tämä digitaalinen esitys on tulo matalaan ja mutkattomaan malliin. Ei vain sitä, mutta tulokset ovat yleensä parempia ja vaativat murto-osan syötetiedoista tehtävälle, joka on vielä ratkaistava.
Kuvittele, että voit viettää päivän kerätä tietoja vuoden sijasta ja pystyä rakentamaan malleja tietojoukkojen ympärille, joita sinulla ei muuten olisi koskaan tarpeeksi tietoa LSTM-mallin luomiseen. Niiden NLP-tehtävien määrä, jotka avautuisivat yritykselle, jolla ei aiemmin ollut varaa tarvittavaan kehitysaikaan ja asiantuntemukseen, on hämmästyttävä.
Perinteisessä NLP: ssä mallikoulutuksen lähtökohta on sanavektorit. Sanavektorit ovat luettelo numeroista [0,55, 0,24, 0,90,…], jotka yrittävät numeerisesti edustaa sanan merkitystä. Numeerisen esityksen avulla voimme käyttää näitä sanoja monimutkaisissa malleissa, ja suurilla sanavektoreilla voimme upottaa tietoja sanoista malleihimme.
BERT tekee jotain vastaavaa (itse asiassa sen lähtökohta on sanavektorit), mutta se luo numeerisen esityksen koko syötelauseesta (tai lauseista).
LSTM-malleihin verrattuna BERT tekee monia asioita eri tavalla.
Lähentyminen on hidasta, ja BERTillä kestää kauan kouluttaa. Se oppii kuitenkin paremmin kontekstuaaliset suhteet tekstissä. Sanavektorit ovat hyvin matalia esityksiä, jotka rajoittavat niiden mallintamisen monimutkaisuutta - BERTillä ei ole tätä rajoitusta.
Suurin osa yrityksistä voi käyttää valmiiksi koulutettuja malleja, joissa käytettiin useita näytönohjaimia ja joiden kouluttamiseen kesti päiviä. On harvoja tapauksia, joissa nykyisiä BERT-malleja ei voida käyttää paikallaan tai virittää tiettyyn käyttötapaukseen. BERT antaa tiimille mahdollisuuden nopeuttaa ratkaisuja kymmenkertaisesti. Voidaan siirtyä tunnistamaan yritysratkaisu, rakentamaan todiste konseptista ja lopulta siirtämään se konseptiin tuotannossa murto-osassa ajasta.
Koska tämä artikkeli keskittyy todellisen tuotteen rakentamisen liiketoimintaan ja tekniikkaan, luomme ja koulutamme kaksi mallia ymmärtämään paremmin vertailevaa arvoa.
Tehtävä? Elokuvien alkuperän ennustaminen IMDB: n juoni perusteella. Tietojoukkomme kattaa elokuvia amerikkalaisista, australialaisista, brittiläisistä, kanadalaisista, japanilaisista, kiinalaisista, eteläkorealaisista ja venäläisistä, lisäksi 16 elokuvaa yhteensä 24 alkuperästä. Koulutusesimerkkejä on yhteensä vajaat 35 000.
Tässä on esimerkki katkelmasta juonesta.
Tuhansia vuosia sitten, Steppenwolf ja hänen legendaariset parademonit yrittävät valloittaa Maan kolmen Äiti-laatikon yhdistetyillä energioilla. Heitä rikkoo yhtenäinen armeija, johon kuuluvat olympialaiset jumalat, amazonit, atlantit, ihmiskunta ja vihreiden lyhtyjoukot. Steppenwolfin armeijan karkottamisen jälkeen Äiti-laatikot erotetaan ja piilotetaan planeetan paikkoihin. Nykyään ihmiskunta suree Supermania, jonka kuolema saa Äidiruudut aktivoimaan uudelleen ja Steppenwolfin paluun maan päälle pyrkiessään saamaan takaisin suosiotaan isäntänsä Darkseidin kanssa. Steppenwolf pyrkii keräämään esineitä muodostamaan 'Ykseyden', joka tuhoaa maapallon ekologian ja muodostaa sen ...
Jos et olisi arvannut, tämä on Justice League - amerikkalainen elokuva.
Koulutimme monipuolisen joukon parametreja ymmärtämään, miten tulokset reagoivat vaihtelevaan datamäärään ja mallikokoihin. Kuten sanoimme, BERT: n merkittävin lisäarvo on tarve saada paljon vähemmän tietoja.
LSTM-mallille koulutimme suurimman mahdollisen mallin GPU: lla ja vaihdimme sanaston kokoa ja sanan pituutta parhaan suorituskyvyn löytämiseksi. BERT-mallissa meillä ei ollut muuta kuin yksi kerros.
Korjasimme testisarjamme kaikkiin näihin näytteisiin, joten pisteytämme jatkuvasti saman koulutusjoukon.
Tässä tehtävässä BERT-lauseenkoodauksia käyttäen koulutettu malli saavuttaa vaikuttavan F1-pistemäärän 0,84 vain 1000 näytteen jälkeen. LSTM-verkko ei koskaan ylitä arvoa 0,60. Vielä vaikuttavampi, BERT-mallien kouluttaminen vei keskimäärin 1/20 kertaa kuin LSTM-mallien valmistelu.
Millä tahansa mittarilla nämä tulokset osoittavat NLP: n vallankumouksen. Käyttämällä 100x vähemmän tietoa ja 20x vähemmän harjoitteluaikaa saavutimme maailmanluokan tuloksia. Kyky kouluttaa korkealaatuisia malleja sekunneissa tai minuuteissa tuntien tai päivien sijaan avaa NLP: n alueilla, joilla siihen ei aiemmin ollut varaa.
BERTillä on paljon enemmän käyttötarkoituksia kuin tässä viestissä. On olemassa monikielisiä malleja. Sitä voidaan käyttää monien erilaisten NLP-tehtävien ratkaisemiseen joko erikseen kuten tässä viestissä tai samanaikaisesti useiden lähtöjen avulla. BERT-lauseiden koodauksista on tarkoitus tulla kulmakivi monille tulevaisuuden NLP-projekteille.
Tämän viestin takana oleva koodi on saatavilla osoitteessa Github . Kehotan myös lukijoita tarkistamaan Bert-as-a-palvelu , joka oli kulmakivi tämän viestin BERT-lauseiden koodausten rakentamisessa.
Liittyvät: Eniten hyötyä esikoulutetuista malleistaSiirto-oppiminen on koneoppimisen menetelmä, jossa lähtökohtana käytetään mallia ja koulutetaan yhtä tehtävää varten. Se on koneoppimismenetelmä, jossa yhtä tehtävää varten kehitettyä mallia käytetään lähtökohtana samankaltaiselle, liittyvälle ongelmalle (esim. NLP-luokitus nimettyyn entiteettitunnistukseen).
BERT on tehokas syvällisen oppimisen malli, jonka Google on kehittänyt muuntajaarkkitehtuuriin. BERT on osoittanut uusimpia tuloksia ja useita yleisimpiä NLP-tehtäviä, ja sitä voidaan käyttää lähtökohtana NLP-mallien rakentamiselle monilla aloilla.
BERT tiivistää joitakin NLP: n rakentamisen monimutkaisimmista ja aikaa vievimmistä näkökohdista, ja todisteet ovat osoittaneet, että BERT: ää voidaan käyttää vähentämään tehokkaiden mallien kouluttamiseen tarvittavien tietojen määrää yli 90%. BERT vähentää myös tuotannon monimutkaisuutta, kehitysaikaa ja lisää tarkkuutta.
Paras paikka aloittaa BERT on tutustumalla Bert-as-a-service -palveluun. Tämän viestin takana oleva koodi on saatavilla Githubissa, ja sitä voidaan käyttää myös uuden NLP-projektin käynnistämiseen.