/ Модель

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

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

TinyCodeLM-400M

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

Компактная предварительно обученная модель OLMo для генерации текста и Python-кода по текстовому запросу.

381скачиваний за 30 дней2лайкавеса обновлены13 окт 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TinyCodeLM-400M — компактная авторегрессионная языковая модель для генерации кода, разработанная Ульяной Питербарг, Леррелом Пинто и Робом Фергюсом из NYU. Это предварительно обученная версия семейства TinyCodeLM размером около 454 млн параметров; инструкция README об оптимизации инструкционного варианта семейства не относится напрямую к этому чекпойнту.

Модель принимает текст и генерирует текст, в том числе код. Она построена на плотной архитектуре OLMo с классом OlmoForCausalLM и изменениями трансформера из OLMo; контекст составляет 1024 токена. Для обучения семейства использовались открытые веб-тексты и код Python, включая датасеты The Stack и FineWeb. Основной сценарий — генерация Python-кода по текстовому запросу.

В бенчмарках README предварительно обученная версия 400M показала pass@1 6,7 на HumanEval и 6,8 на MBPP(+). Небольшой размер ограничивает способности модели по сравнению с более крупными генеративными моделями. Сгенерированный код может содержать уязвимости или вредоносное поведение и требует проверки перед запуском. Лицензия репозитория — Apache-2.0.

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

  • генерация черновиков функций на Python
  • создание фрагментов Python-кода по описанию
  • автодополнение кода в коротком контексте

Ограничения

Контекст модели ограничен 1024 токенами, а её результаты на HumanEval и MBPP(+) скромны по современным меркам. Сгенерированный код может содержать уязвимости или вредоносное поведение; проверяйте его перед запуском.

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

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

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

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

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 open source Python code synthesis models 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
Ревизия весов
e189e2c

0 моделей