Bij NLP Cloud wilden we zien of GPT-J kan worden verfijnd als instructiemodel om menselijke instructies in natuurlijke taal goed te begrijpen, zonder gebruik te maken van few-shot learning. Andere pogingen hebben interessante resultaten opgeleverd in de open-source gemeenschap, zoals Flan-T5, BloomZ of Stanford Alpaca, dus we wilden hetzelfde doen met GPT-J met behulp van Alpaca's dataset. De resultaten zijn zeer goed!
Generatieve AI-modellen zijn standaard niet goed in het begrijpen van menselijke verzoeken.
Om deze tekstgeneratiemodellen te laten begrijpen wat u wilt, is de beste oplossing het gebruik van few-shot learning. We hebben een speciale gids gemaakt over few-shot learning je kunt het hier vinden. GPT-J is een goed voorbeeld van een zeer capabel model dat alleen correct werkt bij het leren van enkele schoten.
Ook al kost het bouwen van deze voorbeelden meestal niet al te veel tijd, toch is het erg verwarrend voor nieuwkomers die deze AI-modellen correct willen gebruiken. Het is veel gemakkelijker om dingen op een natuurlijke manier te vragen, zoals je dat bij een mens zou doen.
Laten we bijvoorbeeld zeggen dat je spelfouten wilt corrigeren met GPT-J. Hier is een voorbeeld van een prompt die je moet gebruiken:
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:
Zoals u ziet is dit niet ingewikkeld, maar ook niet eenvoudig. Als je GPT-J goed afstemt, kun je er een "instructiemodel" van maken:
Correct spelling and grammar from the following text.
I do not wan to go
En het zou het volgende opleveren:
I do not want to go.
Veel beter toch? Hoe kunnen we dit bereiken?
Stanford Alpaca is een paar dagen geleden uitgebracht. Dit is een verfijnde versie van het Lama-model, ontwikkeld door Facebook. Zie hier meer over dit project.
In feite is het Stanford Alpaca team erin geslaagd een state-of-the-art instructiemodel te ontwikkelen door Llama te verfijnen op een vrij kleine dataset (52k voorbeelden) bestaande uit menselijke instructies. Het interessante is dat zij deze dataset programmatisch genereerden met behulp van een groter taalmodel (GPT-3). U kunt de dataset hier downloaden.
Op NLP Cloud hebben we geprobeerd GPT-J te verfijnen met deze dataset, en we kregen verrassend goede resultaten!
Het nieuwe Instruct GPT-J model dat we hebben gemaakt staat nu op de Hugging Face Hub zodat je het gemakkelijk kunt gebruiken: klik hier om het model te zien.
Hier is hoe je het model kunt gebruiken, met behulp van Hugging Face Transformers:
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))
Hier zijn enkele aanwijzingen die je kunt proberen:
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
Merk op dat u, vanwege de manier waarop dit model is verfijnd, altijd nieuwe regels moet gebruiken aan het einde van uw instructies.
Dit model is een fp16-versie van ons verfijnde model, dat zeer goed werkt op een GPU met 16 GB VRAM zoals een NVIDIA Tesla T4.
Wij hebben geen verschil gemerkt tussen de fp32- en de fp16-versie wat de kwaliteit betreft.
GPT-J was al een zeer goed model, en het is nu nog beter wanneer het wordt gebruikt als instructiemodel.
Iedereen kan nu zijn AI-generatief model omzetten in een instructiemodel dankzij deze techniek!
Heeft u vragen of opmerkingen over het bovenstaande, aarzel dan niet om contact op te nemen!.
François
Gegevenswetenschapper bij NLP Cloud