У NLP Cloud ми хотіли перевірити, чи можна налаштувати GPT-J як модель інструкцій, щоб правильно розуміти людські інструкції природною мовою, не використовуючи навчання з кількох спроб. Інші спроби дали цікаві результати у спільноті з відкритим вихідним кодом, такі як Flan-T5, BloomZ або Стенфордська Alpaca, тому ми хотіли зробити те ж саме з GPT-J, використовуючи набір даних Alpaca. Результати дуже хороші!
Генеративні моделі ШІ за замовчуванням погано розуміють людські запити.
Для того, щоб ці моделі генерації тексту розуміли, чого ви хочете, найкращим рішенням буде використання навчання з кількох спроб. Ми створили спеціальний посібник про навчання з кількох спроб ви можете знайти його тут. GPT-J є хорошим прикладом дуже ефективної моделі, яка працює коректно лише за умови навчання з кількох пострілів.
Навіть якщо створення таких прикладів зазвичай не займає багато часу, вони все одно дуже заплутують новачків, які хочуть правильно використовувати ці моделі штучного інтелекту. Набагато простіше запитувати про щось природно, як це робиться з людиною.
Наприклад, припустимо, ви хочете виправити орфографічні помилки за допомогою GPT-J. Ось приклад підказки, яку ви маєте використати:
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:
Як бачите, це не складно, але й не просто. Якщо ви правильно налаштуєте GPT-J, його можна перетворити на модель "інструктора", а це означає, що тепер ви можете запитувати наступне:
Correct spelling and grammar from the following text.
I do not wan to go
І це повернеться наступним:
I do not want to go.
Набагато краще, чи не так? Як ми можемо цього досягти?
Стенфордська альпака була випущена кілька днів тому. Це допрацьована версія моделі Llama, розроблена компанією Facebook. Більше про цей проєкт читайте тут.
По суті, команді Stanford Alpaca вдалося створити найсучаснішу модель інструкцій, доопрацювавши Llama на досить невеликому наборі даних (52 тис. прикладів), що складається з людських інструкцій. Цікаво, що вони згенерували цей набір даних програмно, використовуючи більшу мовну модель (GPT-3). Ви можете завантажити набір даних тут.
У NLP Cloud ми спробували налаштувати GPT-J, використовуючи цей набір даних, і отримали напрочуд гарні результати!
Нова модель Instruct GPT-J, яку ми створили, тепер є на Hugging Face Hub, тож ви можете легко нею користуватися: натисніть тут, щоб побачити модель.
Ось як можна використовувати модель, використовуючи 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))
Ось кілька підказок, які ви можете спробувати:
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
Зверніть увагу, що через те, що ця модель була доопрацьована, ви завжди повинні використовувати нові рядки в кінці інструкцій.
Ця модель є fp16-версією нашої доопрацьованої моделі, яка дуже добре працює на графічному процесорі з 16 ГБ VRAM, як NVIDIA Tesla T4.
Ми не помітили жодної різниці між версіями fp32 та fp16 з точки зору якості.
GPT-J вже була дуже хорошою моделлю, а тепер вона стала ще кращою, коли її використовували як навчальну модель.
Тепер будь-хто може перетворити свою генеративну модель ШІ на модель інструкцій завдяки цій техніці!
Якщо у вас є запитання або коментарі щодо вищезазначеного, будь ласка, звертайтеся!.
François
Data Scientist в NLP Cloud