/ Модель

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

Контекст
8 192 токена
Лицензия
bigcode-openrail-m
Архитектура
gpt_bigcode · dense
Библиотека
transformers
Опубликована
15 мая 2023

tiny_starcoder_py

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

Компактная модель BigCode на 164 млн параметров для генерации и заполнения фрагментов Python-кода.

230 тыс.скачиваний за 30 дней74лайкавеса обновлены1 июн 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TinyStarCoderPy — компактная авторегрессионная модель для генерации кода, разработанная BigCode. Она содержит 164 млн параметров и обучена примерно за 50 тысяч шагов на 100 млрд токенов Python-кода из StarCoderData, сформированных на основе GitHub. Модель использует архитектуру GPTBigCode с multi-query attention и поддерживает заполнение пропусков в коде (Fill-in-the-Middle, FIM); длина контекста — 8192 токена.

Модель предназначена для помощи при написании и дополнении Python-кода, включая генерацию по началу функции и заполнение фрагмента между заданными частями кода. Разработчики рекомендуют для чистого автодополнения кода более крупные StarCoder или StarCoderBase, поэтому возможности TinyStarCoderPy ограничены её небольшим размером. Репозиторий распространяется в форматах PyTorch и Safetensors; лицензия — BigCode OpenRAIL-M.

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

  • генерация Python-кода по текстовому запросу или началу функции
  • автодополнение небольших фрагментов Python
  • заполнение пропусков внутри существующего кода
  • создание вспомогательных функций и примеров на Python

Ограничения

Модель обучена на Python-коде и существенно меньше рекомендуемых разработчиками StarCoder и StarCoderBase, поэтому для чистого автодополнения кода они предпочтительнее.

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

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

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

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

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

Открыть на Hugging Face

TinyStarCoderPy

This is a 164M parameters model with the same architecture as StarCoder (8k context length, MQA & FIM). It was trained on the Python data from StarCoderData for ~6 epochs which amounts to 100B tokens.

Use

Intended use

The model was trained on GitHub code, to assist with some tasks like Assisted Generation. For pure code completion, we advise using our 15B models StarCoder or StarCoderBase.

Generation

# pip install -q transformers
from transformers import AutoModelForCausalLM, AutoTokenizer

checkpoint = "bigcode/tiny_starcoder_py"
device = "cuda" # for GPU usage or "cpu" for CPU usage

tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint).to(device)

inputs = tokenizer.encode("def print_hello_world():", return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))

Fill-in-the-middle

Fill-in-the-middle uses special tokens to identify the prefix/middle/suffix part of the input and output:

input_text = "<fim_prefix>def print_one_two_three():\n    print('one')\n    <fim_suffix>\n    print('three')<fim_middle>"
inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))

Training

Model

  • Architecture: GPT-2 model with multi-query attention and Fill-in-the-Middle objective
  • Pretraining steps: 50k
  • Pretraining tokens: 100 billion
  • Precision: bfloat16

Hardware

  • GPUs: 32 Tesla A100
  • Training time: 18 hours

Software

License

The model is licensed under the BigCode OpenRAIL-M v1 license agreement. You can find the full agreement here.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей