Accelerați cu BERT: Modele de optimizare NLP

Publicat: 2022-03-11

Accelerarea NLP cu BERT: rezultate de clasă mondială cu de 100 de ori mai puține date

Există două dificultăți principale atunci când construiești modele de clasificare pentru procesarea limbajului natural (NLP) pentru învățarea profundă.

  1. Colectarea datelor (obținerea a mii sau milioane de puncte de date clasificate)
  2. Arhitectură și formare de deep learning

Capacitatea noastră de a construi modele complexe de învățare profundă care sunt capabile să înțeleagă complexitatea limbii a necesitat de obicei ani de experiență în aceste domenii. Cu cât problema dvs. este mai dificilă, cu atât rezultatul dvs. este mai divers, cu atât trebuie să petreceți mai mult timp pentru fiecare dintre acești pași.

Colectarea datelor este împovărătoare, consumatoare de timp, costisitoare și este factorul limitativ numărul unu pentru proiectele de succes NLP. Pregătirea datelor, construirea de conducte rezistente, alegerea dintre sute de opțiuni potențiale de pregătire și pregătirea „modelului” pot necesita cu ușurință luni de efort chiar și cu ingineri talentați de învățare automată. În cele din urmă, formarea și optimizarea modelelor de învățare profundă necesită o combinație de înțelegere intuitivă, expertiză tehnică și abilitatea de a rămâne cu o problemă.

În acest articol, vom acoperi

  1. Tendințe în învățarea profundă pentru NLP: Cum învățarea prin transfer face ca modelele de clasă mondială să deschidă sursă
  2. Introducere în BERT: O introducere în cel mai puternic „instrument” NLP de până acum – Reprezentări de codificatoare bidirecționale de la transformatoare (BERT)
  3. Cum funcționează BERT și de ce va schimba modul în care companiile execută proiecte NLP

Tendințe în învățarea profundă

Desigur, optimizarea acestui proces a început cu o precizie crescândă. Rețelele LSTM (memorie pe termen lung pe termen scurt) au revoluționat multe sarcini NLP, dar au fost (și sunt) incredibil de amanate de date. Optimizarea și antrenamentul acelor modele poate dura zile sau săptămâni pe mașini mari și scumpe. În cele din urmă, implementarea acelor modele mari în producție este costisitoare și greoaie.

Pentru a reduce acești factori de creare a complexității, domeniul viziunii computerizate a folosit de mult timp învățarea prin transfer. Învățarea prin transfer este abilitatea de a utiliza un model antrenat pentru o sarcină diferită, dar similară, pentru a vă accelera soluția pe una nouă. Este nevoie de mult mai puțin efort pentru a reanaliza un model care poate deja clasifica copacii decât pentru a antrena un nou model pentru a recunoaște tufișurile de la zero.

Imaginează-ți un scenariu în care cineva nu a văzut niciodată un tufiș, dar a văzut mulți copaci în viața lor. V-ar fi mult mai ușor să le explicați cum arată un tufiș în ceea ce privește ceea ce știu ei despre copaci, mai degrabă decât să descrieți un tufiș de la zero. Învățarea prin transfer este o modalitate foarte umană de a învăța, așa că are sens intuitiv că aceasta ar funcționa în sarcinile de învățare profundă.

BERT înseamnă că aveți nevoie de mai puține date, mai puțin timp de instruire și obțineți mai multă valoare pentru afaceri. Calitatea produselor NLP pe care le poate construi orice afacere a devenit de clasă mondială.

În vine BERT

BERT folosește ceea ce se numesc transformatoare și este conceput pentru a produce codificări de propoziții. În esență, BERT este un model de limbă bazat pe un model specific de învățare profundă. Este conceput special pentru a oferi o reprezentare contextuală, numerică, a unei propoziții sau a unui șir de propoziții. Acea reprezentare digitală este intrarea la un model superficial și necomplicat. Nu numai atât, dar rezultatele sunt în general superioare și necesită o parte din datele de intrare pentru o sarcină care nu a fost încă rezolvată.

Imaginați-vă că puteți petrece o zi culegând date în loc de un an și puteți construi modele în jurul unor seturi de date pe care altfel nu le-ați avea niciodată suficiente date pentru a crea un model LSTM. Numărul de sarcini NLP care ar fi deschis pentru o afacere care, anterior, nu și-ar putea permite timpul de dezvoltare și expertiza necesare este uimitor.

BERT vs LSTM ilustrat

Cum funcționează BERT

În NLP tradițional, punctul de plecare pentru formarea modelului sunt vectorii de cuvinte. Vectorii de cuvinte sunt o listă de numere [0,55, 0,24, 0,90, …] care încearcă să reprezinte numeric ceea ce înseamnă acel cuvânt. Cu o reprezentare numerică, putem folosi acele cuvinte în antrenarea modelelor complexe, iar cu vectori de cuvinte mari, putem încorpora informații despre cuvinte în modelele noastre.

BERT face ceva similar (de fapt, punctul său de plecare sunt vectorii de cuvinte), dar creează o reprezentare numerică a unei întregi propoziții de intrare (sau propoziții).

