/ Модель

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

Контекст
2 048 токенов
Параметры
6,8 млрд
Лицензия
Apache 2.0
Архитектура
gpt_neo · dense

genji-python-6B

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

Genji-python 6B — дообученная на Python-коде модель для генерации и продолжения кода на Python.

337скачиваний за 30 дней42лайкавеса обновлены6 авг 2021

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Genji-python 6B — языковая модель компании NovelAI, дообученная на базе EleutherAI GPT-J 6B на наборе Python-кода объёмом около 4 ГБ. Это плотный авторегрессионный трансформер GPT-J с 28 слоями и размерностью модели 4096; модель содержит около 6,8 млрд параметров. Она генерирует продолжение текста и кода, используя контекст длиной до 2048 токенов.

Модель предназначена для помощи в написании кода на Python и экспериментов с генерацией кода. README отмечает, что для использования требуется форк библиотеки Transformers; результаты оценки качества не приведены. Лицензия — Apache 2.0.

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

  • генерация функций и фрагментов кода на Python
  • автодополнение кода Python по заданному началу
  • создание черновых скриптов на Python
  • эксперименты с генерацией кода на Python

Ограничения

Модель обучена на Python-коде и может хуже справляться с другими задачами; результаты оценки качества в карточке не приведены. Для запуска README указывает на необходимость форка Transformers.

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

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

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

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

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

Открыть на Hugging Face

Genji-python 6B

For example usage or to easily use the model you can check our colab notebook: Notebook

Model Description

Genji is a transformer model finetuned on EleutherAI's GPT-J 6B model. This particular model is trained on python only code approaching 4GB in size.

HyperparameterValue
n_parameters6,053,381,344
n_layers28*
d_model4,096
d_ff16,384
n_heads16
d_head256
n_ctx2,048
n_vocab50,400 (same tokenizer as GPT-2/3)
position encodingRotary position encodings (RoPE)
RoPE dimensions64

* each layer consists of one feedforward block and one self attention block

The model consists of 28 layers with a model dimension of 4096, and a feedforward dimension of 16384. The model dimension is split into 16 heads, each with a dimension of 256. Rotary position encodings (RoPE) was applied to 64 dimensions of each head. The model is trained with a tokenization vocabulary of 50257, using the same set of BPEs as GPT-2/GPT-3.

Training data

GPT-J 6B was pretrained on the Pile, a large scale curated dataset created by EleutherAI for the purpose of training this model. After the pre-training, it's finetuned on the python code that was taken from the Pile.

Training procedure

Genji-python-6B is trained for 20k steps on around 655 million tokens with learning rate of 2e-06

Intended Use

This model is trained for assistence on writing python code and having fun trying weird stuff with it.

How to use

This model is only usable with our fork because GPT-J is not merged to the main transformers repo yet. When it's merged, we will make this model easily loadable. For now, you need to use this fork: Fork

to install with pip:

pip install git+https://github.com/finetuneanon/transformers@gpt-neo-localattention3-rp-b

This model takes more than 16 gigs of RAM to load. If you want more efficient and faster loading, please check our split model. We recommend the usage of the model as FP16. That way, it fits in 16GB VRAM cards.

How to use:

from transformers import (
    AutoTokenizer,
    AutoModelForCausalLM,
    GPTNeoForCausalLM,
)

model = AutoModelForCausalLM.from_pretrained("NovelAI/genji-python-6B", use_auth_token=True).half().eval().cuda()
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neo-2.7B")

text = '''def print_customer_name'''

tokens = tokenizer(text, return_tensors="pt").input_ids
generated_tokens = model.generate(tokens.long().cuda(), use_cache=True, do_sample=True, top_k=50, temperature=0.3, top_p=0.9, repetition_penalty=1.125, min_length=1, max_length=len(tokens[0]) + 400, pad_token_id=tokenizer.eos_token_id)
last_tokens = generated_tokens[0][len(tokens[0]):]
generated_text = tokenizer.decode(last_tokens)
print("Generation:\n" + generated_text)

When ran, this code generates:

Prompt:
def print_customer_name
Generation:
(self, customer):
        """Print the name of a customer."""
        if not self.is_valid():
            return

        print("Customer: {}".format(customer))

For example usage, you can see our colab notebook as well: Notebook

Eval results

TBD

Acknowledgements

This project was possible because of the compute provided by the TPU Research Cloud

and EleutherAI for pretraining of the GPT-J 6B.

Thanks to everyone who contributed to this project!

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей