dmis-lab / InternVL3-8B-Instruct-MRPO

huggingface.co
Total runs: 8
24-hour runs: 0
7-day runs: 4
30-day runs: 8
Model's Last Updated: September 24 2026
image-text-to-text

Introduction of InternVL3-8B-Instruct-MRPO

Model Details of InternVL3-8B-Instruct-MRPO

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.

Runs of dmis-lab InternVL3-8B-Instruct-MRPO on huggingface.co

8
Total runs
0
24-hour runs
2
3-day runs
4
7-day runs
8
30-day runs

More Information About InternVL3-8B-Instruct-MRPO huggingface.co Model

More InternVL3-8B-Instruct-MRPO license Visit here:

https://choosealicense.com/licenses/apache-2.0

InternVL3-8B-Instruct-MRPO huggingface.co

InternVL3-8B-Instruct-MRPO huggingface.co is an AI model on huggingface.co that provides InternVL3-8B-Instruct-MRPO's model effect (), which can be used instantly with this dmis-lab InternVL3-8B-Instruct-MRPO model. huggingface.co supports a free trial of the InternVL3-8B-Instruct-MRPO model, and also provides paid use of the InternVL3-8B-Instruct-MRPO. Support call InternVL3-8B-Instruct-MRPO model through api, including Node.js, Python, http.

InternVL3-8B-Instruct-MRPO huggingface.co Url

https://huggingface.co/dmis-lab/InternVL3-8B-Instruct-MRPO

dmis-lab InternVL3-8B-Instruct-MRPO online free

InternVL3-8B-Instruct-MRPO huggingface.co is an online trial and call api platform, which integrates InternVL3-8B-Instruct-MRPO's modeling effects, including api services, and provides a free online trial of InternVL3-8B-Instruct-MRPO, you can try InternVL3-8B-Instruct-MRPO online for free by clicking the link below.

dmis-lab InternVL3-8B-Instruct-MRPO online free url in huggingface.co:

https://huggingface.co/dmis-lab/InternVL3-8B-Instruct-MRPO

InternVL3-8B-Instruct-MRPO install

InternVL3-8B-Instruct-MRPO is an open source model from GitHub that offers a free installation service, and any user can find InternVL3-8B-Instruct-MRPO on GitHub to install. At the same time, huggingface.co provides the effect of InternVL3-8B-Instruct-MRPO install, users can directly use InternVL3-8B-Instruct-MRPO installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

InternVL3-8B-Instruct-MRPO install url in huggingface.co:

https://huggingface.co/dmis-lab/InternVL3-8B-Instruct-MRPO

Url of InternVL3-8B-Instruct-MRPO

InternVL3-8B-Instruct-MRPO huggingface.co Url

Provider of InternVL3-8B-Instruct-MRPO huggingface.co

dmis-lab
ORGANIZATIONS

Other API from dmis-lab

huggingface.co

Total runs: 32.6K
Run Growth: -66.7K
Growth Rate: -197.55%
Updated:May 20 2021
huggingface.co

Total runs: 51
Run Growth: -30
Growth Rate: -63.83%
Updated:October 27 2021
huggingface.co

Total runs: 31
Run Growth: 4
Growth Rate: 11.76%
Updated:September 11 2024
huggingface.co

Total runs: 24
Run Growth: -5
Growth Rate: -21.74%
Updated:September 11 2024
huggingface.co

Total runs: 19
Run Growth: -1
Growth Rate: -5.26%
Updated:September 11 2024
huggingface.co

Total runs: 0
Run Growth: 0
Growth Rate: 0.00%
Updated:May 02 2025