/ Модель

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

Контекст
1 024 токена
Параметры
152 млн
Лицензия
Apache 2.0
Архитектура
olmo · dense
Библиотека
transformers
Опубликована
10 окт 2024

TinyCodeLM-150M

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

Компактная авторегрессионная модель OLMo на 151,9 млн параметров для генерации текста и кода, включая Python.

546скачиваний за 30 дней3лайкавеса обновлены3 авг 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TinyCodeLM-150M — авторегрессионная языковая модель для генерации кода, разработанная Ульяной Питербарг, Леррелом Пинто и Робом Фергусом из Нью-Йоркского университета. Эта версия содержит 151,9 млн параметров, использует плотную архитектуру OLMo и принимает текст на входе, генерируя текст и код. В README семейство описано как модели, архитектура которых основана на двух самых малых вариантах GPT-2 с изменениями из архитектуры OLMo.

Модель предварительно обучалась на открытых веб-текстах и коде Python; в карточке также указаны датасеты The Stack и FineWeb. Семейство TinyCodeLM включает предварительно обученные и дообученные на инструкциях версии, предназначенные для синтеза Python-кода, но для этой конкретной модели инструкции не подтверждают вариант instruction-tuned. Контекст составляет 1024 токена. В опубликованных семейных бенчмарках вариант 150M показал pass@1 6,1 на HumanEval и 5,4 на MBPP(+) в предварительно обученном варианте.

Модель рассчитана на генерацию кода и продолжение текстового ввода; небольшой размер делает её пригодной для экспериментов и сценариев с ограниченными ресурсами. Результаты бенчмарков указывают на ограниченную точность, а сгенерированный код может содержать уязвимости или вредоносное поведение и требует проверки перед запуском. Лицензия — Apache-2.0.

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

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

Ограничения

В бенчмарках HumanEval и MBPP(+) качество генерации ограничено; результаты опубликованы для семейства моделей и не гарантируют качество для конкретных запросов. Сгенерированный код может содержать уязвимости или вредоносное поведение, поэтому его следует проверять перед запуском.

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

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

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

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

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

Открыть на Hugging Face

Model Details

The TinyCodeLM family of tiny language models (LMs) is a collection of fully open-source pretrained and instruction tuned generative code models in 150M and 400M sizes. These models are pretrained on a mixture of open-source web text and Python code. The instruction tuned TinyCodeLM models are optimized for Python code synthesis, and are trained on synthetic edit sequence data generated with the LintSeq algorithm.

Despite being trained on only 72 billion tokens of text, the models outperform many of the available tiny & open source Python code synthesis LMs on HumanEval and MBPP. The TinyCodeLM-LintSeqInstruct models are state-of-the-art on Python synthesis for their size.

Model Developers Ulyana Piterbarg, Lerrel Pinto, Rob Fergus (NYU)

Variations TinyCodeLM comes in two sizes (150M and 400M parameters) in pretrained and edit sequence instruction tuned variants.

Input Text only.

Output Models generate text and code. Instruction tuned models generate code via sequences of "diffs".

Model Architecture TinyCodeLMs are autoregressive language models with architectures that mimic the two smallest versions of GPT-2 (Radford et al., 2019), while integrating the transformer architecture changes of the OLMo models.

Instruction Tuning Data TinyCodeLMs are instruction tuned on paired instruction and Python edit sequence data. These edit sequences are generated with the LintSeq algorithm over a source dataset of paired instruction and Python programs drawn from the Magicoder and StarCoder2 OSS-Instruct datasets (Wei et al., 2024).

Training Details

TinyCodeLM models were pretrained from scratch on a single H100 node (four GPUs) for two epochs. Pretraining took about two days and six days, respectively. Instruction tuning was conducted on a single H100 GPU using DeepSpeed and took no more than several hours.

Benchmarks

Pretrained (Temperature 0)

BenchmarkTinyCodeLM 150MTinyCodeLM 400M
HumanEval, pass@16.16.7
MBPP(+), pass@15.46.8

Edit Sequence / Instruction Tuned (Temperature-Tuned)

BenchmarkTinyCodeLM 150MTinyCodeLM 400M
HumanEval, pass@112.813.4
HumanEval, pass@1020.620.9
MBPP(+), pass@113.619.4
MBPP(+), pass@1024.429.9

Citation

@misc{piterbarg2024editseq,
      title={Training Language Models on Synthetic Edit Sequences Improves Code Synthesis}, 
      author={Ulyana Piterbarg and Lerrel Pinto and Rob Fergus},
      year={2024},
      eprint={2410.02749},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}

Safety

This work explores data-driven mechanisms for improving the quality of language model-generated code. Our synthetic data generation method relies on open-source data and our experiments leverage open-source software and resources. It is important to acknowledge that all language models for code synthesis have the potential to be misused – whether intentionally or unintentionally – for generation of code with vulnerabilities and/or malicious behaviors. Any and all model generated code has the potential to be harmful and must not be executed without precautions.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
OlmoForCausalLM
Ревизия весов
573df4f

0 моделей