Hur man anpassar textgenerering i Transformers

Hur Man Anpassar Textgenerering I Transformers



Inom djupinlärning avser textgenerering processen att automatiskt anpassa texten på naturligt språk med hjälp av Artificiella neurala nätverk (ANN) . Dessutom används olika språkmodeller för det specifika syftet som är förtränade på stora datamängder för att förutsäga det kommande ordet i en sekvens beroende på det föregående ordet. Dessutom kan anpassad text användas för flera applikationer inklusive språköversättning, generering av innehåll, chatbots och många fler.

I den här bloggen kommer vi att täcka innehållet nedan:

Hur anpassar man textgenerering genom att ladda modellen med 'pipeline'-funktion från Transformers?

den ' rörledning ”-funktionen används för att automatiskt ladda ner den förtränade AI-modellen enligt användarens krav. För att använda just den här funktionen måste användare installera ' transformatorer ” paket. Detta paket ger tillgång till toppmoderna transformatorbaserade modeller som kan utföra sentimentanalys såväl som flera andra Naturlig språkbehandling (NLP) uppgifter.







För att kolla in den praktiska demonstrationen av det ovan beskrivna scenariot, gå vidare till stegen nedan!



Steg 1: Installera 'transformers'-paket

Till en början, kör '! pip” kommando för att installera transformatorpaketen:



! pip installera transformatorer

Som du kan se har det angivna paketet installerats framgångsrikt:





Steg 2: Importera transformatorbaserad modell

Importera sedan den transformatorbaserade modellen som krävs. För att göra det, importera först ' rörledning ' funktion från ' transformatorer ”. Använd sedan den importerade funktionen och skicka ' textgenerering ' som ett argument till det tillsammans med det obligatoriska modellnamnet ' gpt2 ”. Skicka dem sedan till ' generera ' variabel:



från transformatorer importera rörledning

generera = rörledning ( 'textgenerering' , modell = 'gpt2' )

Steg 3: Skapa anpassa text

Skicka nu den önskade texten som ett argument till ' generera ”. Enligt nedanstående:

generera ( 'Genom att använda gpt2-modellen för att generera text i transformatorer' )

Enligt den tillhandahållna utgången, den nedladdade förtränade ' gpt3 ”-modellen har skapats text framgångsrikt:

Du kan också använda andra argument, såsom:

prompt = 'Genom att använda gpt2-modellen för att generera text i transformatorer'

skriva ut ( gen ( prompt , num_return_sequences = 5 , Maxlängd = tjugo ) )

Här:

  • ' prompt ” används som ett argument som håller ut input.
  • ' num_return_sequence ” argument används för att generera antalet sekvenser av den angivna texten.
  • ' Maxlängd ”-argumentet används för att specificera längden på den genererade texten. I vårt fall är det begränsat till ' 30 ” tokens (ord eller skiljetecken):

Notera: Den anpassade texten kommer att vara en fortsättning på den angivna prompten som är baserad på modellens träningsdata.

Hur man använder en transformatorbaserad modell för att generera text i PyTorch?

Användare kan också anpassa texten i ' PyTorch ' vilken är ' Fackla ”baserade ramverk för maskininlärning. Den används för olika applikationer, såsom NLP och Computer Vision. För att använda den transformatorbaserade modellen för att anpassa texten i PyTorch, importera först ' GPT2Tokenizer ' och ' GPT2-modell '-funktioner från ' transformatorer ”:

från transformatorer importera GPT2Tokenizer , GPT2-modell

Använd sedan ' GPT2Tokenizer ” tokenizer enligt vår önskade förtränade modell som heter ” gpt2 ”:

tokenizer = GPT2Tokenizer. from_pretrained ( 'gpt2' )

Efteråt, instansiera vikterna från en förtränad modell:

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

Deklarera sedan ett ' gen_text variabel som innehåller texten som vi vill anpassa:

gen_text = 'Genom att använda gpt2-modellen för att generera text i transformatorer'

Passera nu ' gen_text ' och ' return_tensors='pt' ' som ett argument som kommer att generera texten i PyTorch och lagra det genererade värdet i ' kodad_ingång ' variabel:

kodad_ingång = tokenizer ( gen_text , return_tensorer = 'pt' )

Till sist, passera ' kodad_ingång ' variabel som håller den anpassade texten till ' modell ' som en parameter och få den resulterande utdata med hjälp av ' Maxlängd ' argument som är satt till ' tjugo ' som indikerar att den genererade texten kommer att begränsas till ett tillhandahållet token, ' num_return_sequences ' som är inställd på ' 5 ” som visar att genererad text kommer att förlita sig på 5 textsekvenser:

produktion = modell ( **kodad_ingång )

generator ( gen_text , Maxlängd = tjugo , num_return_sequences = 5 )

Produktion

Hur man använder en transformatorbaserad modell för att generera text i TensorFlow?

För att generera texten i Transformers, ' TensorFlow ”-baserade ramverk för maskininlärning används också. För att göra det, importera först de nödvändiga funktionerna, som ' GPT2Tokenizer ' och ' TFGPT2modell ' från ' transformatorer ”. Resten av koden är densamma som ovan, bara vi använder ' TFGPT2modell '-funktionen istället för ' GPT2-modell ' funktion. Som följer:

från transformatorer importera GPT2Tokenizer , TFGPT2modell

tokenizer = GPT2Tokenizer. from_pretrained ( 'gpt2' )

modell = TFGPT2modell. from_pretrained ( 'gpt2' )

text = 'Genom att använda gpt2-modellen för att generera text i transformatorer'

kodad_ingång = tokenizer ( text , return_tensorer = 'tf' )

produktion = modell ( kodad_ingång )

generator ( gen_text , Maxlängd = tjugo , num_return_sequences = 5 )

Som du kan se har den anpassade texten skapats framgångsrikt:

Det är allt! Vi har utvecklat att anpassa textgenerering i Transformers.

Slutsats

För att anpassa textgenerering i Transformers finns det olika sätt som att ladda modellen med pipeline-funktionen, använda den transformatorbaserade modellen i ' PyTorch ' och ' TensorFlow ” som bygger på ramverk för maskininlärning. I den här guiden har vi tillhandahållit kort information tillsammans med en praktisk demonstration av att anpassa textgenerering i Transformers.