/ Модель

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

Контекст
65 536 токенов
Параметры
3,1 млрд
Лицензия
Apache 2.0
Архитектура
smollm3 · dense
Базовая модель
SmolLM3-3B
Библиотека
transformers
Опубликована
1 окт 2026

reqlint-smollm3-3b

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

Модель на основе SmolLM3 проверяет отдельные требования на дефекты формулировки и предлагает переписать их по шаблонам EARS.

250скачиваний за 30 дней0лайковвеса обновлены3 окт 2026

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

reqlint-smollm3-3b — дообученная с помощью LoRA модель HuggingFaceTB/SmolLM3-3B от автора jgalego для проверки требований к системам и их переписывания в форме EARS. Она выявляет распространённые дефекты формулировок, например объединение нескольких требований, отсутствие единицы измерения, расплывчатые слова и слабые глаголы, а затем предлагает переписанный вариант. Если для исправления не хватает исходных сведений, модель оставляет пустое место вместо того, чтобы придумывать их.

Модель основана на плотной архитектуре SmolLM3ForCausalLM, содержит 3,1 млрд параметров, поддерживает контекст до 65 536 токенов и принимает текст на английском языке. Она обучена на синтетических требованиях для железнодорожных, автомобильных, авиационных, космических и энергетических систем; карточка приводит результаты также для морских и медицинских примеров. Модель предназначена для анализа одного требования за раз и не проверяет согласованность спецификации целиком.

Это вспомогательный инструмент для ревью: он оценивает качество формулировки, а не техническую корректность, полноту или проверяемость требования, и не заменяет процессную проверку для стандартов безопасности. Результаты на реальных требованиях умеренные, а набор реальных примеров мал, поэтому оценки следует считать ориентировочными. Лицензия — Apache-2.0.

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

  • поиск дефектов формулировки в системных требованиях
  • переписывание требований по шаблонам EARS
  • выявление объединённых требований и пропущенных единиц измерения
  • поиск расплывчатых слов и слабых глаголов в требованиях
  • подготовка черновиков требований для ревью в инженерных командах

Ограничения

Работает с одним требованием на английском языке и не проверяет согласованность между требованиями или их техническую правильность. Результаты на реальных требованиях ограничены небольшим набором данных и должны рассматриваться как ориентировочные.

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

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

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

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

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

Открыть на Hugging Face

reqlint-smollm3-3b

HuggingFaceTB/SmolLM3-3B fine-tuned with LoRA to check a requirement for common writing defects and rewrite it in EARS form. Where the rewrite needs information the original does not give, such as a time limit or the system that acts, it leaves a <placeholder> instead of inventing one.

[!WARNING] Review aid only. Not a substitute for requirements review under DO-178C, ISO 26262, EN 50128, IEC 61508 or any other process. A clean result does not mean a requirement is correct, complete or verifiable.

🚀 Usage

import json

from transformers import AutoModelForCausalLM, AutoTokenizer

repo = "jgalego/reqlint-smollm3-3b"
tokenizer = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, dtype="auto")

messages = [
    {"role": "system", "content": "Check the requirement for these defects: compound, escape, no_unit, passive, pronoun, tbd, vague, weak_verb. Answer with JSON: {\"defects\": [...], \"rewrite\": [...]}. The rewrite lists one EARS requirement per line, with a \u003cplaceholder\u003e wherever information is missing. Leave both lists empty when there are no defects."},
    {"role": "user", "content": "The battery management system shall open the main contactor within 2 s and measure the cell voltages every 1."},
]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    enable_thinking=False,
    return_tensors="pt",
    return_dict=True,
)
out = model.generate(**inputs, max_new_tokens=200, do_sample=False)
print(json.loads(tokenizer.decode(out[0, inputs["input_ids"].shape[1] :], skip_special_tokens=True)))

Expected output:

{"defects": ["compound", "no_unit"], "rewrite": ["The battery management system shall open the main contactor within 2 s.", "The battery management system shall measure the cell voltages every 1 <unit>."]}

🔎 Defects

DefectMeaning
compoundMore than one requirement in one statement
escapeA clause that lets the requirement be skipped: "if possible", "where practical"
no_unitA number with no unit
passivePassive voice with no actor: "the alarm shall be raised"
pronounA pronoun whose referent is unclear
tbdA placeholder such as TBD or TBC
vagueAn unmeasurable word where a value is needed: "quickly", "accurately"
weak_verbshould, may, can, will and similar instead of shall

🏋️ Training

BaseHuggingFaceTB/SmolLM3-3B
Data20,000 synthetic requirements
MethodLoRA, r=16, alpha=32, all linear layers, merged
Steps1250 (1.0 epochs), batch size 16
Learning rate0.0002, cosine
Mean train loss0.0096
HardwareNVIDIA A10G, 47 min

The generator writes requirements in the six EARS patterns for rail, automotive, aviation, space and energy systems, then injects up to two defects into each. Labels and rewrites come from the same structure, so they are exact.

📊 Results

Defect detection, micro-F1 over the 8 classes. rules is a keyword and regex linter built from the word lists the generator uses for training.

  • Real: hand-labelled requirements from public-domain and openly licensed documents, in jgalego/reqlint-real.
  • Synthetic, unseen: maritime and medical systems, with vague words, escape clauses, weak verbs and placeholders that never appear in training.
  • Synthetic, seen: same domains and word lists as training, different requirements.
ModelRealSynthetic, unseenSynthetic, seenRewrite exact, unseen
jgalego/reqlint-smollm3-3b0.570.9211.00.93
rules0.440.6020.9960.0
HuggingFaceTB/SmolLM3-3B0.00.00.00.0

Per-defect F1 on real requirements:

Modelcompoundescapeno_unitpassivepronountbdvagueweak_verb
jgalego/reqlint-smollm3-3b0.630.5130.2860.630.60.00.5050.625
rules0.2220.1250.1820.8660.2220.00.1620.483
HuggingFaceTB/SmolLM3-3B0.00.00.00.00.00.00.00.0

⚠️ Limitations

  • One requirement at a time, in English. It does not check consistency across a specification.
  • It flags how a requirement is written, not whether it is technically right.
  • The training data is synthetic. The real set is small, so treat its scores as indicative.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
SmolLM3ForCausalLM
Ревизия весов
39d58f1

0 моделей