/ Модель

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

Контекст
16 384 токена
Параметры
33,5 млрд
Размер весов
67,5 ГБ
Лицензия
Llama 2
Архитектура
llama · dense
Базовая модель
CodeLlama-34b-hf
Опубликована
30 янв 2024

opencsg-CodeLlama-34b-v0.2

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

Дообученная OpenCSG модель на базе CodeLlama-34b для генерации и автодополнения программного кода.

38скачиваний за 30 дней2лайкавеса обновлены3 дек 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

opencsg/opencsg-CodeLlama-34b-v0.2 — это дообученная OpenCSG модель для генерации программного кода. Она основана на Meta CodeLlama-34b-hf, использует архитектуру Llama с плотной авторегрессионной языковой моделью и содержит 33,5 млрд параметров. Модель прошла полное дообучение всех параметров; в репозитории представлены веса Safetensors.

Модель предназначена для генерации и автодополнения кода, в том числе решения задач по программированию. В README указано, что обучающая выборка охватывает несколько языков программирования; для оценки семейства использовался HumanEval на Python, однако приведённые значения относятся к версиям 7B и не характеризуют непосредственно эту версию 34B. Контекст модели составляет до 16 384 токенов. Лицензия — Llama 2 Community License; её условия следует учитывать при использовании и распространении модели.

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

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

Ограничения

README не приводит результатов HumanEval непосредственно для версии 34B, поэтому показатели младших моделей нельзя переносить на неё. Для применения требуется учитывать условия лицензии Llama 2 Community License.

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

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

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

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

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

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

Открыть на Hugging Face

Opencsg-CodeLlama-34b-v0.2 [中文] [English]

The vision of OpenCSG is to empower every industry, every company, and every individual to own their models. We adhere to the principles of openness and open source, making the large model software stack of OpenCSG available to the community. We welcome everyone to use, send feedback, and contribute collaboratively.

Model Description

CodeLlama is a collection of pretrained and fine-tuned generative text models from Llama2, which ranges in scale from 7 billion to 34 billion parameters. Based on CodeLlama, opencsg-CodeLlama-v0.2 is a series of models fintuned througth full-paramters fine-tuning method.

This is the repository for the base 34B version finetuned based on CodeLlama-34b-hf.

Model SizeBase Model
7Bopencsg/Opencsg-CodeLlama-7b-v0.1
13Bopencsg/Opencsg-CodeLlama-13b-v0.1
34Bopencsg/Opencsg-CodeLlama-34b-v0.1
7Bopencsg/Opencsg-CodeLlama-7b-v0.2
13Bopencsg/Opencsg-CodeLlama-13b-v0.2
34Bopencsg/Opencsg-CodeLlama-34b-v0.2

Model Eval

HumanEval is the most common code generation benchmark for evaluating model performance, especially on the compeltion of code exercise cases. Model evaluation is, to some extent, a metaphysics. Different models have different sensitivities to decoding methods, parameters and instructions. It is impratical for us to manually set specific configurations for each fine-tuned model, because a real LLM should master general capabilities despite the parameters being manipulated by users.

Therefore, OpenCSG racked their brains to provide a relatively fair method to compare the fine-tuned models on the HumanEval benchmark. To simplify the comparison, we chosed the Pass@1 metric for the Python language, but our fine-tuning dataset includes samples in multiple languages.

For fairness, we evaluated the original and fine-tuned CodeLlama models based only on the prompts from the original cases, without including any other instructions.

Besides, we use the greedy decoding method for each model during evaluation.

ModelHumanEval python pass@1
CodeLlama-7b-hf30.5%
opencsg-CodeLlama-7b-v0.143.9%
opencsg-CodeLlama-7b-v0.250.0%
CodeLlama-13b-hf36.0%
opencsg-CodeLlama-13b-v0.151.2%
opencsg-CodeLlama-13b-v0.255.5%
CodeLlama-34b-hf48.2%
opencsg-CodeLlama-34b-v0.156.1%
opencsg-CodeLlama-34b-v0.264.0%
CodeLlama-70b-hf53.0%
CodeLlama-70b-Instruct-hf67.8%

