/ Модель

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

Контекст
2 048 токенов
Параметры
6,7 млрд
Размер весов
23,5 ГБ
Лицензия
Apache 2.0
Архитектура
deci · dense
Опубликована
15 янв 2024

DeciCoder-6B

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

DeciCoder-6B — модель Deci с 6,7 млрд параметров для генерации и автодополнения кода на нескольких языках программирования.

146скачиваний за 30 дней33лайкавеса обновлены11 фев 2024

Бенчмарки

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

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

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

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

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

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

DeciCoder-6B — авторегрессионная модель для дополнения и генерации программного кода, разработанная компанией Deci. Она основана на декодерном трансформере DeciLMForCausalLM с 6,7 млрд параметров и переменным Grouped Query Attention; архитектуру создали с помощью технологии AutoNAC. Обучение на подмножестве StarCoder Training Dataset использовало цель Fill-in-the-Middle, поэтому модель может продолжать код и заполнять пропуски внутри фрагмента.

Модель предназначена для работы с Python, Java, JavaScript, Rust, C++, C, C# и Go. Контекст составляет 2 048 токенов. Весы опубликованы в формате safetensors, лицензия — Apache 2.0.

Модель можно применять для генерации фрагментов кода по контексту и автодополнения в редакторах. В README приведены результаты pass@1 для нескольких языков, но они не гарантируют правильность конкретного результата: сгенерированный код может содержать ошибки, быть неоптимальным или небезопасным.

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

  • автодополнение кода в редакторе
  • генерация кода по описанию или контексту
  • заполнение пропусков внутри фрагмента кода
  • создание заготовок программ на Python, Java и других поддерживаемых языках

Ограничения

Окно контекста ограничено 2 048 токенами. Сгенерированный код может быть ошибочным, неоптимальным или содержать уязвимости, поэтому его следует проверять.

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

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

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

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

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

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

Открыть на Hugging Face

Model Card for DeciCoder-6B

DeciCoder-6B is a 6 billion parameter decoder-only code completion model trained on the Python, Java, Javascript, Rust, C++, C, and C# subset of Starcoder Training Dataset. The model uses variable Grouped Query Attention and has a context window of 2k tokens. It was trained using a Fill-in-the-Middle training objective. The model's architecture was generated by Deci's proprietary Neural Architecture Search-based technology, AutoNAC.

Model Details

  • Developed by: Deci
  • Model type: DeciCoder-6B is an auto-regressive language model based on the transformer decoder architecture, using variable Grouped Query Attention.
  • Language(s): Python, Java, JavaScript, Rust, C++, C, C#, Go
  • License: Model checkpoints are licensed under the Apache 2.0

Documentation

Model Architecture

ParametersLayersHeadsSequence LengthGQA num_key_value_heads
6B32322kVariable
  • Decoder layer: Variable Grouped Query Attention
  • Position Embeddings: Rotary Position Embeddings Su et al., 2021

How to Use

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

checkpoint = "Deci/DeciCoder-6B"
device = "cuda" # for GPU usage or "cpu" for CPU usage

tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint, torch_dtype=torch.bfloat16, trust_remote_code=True).to(device)

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

### Attribution

DeciCoder-6B was trained on StarCoder Training Dataset, filtered for
Python, Java, JavaScript, Ruby, RUST, C++, C, and C#. For additional information, please
refer to [https://huggingface.co/datasets/bigcode/starcoderdata](https://huggingface.co/datasets/bigcode/starcoderdata).

Limitations

The model has undergone training with source code from Python, Java, JavaScript, RUST, C++, C, and C#, and Go. While the primary language in the source is English, it does contain other languages. Therefore, the model can produce code snippets given some context. However, there is no assurance that the resulting code will function as expected. It might be suboptimal, contain bugs, or even exploits.

Evaluation

Below are DeciCoder-6B's pass@1 on MultiPL HumanEval scores

PythonJavaScriptJavaC++C#RustGo
33.3%29.3%30.3%29.93%20.31%20.5%77.47%

Runtime Benchmarks

Inference ToolHardwarePrompt LengthGeneration LengthThroughput (tokens/sec)
Qualcomm Cloud AI 100 SDKQualcomm Cloud AI 10010241024531.3
  • Measured for maximal batch size on the device

How to Cite

Please cite this model using this format.

@misc{DeciFoundationModels,
title = {DeciCoder-6B},
author = {DeciAI Research Team},
year = {2024}
url={[https://huggingface.co/deci/decicoder-6B](https://huggingface.co/deci/decicoder-6B)},
}

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

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

GPU в ailist

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

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

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

0 моделей