Hoe u tekstgeneratie in Transformers kunt aanpassen

Hoe U Tekstgeneratie In Transformers Kunt Aanpassen



Bij deep learning verwijst tekstgeneratie naar het proces waarbij de tekst automatisch wordt aangepast in natuurlijke taal met behulp van Kunstmatige neurale netwerken (ANN) . Bovendien worden voor dat specifieke doel verschillende taalmodellen gebruikt die vooraf zijn getraind op grote datasets voor het voorspellen van het komende woord in een reeks afhankelijk van het voorgaande woord. Bovendien kan aangepaste tekst worden gebruikt voor meerdere toepassingen, waaronder vertalingen, het genereren van inhoud, chatbots en nog veel meer.

In deze blog behandelen we de onderstaande inhoud:

Hoe kan ik het genereren van tekst aanpassen door het model te laden met de 'pipeline' -functie van Transformers?

De ' pijpleiding De functie wordt gebruikt om het vooraf getrainde AI-model automatisch te downloaden volgens de vereisten van de gebruiker. Om deze specifieke functie te gebruiken, moeten gebruikers de “ transformatoren ' pakketjes. Dit pakket geeft toegang tot de modernste Transformer-gebaseerde modellen die sentimentanalyses kunnen uitvoeren, evenals meerdere andere Natuurlijke taalverwerking (NLP) taken.







Om de praktische demonstratie van het hierboven beschreven scenario te bekijken, gaat u naar de onderstaande stappen!



Stap 1: Installeer “transformatoren”-pakketten

Voer in eerste instantie de opdracht “! Pip' opdracht om de transformatorpakketten te installeren:



! pip installeer transformatoren

Zoals u kunt zien, is het opgegeven pakket met succes geïnstalleerd:





Stap 2: Importeer een op Transformer gebaseerd model

Importeer daarna het vereiste op transformatoren gebaseerde model. Om dit te doen, importeert u eerst de “ pijpleiding ” functie van “ transformatoren ”. Gebruik vervolgens de geïmporteerde functie en geef de “ tekst-generatie ” als argument erbij, samen met de vereiste modelnaam “ gpt2 ”. Geef ze vervolgens door aan de “ genereren ”variabele:



van transformatoren importeren pijpleiding

genereren = pijpleiding ( 'tekstgeneratie' , model = 'gpt2' )

Stap 3: Genereer aangepaste tekst

Geef nu de gewenste tekst als argument door aan de “ genereren ”. Zoals hieronder weergegeven:

genereren ( 'Door het gpt2-model te gebruiken voor het genereren van tekst in transformatoren' )

Volgens de verstrekte uitvoer is de gedownloade, vooraf getrainde “ gpt3 ”-model is met succes tekst gegenereerd:

Je kunt ook de andere argumenten gebruiken, zoals:

snel = 'Door het gpt2-model te gebruiken voor het genereren van tekst in transformatoren'

afdrukken ( gen ( snel , num_return_sequences = 5 , maximale lengte = twintig ) )

Hier:

  • snel ” wordt gebruikt als een argument dat invoer vasthoudt.
  • num_return_sequence ”-argument wordt gebruikt om het aantal reeksen van de opgegeven tekst te genereren.
  • maximale lengte ”-argument wordt gebruikt om de lengte van de gegenereerde tekst op te geven. In ons geval is het beperkt tot “ 30 ”tokens (woorden of leestekens):

Opmerking: De aangepaste tekst is een voortzetting van de opgegeven prompt en is gebaseerd op de trainingsgegevens van het model.

Hoe gebruik ik een op Transformers gebaseerd model voor het genereren van tekst in PyTorch?

Gebruikers kunnen de tekst ook aanpassen in “ PyTorch ' welke is de ' Fakkel gebaseerd machine learning-framework. Het wordt gebruikt voor verschillende toepassingen, zoals NLP en Computer Vision. Om het op transformatoren gebaseerde model te gebruiken voor het aanpassen van de tekst in PyTorch, importeert u eerst de “ GPT2Tokenizer ' En ' GPT2-model ” functies van de “ transformatoren ”:

van transformatoren importeren GPT2Tokenizer , GPT2-model

Gebruik dan de “ GPT2Tokenizer ” tokenizer volgens ons gewenste voorgetrainde model genaamd “ gpt2 ”:

tokenizer = GPT2Tokenizer. van_voorgetraind ( 'gpt2' )

Daarna het instantiëren van de gewichten van een vooraf getraind model:

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

Verklaar vervolgens een “ gen_tekst ”variabele die de tekst bevat die we willen aanpassen:

gen_tekst = 'Door het gpt2-model te gebruiken voor het genereren van tekst in transformatoren'

Geef nu de “ gen_tekst ' En ' return_tensors=‘pt’ ” als een argument dat de tekst in PyTorch zal genereren en de gegenereerde waarde zal opslaan in de “ gecodeerde_invoer ”variabele:

gecodeerde_invoer = tokenizer ( gen_tekst , return_tensoren = 'pt' )

Geef ten slotte de “ gecodeerde_invoer ”variabele die de aangepaste tekst vasthoudt aan de “ model ” als parameter en verkrijg de resulterende uitvoer met behulp van de “ maximale lengte 'argument dat is ingesteld op' twintig ' wat aangeeft dat de gegenereerde tekst beperkt zal zijn tot de opgegeven tokens, de ' num_return_sequences ' dat is ingesteld op ' 5 ” waaruit blijkt dat de gegenereerde tekst afhankelijk is van vijf reeksen tekst:

uitgang = model ( **gecodeerde_invoer )

generator ( gen_tekst , maximale lengte = twintig , num_return_sequences = 5 )

Uitvoer

Hoe gebruik ik een op Transformers gebaseerd model voor het genereren van tekst in TensorFlow?

Voor het genereren van de tekst in Transformers, de “ TensorFlow Er wordt ook gebruik gemaakt van op machine learning gebaseerde raamwerken. Importeer hiervoor eerst de vereiste functies, zoals de “ GPT2Tokenizer ' En ' TFGPT2-model ' van de ' transformatoren ”. De rest van de code is hetzelfde als hierboven, alleen gebruiken we de “ TFGPT2-model ”-functie in plaats van de “ GPT2-model ” functie. Als volgt:

van transformatoren importeren GPT2Tokenizer , TFGPT2-model

tokenizer = GPT2Tokenizer. van_voorgetraind ( 'gpt2' )

model = TFGPT2-model. van_voorgetraind ( 'gpt2' )

tekst = 'Door het gpt2-model te gebruiken voor het genereren van tekst in transformatoren'

gecodeerde_invoer = tokenizer ( tekst , return_tensoren = 'tf' )

uitgang = model ( gecodeerde_invoer )

generator ( gen_tekst , maximale lengte = twintig , num_return_sequences = 5 )

Zoals u kunt zien, is de aangepaste tekst met succes gegenereerd:

Dat is het! We hebben dieper ingegaan op het aanpassen van het genereren van tekst in Transformers.

Conclusie

Om het genereren van tekst in Transformers aan te passen, zijn er verschillende manieren, zoals het laden van het model met de pijplijnfunctie, het gebruik van het op transformatoren gebaseerde model in “ PyTorch ' En ' TensorFlow ”die gebaseerd zijn op machine learning-frameworks. In deze handleiding hebben we korte informatie gegeven, samen met een praktische demonstratie van het aanpassen van tekstgeneratie in Transformers.