/ Модель

Характеристики

Контекст
2 048 токенов
Архитектура
gptj · dense
Опубликована
30 июн 2022

gpt-j-6b-shakespeare

Генерация текстаТекст → текст3 профессии

Экспериментальный вариант GPT-J 6B, дообученный на строках Шекспира для генерации англоязычного текста в драматическом стиле.

88скачиваний за 30 дней1лайквеса обновлены20 июл 2022

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

crumb подготовил экспериментальный чекпойнт GPT-J 6B — авторегрессионной трансформерной модели с 6 млрд параметров — дообученный на наборе tiny_shakespeare, содержащем около 40 тысяч строк из пьес Шекспира. Исходная GPT-J обучалась на наборе Pile; этот вариант предназначен для генерации текста в шекспировской манере и служит подтверждением концепции, а не полноценно обученной моделью.

Модель принимает текстовый prompt и продолжает его, например генерирует реплики пьесы после имени персонажа. Контекст составляет 2048 токенов; поддерживается английский язык. В README приведён пример запуска через Transformers и 8-битную загрузку, но указанный формат весов репозитория — PyTorch. Лицензия в предоставленных данных не установлена.

Сценарии применения

  • генерация реплик пьесы в шекспировском стиле
  • продолжение сцены по имени персонажа или начальной строке
  • создание стилизованных английских стихов и диалогов

Ограничения

В README модель названа proof of concept и указано, что она обучена не полностью; её специализация ограничена небольшим корпусом шекспировских текстов. Контекст — 2048 токенов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

GPT-J 6b Shakespeare

Model Description

GPT-J 6B is a transformer model trained using Ben Wang's Mesh Transformer JAX. "GPT-J" refers to the class of model, while "6B" represents the number of trainable parameters.

This checkpoint is a finetuned version of the original GPT-J 6b on tiny_shakespeare

Training data

GPT-J 6B was trained on the Pile, a large-scale curated dataset created by EleutherAI.

This checkpoint was afterwards finetuned on tiny_shakespeare by crumb (me)

40,000 lines of Shakespeare from a variety of Shakespeare's plays. Featured in Andrej Karpathy's blog post 'The Unreasonable Effectiveness of Recurrent Neural Networks': http://karpathy.github.io/2015/05/21/rnn-effectiveness/.

Training Procedure

ParameterValue
epochs1
learning rate.002
weight decay.01
batch size8
context length (tokens)256

Trained on 1 Tesla T4 from google colab

TrainOutput(global_step=147, training_loss=1.665000240818984, metrics={'train_runtime': 2828.7347, 'train_samples_per_second': 0.417, 'train_steps_per_second': 0.052, 'total_flos': 1555992281088.0, 'train_loss': 1.665000240818984, 'epoch': 1.0})

A good starting point to finetune your own gpt-j-6b would be hivemind's 8bit training code, or with the notebook in this repository which you can download and open in google colab or any other ipynb service

No LORA adapters were used for the sake of easy loading and inference with 🤗. Only Linear biases and LayerNorm scales were passed to the optimizer.

Intended Use and Limitations

(same as gpt-j-6b) GPT-J learns an inner representation of the English language that can be used to extract features useful for downstream tasks. The model is best at what it was pretrained for however, which is generating text from a prompt.

How to use

# libraries and a wrapper around hivemind's quantization code
!pip install transformers==4.14.1 bitsandbytes-cuda111==0.26.0 git+https://github.com/aicrumb/transformers-8bit -q
import transformers_8bit

model, tokenizer, config = transformers_8bit.load_gptj("crumb/gpt-j-6b-shakespeare", device='cuda')

prompt = tokenizer("Romeo:", return_tensors='pt')
prompt = {key: value.to('cuda') for key, value in prompt.items()}
out = model.generate(**prompt, min_length=64, max_length=64, do_sample=True, pad_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(out[0]))

""" example output
Romeo: [Aside] And but in night, how tedious
Is the day's celebration!
JULIET: [Aside] O me! how quick skips time!
Bid Time himself look out And, after no long date,
Call time up o'er-head,
"""

Limitations and Biases

(same as gpt-j-6b)

The core functionality of GPT-J is taking a string of text and predicting the next token. While language models are widely used for tasks other than this, there are a lot of unknowns with this work. When prompting GPT-J it is important to remember that the statistically most likely next token is often not the token that produces the most "accurate" text. Never depend upon GPT-J to produce factually accurate output.

GPT-J was trained on the Pile, a dataset known to contain profanity, lewd, and otherwise abrasive language. Depending upon use case GPT-J may produce socially unacceptable text. See Sections 5 and 6 of the Pile paper for a more detailed analysis of the biases in the Pile.

As with all language models, it is hard to predict in advance how GPT-J will respond to particular prompts and offensive content may occur without warning. We recommend having a human curate or filter the outputs before releasing them, both to censor undesirable content and to improve the quality of the results.

To do:

  • clean up training code & create github repo for training related models
  • see if converting to fp16 or fp32 fixes the inference on the card

Citations and Related Information

@misc{gpt-j,
  author = {Wang, Ben and Komatsuzaki, Aran},
  title = {{GPT-J-6B: A 6 Billion Parameter Autoregressive Language Model}},
  howpublished = {\url{https://github.com/kingoflolz/mesh-transformer-jax}},
  year = 2021,
  month = May
}
@misc{mesh-transformer-jax,
  author = {Wang, Ben},
  title = {{Mesh-Transformer-JAX: Model-Parallel Implementation of Transformer Language Model with JAX}},
  howpublished = {\url{https://github.com/kingoflolz/mesh-transformer-jax}},
  year = 2021,
  month = May
}
@misc{
  author={Karpathy, Andrej},
  title={char-rnn},
  year={2015},
  howpublished={\url{https://github.com/karpathy/char-rnn}}
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
GPTJForCausalLM
Ревизия весов
eee1218

0 моделей