Zmagasz się z AI lub rozwojem full-stack? Nasi eksperci są tutaj, aby Cię poprowadzić: dostosowane porady, integracja techniczna i nie tylko. Skontaktuj się z nami pod adresem [email protected].

Instruktażowa wersja GPT-J z wykorzystaniem Stanford Alpaca's Dataset

W NLP Cloud chcieliśmy sprawdzić, czy GPT-J może być dostrojony jako model instruktażowy, aby poprawnie rozumieć ludzkie instrukcje w języku naturalnym, bez użycia uczenia few-shot. Inne próby dały ciekawe rezultaty w społeczności open-source, jak Flan-T5, BloomZ, czy Stanford Alpaca, więc chcieliśmy zrobić to samo na GPT-J używając zbioru danych Alpaca. Wyniki są bardzo dobre!

Stanford Alpaca

Few-Shot Learning VS Natural Language Instructions

Generatywne modele AI domyślnie nie są dobre w rozumieniu ludzkich zapytań.

Aby te modele generowania tekstu rozumiały to, co chcesz, najlepszym rozwiązaniem jest użycie uczenia kilku ujęć. Stworzyliśmy specjalny poradnik na temat uczenia kilku ujęć można go znaleźć tutaj. GPT-J jest dobrym przykładem bardzo zdolnego modelu, który działa poprawnie tylko przy uczeniach typu "few-shot".

Nawet jeśli budowanie tych przykładów zazwyczaj nie zajmuje zbyt wiele czasu, to nadal jest to bardzo mylące dla nowicjuszy, którzy chcą poprawnie używać tych modeli AI. O wiele łatwiej jest pytać o rzeczy w sposób naturalny, tak jak robiłoby się to z człowiekiem.

Na przykład powiedzmy, że chcesz poprawić błędy ortograficzne za pomocą GPT-J. Oto przykład zachęty, której musisz użyć:

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:

Jak widać, nie jest to skomplikowane, ale nie jest też proste. Jeśli odpowiednio dopracujesz GPT-J, można go przekształcić w model "instruktażowy", co oznacza, że możesz teraz zadać następujące pytania:

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

I zwróciłoby to co następuje:

I do not want to go.

Dużo lepiej, prawda? Jak możemy to osiągnąć?

Stanford Alpaca

Stanford Alpaca został wydany kilka dni temu. Jest to dopracowana wersja modelu Llama, opracowanego przez Facebooka. Zobacz więcej o tym projekcie tutaj.

Zasadniczo zespół Stanford Alpaca zdołał wymyślić najnowocześniejszy model instrukcji poprzez dostrojenie Llamy na dość małym zestawie danych (52k przykładów) składającym się z ludzkich instrukcji. Interesujące jest to, że wygenerowali ten zestaw danych programowo przy użyciu większego modelu językowego (GPT-3). Zbiór danych można pobrać tutaj.

W NLP Cloud próbowaliśmy dostroić GPT-J używając tego zestawu danych i uzyskaliśmy zaskakująco dobre wyniki!

Instruktaż GPT-J

Nowy model Instruktażu GPT-J, który stworzyliśmy, jest teraz na Hubie Przytulania, więc możesz łatwo z niego korzystać: kliknij tutaj, aby zobaczyć model.

Oto jak można wykorzystać model, używając 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))

Oto kilka podpowiedzi, które możesz wypróbować:

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

Zauważ, że ze względu na sposób, w jaki ten model został dopracowany, powinieneś zawsze używać nowych linii na końcu instrukcji.

Wymagania sprzętowe

Ten model jest wersją fp16 naszego dopracowanego modelu, który działa bardzo dobrze na karcie graficznej z 16 GB pamięci VRAM, takiej jak NVIDIA Tesla T4.

Nie zauważyliśmy żadnej różnicy między wersją fp32 a fp16 pod względem jakości.

Wniosek

GPT-J już wcześniej był bardzo dobrym modelem, a teraz jest jeszcze lepszy, gdy jest stosowany jako model instruktorski.

Każdy może teraz dzięki tej technice przekształcić swój model generatywny AI w model instruktażowy!

Jeśli masz pytania lub uwagi dotyczące powyższego, nie wahaj się dotrzeć!.

François
Naukowiec w NLP Cloud