/ Модель

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

Контекст
16 384 токена
Параметры
12,9 млрд
Размер весов
26 ГБ
Лицензия
Llama 2
Архитектура
llama · dense
Базовая модель
CodeLlama-13b-Instruct-hf
Опубликована
25 ноя 2024

CodeLlama-13B-MORepair

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

Дообученная CodeLlama-13B модель исправляет ошибки в коде и может объяснять логику предложенного исправления.

33скачиваний за 30 дней2лайкавеса обновлены16 мая 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CodeLlama-13B-MORepair — модель для автоматического исправления программного кода, созданная дообучением CodeLlama-13b-Instruct по методике MOREPAIR. Это плотная авторегрессионная модель семейства Llama с 12,9 млрд параметров и контекстом до 16 384 токенов; веса опубликованы в формате safetensors.

Модель принимает код с ошибками и генерирует исправленный вариант, а также может сопровождать его пояснением логики исправления. Она обучалась на 1 535 парах ошибочного и исправленного кода из TutorLLMCode; в карточке особо отмечены сценарии для C++ и Java. Для дообучения применялась QLoRA с изменением 1,84% параметров и метод NEFTune.

Модель основана на CodeLlama-13b-Instruct от Meta и распространяется по лицензии Llama 2 Community License. Результаты и качество зависят от языка и типа ошибки; кроме C++ и Java, обобщение на другие языки заявлено лишь как вероятное.

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

  • автоматическое исправление ошибок в C++
  • исправление дефектов в Java
  • генерация исправленного фрагмента кода по исходнику с ошибкой
  • объяснение логики исправления программной ошибки
  • подготовка кандидатов исправлений для проверки на тестовых наборах

Ограничения

В первую очередь модель проверялась на C++ и Java; перенос на другие языки не подтверждён в карточке. Обучающая выборка содержит 1 535 пар примеров, поэтому качество для редких типов ошибок может быть ограничено.

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

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

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

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

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

Открыть на Hugging Face

CodeLlama-13b-MORepair is a program repair model fine-tuned from CodeLlama-13b-instruct using a novel multi-objective fine-tuning framework called MOREPAIR. This model is specifically designed to improve automated program repair capabilities by learning both code transformations and repair logic reasoning.

Paper | Code | Colab

Citation

If you use this model in your research, please cite:

@article{10.1145/3735129,
author = {Yang, Boyang and Tian, Haoye and Ren, Jiadong and Zhang, Hongyu and Klein, Jacques and Bissyande, Tegawende and Le Goues, Claire and Jin, Shunfu},
title = {MORepair: Teaching LLMs to Repair Code via Multi-Objective Fine-Tuning},
year = {2025},
publisher = {Association for Computing Machinery},
issn = {1049-331X},
url = {https://doi.org/10.1145/3735129},
doi = {10.1145/3735129},
journal = {ACM Trans. Softw. Eng. Methodol.},
}

Model Description

  • Base Model: CodeLlama-13b-instruct
  • Training Technique: Multi-objective fine-tuning with MOREPAIR framework
  • Supported Languages: Primarily tested on C++ and Java, but likely generalizes to other languages
  • Primary Use: Automated program repair
  • License: Llama 2 Community License
  • Evaluation Benchmarks: EvalRepair-Java | EvalRepair-C++ | D4J-Repair | SWE-Repair

Training Details

Training Data

  • Dataset: TutorLLMCode
  • Size: 1,535 pairs of buggy and repaired code
  • Nature: Programming task corrections with LLM-generated repair guidance

Training Approach

The model was trained using MOREPAIR, which employs:

  • Multi-objective learning with two objectives:
    1. Generating repaired code
    2. Producing repaired code with explanatory guidance
  • QLoRA fine-tuning (only 1.84% of parameters modified)
  • NEFTune for improved generalization
  • LLM-generated guidance for understanding repair logic

Usage

Here's how to use the model with the Hugging Face Transformers library:

Installation

pip install transformers torch

Basic Usage

from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline

# Load model and tokenizer
model_name = "barty/CodeLlama-13B-MORepair"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    load_in_8bit=True,
    torch_dtype=torch.float16
)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)

def repair_code(buggy_code, filename="example.java"):
    # Construct prompt in the format model expects
    prompt = f"""[INST] This is an incorrect code({filename}):
```java
{buggy_code}
```
You are a software engineer. Can you repair the incorrect code?
[/INST]
```java
"""
    
    # Calculate token count for length control
    prompt_tokens = len(tokenizer.tokenize(prompt))
    max_new_tokens = 500 - prompt_tokens
    
    # Generate repair
    output = pipe(
        prompt,
        min_length=prompt_tokens + 64,
        max_length=prompt_tokens + max_new_tokens,
        temperature=1.0,
        do_sample=True
    )
    
    # Extract the generated code
    full_text = output[0]['generated_text']
    fixed_code = full_text.split('[/INST]')[1].strip()
    
    return full_text, fixed_code

# Example usage
buggy_code = """
public static int findMinRotated(int[] arr) {
    int left = 0;
    int right = arr.length - 1;
    
    while (left < right) {
        int mid = (left + right) / 2;
        if (arr[mid] > arr[right])
            left = mid;  // Bug: should be mid + 1
        else
            right = mid;
    }
    return arr[left];
}
"""

full_response, fixed_code = repair_code(buggy_code)
print("Fixed code:")
print(fixed_code)

Important Parameters

  • load_in_8bit=True: Enables 8-bit quantization for efficient inference
  • temperature=1.0: Controls randomness in generation
  • do_sample=True: Enables sampling-based generation
  • min_length: Minimum length of generated text
  • max_length: Maximum length of generated text

Limitations

  • Performance varies across different programming languages
  • May require multiple attempts to generate correct fixes
  • Should be used with appropriate test cases to validate repairs
  • May not handle very complex or multi-file program repairs

Technical Specifications

  • Architecture: Based on CodeLlama-13b-instruct
  • Parameters: Same as base model (13B)
  • Fine-tuning Method: QLoRA + NEFTune
  • Context Window: Same as CodeLlama-13b-instruct
  • Input Format: Code snippets with optional repair guidance

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей