/ Модель

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

Контекст
1 000 000 токенов
Размер весов
15,9 ГБ
Лицензия
Apache 2.0
Архитектура
internvl_chat · dense
Базовая модель
InternVL3-8B-Instruct
Библиотека
transformers
Опубликована
3 июл 2026

InternVL3-8B-Instruct-MRPO

Генерация текстаТекст → текст

Мультимодальная модель InternVL3, дообученная методом MRPO для ответов на вопросы по медицинским изображениям и улучшенного пошагового рассуждения.

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

Бенчмарки

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

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

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

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

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

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

InternVL3-8B-Instruct-MRPO — мультимодальная модель для ответов на вопросы по медицинским изображениям и текстового диалога. Она создана дообучением OpenGVLab/InternVL3-8B-Instruct с помощью MRPO — метода обучения с подкреплением, который использует оценки конечного ответа и отдельных шагов рассуждения, чтобы исправлять ранние ошибки в цепочке анализа. Модель предназначена для медицинских задач визуального вопросно-ответного анализа; карточка сообщает об улучшении качества рассуждений и точности на различных медицинских VQA-бенчмарках.

Модель использует архитектуру InternVL3 с 8 млрд параметров и принимает изображения и текст, выдавая текстовые ответы. В метаданных указан английский язык. Модель распространяется в формате Safetensors по лицензии Apache-2.0. Результаты на медицинских бенчмарках не подтверждают пригодность модели для самостоятельной постановки диагноза или принятия клинических решений.

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

  • ответы на вопросы по медицинским изображениям
  • анализ медицинских изображений по текстовому запросу
  • оценка качества мультимодального медицинского рассуждения
  • исследования методов обучения с подкреплением для медицинского VQA

Ограничения

Карточка описывает результаты на медицинских VQA-бенчмарках, но не приводит количественных результатов или детальных ограничений. Не следует считать ответы модели клинической рекомендацией или заменой специалиста.

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

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

Открыть на Hugging Face

InternVL3-8B-Instruct-MRPO

MRPO is a novel reinforcement learning framework that improves medical multimodal reasoning by directly addressing failures in the reasoning process. It reshapes GRPO-style advantages using both answer-level and step-wise process rewards, assigning exponentially larger penalties to earlier invalid steps when the final answer is incorrect, thereby correcting early-stage failures before they cascade while preserving successful trajectories. By redistributing the learning signal according to where reasoning first fails, MRPO induces transferable reasoning that improves both reasoning quality and final answer accuracy across diverse medical VQA benchmarks.

Code: github

Project Page: page

Paper: Breaking Failure Cascades: Step-Aware Reinforcement Learning for Medical Multimodal Reasoning

Quick Start

import torch
import torchvision.transforms as T
from PIL import Image
from torchvision.transforms.functional import InterpolationMode
from transformers import AutoModel, AutoTokenizer

# Load the model (MRPO InternVL3 checkpoint; or a local trained checkpoint path)
model_path = "dmis-lab/InternVL3-8B-Instruct-MRPO"
model = AutoModel.from_pretrained(
    model_path,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True,
).eval()
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)


# InternVL3 image preprocessing: dynamic 448x448 tiling (up to 12 tiles + thumbnail)
def load_image(image_path, input_size=448, max_num=12):
    image = Image.open(image_path).convert("RGB")
    w, h = image.size
    ratios = sorted(
        {(i, j) for n in range(1, max_num + 1) for i in range(1, n + 1) for j in range(1, n + 1) if i * j <= max_num},
        key=lambda r: r[0] * r[1],
    )
    best, best_diff = (1, 1), float("inf")
    for r in ratios:
        diff = abs(w / h - r[0] / r[1])
        if diff < best_diff or (diff == best_diff and w * h > 0.5 * input_size * input_size * r[0] * r[1]):
            best, best_diff = r, diff
    tw, th = input_size * best[0], input_size * best[1]
    resized = image.resize((tw, th))
    tiles = [
        resized.crop((x * input_size, y * input_size, (x + 1) * input_size, (y + 1) * input_size))
        for y in range(best[1]) for x in range(best[0])
    ]
    if len(tiles) > 1:
        tiles.append(image.resize((input_size, input_size)))
    transform = T.Compose([
        T.Resize((input_size, input_size), interpolation=InterpolationMode.BICUBIC),
        T.ToTensor(),
        T.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
    ])
    return torch.stack([transform(t) for t in tiles])


# Example usage (InternVL3 default system prompt is applied inside model.chat)
image_path = "path/to/medical/image.jpg"
question = "What can you see in this medical image?"

question_text = (
    f"<image>\n{question} Think step-by-step and enclose your reasoning in "
    "<think>...</think> tags. Then provide your answer in <answer>...</answer> tags."
)
pixel_values = load_image(image_path).to(torch.bfloat16).to(model.device)

# Inference (greedy decoding, matching inference.py)
output_text = model.chat(tokenizer, pixel_values, question_text, dict(max_new_tokens=512, do_sample=False))
print(output_text)

Citation

@misc{jung2026breakingfailurecascadesstepaware,
      title={Breaking Failure Cascades: Step-Aware Reinforcement Learning for Medical Multimodal Reasoning}, 
      author={Junha Jung and Minbyul Jeong and Suhyeon Lim and Sungwook Jung and Jaehoon Yun and Taeyun Roh and Mujeen Sung and Jaewoo Kang},
      year={2026},
      eprint={2606.31825},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2606.31825}, 
}

License

This model is released under the Apache 2.0 license.

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
InternVLChatModel
Ревизия весов
0eb607c

0 моделей