/ Модель

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

Лицензия
Apache 2.0
Базовая модель
paraphrase-multilingual-MiniLM-L12-v2
Библиотека
minijev
Опубликована
30 сен 2026

minijev-general

Классификация без дообученияТекст → label3 профессии

MiniJEV General — компактная дообученная модель для классификации текста по заданным вариантам с оценками уверенности на английском и итальянском языках.

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

Бенчмарки

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

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

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

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

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

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

MiniJEV General — небольшая модель принятия решений, созданная разработчиком markuz89 для классификации по заданному списку вариантов на английском и итальянском языках. Она получает необязательное описание состояния, вопрос и варианты ответа, затем выбирает один из вариантов и возвращает калиброванные оценки вероятности. Модель не ведёт диалог и не генерирует текст вне предложенного списка.

В основе лежит дообученный текстовый энкодер paraphrase-multilingual-MiniLM-L12-v2 с 117,7 млн параметров и отдельное ядро MiniJEV на 0,83 млн параметров. Биэнкодер сравнивает смысл каждого варианта с состоянием и вопросом; порядок вариантов не влияет на оценку, а их количество может меняться. Модель рассчитана на локальную и быструю классификацию: автор приводит задержку 31 мс на решение на одном потоке ноутбучного CPU.

Подходит для первичной классификации и вопросов с выбором из вариантов, однако знания модели поверхностны: она может путать близкие категории и менее распространённые технические понятия. Итальянский работает слабее английского, а синтетические шаблонные данные ухудшают результаты на необычных формулировках. Низкую уверенность следует направлять на проверку человеком или более крупной моделью. Лицензия — Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

MiniJEV · General

A small decision model for English and Italian. You give it a state (optional text), a question, and any list of choices. It returns the chosen option and a calibrated probability for each choice.

It is not a chatbot and never generates text. It only scores the choices you give it, so it cannot answer with something outside the list. This makes it fast, local and predictable, and its confidence has a meaning.

dec.decide("", "Is a hotdog food?", ["yes", "no"])            # -> yes   0.79
dec.decide("", "Is a tomato a fruit?", ["yes", "no"])          # -> yes   0.78
dec.decide("chair", "What is this?", ["animal", "furniture", "vehicle"])   # -> furniture
dec.boolean("balena", "È un tipo di mammifero?", labels=("sì", "no"))

How it works

state ─┐
question ─┼─ multilingual MiniLM-L12 (fine-tuned) ─► MiniJEV core ─► score per choice ─► softmax / T
choices ─┘   (each choice is encoded by meaning, so any list of 2..N choices works)
  • Text encoder: paraphrase-multilingual-MiniLM-L12-v2, fine-tuned end to end. It has 117.7M parameters, 96M of which are the multilingual vocabulary.
  • MiniJEV core: 0.83M parameters. It uses a bi-encoder scorer: each choice's meaning is compared with the state + question.
  • Choice handling: choice order does not matter (the model is permutation-equivariant), and the number of choices is dynamic.
  • Calibration: a temperature is fitted on validation data (T = 3.51).

This encoder was selected by an ablation study, summarised below. All variants were trained on the same data and scored on validation, with unseen entities:

variantaccuracy
MiniLM, bi scorer, encoder fine-tuned0.81
MiniLM, bi, encoder frozen0.77
MiniLM, cross-attention scorer, frozen0.74
multilingual-e5-small, bi, fine-tuned0.74
multilingual-e5-small, bi / cross, frozen0.54 / 0.50

On the earlier, smaller dataset, a fixed output head (which scores positions, not the meaning of the choices) scored 0.37. It was not permutation-invariant.

Training data: distilled, not scraped

Qwen2.5-3B-Instruct was used only offline, as a teacher, to build the dataset. It is never used at inference.

  1. The teacher listed examples for 100 categories: food, animals, software, places, people, science and more.
  2. For each (entity, category) pair, the teacher's next-token probability of "yes" vs "no" was stored as a soft label.
  3. Entities the teacher itself did not place in their category were dropped. 2,221 entities remained, giving about 24k decisions: yes/no questions and 2–10-way category choices, in English and Italian, with many phrasings.

Training used 50% hard labels and 50% KL distillation on the teacher distribution. Splits are by entity: validation and test entities are never seen in training.

Results (unseen entities)

test setaccuracyECE
teacher-labelled test (112 entities, 100 categories, up to 10 choices)0.810.055
hand-built knowledge table (49 entities, 27 categories)0.830.058
30 hand-written questions (held-out entities and phrasings, it + en)23 / 300.13

Latency on a laptop CPU, one decision including the encoder:

  • 1 thread: p50 31 ms, p95 41 ms, p99 45 ms
  • 4 threads: p50 26 ms

Limits (read before using)

  • Knowledge is shallow. It confuses close categories. For example, it answers "is a whale a fish?" with yes, and it misplaces some less common technical names (such as Redis). Treat it as a fast, calibrated first-pass classifier, not as a knowledge base.
  • Italian is weaker than English.
  • The dataset is synthetic (template questions). Unusual phrasings work less well.
  • Use the confidence. Low-confidence answers (under about 0.6) are right much less often. Route them to a human or a larger model.

Usage

git clone https://huggingface.co/markuz89/minijev-general && cd minijev-general/code
pip install -e ".[train,text]"
from minijev.inference.runtime import MiniJEV

dec = MiniJEV.load("..")                       # the cloned repo folder (or the repo id)
d = dec.decide("", "Is Python a programming language?", ["yes", "no"])
print(d.choice, d.confidence, d.scores)        # calibrated distribution over your choices
print(d.raw_scores)                            # uncalibrated, for comparison

Files

  • model.safetensors: MiniJEV weights
  • text_encoder/: the fine-tuned MiniLM, with its tokenizer
  • config.json: architecture, calibration and metrics
  • code/: the minijev package

Everything is safetensors and JSON, with no pickle.

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

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

GPU в ailist

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

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

Архитектура ? неизвестна transformers в образе рантайма.

Ревизия весов
45507bb

0 моделей