/ Модель

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

Контекст
512 токенов
Параметры
124 млн
Лицензия
BSD 3-Clause
Архитектура
codet5p_bimodal · dense
Опубликована
19 июл 2023

codet5p-220m-bimodal

ЭмбеддингиТекст → embedding4 профессии

Модель CodeT5+ для извлечения признаков текста и кода, подходящая для сопоставления и поиска по репозиториям.

1 530скачиваний за 30 дней7лайковвеса обновлены21 янв 2025

Бенчмарки

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

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

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

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

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

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

Salesforce CodeT5+ 220M Bimodal — компактная модель семейства CodeT5+, представленная Salesforce Research в работе о моделях для понимания и генерации кода. Это энкодерная модель с проекционным слоем и головой сопоставления текста и кода; контрольная точка обучена на парах текста и кода из очищенного набора GitHub Code. В метаданных указаны 123,7 млн параметров и контекст до 512 токенов.

Модель предназначена прежде всего для получения представлений кода и текста, которые можно использовать в задачах сопоставления и поиска по коду. Обучающие данные включают код на C, C++, C#, Go, Java, JavaScript, PHP, Python и Ruby. Кодовая карточка описывает семейство CodeT5+ и его режимы для понимания и генерации, однако данный чекпойнт обозначен как bimodal и извлекающий признаки, а не как специализированный генератор инструкций.

Модель доступна под лицензией BSD-3-Clause. Авторы рекомендуют проверять её точность и безопасность перед применением: модель и обучающие данные не оценивались для всех возможных сценариев.

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

  • поиск фрагментов кода по текстовому описанию
  • сопоставление кода с документацией или запросом
  • получение представлений кода для последующей классификации
  • поиск похожих фрагментов кода
  • извлечение признаков из пар «текст — код»

Ограничения

Контекст ограничен 512 токенами; модель и обучающие данные не оценивались для всех прикладных сценариев, поэтому перед использованием следует проверять точность и безопасность. README указывает, что это исследовательский выпуск в поддержку академической работы.

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

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

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

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

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

Открыть на Hugging Face

CodeT5+ 220M Bimodal Models

Model description

CodeT5+ is a new family of open code large language models with an encoder-decoder architecture that can flexibly operate in different modes (i.e. encoder-only, decoder-only, and encoder-decoder) to support a wide range of code understanding and generation tasks. It is introduced in the paper:

CodeT5+: Open Code Large Language Models for Code Understanding and Generation by Yue Wang*, Hung Le*, Akhilesh Deepak Gotmare, Nghi D.Q. Bui, Junnan Li, Steven C.H. Hoi (* indicates equal contribution).

Compared to the original CodeT5 family (base: 220M, large: 770M), CodeT5+ is pretrained with a diverse set of pretraining tasks including span denoising, causal language modeling, contrastive learning, and text-code matching to learn rich representations from both unimodal code data and bimodal code-text data. Additionally, it employs a simple yet effective compute-efficient pretraining method to initialize the model components with frozen off-the-shelf LLMs such as CodeGen to efficiently scale up the model (i.e. 2B, 6B, 16B), and adopts a "shallow encoder and deep decoder" architecture. Furthermore, it is instruction-tuned to align with natural language instructions (see our InstructCodeT5+ 16B) following Code Alpaca.

How to use

This model can be easily loaded using the AutoModel functionality and employs the CodeT5 tokenizer with three special tokens added ([ENC], [TDEC], [CDEC]). This checkpoint consists of a CodeT5+ 220M model and a projection layer and an itm_head layer for text-code matching.

from transformers import AutoModel, AutoTokenizer

checkpoint = "Salesforce/codet5p-220m-bimodal"
device = "cuda"  # for GPU usage or "cpu" for CPU usage

tokenizer = AutoTokenizer.from_pretrained(checkpoint, trust_remote_code=True)
model = AutoModel.from_pretrained(checkpoint, trust_remote_code=True).to(device)

Pretraining data

This checkpoint is trained on the stricter permissive subset of the deduplicated version of the github-code dataset. The data is preprocessed by reserving only permissively licensed code ("mit" “apache-2”, “bsd-3-clause”, “bsd-2-clause”, “cc0-1.0”, “unlicense”, “isc”). Supported languages (9 in total) are as follows: c, c++, c-sharp, go, java, javascript, php, python, ruby.

Training procedure

This checkpoint is first trained on the unimodal code data at the first-stage pretraining and then on bimodal text-code pair data using the proposed mixture of pretraining tasks. Please refer to the paper for more details.

Evaluation results

Please refer to the paper and the official GitHub repo for more details.

BibTeX entry and citation info

@article{wang2023codet5plus,
  title={CodeT5+: Open Code Large Language Models for Code Understanding and Generation},
  author={Wang, Yue and Le, Hung and Gotmare, Akhilesh Deepak and Bui, Nghi D.Q. and Li, Junnan and Hoi, Steven C. H.},
  journal={arXiv preprint},
  year={2023}
}

Ethical Considerations

This release is for research purposes only in support of an academic paper. Our models, datasets, and code are not specifically designed or evaluated for all downstream purposes. We strongly recommend users evaluate and address potential concerns related to accuracy, safety, and fairness before deploying this model. We encourage users to consider the common limitations of AI, comply with applicable laws, and leverage best practices when selecting use cases, particularly for high-risk scenarios where errors or misuse could significantly impact people’s lives, rights, or safety. For further guidance on use cases, refer to our AUP and AI AUP.

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

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

GPU в ailist

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

Нельзя запустить

Код из репозитория вместе с pickle-весами (.bin) не запускается из соображений безопасности.

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

0 моделей