/ Модель

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

Контекст
514 токенов
Параметры
152 млн
Архитектура
roberta · dense
Опубликована
2 мар 2022

codebert-base-mlm

Заполнение пропусковТекст → текст3 профессии

Предобученная модель Microsoft на основе RoBERTa для восстановления пропущенных токенов в программном коде и естественном языке.

5 040скачиваний за 30 дней48лайковвеса обновлены9 янв 2023

Бенчмарки

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

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

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

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

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

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

CodeBERT-base-mlm — предобученная модель Microsoft для работы с программным кодом и естественным языком. Она основана на архитектуре RoBERTa и обучена на корпусе CodeSearchNet с задачей восстановления замаскированных токенов. Веса и токенизатор можно использовать через Transformers как RobertaForMaskedLM.

Модель содержит около 151,8 млн параметров и принимает последовательности длиной до 514 токенов. Её основная задача — предсказывать пропущенные фрагменты в тексте и коде, что подходит для дополнения кода и изучения контекстных представлений программного текста. В метаданных указаны версии весов для PyTorch, TensorFlow и Flax.

Модель инициализирована весами Roberta-base и дополнительно обучена на CodeSearchNet; это не специализированный генератор кода или диалоговая модель. Карточка не содержит сведений о лицензии, поэтому условия использования следует проверять в репозитории Hugging Face.

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

  • восстановление пропущенных токенов в исходном коде
  • автодополнение фрагментов кода
  • предсказание пропущенных слов в техническом тексте

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

CodeBERT-base-mlm

Pretrained weights for CodeBERT: A Pre-Trained Model for Programming and Natural Languages.

Training Data

The model is trained on the code corpus of CodeSearchNet

Training Objective

This model is initialized with Roberta-base and trained with a simple MLM (Masked Language Model) objective.

Usage

from transformers import RobertaTokenizer, RobertaForMaskedLM, pipeline

model = RobertaForMaskedLM.from_pretrained('microsoft/codebert-base-mlm')
tokenizer = RobertaTokenizer.from_pretrained('microsoft/codebert-base-mlm')

code_example = "if (x is not None) <mask> (x>1)"
fill_mask = pipeline('fill-mask', model=model, tokenizer=tokenizer)

outputs = fill_mask(code_example)
print(outputs)

Expected results:

{'sequence': '<s> if (x is not None) and (x>1)</s>', 'score': 0.6049249172210693, 'token': 8}
{'sequence': '<s> if (x is not None) or (x>1)</s>', 'score': 0.30680200457572937, 'token': 50}
{'sequence': '<s> if (x is not None) if (x>1)</s>', 'score': 0.02133703976869583, 'token': 114}
{'sequence': '<s> if (x is not None) then (x>1)</s>', 'score': 0.018607674166560173, 'token': 172}
{'sequence': '<s> if (x is not None) AND (x>1)</s>', 'score': 0.007619690150022507, 'token': 4248}

Reference

  1. Bimodal CodeBERT trained with MLM+RTD objective (suitable for code search and document generation)
  2. 🤗 Hugging Face's CodeBERTa (small size, 6 layers)

Citation

@misc{feng2020codebert,
    title={CodeBERT: A Pre-Trained Model for Programming and Natural Languages},
    author={Zhangyin Feng and Daya Guo and Duyu Tang and Nan Duan and Xiaocheng Feng and Ming Gong and Linjun Shou and Bing Qin and Ting Liu and Daxin Jiang and Ming Zhou},
    year={2020},
    eprint={2002.08155},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

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

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

GPU в ailist

Универсальный рантайм · fill-mask

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

Подбираем GPU…

Класс архитектуры
RobertaForMaskedLM
Ревизия весов
71b4196

0 моделей