TODO

  • We will provide more benchmark scores on fine-tuned models in the future.
  • We will provide different practical problems to evaluate the performance of fine-tuned models in the field of software engineering.

Model Usage

from transformers import AutoTokenizer
import transformers
import torch

model = "opencsg/opencsg-CodeLlama-34b-v0.2"

tokenizer = AutoTokenizer.from_pretrained(model, trust_remote_code=True)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto",
)
input_text = "#write a quick sort algorithm."
sequences = pipeline(
    input_text,
    do_sample=False,
    top_k=10,
    temperature=0.1,
    top_p=0.95,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=256,
)
for seq in sequences:
    print(seq['generated_text'][len(input_text):])

Training

Hardware

  • GPUs: 8 Tesla A800
  • Training time: 4 hours

Software

OpenCSG介绍

OpenCSG 的愿景是让每个行业、每个公司、每个人都拥有自己的模型。 我们坚持开放开源的原则,将OpenCSG的大模型栈提供给社区。 欢迎大家积极使用、反馈想法和贡献内容。

模型介绍

CodeLlama 是一系列由 Llama2 经过预训练和微调得到的生成式代码大模型,其规模从 70 亿到 340 亿个参数不等。 opencsg-CodeLlama-v0.2是一系列基于CodeLlama的通过全参数微调方法进行调优的模型。

这是基于 CodeLlama-34b-hf 进行微调的模型版本。

模型大小基座模型
7Bopencsg/Opencsg-CodeLlama-7b-v0.1
13Bopencsg/Opencsg-CodeLlama-13b-v0.1
34Bopencsg/Opencsg-CodeLlama-34b-v0.1
7Bopencsg/Opencsg-CodeLlama-7b-v0.2
13Bopencsg/Opencsg-CodeLlama-13b-v0.2
34Bopencsg/Opencsg-CodeLlama-34b-v0.2

模型评估

HumanEval 是评估模型在代码生成方面性能的最常见的基准,尤其是在代码习题的补全方面。 模型评估在某种程度上是一种玄学。不同的模型对解码方法、参数和指令的敏感度不同, 优秀的大模型是具备通用能力的,而不会因为解码参数的调整使得模型的生成表现有很大的差异。

因此,OpenCSG 提供了一个相对公平的方法来在 HumanEval 基准上比较各微调模型。 方便起见,我们选择了Python语言Pass@1指标,但要注意的是,我们的微调数据集是包含多种编程语言。

为了公平起见,我们仅根据原始问题的提示来评估原始和微调过的 CodeLlama 模型,不包含任何其他说明。

除此之外,我们在评估过程中对每个模型都使用贪婪解码方法。

模型HumanEval python pass@1
CodeLlama-7b-hf30.5%
opencsg-CodeLlama-7b-v0.143.9%
opencsg-CodeLlama-7b-v0.250.0%
CodeLlama-13b-hf36.0%
opencsg-CodeLlama-13b-v0.151.2%
opencsg-CodeLlama-13b-v0.255.5%
CodeLlama-34b-hf48.2%
opencsg-CodeLlama-34b-v0.156.1%
opencsg-CodeLlama-34b-v0.264.0%
CodeLlama-70b-hf53.0%
CodeLlama-70b-Instruct-hf67.8%

TODO

  • 未来我们将提供更多微调模型的在各基准上的分数。
  • 我们将提供不同的实际问题来评估微调模型在软件工程领域的性能。

模型使用

from transformers import AutoTokenizer
import transformers
import torch

model = "opencsg/opencsg-CodeLlama-34b-v0.2"

tokenizer = AutoTokenizer.from_pretrained(model, trust_remote_code=True)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto",
)
input_text = "#write a quick sort algorithm."
sequences = pipeline(
    input_text,
    do_sample=False,
    top_k=10,
    temperature=0.1,
    top_p=0.95,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=256,
)
for seq in sequences:
    print(seq['generated_text'][len(input_text):])

训练

硬件资源

  • GPU数量: 8 Tesla A800
  • 训练时间: 4 小时

软件使用

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей