/ Модель

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

Контекст
514 токенов
Параметры
152 млн
Лицензия
MIT
Архитектура
roberta · dense
Базовая модель
codebert-base-mlm
Библиотека
transformers
Опубликована
12 дек 2024

SmartBERT-v3

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

RoBERTa-модель для восстановления пропущенных токенов и анализа Solidity-кода смарт-контрактов.

255скачиваний за 30 дней5лайковвеса обновлены6 мар 2026

Бенчмарки

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

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

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

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

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

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

SmartBERT V3 — доменно-адаптированная модель для понимания кода смарт-контрактов, разработанная авторами Youwei Huang и Sen Fang на основе CodeBERT-base-mlm и SmartBERT V2. Это RoBERTa-модель с 151,8 млн параметров, обученная в Transformers методом masked language modeling на корпусе из 80 тысяч смарт-контрактов, преимущественно на Solidity. Она восстанавливает замаскированные токены и формирует представления функций смарт-контрактов; модель предназначена для выявления намерений функций, анализа сходства кода, классификации и обнаружения уязвимостей. Контекст составляет 514 токенов.

Модель принимает текст кода и предсказывает пропущенные токены. Обучение на расширенном корпусе контрактов направлено на более устойчивое представление семантики функций, однако карточка не приводит количественных результатов оценки качества. В метаданных указана лицензия MIT.

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

  • восстановление пропущенных токенов в коде Solidity
  • определение назначения функции смарт-контракта
  • поиск похожих функций смарт-контрактов
  • классификация смарт-контрактов
  • выявление уязвимостей в коде контрактов

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

SmartBERT V3 CodeBERT

SmartBERT

Overview

SmartBERT V3 is a domain-adapted pre-trained programming language model for smart contract code understanding, built upon CodeBERT-base-mlm.

The model is further trained on SmartBERT V2 with a substantially larger corpus of smart contracts, enabling improved robustness and richer semantic representations of function-level smart contract code.

SmartBERT V3 is particularly suitable for tasks such as:

  • Smart contract intent detection
  • Code representation learning
  • Code similarity analysis
  • Vulnerability detection
  • Smart contract classification

Compared with SmartBERT V2, this version significantly expands the training corpus and improves the model’s ability to capture semantic patterns in smart contract functions.


Training Data

SmartBERT V3 was trained on a total of 80,000 smart contracts, including:

  • 16,000 contracts used in SmartBERT V2
  • 64,000 additional smart contracts collected from public blockchain repositories

All contracts are primarily written in Solidity and processed at the function level to better capture fine-grained semantic structures of smart contract code.


Training Objective

The model is trained using the Masked Language Modeling (MLM) objective, following the same training paradigm as CodeBERT.

During training:

  • A subset of tokens in the input code is randomly masked
  • The model learns to predict these masked tokens from surrounding context

This process enables the model to learn deeper syntactic and semantic representations of smart contract programs.


Training Setup

Training was conducted using the HuggingFace Transformers framework.

  • Hardware: 2 × Nvidia A100 (80GB)
  • Training Duration: Over 30 hours
  • Training Dataset: 80,000 smart contracts
  • Evaluation Dataset: 1,500 smart contracts

Example training configuration:

training_args = TrainingArguments(
  output_dir=OUTPUT_DIR,
  overwrite_output_dir=True,
  num_train_epochs=20,
  per_device_train_batch_size=64,
  save_steps=10000,
  save_total_limit=2,
  evaluation_strategy="steps",
  eval_steps=10000,
  resume_from_checkpoint=checkpoint
)

Preprocessing

During preprocessing, all newline (\n) and tab (\t) characters in the function code were replaced with a single space to ensure a consistent input format for tokenization.


Base Model

SmartBERT V3 builds upon the following models:


Usage

Example usage with HuggingFace Transformers:

from transformers import RobertaTokenizer, RobertaForMaskedLM, pipeline

model = RobertaForMaskedLM.from_pretrained('web3se/SmartBERT-v3')
tokenizer = RobertaTokenizer.from_pretrained('web3se/SmartBERT-v3')

code_example = "function totalSupply() external view <mask> (uint256);"
fill_mask = pipeline('fill-mask', model=model, tokenizer=tokenizer)

outputs = fill_mask(code_example)
print(outputs)

How to Use

To train and deploy the SmartBERT V3 model for Web API services, please refer to our GitHub repository: web3se-lab/SmartBERT.


Contributor


Citation

@article{huang2025smart,
  title={Smart Contract Intent Detection with Pre-trained Programming Language Model},
  author={Huang, Youwei and Li, Jianwen and Fang, Sen and Li, Yao and Yang, Peng and Hu, Bin},
  journal={arXiv preprint arXiv:2508.20086},
  year={2025}
}

Acknowledgement

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей