/ Модель

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

Лицензия
CC BY 4.0
Базовая модель
ModernBERT-large
Библиотека
pytorch
Опубликована
22 авг 2026

multimodal-LLMs-See-Sentiment

Классификация текстаТекст → label

Набор текстовых классификаторов MLLMsent определяет тональность описаний изображений, сформированных мультимодальными языковыми моделями.

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

Бенчмарки

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

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

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

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

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

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

MLLMsent — набор дообученных текстовых классификаторов из исследования «Multimodal LLMs See Sentiment». Они оценивают тональность текстового описания изображения, созданного мультимодальной языковой моделью; классификатор служит вторым этапом конвейера, а сам вход модели — текст, не изображение. В опубликованных вариантах используются ModernBERT-large и BART-large-MNLI; доступны схемы разметки на два, три или пять классов. Веса представлены в формате fp16 safetensors, а в README для лучшей конфигурации указано среднее значение F1 0,9581 на пяти фолдах.

Модель предназначена для определения тональности изображений через анализ их текстовых описаний, например в задачах мультимодального анализа мнений. Это исследовательский набор чекпойнтов, связанных с экспериментами из статьи; метаданные указывают на объединение моделей ModernBERT-large и BART-large-MNLI. Лицензия — CC BY 4.0. Качество классификации зависит от точности и особенностей описания, созданного предшествующей мультимодальной моделью.

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

  • определение тональности подписи к изображению
  • анализ эмоциональной окраски описаний изображений
  • классификация описания изображения на два, три или пять классов тональности

Ограничения

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

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

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

Открыть на Hugging Face

MLLMsent — sentiment classifiers over multimodal-LLM image descriptions

Fine-tuned text classifiers from "Multimodal LLMs See Sentiment" (arXiv:2508.16873). Each checkpoint scores the sentiment of an image description produced by a multimodal LLM, which is the second stage of the MLLMsent pipeline.

Pipeline

image ──▶ multimodal LLM ──▶ description ──▶ text classifier ──▶ sentiment
          (GPT-4o mini, Gemini,             (these checkpoints:
           DeepSeek-VL2, Phi-4,              ModernBERT-large,
           Gemma-4, MiniGPT-4)               BART-large-MNLI)

The paper's best configuration is GPT-4o mini captions + fine-tuned ModernBERT.

Layout

{caption_mllm}/{backbone}/{problem}/sigma{n}/{finetuned|not_finetuned}/
    model.safetensors
    config.json
MANIFEST.json
  • problem — label granularity: p5 (5 classes), p3 (3), p2plus/p2neg (2).
  • sigma — annotator-agreement threshold used to filter the training set (3 or 5).
  • finetuned — whole backbone trained. not_finetuned — backbone frozen, head only.

Every config.json carries the base model id, id2label/label2id, the source checkpoint's SHA-256 and the 5-fold scores that checkpoint achieved.

Coverage

caption MLLMbase modelcheckpoints
deepseekanswerdotai/ModernBERT-large8
deepseekfacebook/bart-large-mnli6
geminianswerdotai/ModernBERT-large8
gemma4answerdotai/ModernBERT-large8
minigpt4answerdotai/ModernBERT-large8
minigpt4facebook/bart-large-mnli6
openaianswerdotai/ModernBERT-large12
openaifacebook/bart-large-mnli8
phi4answerdotai/ModernBERT-large8

Weights are fp16 safetensors converted from the original fp32 training checkpoints.

Best checkpoints

checkpointtrackmean 5-fold F1classes
openai-modernbert-p3-sigma5finetuning0.95813
openai-bart-p3-sigma5finetuning0.95323
gemini-modernbert-p3-sigma5finetuning0.94513
gemma4-modernbert-p3-sigma5finetuning0.94173
phi4-modernbert-p3-sigma5finetuning0.93323
openai-modernbert-p3-sigma5not-finetuning0.90633
minigpt4-modernbert-p3-sigma5finetuning0.90393
deepseek-modernbert-p3-sigma5finetuning0.89483
openai-bart-p3-sigma5not-finetuning0.85433
openai-modernbert-p5-sigma5finetuning0.84455

Usage

import json, torch
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
from transformers import AutoModel, AutoTokenizer

repo = "Neemias/multimodal-LLMs-See-Sentiment"
folder = "gpt4-openai-classify/modernbert/p3/sigma5/finetuned"

weights = load_file(hf_hub_download(repo, f"{folder}/model.safetensors"))
config = json.load(open(hf_hub_download(repo, f"{folder}/config.json")))

for alias, owner in config["tied_weights"].items():
    weights[alias] = weights[owner]


class SentimentClassifier(torch.nn.Module):
    def __init__(self, base_model, num_classes):
        super().__init__()
        self.model = AutoModel.from_pretrained(base_model)
        self.classifier = torch.nn.Sequential(
            torch.nn.Linear(self.model.config.hidden_size, 1024),
            torch.nn.ReLU(),
            torch.nn.Linear(1024, num_classes),
        )

    def forward(self, ids, mask):
        return self.classifier(self.model(ids, attention_mask=mask).last_hidden_state[:, 0])


model = SentimentClassifier(config["base_model"], config["num_classes"])
model.load_state_dict({k: v.float() for k, v in weights.items()})
model.eval()

tokenizer = AutoTokenizer.from_pretrained(config["base_model"])
batch = tokenizer(["A bright park full of children playing."], return_tensors="pt",
                  padding="max_length", truncation=True, max_length=config["max_len"])
prediction = model(batch["input_ids"], batch["attention_mask"]).argmax(-1).item()
print(config["id2label"][str(prediction)])

Or through the project CLI:

mllmsent hub pull-checkpoint openai-modernbert-p3-sigma5
mllmsent predict --spec openai-modernbert-p3-sigma5 --input captions.csv --output predictions.csv

Not published here

  • LLaMA-3 qLoRA adapters — the adapter weights were never retained; only the training logs and adapter_config.json survive.
  • Swin Transformer baseline — its checkpoint-saving path was broken, so no weights were ever written. Results for it are in the dataset repo.
  • A few BART sigma-5 fine-tuned cells, for the same reason.

Citation

@misc{dasilva2026multimodalllmssentiment,
      title={Multimodal LLMs See Sentiment},
      author={Neemias B. da Silva and John Harrison and Rodrigo Minetto and Myriam R. Delgado and Bogdan T. Nassu and Thiago H. Silva},
      year={2026},
      eprint={2508.16873},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2508.16873},
}

License

CC-BY-4.0. The base models keep their own licenses.

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

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

GPU в ailist

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

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

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
4ec4bd6

0 моделей