/ Модель

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

Контекст
8 192 токена
Лицензия
CC BY-NC-SA 4.0
Архитектура
gpt_bigcode · dense
Опубликована
25 авг 2023

starcoder-1b-textbook

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

Компактная модель Jina AI для генерации кода и решений упражнений по программированию, дообученная на базе StarCoderBase-1B.

114скачиваний за 30 дней7лайковвеса обновлены7 сен 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

StarCoder-1b-textbook — языковая модель для генерации кода, выпущенная Jina AI. Это полно-параметрическое дообучение starcoderbase-1b на наборе code_exercices; модель содержит 1 млрд параметров и использует архитектуру GPTBigCode. Контекст составляет 8192 токена, формат весов — PyTorch.

Модель предназначена для генерации решений упражнений по программированию и продолжения кода. В README указано значение 27,0 pass@1 на HumanEval, однако этот результат не гарантирует сопоставимого качества в роли универсального помощника. Модель не настроена на выполнение инструкций и не предназначена для чат-диалогов.

Модель выпущена под лицензией CC-BY-NC-SA-4.0. Она обучалась на данных, сгенерированных ChatGPT 3.5, а авторы предупреждают, что результаты HumanEval ограниченно отражают практические способности модели и что модель не выровнена с человеческими предпочтениями.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

StarCoder-1b-textbook

StarCoder-1b-textbook is a finetuned version of starcoderbase-1b on the code_exercices dataset

It achieves 27.0 pass@1 on the Human Eval coding benchmark while being only 1b parameters. That is an improvement of almost 12 points over the starcoder 1b baseline, almost doubling the score.

The results (on the human eval benchmark) are on par with other open-source models like StarCoderBase (30.4) StarCoder(33.6) CodeGen-16B-Mono(29.3) while the model being 15 times smaller.

It still underperforms compared to other models like CodeLLama (53%) chat gpt 4 (82) or wizard coder (73.2), but these model are more than 30 times bigger.

Usage

You can download and use the model like so:

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
        "jinaai/starcoder-1b-textbook", device_map='auto'
    )

tokenizer = AutoTokenizer.from_pretrained("jinaai/starcoder-1b-textbook")

prompt = '''
def unique(l: list):
    """Return sorted unique elements in a list
    >>> unique([5, 3, 5, 2, 3, 3, 9, 0, 123])
    [0, 2, 3, 5, 9, 123]
    """
'''

inputs = tokenizer(prompt.rstrip(), return_tensors="pt").to("cuda")

generation_output = model.generate(
    **inputs,
    max_new_tokens=128,
    eos_token_id=tokenizer.eos_token_id,
    return_dict_in_generate=True,
)

s = generation_output.sequences[0]
output = tokenizer.decode(s, skip_special_tokens=True)

print(output)

Finetuning details

We did full parameter fine-tuning and used a Nvidia a40 for 12 hours using a batch size of 128 and a micro-batch size of 8.

To reproduce the training just follow the training instructions in our open source codebase

Disclaimer

  • The human eval benchmark is not a perfect benchmark and does not fully represent the coding abilities of an LLM. This model performs well on the task described in the benchmark but it does not necessarily mean that our model is on par with bigger models on coding assistant LLM.
  • This model is not an instruction tuned model and cannot be used as a chatbot. We recommend using the Evol-Instruct-Code-80k-v1 to finetune it into a instrution following model
  • This model has not been aligned with human preferences and therefore could potentially generate harmful content
  • This model has been trained on a dataset generated by ChatGPT 3.5, and you should check the legal status of AI-generated content in your jurisdiction before using it. You should make sure that your usage complies with the OpenAI Terms of Use, in so far as legally applicable.

Credits

This model was trained and released by Jina.ai

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей