Cum să personalizați generarea de text în Transformers

Cum Sa Personalizati Generarea De Text In Transformers



În deep learning, generarea de text se referă la procesul de personalizare automată a textului în limbaj natural cu ajutorul lui Rețele neuronale artificiale (ANN) . Mai mult, sunt utilizate diferite modele de limbaj pentru acel scop special care sunt pre-antrenate pe seturi mari de date pentru a prezice cuvântul care urmează într-o secvență în funcție de cuvântul anterior. În plus, textul personalizat poate fi utilizat pentru mai multe aplicații, inclusiv traducerea limbilor, generarea de conținut, chatbot și multe altele.

În acest blog, vom acoperi conținutul furnizat mai jos:

Cum să personalizați generarea de text prin încărcarea modelului cu funcția „pipeline” de la Transformers?

conductă ” este folosită pentru a descărca automat modelul AI pre-antrenat în funcție de cerințele utilizatorului. Pentru a utiliza această funcție specială, utilizatorii trebuie să instaleze „ transformatoare ” pachete. Acest pachet oferă acces la modele de ultimă generație bazate pe transformatoare care pot efectua analize de sentimente, precum și multe alte Procesarea limbajului natural (NLP) sarcini.







Pentru a verifica demonstrația practică a scenariului descris mai sus, treceți la pașii indicați mai jos!



Pasul 1: Instalați pachetele „transformatoare”.

Inițial, executați „! pip” comanda pentru a instala pachetele de transformator:



! transformatoare de instalare pip

După cum puteți vedea, pachetul specificat a fost instalat cu succes:





Pasul 2: importați modelul bazat pe transformator

Ulterior, importați modelul necesar bazat pe transformator. Pentru a face acest lucru, mai întâi, importați „ conductă „funcție de la „ transformatoare ”. Apoi, utilizați funcția importată și transmiteți „ generare de text ” ca argument pentru acesta, împreună cu numele de model necesar ” gpt2 ”. Apoi, transmiteți-le către „ Genera ' variabil:



din transformatoare import conductă

Genera = conductă ( „generare de text” , model = „gpt2” )

Pasul 3: Generați text personalizat

Acum, transmiteți textul dorit ca argument la „ Genera ”. Așa cum se arată mai jos:

Genera ( „Prin utilizarea modelului gpt2 pentru generarea de text în transformatoare” )

Conform ieșirii furnizate, fișierul pre-antrenat descărcat „ gpt3 ” modelul a fost generat text cu succes:

Puteți folosi și celelalte argumente, cum ar fi:

prompt = „Prin utilizarea modelului gpt2 pentru generarea de text în transformatoare”

imprimare ( gena ( prompt , num_return_sequences = 5 , lungime maxima = douăzeci ) )

Aici:

  • prompt ” este folosit ca argument care susține intrarea.
  • num_return_sequence ” argumentul este folosit pentru a genera numărul de secvențe ale textului furnizat.
  • lungime maxima ” argumentul este utilizat pentru a specifica lungimea textului generat. În cazul nostru, se limitează la „ 30 ” jetoane (cuvinte sau semne de punctuație):

Notă: Textul personalizat va fi o continuare a solicitării specificate care se bazează pe datele de antrenament ale modelului.

Cum să utilizați un model bazat pe transformator pentru generarea de text în PyTorch?

De asemenea, utilizatorii pot personaliza textul în „ PyTorch ' care este ' Torță ” cadru de învățare automată. Este utilizat pentru diferite aplicații, cum ar fi NLP și Computer Vision. Pentru a utiliza modelul bazat pe transformator pentru personalizarea textului în PyTorch, mai întâi importați „ GPT2Tokenizer ' și ' GPT2Model ” funcțiile din “ transformatoare ”:

din transformatoare import GPT2Tokenizer , GPT2Model

Apoi, utilizați „ GPT2Tokenizer „tokenizer conform modelului nostru pre-antrenat dorit, numit „ gpt2 ”:

tokenizer = GPT2Tokenizer. de la_preantrenat ( „gpt2” )

După aceea, instanțierea greutăților dintr-un model pre-antrenat:

model = GPT2Model. de la_preantrenat ( „gpt2” )

Apoi, declarați un „ gen_text ” variabilă care deține textul pe care dorim să-l personalizăm:

gen_text = „Prin utilizarea modelului gpt2 pentru generarea de text în transformatoare”

Acum, treceți „ gen_text ' și ' return_tensors=‘pt’ ” ca argument care va genera textul în PyTorch și va stoca valoarea generată în „ intrare_codata ' variabil:

intrare_codata = tokenizer ( gen_text , return_tensori = 'pt' )

În cele din urmă, treceți „ intrare_codata ” variabilă care menține textul personalizat la „ model ” ca parametru și obțineți rezultatul rezultat folosind „ lungime maxima ' argument care este setat la ' douăzeci ” care indică faptul că textul generat va fi limitat la un token furnizat, „ num_return_sequences ” care setat la ” 5 ” care arată că textul generat se va baza pe 5 secvențe de text:

ieșire = model ( **coded_input )

generator ( gen_text , lungime maxima = douăzeci , num_return_sequences = 5 )

Ieșire

Cum să utilizați un model bazat pe transformator pentru generarea de text în TensorFlow?

Pentru generarea textului în Transformers, „ TensorFlow ” se folosesc și cadre de învățare automată bazate pe mașină. Pentru a face acest lucru, importați mai întâi funcțiile necesare, cum ar fi „ GPT2Tokenizer ' și ' TFGPT2Model ' de la ' transformatoare ”. Restul codului este același ca mai sus, doar folosim „ TFGPT2Model ” în loc de ” GPT2Model ”funcție. După cum urmează:

din transformatoare import GPT2Tokenizer , TFGPT2Model

tokenizer = GPT2Tokenizer. de la_preantrenat ( „gpt2” )

model = TFGPT2Model. de la_preantrenat ( „gpt2” )

text = „Prin utilizarea modelului gpt2 pentru generarea de text în transformatoare”

intrare_codata = tokenizer ( text , return_tensori = 'tf' )

ieșire = model ( intrare_codata )

generator ( gen_text , lungime maxima = douăzeci , num_return_sequences = 5 )

După cum puteți vedea, textul personalizat a fost generat cu succes:

Asta este! Am elaborat detalii despre personalizarea generării de text în Transformers.

Concluzie

Pentru a personaliza generarea de text în Transformers, există diferite moduri, cum ar fi încărcarea modelului cu funcția pipeline, folosind modelul bazat pe transformator în „ PyTorch ' și ' TensorFlow ” care se bazează pe cadre de învățare automată. În acest ghid, am furnizat informații scurte, împreună cu o demonstrație practică de personalizare a generării de text în Transformers.