/ Модель

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

Контекст
4 096 токенов
Параметры
1,7 млрд
Лицензия
Своя лицензия
Архитектура
llama · dense
Базовая модель
OpenCoder-1.5B-Base
Библиотека
transformers
Опубликована
7 ноя 2024

OpenCoder-1.5B-Instruct

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

OpenCoder-1.5B-Instruct — дообученная диалоговая Llama-модель для генерации кода и помощи в программировании на английском и китайском языках.

1 287скачиваний за 30 дней49лайковвеса обновлены14 ноя 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

OpenCoder-1.5B-Instruct — диалоговая модель для работы с кодом из семейства OpenCoder, разработанного командой OpenCoder. Она основана на плотной архитектуре Llama и дообучена методом supervised fine-tuning на двух этапах на примерах OpenCoder. Модель содержит 1,7 млрд параметров и рассчитана на контекст до 4096 токенов.

Модель предназначена для генерации кода по запросу на естественном языке, ответов на вопросы о программировании и помощи в решении задач на код. Семейство OpenCoder поддерживает английский и китайский языки; в карточке этой версии указаны те же языки. В README приведены результаты на HumanEval(+), MBPP(+) и BigCodeBench.

Модель опубликована в формате safetensors для Transformers. Лицензия указана как «other», поэтому условия использования следует уточнить в файлах лицензии репозитория. README описывает открытые данные и процесс обучения семейства, но не приводит подробных ограничений конкретно этой версии.

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

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

Ограничения

Контекст ограничен 4096 токенами. Лицензия обозначена как «other»; перед использованием необходимо проверить конкретные условия в репозитории.

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

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

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

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

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

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

Открыть на Hugging Face

1. Introduction

OpenCoder is an open and reproducible code LLM family which includes 1.5B and 8B base and chat models, supporting both English and Chinese languages. Starting from scratch, OpenCoder is pretrained on 2.5 trillion tokens composed of 90% raw code and 10% code-related web data, and supervised finetuned on over 4.5M high-quality SFT examples, finally reaching the performance of top-tier code LLMs. We provide not only model weights and inference code, but also the reproducible training data, the complete data processing pipeline, rigorous experimental ablation results, and detailed training protocols. Empowering researchers to build and innovate, OpenCoder is your open foundation for advancing code AI.

  • Complete Open Source: OpenCoder ensures full transparency by releasing not only the model weights and forthcoming inference code but also the complete data-cleaning code for training. This release includes high-quality synthetic data, an extensive set of checkpoints, and a dataset of over 4.5 million supervised fine-tuning (SFT) entries, making OpenCoder one of the most comprehensively open-sourced models available.
  • Comprehensive Experimental Analysis: OpenCoder is rigorously tested through extensive ablation studies on various data-cleaning strategies and training processes, including file-level and repository-level deduplication experiments, ensuring thorough exploration and validation of the model’s performance.
  • High-Quality Synthetic Data: OpenCoder provides a fully developed synthetic data generation process and over 4.5 million SFT data entries, establishing a robust data foundation for model training and evaluation.
  • Exceptional Performance: OpenCoder achieves high performance across multiple language model benchmarks, positioning it among the leading open-source models for code.

2. Models

ModelSequence LengthDownload
OpenCoder-1.5B-Base4K🤗 HuggingFace
OpenCoder-8B-Base8K🤗 HuggingFace
OpenCoder-1.5B-Instruct4K🤗 HuggingFace
OpenCoder-8B-Instruct8K🤗 HuggingFace

3. Datasets

Pre-training

DatasetSizeDownload
fineweb-code-corpus148 GB🤗 HuggingFace
fineweb-math-corpus10 GB🤗 HuggingFace

Post-training

DatasetNumDownload
opencoder-sft-stage14.21 M🤗 HuggingFace
opencoder-sft-stage2375 K🤗 HuggingFace

This is not the end; we are organizing the remaining data and uploading it progressively.

4. Benchmarks

Note: For the detailed evaluation results, please refer to our paper.

modelOpenCoder-1.5B-InstructOpenCoder-8B-Instruct
HumanEval(+)72.5 (67.7)83.5 (78.7)
MBPP(+)72.7 (61.9)79.1 (69.0)
BigCodeBench33.340.3
BigCodeBench-Hard11.516.9
LiveCodeBench12.823.2
MultiPL-E (AVG)57.571.0

5. Inference

Inference with Huggingface's Transformers

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "infly/OpenCoder-1.5B-Instruct"
model = AutoModelForCausalLM.from_pretrained(model_name,
                                             torch_dtype=torch.bfloat16,
                                             device_map="auto",
                                             trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)

messages=[
    { 'role': 'user', 'content': "write a quick sort algorithm in python."}
]

inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")

outputs = model.generate(inputs, max_new_tokens=512, do_sample=False)

result = tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True)
print(result)

6. License

OpenCoder series (including Base and Chat) support commercial applications under a permissive License.

7. Citation

@inproceedings{Huang2024OpenCoderTO,
  title={OpenCoder: The Open Cookbook for Top-Tier Code Large Language Models},
  author={Siming Huang and Tianhao Cheng and Jason Klein Liu and Jiaran Hao and Liuyihan Song and Yang Xu and J. Yang and J. H. Liu and Chenchen Zhang and Linzheng Chai and Ruifeng Yuan and Zhaoxiang Zhang and Jie Fu and Qian Liu and Ge Zhang and Zili Wang and Yuan Qi and Yinghui Xu and Wei Chu},
  year={2024},
  url={https://arxiv.org/pdf/2411.04905}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
LlamaForCausalLM
Ревизия весов
6d857a7

0 моделей