Sådan tilpasser du tekstgenerering i transformere

Sadan Tilpasser Du Tekstgenerering I Transformere



I deep learning refererer tekstgenerering til processen med automatisk at tilpasse teksten i naturligt sprog ved hjælp af Kunstige neurale netværk (ANN) . Desuden bruges forskellige sprogmodeller til det særlige formål, som er fortrænede på store datasæt til at forudsige det kommende ord i en rækkefølge afhængigt af det foregående ord. Derudover kan tilpasset tekst bruges til flere applikationer, herunder sprogoversættelse, generering af indhold, chatbots og mange flere.

I denne blog vil vi dække nedenstående indhold:

Hvordan tilpasser man tekstgenerering ved at indlæse modellen med 'pipeline'-funktion fra Transformers?

Det ' rørledning ”-funktionen bruges til automatisk at downloade den præ-trænede AI-model i henhold til brugerens krav. For at bruge denne særlige funktion skal brugerne installere ' transformere ” pakker. Denne pakke giver adgang til state-of-the-art transformator-baserede modeller, der kan udføre sentimentanalyse såvel som flere andre Naturlig sprogbehandling (NLP) opgaver.







For at se den praktiske demonstration af det ovenfor beskrevne scenarie, gå videre til nedenstående trin!



Trin 1: Installer 'transformers'-pakker

Udfør først '! pip' kommando for at installere transformerpakkerne:



! pip installere transformere

Som du kan se, er den angivne pakke blevet installeret med succes:





Trin 2: Importer transformatorbaseret model

Importer derefter den nødvendige transformer-baserede model. For at gøre det skal du først importere ' rørledning ' funktion fra ' transformere ”. Brug derefter den importerede funktion og begiv ' tekstgenerering ' som argument for det sammen med det påkrævede modelnavn ' gpt2 ”. Send dem derefter til ' frembringe variabel:



fra transformere importere rørledning

frembringe = rørledning ( 'tekstgenerering' , model = 'gpt2' )

Trin 3: Generer Tilpas tekst

Send nu den ønskede tekst som et argument til ' frembringe ”. Som vist nedenfor:

frembringe ( 'Ved at bruge gpt2-modellen til generering af tekst i transformere' )

I henhold til det leverede output er den downloadede fortrænede ' gpt3 ”-modellen er blevet genereret tekst med succes:

Du kan også bruge de andre argumenter, såsom:

hurtig = 'Ved at bruge gpt2-modellen til generering af tekst i transformere'

Print ( gen ( hurtig , num_return_sequences = 5 , max_length = tyve ) )

Her:

  • hurtig ” bruges som et argument, der holder input.
  • num_return_sequence ” argument bruges til at generere antallet af sekvenser af den angivne tekst.
  • max_length ” argument bruges til at angive længden af ​​den genererede tekst. I vores tilfælde er det begrænset til ' 30 ” tokens (ord eller tegnsætning):

Bemærk: Den tilpassede tekst vil være en fortsættelse af den angivne prompt, der er baseret på modellens træningsdata.

Hvordan man bruger en transformer-baseret model til at generere tekst i PyTorch?

Brugere kan også tilpasse teksten i ' PyTorch ' som er ' Fakkel ” baseret maskinlæringsramme. Det bruges til forskellige applikationer, såsom NLP og Computer Vision. For at bruge den transformer-baserede model til at tilpasse teksten i PyTorch, skal du først importere ' GPT2Tokenizer ' og ' GPT2-model '-funktioner fra ' transformere ”:

fra transformere importere GPT2Tokenizer , GPT2-model

Brug derefter ' GPT2Tokenizer ' tokenizer i henhold til vores ønskede præ-trænede model ved navn ' gpt2 ”:

tokenizer = GPT2Tokenizer. fra_foruddannet ( 'gpt2' )

Bagefter instansierer du vægtene fra en fortrænet model:

model = GPT2-model. fra_foruddannet ( 'gpt2' )

Dernæst erklærer du en ' gen_tekst variabel, der indeholder den tekst, vi ønsker at tilpasse:

gen_tekst = 'Ved at bruge gpt2-modellen til generering af tekst i transformere'

Send nu ' gen_tekst ' og ' return_tensors='pt' ' som et argument, der genererer teksten i PyTorch og gemmer den genererede værdi i ' encoded_input variabel:

encoded_input = tokenizer ( gen_tekst , return_tensorer = 'pt' )

Til sidst skal du bestå ' encoded_input ' variabel, der holder den tilpassede tekst til ' model ' som en parameter og få det resulterende output ved hjælp af ' max_length ' argument, der er sat til ' tyve ', som angiver, at den genererede tekst vil være begrænset til et givet tokens, ' num_return_sequences ' der er sat til ' 5 ”, der viser, at genereret tekst vil være afhængig af 5 sekvenser af tekst:

produktion = model ( **encoded_input )

generator ( gen_tekst , max_length = tyve , num_return_sequences = 5 )

Produktion

Hvordan man bruger en transformer-baseret model til at generere tekst i TensorFlow?

Til generering af teksten i Transformers, ' TensorFlow ”-baserede maskinlæringsrammer bruges også. For at gøre det skal du først importere de nødvendige funktioner, såsom ' GPT2Tokenizer ' og ' TFGPT2 Model ' fra ' transformere ”. Resten af ​​koden er den samme som ovenfor, bare vi bruger ' TFGPT2 Model '-funktionen i stedet for ' GPT2-model ' funktion. Som følger:

fra transformere importere GPT2Tokenizer , TFGPT2 Model

tokenizer = GPT2Tokenizer. fra_foruddannet ( 'gpt2' )

model = TFGPT2 Model. fra_foruddannet ( 'gpt2' )

tekst = 'Ved at bruge gpt2-modellen til generering af tekst i transformere'

encoded_input = tokenizer ( tekst , return_tensorer = 'tf' )

produktion = model ( encoded_input )

generator ( gen_tekst , max_length = tyve , num_return_sequences = 5 )

Som du kan se, er den tilpassede tekst blevet genereret med succes:

Det er det! Vi har uddybet at tilpasse tekstgenerering i Transformers.

Konklusion

For at tilpasse tekstgenerering i Transformers er der forskellige måder, såsom at indlæse modellen med pipeline-funktionen ved at bruge den transformer-baserede model i ' PyTorch ' og ' TensorFlow ” som er baseret på maskinlæringsrammer. I denne vejledning har vi givet kort information sammen med en praktisk demonstration af tilpasning af tekstgenerering i Transformers.