În comparație cu modelele LSTM, BERT face multe lucruri diferit.

  1. Citește toate cuvintele simultan, mai degrabă decât de la stânga la dreapta sau de la dreapta la stânga
  2. 15% dintre cuvinte sunt selectate aleatoriu pentru a fi „mascate” (înlocuite literal cu simbolul [MASK]) în timpul antrenamentului
    • 10% dintre cuvintele selectate aleatoriu sunt lăsate neschimbate
    • 10% dintre cuvintele mascate sunt înlocuite cu cuvinte aleatorii
    • (a) și (b) lucrează împreună pentru a forța modelul să prezică fiecare cuvânt din propoziție (modelele sunt leneșe)
  3. BERT încearcă apoi să prezică toate cuvintele din propoziție și numai cuvintele mascate contribuie la funcția de pierdere - inclusiv cuvintele neschimbate și înlocuite aleatoriu
  4. Modelul a fost ajustat pe predicția următoarei propoziții. În acest pas, modelul încearcă să determine dacă o propoziție dată este următoarea propoziție din text

Convergența este lentă, iar BERT are nevoie de mult timp pentru a se antrena. Cu toate acestea, învață mult mai bine relațiile contextuale din text. Vectorii de cuvinte sunt reprezentări foarte superficiale care limitează complexitatea pe care o pot modela — BERT nu are această limitare.

Majoritatea companiilor pot folosi modelele pre-antrenate care au folosit mai multe GPU-uri și au avut nevoie de zile pentru a se antrena pentru aplicarea lor. Există puține cazuri în care modelele BERT existente nu pot fi utilizate sau adaptate la un anumit caz de utilizare. BERT permite unei echipe să accelereze soluțiile de zece ori. Se poate trece la identificarea unei soluții de afaceri, la construirea unei dovezi de concept și, în sfârșit, mutarea acelui concept în producție într-o fracțiune de timp.

Implementarea BERT și compararea valorii afacerii

Deoarece acest articol se concentrează pe aplicația de afaceri și inginerie a construirii unui produs real, vom crea și vom instrui două modele pentru a înțelege mai bine valoarea comparativă.

  1. BERT: Cea mai simplă conductă BERT. Procesăm textul într-un mod standard, producem codificări ale propozițiilor BERT și introducem acele codificări ale propozițiilor într-o rețea neuronală superficială.
  2. LSTM: Arhitectura standard Embed - Encode - Attend - Predict (imaginea de mai sus)

Sarcina? Prezicerea originii filmelor pe baza intrigii lor din IMDB. Setul nostru de date acoperă filme din americane, australiene, britanice, canadiene, japoneze, chineze, sud-coreene și ruse, pe lângă alte șaisprezece filme, pentru un total de 24 de origini. Avem puțin mai puțin de 35.000 de exemple de antrenament în total.

Iată un exemplu de fragment dintr-un complot.

Cu mii de ani în urmă, Steppenwolf și legiunile sale de Parademoni încearcă să preia Pământul cu energiile combinate a trei Cutii Mame. Ei sunt dejucați de o armată unificată care include zeii olimpici, amazoanele, atlanții, omenirea și Green Lantern Corps. După ce au respins armata lui Steppenwolf, Cutiile Mame sunt separate și ascunse în locații de pe planetă. În prezent, omenirea este în doliu pentru Superman, a cărui moarte determină reactivarea Mother Boxes și întoarcerea lui Steppenwolf pe Pământ în efortul de a-și recâștiga favoarea stăpânului său, Darkseid. Steppenwolf își propune să adune artefactele pentru a forma „Unitatea”, care va distruge ecologia Pământului și o va terraforma după imaginea lui...

Dacă nu ați fi ghicit, acesta este intriga Ligii Justiției - un film american.

Rezultatele

Am antrenat un set divers de parametri pentru a înțelege cum au răspuns rezultatele la cantități variate de date și dimensiuni ale modelului. După cum am spus, cea mai semnificativă valoare adăugată de la BERT este nevoia de mult mai puține date.

Pentru modelul LSTM, am antrenat cel mai mare model posibil pe GPU-ul nostru și am variat dimensiunea vocabularului și lungimea cuvântului pentru a găsi cel mai performant model. Pentru modelul BERT, nu aveam nimic mai mult decât un singur strat.

Ne-am reparat setul de testare pentru toate aceste eșantioane, astfel încât obținem în mod constant același set de antrenament.

Rezultate la utilizarea BERT NLP

În această sarcină, modelul antrenat folosind codificări de propoziție BERT atinge un scor impresionant F1 de 0,84 după doar 1000 de mostre. Rețeaua LSTM nu depășește niciodată 0,60. Și mai impresionant, pregătirea modelelor BERT a durat în medie 1/20 din timp decât pregătirea modelelor LSTM.

Concluzie

După orice măsură, aceste rezultate indică o revoluție în NLP. Folosind de 100 de ori mai puține date și de 20 de ori mai puțin timp de antrenament, am obținut rezultate de clasă mondială. Capacitatea de a antrena modele de înaltă calitate în secunde sau minute în loc de ore sau zile deschide NLP în zone în care anterior nu se putea permite.

BERT are mult mai multe utilizări decât cea din această postare. Există modele multilingve. Poate fi folosit pentru a rezolva multe sarcini diferite NLP, fie individual ca în această postare, fie simultan folosind mai multe rezultate. Codificările propozițiilor BERT sunt setate să devină o piatră de temelie a multor proiecte NLP în viitor.

Codul din spatele acestei postări este disponibil pe Github. De asemenea, încurajez cititorii să verifice Bert-as-a-service, care a fost piatra de temelie a construirii codificărilor de propoziții BERT pentru această postare.

Înrudit: Profitați la maximum de modelele pre-antrenate