/ Модель

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

Контекст
2 049 токенов
Параметры
7,7 млрд
Размер весов
27,4 ГБ
Лицензия
CC BY-NC 4.0
Архитектура
xglm · dense
Опубликована
6 апр 2022

incoder-6B

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

InCoder 6B — модель генерации и заполнения пропусков в программном коде, обученная на репозиториях и обсуждениях Stack Overflow.

258скачиваний за 30 дней79лайковвеса обновлены24 янв 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

InCoder 6B — авторегрессионная модель семейства XGLM, разработанная командой исследователей во главе с Дэниелом Фридом и Арменом Агажаняном. Это декодерный Transformer с 7,7 млрд параметров, обученный на исходном коде с причинно-маскированной целью. Она поддерживает обычную генерацию продолжения слева направо и заполнение пропусков внутри кода.

Модель предназначена для генерации и редактирования программного кода, включая дописывание фрагментов и заполнение пропущенных участков. Обучающие данные включали открытые репозитории GitHub и GitLab с разрешительными лицензиями, а также Stack Overflow; основные языки — Python и JavaScript, всего в данных представлены 28 языков программирования. Контекст модели составляет 2049 токенов.

Для запуска доступны веса float32 и float16; README указывает, что версия float16 подходит для инференса на GPU с 16 ГБ памяти при небольшом размере пакета и последовательностях не менее 256 токенов. Репозиторий предоставляет веса PyTorch. Лицензия — CC BY-NC 4.0, допускающая использование с указанием авторства и ограничивающая коммерческое применение.

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

  • генерация кода по текстовому описанию
  • автодополнение фрагментов Python и JavaScript
  • заполнение пропущенного участка кода
  • редактирование и продолжение существующего кода
  • создание примеров кода по шаблону

Ограничения

Контекст ограничен 2049 токенами; для инференса на GPU с 16 ГБ README указывает пакет размером 1 и последовательности от 256 токенов. Лицензия CC BY-NC 4.0 ограничивает коммерческое использование.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

InCoder 6B

A 6B parameter decoder-only Transformer model trained on code using a causal-masked objective, which allows inserting/infilling code as well as standard left-to-right generation.

The model was trained on public open-source repositories with a permissive, non-copyleft, license (Apache 2.0, MIT, BSD-2 or BSD-3) from GitHub and GitLab, as well as StackOverflow. Repositories primarily contained Python and JavaScript, but also include code from 28 languages, as well as StackOverflow.

For more information, see our:

A smaller, 1B, parameter model is also available at facebook/incoder-1B.

Requirements

pytorch, tokenizers, and transformers. Our model requires HF's tokenizers >= 0.12.1, due to changes in the pretokenizer.

pip install torch
pip install "tokenizers>=0.12.1"
pip install transformers

Usage

Model

See https://github.com/dpfried/incoder for example code.

This 6B model comes in two versions: with weights in full-precision (float32, stored on branch main) and weights in half-precision (float16, stored on branch float16). The versions can be loaded as follows:

Full-precision (float32): This should be used if you are fine-tuning the model (note: this will take a lot of GPU memory, probably multiple GPUs, and we have not tried training the model in transformers --- it was trained in Fairseq). Load with:

model = AutoModelForCausalLM.from_pretrained("facebook/incoder-6B")

Half-precision (float16): This can be used if you are only doing inference (i.e. generating from the model). It will use less GPU memory, and less RAM when loading the model. With this version it should be able to perform inference on a 16 GB GPU (with a batch size of 1, to sequence lengths of at least 256). Load with:

model = AutoModelForCausalLM.from_pretrained("facebook/incoder-6B", revision="float16", torch_dtype=torch.float16, low_cpu_mem_usage=True)

Tokenizer

tokenizer = AutoTokenizer.from_pretrained("facebook/incoder-6B")

Note: the incoder-1B and incoder-6B tokenizers are identical, so 'facebook/incoder-1B' could also be used.

When calling tokenizer.decode, it's important to pass clean_up_tokenization_spaces=False to avoid removing spaces after punctuation:

tokenizer.decode(tokenizer.encode("from ."), clean_up_tokenization_spaces=False)

(Note: encoding prepends the <|endoftext|> token, as this marks the start of a document to our model. This token can be removed from the decoded output by passing skip_special_tokens=True to tokenizer.decode.)

License

CC-BY-NC 4.0

Credits

The model was developed by Daniel Fried, Armen Aghajanyan, Jessy Lin, Sida Wang, Eric Wallace, Freda Shi, Ruiqi Zhong, Wen-tau Yih, Luke Zettlemoyer and Mike Lewis.

Thanks to Lucile Saulnier, Leandro von Werra, Nicolas Patry, Suraj Patil, Omar Sanseviero, and others at HuggingFace for help with the model release, and to Naman Goyal and Stephen Roller for the code our demo was based on!

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
XGLMForCausalLM
Ревизия весов
18c1a34

0 моделей