/ Модель

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

Контекст
1 024 токена
Лицензия
Apache 2.0
Архитектура
gpt2 · dense
Базовая модель
codeparrot-gpt2-mi50
Библиотека
transformers
Опубликована
19 июн 2026

codeparrot-gpt2-mi50-eos-ft

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

Экспериментальная версия GPT-2 для автодополнения кода на Python с дообучением поведения завершения последовательности.

25скачиваний за 30 дней0лайковвеса обновлены21 июн 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Marcoson320 разработал эту экспериментальную дообученную версию GPT-2 для генерации и автодополнения кода на Python. Она основана на Marcoson320/codeparrot-gpt2-mi50 и обучалась добавлять токен конца последовательности (EOS) к фрагментам кода, чтобы генерация могла останавливаться на границах документов. Модель принимает текст и выдаёт текст; её контекст составляет 1024 токена. В карточке указан набор данных huggingface-course/codeparrot-ds-train и библиотека Transformers.

Это исследование осуществимости с частичным успехом: на небольшом наборе из пяти запросов модель выдала EOS в пределах 80 токенов для двух. Иногда токен завершения появляется посреди выражения, а качество кода наследует ограничения базовой модели. Модель распространяется по лицензии Apache-2.0.

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

  • автодополнение фрагментов кода на Python
  • генерация продолжения функции Python
  • эксперименты с остановкой генерации кода по EOS

Ограничения

В пробе из пяти запросов EOS появился в пределах 80 токенов только для двух; иногда завершение возникает посреди выражения. Качество кода наследует артефакты базовой модели.

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

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

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

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

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

Открыть на Hugging Face

codeparrot-gpt2-mi50-eos-ft

A fine-tune of Marcoson320/codeparrot-gpt2-mi50 experimenting with adding end-of-sequence (<|endoftext|>) emission behavior to a code-completion model trained without document-boundary EOS tokens.

This is a feasibility study — partial success (3/5 on a small probe set). Published for transparency about the method and limitations.

Motivation

The base model was trained following HuggingFace LLM Course Chapter 7.6, whose tokenize function does not insert <|endoftext|> at document boundaries:

def tokenize(element):
    outputs = tokenizer(
        element["content"], truncation=True,
        max_length=128, return_overflowing_tokens=True, ...
    )
    # no EOS inserted between documents

GPT-2 paper and karpathy/nanoGPT both insert an end-of-text token between documents; the course's simplification produces a model that does not stop generating at natural boundaries.

This fine-tune attempts to retrofit the EOS signal post-hoc.

Fine-tune Configuration

ItemValue
BaseMarcoson320/codeparrot-gpt2-mi50 (final checkpoint)
OptimizerAdamW (β₁=0.9, β₂=0.999, weight_decay=0.1)
Learning rate5×10⁻⁵, cosine schedule, 100 warmup steps
Effective batch size256 (per_device_bs=32 × grad_accum=4 × world_size=2)
Steps4,000
Precisionfp16
ParallelismDistributedDataParallel on 2 × MI50
Wall clock~1h 44m
final train_loss1.162
final eval_loss1.569

Data preparation

Each training sample is a variable-length token slice (32–120 tokens) of a Python file, with <|endoftext|> (id 0) appended explicitly, then padded to 128 with a label mask of -100 (so padding does not contribute to loss).

This raises EOS signal density from < 0.04% (base training) to ~3%.

Results

Tested on five self-contained prompts, comparing base vs fine-tuned model. EOS emission within 80 generated tokens, greedy decoding, repetition_penalty=1.12, no_repeat_ngram_size=4:

PromptBaseEOS-FT
def add(a, b):\n return a + b\n✗✓ (pos 13)
def square(x):\n return x * x\n\n✗✗
def greet(name):\n print(f'Hello {name}')\n\n✗✓ (pos 47)
import os\nprint(os.getcwd())\n✗✗
x = 1\ny = 2\nz = x + y\n✗✓ (pos 61)
Total emit rate0/53/5

Known limitations

  • Partial success: 2 of 5 prompts still do not stop within 80 tokens.
  • EOS position quality is imperfect: the model sometimes emits EOS mid-expression rather than at a clean function/statement boundary. This is attributable to the data preparation — random-length chunks rather than AST-based semantic units. A more rigorous approach would slice each file into complete FunctionDef / ClassDef blocks via ast.parse so the model only sees EOS at structural endpoints.
  • Code quality of pre-EOS content inherits the base model's small-scale artifacts (occasional Jupyter notebook markers, partial idioms).

Usage

from transformers import pipeline

pipe = pipeline(
    "text-generation",
    model="Marcoson320/codeparrot-gpt2-mi50-eos-ft",
    device=0,
)

out = pipe(
    "def add(a, b):\n    return a + b\n",
    max_new_tokens=80,
    do_sample=False,
    repetition_penalty=1.12,
    no_repeat_ngram_size=4,
)
print(out[0]["generated_text"])

Reproduction

Training script and full method documentation: bundle on the project HTTP server (LAN only). Source code mirrored alongside this model is the published train_eos_v2.py and test_eos.py.

Related

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
GPT2LMHeadModel
Ревизия весов
8cc826a

0 моделей