/ Модель

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

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

santacoderpack

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

Предварительно обученная модель BigCode для генерации кода и выполнения инструкций по программированию на нескольких языках.

740скачиваний за 30 дней5лайковвеса обновлены16 авг 2023

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SantaCoderPack — предварительно обученная модель для генерации и дополнения кода, разработанная в рамках проекта BigCode. Она использует архитектуру GPTBigCode с multi-query attention и обучалась на данных CommitPack в формате, связывающем код до сообщения об изменении, само сообщение и код после него. Карточка указывает 250 тысяч шагов обучения и 131 млрд токенов предобучения; модель представлена в формате PyTorch и поддерживает контекст до 8192 токенов.

Модель предназначена для генерации кода по инструкциям, исправления ошибок и работы с изменениями кода. В README перечислены Python, JavaScript, Java, C++, Go и Rust. Она рассчитана на сценарии программирования, однако качество может различаться по языкам и задачам; инструкция к примеру показывает, что полезно формулировать запрос в контексте фрагмента кода. Лицензия — BigCode OpenRAIL-M.

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

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

Ограничения

Это предварительно обученная модель кода, поэтому качество выполнения инструкций и генерации может зависеть от языка и формулировки запроса. Указанная длина контекста — до 8192 токенов.

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

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

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

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

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

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

Открыть на Hugging Face

Octopack

Table of Contents

  1. Model Summary
  2. Use
  3. Training
  4. Citation

Model Summary

SantaCoderPack is an pre-trained model with the same architecture of SantaCoder on <a href=https://huggingface.co/datasets/bigcode/commitpack>CommitPack using this format:

<commit_before>code_before<commit_msg>message<commit_after>code_after

Use

Intended use

The model follows instructions provided in the input. We recommend prefacing your input with "<commit_before>def has_close_elements(numbers: List[float], threshold: float) -> bool:\n for idx, elem in enumerate(numbers):\n for idx2, elem2 in enumerate(numbers):\n if idx != idx2:\n distance = elem - elem2\n if distance < threshold:\n return True\n\n return False<commit_message>Fix bugs in has_close_elements.<commit_after>"

Feel free to share your generations in the Community tab!

Generation

# pip install -q transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "bigcode/santacoderpack"
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("Q<commit_before>def has_close_elements(numbers: List[float], threshold: float) -> bool:\n    for idx, elem in enumerate(numbers):\n        for idx2, elem2 in enumerate(numbers):\n            if idx != idx2:\n                distance = elem - elem2\n                if distance < threshold:\n                    return True\n\n    return False<commit_message>Fix bugs in has_close_elements.<commit_after>", return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))

Training

Model

  • Architecture: GPT-2 model with multi-query attention
  • Steps: 250k pretraining
  • Pretraining tokens: 131B
  • Precision: bfloat16

Hardware

  • Pretraining:
    • GPUs: 32 Tesla A100
    • Training time: 15 days

Software

Citation

@article{muennighoff2023octopack,
      title={OctoPack: Instruction Tuning Code Large Language Models}, 
      author={Niklas Muennighoff and Qian Liu and Armel Zebaze and Qinkai Zheng and Binyuan Hui and Terry Yue Zhuo and Swayam Singh and Xiangru Tang and Leandro von Werra and Shayne Longpre},
      journal={arXiv preprint arXiv:2308.07124},
      year={2023}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей