Hvordan tilpasse tekstgenerering i Transformers

Hvordan Tilpasse Tekstgenerering I Transformers



I dyp læring refererer tekstgenerering til prosessen med å automatisk tilpasse teksten på naturlig språk ved hjelp av Kunstige nevrale nettverk (ANN) . Dessuten brukes forskjellige språkmodeller for det spesielle formålet som er forhåndstrenet på store datasett for å forutsi det kommende ordet i en sekvens avhengig av det forrige ordet. I tillegg kan tilpasset tekst brukes for flere applikasjoner, inkludert språkoversettelse, generering av innhold, chatbots og mange flere.

I denne bloggen vil vi dekke innholdet nedenfor:

Hvordan tilpasse tekstgenerering ved å laste modellen med 'pipeline'-funksjon fra Transformers?

« rørledning ”-funksjonen brukes til automatisk å laste ned den forhåndstrente AI-modellen i henhold til brukerens krav. For å bruke denne spesielle funksjonen, må brukere installere ' transformatorer ' pakker. Denne pakken gir tilgang til state-of-the-art transformatorbaserte modeller som kan utføre sentimentanalyse så vel som flere andre Naturlig språkbehandling (NLP) oppgaver.







For å sjekke ut den praktiske demonstrasjonen av det ovenfor beskrevne scenariet, gå til trinnene nedenfor!



Trinn 1: Installer 'transformers'-pakker

Utfør først '! pip' kommando for å installere transformatorpakkene:



! pip installere transformatorer

Som du kan se, har den angitte pakken blitt installert:





Trinn 2: Importer transformatorbasert modell

Importer deretter den nødvendige transformatorbaserte modellen. For å gjøre det, importer først ' rørledning ' funksjon fra ' transformatorer '. Deretter bruker du den importerte funksjonen og sender ' tekstgenerering ' som et argument for det sammen med det nødvendige modellnavnet ' gpt2 '. Send dem deretter til ' generere variabel:



fra transformatorer import rørledning

generere = rørledning ( 'tekstgenerering' , modell = 'gpt2' )

Trinn 3: Generer tilpasse tekst

Send nå ønsket tekst som et argument til ' generere '. Som vist under:

generere ( 'Ved å bruke gpt2-modellen for å generere tekst i transformatorer' )

I henhold til den oppgitte utgangen, den nedlastede forhåndstrente ' gpt3 modell har blitt generert tekst vellykket:

Du kan også bruke de andre argumentene, for eksempel:

ledetekst = 'Ved å bruke gpt2-modellen for å generere tekst i transformatorer'

skrive ut ( genet ( ledetekst , num_return_sequences = 5 , maks lengde = tjue ) )

Her:

  • ' ledetekst ” brukes som et argument som holder ut input.
  • ' num_return_sequence argument brukes til å generere antall sekvenser av den angitte teksten.
  • ' maks lengde argumentet brukes til å spesifisere lengden på den genererte teksten. I vårt tilfelle er det begrenset til ' 30 ” tokens (ord eller tegnsetting):

Merk: Den tilpassede teksten vil være en fortsettelse av den spesifiserte ledeteksten som er basert på modellens treningsdata.

Hvordan bruke en transformatorbasert modell for å generere tekst i PyTorch?

Brukere kan også tilpasse teksten i ' PyTorch ' hvilken er den ' Lommelykt ”basert maskinlæringsrammeverk. Den brukes til forskjellige applikasjoner, for eksempel NLP og Computer Vision. For å bruke den transformatorbaserte modellen for å tilpasse teksten i PyTorch, importer først ' GPT2Tokenizer ' og ' GPT2-modell ' funksjoner fra ' transformatorer ':

fra transformatorer import GPT2Tokenizer , GPT2-modell

Deretter bruker du ' GPT2Tokenizer ' tokenizer i henhold til vår ønskede forhåndstrente modell kalt ' gpt2 ':

tokenizer = GPT2Tokenizer. from_pretrained ( 'gpt2' )

Etterpå instansierer du vektene fra en forhåndstrent modell:

modell = GPT2-modell. from_pretrained ( 'gpt2' )

Deretter erklærer du en ' gen_tekst variabel som inneholder teksten vi ønsker å tilpasse:

gen_tekst = 'Ved å bruke gpt2-modellen for å generere tekst i transformatorer'

Pass nå ' gen_tekst ' og ' return_tensors='pt' ' som et argument som vil generere teksten i PyTorch og lagre den genererte verdien i ' kodet_inngang variabel:

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

Til slutt, bestå ' kodet_inngang ' variabel som holder den tilpassede teksten til ' modell ' som en parameter og få den resulterende utgangen ved å bruke ' maks lengde ' argument som er satt til ' tjue ' som indikerer at den genererte teksten vil være begrenset til et gitt tokens, ' num_return_sequences ' som er satt til ' 5 ' som viser at generert tekst vil være avhengig av 5 tekstsekvenser:

produksjon = modell ( **encoded_input )

generator ( gen_tekst , maks lengde = tjue , num_return_sequences = 5 )

Produksjon

Hvordan bruke en transformatorbasert modell for å generere tekst i TensorFlow?

For å generere teksten i Transformers, ' TensorFlow ”-baserte maskinlæringsrammer brukes også. For å gjøre det, importer først de nødvendige funksjonene, for eksempel ' GPT2Tokenizer ' og ' TFGPT2-modell ' fra ' transformatorer '. Resten av koden er den samme som ovenfor, bare vi bruker ' TFGPT2-modell '-funksjonen i stedet for ' GPT2-modell ' funksjon. Som følger:

fra transformatorer import GPT2Tokenizer , TFGPT2-modell

tokenizer = GPT2Tokenizer. from_pretrained ( 'gpt2' )

modell = TFGPT2-modell. from_pretrained ( 'gpt2' )

tekst = 'Ved å bruke gpt2-modellen for å generere tekst i transformatorer'

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

produksjon = modell ( kodet_inngang )

generator ( gen_tekst , maks lengde = tjue , num_return_sequences = 5 )

Som du kan se, har den tilpassede teksten blitt generert:

Det er det! Vi har utdypet å tilpasse tekstgenerering i Transformers.

Konklusjon

For å tilpasse tekstgenerering i Transformers, er det forskjellige måter som å laste modellen med pipeline-funksjonen ved å bruke den transformatorbaserte modellen i ' PyTorch ' og ' TensorFlow ” som er basert på rammeverk for maskinlæring. I denne veiledningen har vi gitt kort informasjon sammen med en praktisk demonstrasjon av å tilpasse tekstgenerering i Transformers.