Aveți probleme cu inteligența artificială sau cu dezvoltarea full-stack? Experții noștri sunt aici pentru a vă ghida: consiliere personalizată, integrare tehnică și multe altele. Contactați-ne la [email protected].

O versiune instruită a GPT-J folosind setul de date al lui Stanford Alpaca

La NLP Cloud am vrut să vedem dacă GPT-J poate fi ajustat ca model de instruire pentru a înțelege corect instrucțiunile umane în limbaj natural, fără a utiliza învățarea în câteva rânduri. Alte încercări au dat rezultate interesante în comunitatea open-source, cum ar fi Flan-T5, BloomZ sau Stanford Alpaca, așa că am vrut să facem același lucru cu GPT-J folosind setul de date Alpaca. Rezultatele sunt foarte bune!

Stanford Alpaca

Învățare în câteva lovituri VS instrucțiuni în limbaj natural

Modelele generative de inteligență artificială nu sunt bune pentru a înțelege cererile umane, în mod implicit.

Pentru ca aceste modele de generare a textului să înțeleagă ceea ce doriți, cea mai bună soluție este să folosiți învățarea în câteva momente. Am realizat un ghid special despre few-shot learning îl puteți găsi aici. GPT-J este un bun exemplu de model foarte performant care funcționează corect doar cu o învățare în câteva lovituri.

Chiar dacă, de obicei, construirea acestor exemple nu necesită prea mult timp, este totuși foarte derutant pentru noii veniți care doresc să utilizeze corect aceste modele de inteligență artificială. Este mult mai ușor să întrebați lucrurile în mod natural, așa cum ați face-o cu un om.

De exemplu, să spunem că doriți să corectați greșelile de ortografie cu GPT-J. Iată un exemplu de prompt pe care trebuie să îl utilizați:

I love goin to the beach.
Correction: I love going to the beach.
###
Let me hav it!
Correction: Let me have it!
###
It have too many drawbacks.
Correction: It has too many drawbacks.
###
I do not wan to go
Correction:

După cum vedeți, nu este un lucru complex, dar nici simplu. Dacă reglați bine GPT-J, acesta poate fi transformat într-un model "instructiv", ceea ce înseamnă că acum puteți pune următoarele întrebări:

Correct spelling and grammar from the following text.
I do not wan to go

Și ar returna următoarele:

I do not want to go.

Mult mai bine, nu-i așa? Cum putem realiza acest lucru?

Stanford Alpaca

Stanford Alpaca a fost lansat în urmă cu câteva zile. Aceasta este o versiune îmbunătățită a modelului Llama, dezvoltat de Facebook. Vedeți mai multe despre acest proiect aici.

Practic, echipa Stanford Alpaca a reușit să creeze un model de instrucțiuni de ultimă generație prin ajustarea Llama pe un set de date destul de mic (52.000 de exemple) alcătuit din instrucțiuni umane. Lucrul interesant este că au generat acest set de date în mod programatic folosind un model de limbaj mai mare (GPT-3). Puteți descărca setul de date de aici.

La NLP Cloud am încercat să punem la punct GPT-J folosind acest set de date și am obținut rezultate surprinzător de bune!

Instruiți GPT-J

Noul model Instruct GPT-J pe care l-am creat se află acum pe Hub-ul Hugging Face, astfel încât să îl puteți utiliza cu ușurință: click aici pentru a vedea modelul.

Iată cum puteți utiliza modelul, folosind Transformatoarele de față îmbrățișată:

from transformers import pipeline
import torch

generator = pipeline(model="nlpcloud/instruct-gpt-j-fp16", torch_dtype=torch.float16, device=0)

prompt = "Correct spelling and grammar from the following text.\nI do not wan to go\n"

print(generator(prompt))

Iată câteva sugestii pe care le puteți încerca:

Write a short story about space.\n

Generate a C++ program that sorts a list of integers in ascending order.\n

Paraphrase the following text.\nAfter a war lasting 20 years, following the decision taken first by President Trump and then by President Biden to withdraw American troops, Kabul, the capital of Afghanistan, fell within a few hours to the Taliban, without resistance.\n

Summarize the following text.\nFor all its whizz-bang caper-gone-wrong energy, and for all its subsequent emotional troughs, this week’s Succession finale might have been the most important in its entire run. Because, unless I am very much wrong, Succession – a show about people trying to forcefully mount a succession – just had its succession. And now everything has to change. The episode ended with Logan Roy defying his children by selling Waystar Royco to idiosyncratic Swedish tech bro Lukas Matsson. It’s an unexpected twist, like if King Lear contained a weird new beat where Lear hands the British crown to Jack Dorsey for a laugh, but it sets up a bold new future for the show. What will happen in season four? Here are some theories. Season three of Succession picked up seconds after season two ended. It was a smart move, showing the immediate swirl of confusion that followed Kendall Roy’s decision to undo his father, and something similar could happen here. This week’s episode ended with three of the Roy siblings heartbroken and angry at their father’s grand betrayal. Perhaps season four could pick up at that precise moment, and show their efforts to reorganise their rebellion against him. This is something that Succession undoubtedly does very well – for the most part, its greatest moments have been those heart-thumping scenes where Kendall scraps for support to unseat his dad – and Jesse Armstrong has more than enough dramatic clout to centre the entire season around the battle to stop the Matsson deal dead in its tracks.\n

Rețineți că, din cauza modului în care a fost pus la punct acest model, trebuie să utilizați întotdeauna linii noi la sfârșitul instrucțiunilor dumneavoastră.

Cerințe hardware

Acest model este o versiune fp16 a modelului nostru ajustat, care funcționează foarte bine pe un GPU cu 16GB de VRAM, cum ar fi NVIDIA Tesla T4.

Nu am observat nicio diferență între versiunile fp32 și fp16 în ceea ce privește calitatea.

Concluzie

GPT-J era deja un model foarte bun, iar acum este și mai bun atunci când este folosit ca model de instruire.

Oricine își poate transforma acum modelul generativ AI într-un model de instruire datorită acestei tehnici!

Dacă aveți întrebări sau comentarii cu privire la cele de mai sus, nu ezitați să ne contactați!.

François
Cercetător de date la NLP Cloud