/ Модель

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

Контекст
512 токенов
Параметры
212 млн
Лицензия
MIT
Архитектура
deberta-v2 · dense
Базовая модель
deberta-v3-base
Опубликована
7 авг 2026

vulrank-span-model

Разметка токеновТекст → label3 профессии

Локальная модель VulRank на базе DeBERTa, предлагающая фрагменты рекомендаций по уязвимостям для последующей проверки правилами.

8скачиваний за 30 дней0лайковвеса обновлены9 авг 2026

Бенчмарки

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

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

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

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

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

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

vulrank-span-model — разработанная для инструмента VulRank модель токенной классификации на базе microsoft/deberta-v3-base. Она анализирует англоязычные тексты рекомендаций по уязвимостям и предлагает фрагменты четырёх типов: сведения об эксплуатации, исправлении, PoC и затронутых функциях или API. Модель содержит 211,6 млн параметров, использует архитектуру DeBERTa v3 и принимает контекст длиной до 512 токенов.

Модель предназначена для локального извлечения кандидатов в конвейере первичной сортировки уязвимостей VulRank. На отложенной выборке авторы сообщают Macro F1 0,723 и полноту извлечения фрагментов 75,2%. Текст предложенных фрагментов проверяется как дословная подстрока обучающих рекомендаций, однако тип фрагмента может быть ошибочным; вне VulRank результат следует считать высокополнотными кандидатами, а не подтверждёнными фактами. Для `poc` качество особенно нестабильно из-за малого числа примеров.

Это дообученная модель с весами в формате safetensors, распространяемая по лицензии MIT. README указывает, что она рассчитана на загрузку через LocalSpanClient в составе VulRank и не предназначена для самостоятельного использования.

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

  • поиск сведений об эксплуатации уязвимости в рекомендациях
  • извлечение упоминаний исправлений и патчей
  • поиск фрагментов с PoC в бюллетенях безопасности
  • выделение затронутых функций и API
  • генерация кандидатов для сортировки уязвимостей в VulRank

Ограничения

Тип метки и уверенность модели не считаются достоверными; кандидаты требуют повторной проверки правилами VulRank. Показатели для класса PoC нестабильны из-за малого числа примеров, а модель не предназначена для самостоятельного использования.

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

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

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

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

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

Открыть на Hugging Face

vulrank-span-model

A token classifier (fine-tuned microsoft/deberta-v3-base) that tags software vulnerability advisory text for four claim types: exploitation, patch, poc, affected_function_api. It is the local, no-API-key proposer for VulRank — a grounded vulnerability-triage tool.

How the training labels were produced

Labels were not hand-annotated. They were generated by having claude-sonnet-5 propose candidate claim spans over ~10,000 PyPI OSV advisories, then running every proposal through VulRank's own deterministic verbatim gate (vulrank.extract.discovery.gate.ground_candidate): a proposed span survives only if it is an exact substring of the (normalized) advisory text. Anything paraphrased, summarized, or hallucinated by the teacher model was discarded before this model ever saw it.

  • Teacher: claude-sonnet-5 (Anthropic), via the Batch API.
  • Corpus: 10,000 PyPI OSV advisories -> 9,334 successfully labeled -> 8,020 advisories with at least one gate-verified span (17,376 spans) after gating and cleanup.
  • Student: microsoft/deberta-v3-base, 9-label BIO token classification (O + B-/I- x the four claim types), 4 epochs, 90/10 split, max_length=512.

Scope of the verbatim guarantee: the span text is verbatim-verified by construction. The type label is not — for ~85% of spans the classic lexicon does not re-fire, so the type falls back to the teacher's own unverified judgment. This is by design (see "what a prediction means" below): types are proposals, and VulRank re-derives them at runtime rather than trusting either the teacher's or this model's.

Label cleanup

Four issues were found by auditing the gold spans, and fixed before this run:

fixeffect
Trim markdown boundary noise (backticks, quotes, emphasis) from span edges774 spans trimmed; eliminates predictions like a lone ` or )
Resolve overlapping spans (keep shortest/most specific)675 dropped; BIO is flat and cannot encode two types over one token
Drop patch spans that state an affected version range, not a fix1,036 dropped — 24% of the patch class was mistyped
Raise max_length 256 -> 512label loss to truncation: 10.7% -> 2.2%

Evaluation (held-out split)

Macro F1Span-level recall
Classic lexicon alone (no model)—0.9%
This model0.72375.2%

Per-class F1 versus the previous release (trained on uncleaned labels at max_length=256), each verified stable across two random seeds:

labelpreviousthis model
B-patch0.8050.874
B-affected_function_api0.4560.531
B-exploitation0.7190.723

poc is the smallest class (~47 span-starts in the validation split) and its F1 swings ±0.12 on seed change alone; treat any single poc number as noise.

Numbers are not comparable across releases in absolute terms — the label cleanup changed the gold set, so each release is scored on a different validation split (the classic-lexicon baseline on each split, reported above, is a rough difficulty proxy). Per-class deltas verified across seeds are the meaningful signal.

Important: what a prediction from this model means

A span this model proposes is not verified truth. In VulRank, every prediction is re-run through the same deterministic gate used to build its training data: the verbatim-substring check, rule-based re-polarization (negation.polarity_of), and rule-based re-typing (the lexicon). This model's own type and confidence are never trusted directly — it only proposes candidate spans; rules dispose. If you consume this model outside VulRank, treat its output as a high-recall candidate generator, not a verified claim extractor.

Usage

Not intended for standalone use — designed to be loaded by vulrank.extract.discovery.local_client.LocalSpanClient via pip install 'vulrank[local]'. See the VulRank repo for details.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей