A GPT-J instruktív változata a Stanford Alpaca adatállományának felhasználásával

Az NLP Cloudnál meg akartuk nézni, hogy a GPT-J-t finomhangolható-e utasításmodellként, hogy megfelelően megértse az emberi utasításokat természetes nyelven, néhány lépéses tanulás nélkül. Más kísérletek érdekes eredményeket hoztak a nyílt forráskódú közösségben, mint például a Flan-T5, a BloomZ vagy a Stanford Alpaca, ezért szerettük volna ugyanezt megtenni a GPT-J-n az Alpaca adathalmazának felhasználásával. Az eredmények nagyon jók!

Stanford Alpaka

Few-Shot Learning VS Természetes nyelvi utasítások

A generatív AI modellek alapértelmezés szerint nem jók az emberi kérések megértésében.

Annak érdekében, hogy ezek a szöveggeneráló modellek megértsék, amit Ön szeretne, a legjobb megoldás a néhány lépéses tanulás. Külön útmutatót készítettünk a few-shot tanulásról. itt találja. A GPT-J jó példa egy nagyon jó képességű modellre, amely csak néhány lövéses tanulással működik megfelelően.

Még ha ezeknek a példáknak az elkészítése általában nem is vesz el túl sok időt, mégis nagyon zavaró a kezdők számára, akik helyesen akarják használni ezeket a mesterséges intelligencia modelleket. Sokkal egyszerűbb természetesen kérdezni a dolgokat, ahogyan egy emberrel tennénk.

Tegyük fel például, hogy a helyesírási hibákat a GPT-J segítségével szeretné kijavítani. Íme egy példa a felszólításra, amelyet használnia kell:

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:

Mint látható, ez nem bonyolult, de nem is egyszerű. Ha megfelelően finomhangoljuk a GPT-J-t, akkor "utasításos" modellé alakíthatjuk, ami azt jelenti, hogy most már kérdezhetjük a következőket:

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

És a következőket adja vissza:

I do not want to go.

Sokkal jobb, nem igaz? Hogyan tudjuk ezt elérni?

Stanford Alpaka

Stanford Alpaca már megjelent néhány nappal ezelőtt. Ez a Facebook által kifejlesztett Llama modell finomhangolt változata. A projektről bővebben itt olvashat.

Alapvetően a Stanford Alpaca csapatának sikerült egy korszerű utasításmodellt létrehoznia a Llama finomhangolásával egy meglehetősen kis adathalmazon (52 ezer példa), amely emberi utasításokból állt. A dolog érdekessége, hogy ezt az adathalmazt programozottan generálták egy nagyobb nyelvi modell (GPT-3) segítségével. Az adatkészletet itt töltheti le.

Az NLP Cloudnál megpróbáltuk finomhangolni a GPT-J-t ezen az adathalmazon, és meglepően jó eredményeket kaptunk!

GPT-J utasítás

Az általunk készített új Instruct GPT-J modell már megtalálható az Hugging Face Hubon, így könnyedén használhatod: kattintson ide a modell megtekintéséhez.

Íme, hogyan használhatod a modellt, az Ölelő arc transzformátorok segítségével:

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))

Íme néhány felszólítás, amit kipróbálhat:

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

Vegye figyelembe, hogy a modell finomhangolása miatt az utasítások végén mindig új sorokat kell használnia.

Hardverkövetelmények

Ez a modell a finomhangolt modellünk fp16-os változata, amely nagyon jól működik egy 16 GB VRAM-mal rendelkező GPU-n, például egy NVIDIA Tesla T4-en.

Az fp32 és fp16 verziók között nem vettünk észre különbséget a minőséget illetően.

Következtetés

A GPT-J már eddig is nagyon jó modell volt, és most még jobb, ha oktató modellként használják.

Ennek a technikának köszönhetően mostantól bárki átalakíthatja AI generatív modelljét instruáló modellé!

Ha kérdése vagy észrevétele van a fentiekkel kapcsolatban, kérjük, ne habozzon kapcsolatba lépni velünk!.

François
Adattudós az NLP Cloudnál