In der NLP Cloud wollten wir sehen, ob GPT-J als Instruktionsmodell feinabgestimmt werden kann, um menschliche Anweisungen in natürlicher Sprache richtig zu verstehen, ohne dass man dabei auf few-shot learning zurückgreift. Andere Versuche haben in der Open-Source-Gemeinschaft interessante Ergebnisse geliefert, wie Flan-T5, BloomZ oder Stanford Alpaca, also wollten wir dasselbe mit GPT-J unter Verwendung des Alpaca-Datensatzes tun. Die Ergebnisse sind sehr gut!
Generative KI-Modelle sind standardmäßig nicht gut darin, menschliche Anfragen zu verstehen.
Damit diese Textgenerierungsmodelle verstehen, was Sie wollen, ist die beste Lösung die Verwendung von "few-shot learning". Wir haben einen speziellen Leitfaden über few-shot learning erstellt Sie finden es hier. GPT-J ist ein gutes Beispiel für ein sehr leistungsfähiges Modell, das nur mit wenigen Lernschritten richtig funktioniert.
Auch wenn das Erstellen dieser Beispiele in der Regel nicht allzu viel Zeit in Anspruch nimmt, ist es für Neulinge, die diese KI-Modelle richtig nutzen wollen, sehr verwirrend. Es ist viel einfacher, Dinge auf natürliche Weise zu fragen, wie man es mit einem Menschen tun würde.
Nehmen wir zum Beispiel an, dass Sie mit GPT-J Rechtschreibfehler korrigieren wollen. Hier ist ein Beispiel für eine Eingabeaufforderung, die Sie verwenden müssen:
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:
Wie Sie sehen können, ist dies nicht kompliziert, aber auch nicht ganz einfach. Wenn Sie GPT-J richtig einstellen, kann es in ein "Anweisungs"-Modell umgewandelt werden, was bedeutet, dass Sie jetzt Folgendes fragen können:
Correct spelling and grammar from the following text.
I do not wan to go
Und es würde das Folgende zurückgeben:
I do not want to go.
Das ist doch viel besser, oder? Wie können wir das erreichen?
Stanford Alpaca wurde vor ein paar Tagen veröffentlicht. Dabei handelt es sich um eine fein abgestimmte Version des von Facebook entwickelten Llama-Modells. Mehr über dieses Projekt erfahren Sie hier.
Dem Stanford Alpaca Team ist es gelungen, ein hochmodernes Instruktionsmodell zu entwickeln, indem es Llama anhand eines relativ kleinen Datensatzes (52k Beispiele) aus menschlichen Instruktionen feinabgestimmt hat. Das Interessante daran ist, dass sie diesen Datensatz programmatisch mit einem größeren Sprachmodell (GPT-3) erstellt haben. Sie können den Datensatz hier herunterladen.
In der NLP Cloud haben wir versucht, GPT-J mit diesem Datensatz zu verfeinern, und wir haben überraschend gute Ergebnisse erzielt!
Das neue Instruct GPT-J Modell, das wir erstellt haben, ist jetzt auf dem Hugging Face Hub zu finden, so dass ihr es einfach benutzen könnt: Klicken Sie hier, um das Modell zu sehen.
Hier sehen Sie, wie Sie das Modell mit den Hugging Face Transformers verwenden können:
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 sind einige Anregungen, die Sie ausprobieren können:
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
Beachten Sie, dass Sie aufgrund der Feinabstimmung dieses Modells immer neue Zeilen am Ende Ihrer Anweisungen verwenden sollten.
Dieses Modell ist eine fp16-Version unseres fein abgestimmten Modells, das sehr gut auf einer GPU mit 16 GB VRAM wie einer NVIDIA Tesla T4 funktioniert.
Wir haben keinen Qualitätsunterschied zwischen den Versionen fp32 und fp16 festgestellt.
GPT-J war bereits ein sehr gutes Modell, und es ist jetzt noch besser, wenn es als Lehrmodell verwendet wird.
Dank dieser Technik kann nun jeder sein generatives KI-Modell in ein instruktives Modell verwandeln!
Wenn Sie Fragen oder Anmerkungen zu den oben genannten Punkten haben, zögern Sie bitte nicht, uns zu kontaktieren!.
François
Datenwissenschaftler bei NLP Cloud