/ Модель

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

Контекст
2 048 токенов
Лицензия
BSD 3-Clause
Архитектура
codegen · dense
Опубликована
30 мар 2022

codegen-350M-mono

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

Компактная авторегрессионная модель CodeGen для генерации кода и программ по текстовым описаниям.

106скачиваний за 30 дней3лайкавеса обновлены22 июн 2022

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

shpotes/codegen-350M-mono — модель семейства CodeGen от Salesforce Research для генерации программ и синтеза кода. Она использует плотную авторегрессионную архитектуру CodeGenForCausalLM и принимает текстовые спецификации, в том числе описания задач на естественном языке, чтобы продолжать или создавать код. Модель обучалась на данных на естественных и программных языках; заявленный контекст составляет 2048 токенов.

Модель подходит для генерации фрагментов кода и прототипов по текстовому описанию. Карточка описывает семейство CodeGen и его исследовательские результаты, но не приводит отдельной оценки качества этой версии на 350 млн параметров. Репозиторий содержит веса PyTorch и распространяется по лицензии BSD 3-Clause.

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

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

Ограничения

Контекст ограничен 2048 токенами. README не приводит отдельной оценки качества или подробных результатов именно для этой версии модели на 350 млн параметров.

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

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

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

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

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

Открыть на Hugging Face

Overview

The CodeGen model was proposed in by Erik Nijkamp, Bo Pang, Hiroaki Hayashi, Lifu Tu, Huan Wang, Yingbo Zhou, Silvio Savarese, and Caiming Xiong. From Salesforce Research.

The abstract from the paper is the following: Program synthesis strives to generate a computer program as a solution to a given problem specification. We propose a conversational program synthesis approach via large language models, which addresses the challenges of searching over a vast program space and user intent specification faced in prior approaches. Our new approach casts the process of writing a specification and program as a multi-turn conversation between a user and a system. It treats program synthesis as a sequence prediction problem, in which the specification is expressed in natural language and the desired program is conditionally sampled. We train a family of large language models, called CodeGen, on natural language and programming language data. With weak supervision in the data and the scaling up of data size and model size, conversational capacities emerge from the simple autoregressive language modeling. To study the model behavior on conversational program synthesis, we develop a multi-turn programming benchmark (MTPB), where solving each problem requires multi-step synthesis via multi-turn conversation between the user and the model. Our findings show the emergence of conversational capabilities and the effectiveness of the proposed conversational program synthesis paradigm. In addition, our model CodeGen (with up to 16B parameters trained on TPU-v4) outperforms OpenAI's Codex on the HumanEval benchmark. We plan to make the training library JaxFormer including checkpoints available as open source.

How to use

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("shpotes/codegen-350M-mono")
model = AutoModelForCausalLM.from_pretrained("shpotes/codegen-350M-mono", trust_remote_code=True)

input_ids = tokenizer(
    context,
    truncation=True,
    padding=True,
    return_tensors='pt',
    pad_token_id=pad_token_id,
).input_ids

input_ids_len = input_ids.shape[1]

with torch.no_grad():
  input_ids = input_ids
  tokens = model.generate(
      input_ids,
      do_sample=True,
      num_return_sequences=num_return_sequences,
      temperature=temp,
      max_length=input_ids_len + max_length_sample,
      top_p=top_p,
      use_cache=True,
  )
  text = tokenizer.batch_decode(tokens[:, input_ids_len:, ...])

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
CodeGenForCausalLM
Ревизия весов
15acb80

0 моделей