Kako prilagoditi generiranje teksta u Transformersima

Kako Prilagoditi Generiranje Teksta U Transformersima



U dubokom učenju, generiranje teksta odnosi se na proces automatske prilagodbe teksta na prirodnom jeziku uz pomoć Umjetne neuronske mreže (ANN) . Štoviše, različiti jezični modeli koriste se za tu posebnu svrhu koji su unaprijed uvježbani na velikim skupovima podataka za predviđanje nadolazeće riječi u nizu ovisno o prethodnoj riječi. Osim toga, prilagođeni tekst može se koristiti za višestruke aplikacije uključujući prijevod jezika, generiranje sadržaja, chatbotove i mnoge druge.

U ovom blogu ćemo pokriti dolje navedeni sadržaj:

Kako prilagoditi generiranje teksta učitavanjem modela s funkcijom 'cjevovoda' iz Transformersa?

' cjevovod ” funkcija se koristi za automatsko preuzimanje unaprijed obučenog AI modela prema zahtjevima korisnika. Za korištenje ove posebne funkcije, korisnici trebaju instalirati ' transformatori ” paketi. Ovaj paket daje pristup najsuvremenijim modelima temeljenim na Transformeru koji mogu izvršiti analizu osjećaja kao i brojne druge Obrada prirodnog jezika (NLP) zadaci.







Kako biste provjerili praktičnu demonstraciju gore opisanog scenarija, prijeđite na dolje navedene korake!



Korak 1: Instalirajte pakete “transformers”.

Prvo, izvršite “! pip” naredba za instaliranje paketa transformatora:



! pip instalirati transformatore

Kao što vidite, navedeni paket je uspješno instaliran:





Korak 2: Uvezite model temeljen na transformatoru

Nakon toga uvezite traženi model temeljen na transformatoru. Da biste to učinili, prvo uvezite ' cjevovod ” funkcija iz “ transformatori ”. Zatim upotrijebite uvezenu funkciju i proslijedite ' generiranje teksta ” kao argument uz traženi naziv modela “ gpt2 ”. Zatim ih proslijedite u ' generirati ” varijabla:



iz transformatori uvoz cjevovod

generirati = cjevovod ( 'generiranje teksta' , model = 'gpt2' )

Korak 3: Generirajte prilagođeni tekst

Sada proslijedite željeni tekst kao argument u ' generirati ”. Kako je prikazano dolje:

generirati ( 'Upotrebom gpt2 modela za generiranje teksta u transformatorima' )

Prema dostavljenom rezultatu, preuzeti prethodno obučeni ' gpt3 ” model je uspješno generirao tekst:

Također možete koristiti druge argumente, kao što su:

potaknuti = 'Upotrebom gpt2 modela za generiranje teksta u transformatorima'

ispisati ( gen ( potaknuti , broj_povratnih_nizova = 5 , maksimalna dužina = dvadeset ) )

Ovdje:

  • potaknuti ” koristi se kao argument koji zadržava unos.
  • broj_povratnog_niza ” argument se koristi za generiranje broja sekvenci navedenog teksta.
  • maksimalna dužina ” argument se koristi za određivanje duljine generiranog teksta. U našem slučaju ograničeno je na ' 30 ” tokeni (riječi ili interpunkcijski znakovi):

Bilješka: Prilagođeni tekst bit će nastavak navedenog odziva koji se temelji na podacima o obuci modela.

Kako iskoristiti model temeljen na transformatoru za generiranje teksta u PyTorchu?

Korisnici također mogu prilagoditi tekst u ' PyTorch ' koje je ' Baklja ” temeljen okvir strojnog učenja. Koristi se za različite aplikacije, kao što su NLP i računalni vid. Da biste koristili model temeljen na transformatoru za prilagodbu teksta u PyTorchu, prvo uvezite ' GPT2Tokenizer ' i ' GPT2Model ' funkcije iz ' transformatori ”:

iz transformatori uvoz GPT2Tokenizer , GPT2Model

Zatim upotrijebite ' GPT2Tokenizer ” tokenizator prema našem željenom unaprijed obučenom modelu pod nazivom “ gpt2 ”:

tokenizator = GPT2Tokenizer. od_pretvježbano ( 'gpt2' )

Nakon toga, instanciranje težine iz prethodno obučenog modela:

model = GPT2Model. od_pretvježbano ( 'gpt2' )

Zatim, deklarirajte ' gen_text ” varijabla koja sadrži tekst koji želimo prilagoditi:

gen_text = 'Upotrebom gpt2 modela za generiranje teksta u transformatorima'

Sada prođite ' gen_text ' i ' return_tensors='pt' ' kao argument koji će generirati tekst u PyTorchu i pohraniti generiranu vrijednost u ' kodirani_unos ” varijabla:

kodirani_unos = tokenizator ( gen_text , povratni_tenzori = 'pt' )

Na kraju, prođite ' kodirani_unos ” koja sadrži prilagođeni tekst u “ model ' kao parametar i dobijte rezultantni izlaz koristeći ' maksimalna dužina ' argument koji je postavljen na ' dvadeset ' što označava da će generirani tekst biti ograničen na navedene tokene, ' broj_povratnih_nizova ' koji je postavljen na ' 5 ” koja pokazuje da će se generirani tekst oslanjati na 5 nizova teksta:

izlaz = model ( **kodirani_unos )

generator ( gen_text , maksimalna dužina = dvadeset , broj_povratnih_nizova = 5 )

Izlaz

Kako iskoristiti model temeljen na transformatoru za generiranje teksta u TensorFlowu?

Za generiranje teksta u Transformersima, ' TensorFlow ” također se koriste okviri za strojno učenje. Da biste to učinili, prvo uvezite potrebne funkcije, kao što je ' GPT2Tokenizer ' i ' TFGPT2Model ' od ' transformatori ”. Ostatak koda je isti kao gore, samo koristimo ' TFGPT2Model ” umjesto funkcije “ GPT2Model ” funkcija. Kako slijedi:

iz transformatori uvoz GPT2Tokenizer , TFGPT2Model

tokenizator = GPT2Tokenizer. od_pretvježbano ( 'gpt2' )

model = TFGPT2Model. od_pretvježbano ( 'gpt2' )

tekst = 'Upotrebom gpt2 modela za generiranje teksta u transformatorima'

kodirani_unos = tokenizator ( tekst , povratni_tenzori = 'tf' )

izlaz = model ( kodirani_unos )

generator ( gen_text , maksimalna dužina = dvadeset , broj_povratnih_nizova = 5 )

Kao što vidite, prilagođeni tekst je uspješno generiran:

To je to! Razradili smo prilagodbu generiranja teksta u Transformersima.

Zaključak

Za prilagodbu generiranja teksta u Transformersu, postoje različiti načini kao što je učitavanje modela s funkcijom cjevovoda, korištenje modela temeljenog na transformatoru u ' PyTorch ' i ' TensorFlow ” koji se temelje na okvirima strojnog učenja. U ovom vodiču pružili smo kratke informacije zajedno s praktičnom demonstracijom prilagodbe generiranja teksta u Transformersima.