Downloads · 30 days
33
9% of all-time downloads
RichardChenZH/MedForge-Reasoner
MedForge-Reasoner is a image-text-to-text model from RichardChenZH. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
MedForge-Reasoner is the primary model developed in the main MedForge experimental pipeline. It is an interpretable medical deepfake detection model built on top of Qwen3-VL-8B, and further trained for forgery-aware m…
Downloads · 30 days
33
9% of all-time downloads
All-time downloads
384
Public
Parameters
8.8B
17.5 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors17.5 GB · 100%
From the Hugging Face model README
MedForge-Reasoner is the primary model developed in the main MedForge experimental pipeline. It is an interpretable medical deepfake detection model built on top of Qwen3-VL-8B, and further trained for forgery-aware medical reasoning.
This repository hosts the main experimental checkpoint used in the core study.
Paper: MedForge: Interpretable Medical Deepfake Detection via Forgery-aware Reasoning
Venue: ACL 2026 Main Conference
ArXiv: https://arxiv.org/abs/2603.18577
MedForge-Reasoner is designed for medical image forgery detection, especially lesion implantation and lesion removal scenarios. Unlike general-purpose medical vision-language models, it is specifically optimized for interpretable medical deepfake detection rather than diagnosis or open-ended medical assistance.
The model follows a localize-then-analyze paradigm. Given a medical image, it first predicts suspicious manipulated regions and then produces an evidence-grounded reasoning chain and final authenticity verdict.
This model is intended for:
This model is not intended for:
MedForge-Reasoner is trained on MedForge-90K, a large-scale benchmark introduced in the paper.
According to the paper, MedForge-90K contains:
The dataset covers three major 2D imaging modalities:
It spans 19 pathology types plus healthy controls, and uses high-fidelity edits produced by 10 state-of-the-art image editing models.
The paper formulates interpretable medical forgery detection as a unified sequence generation problem:
[predicted bbox, reasoning, final label]
This design explicitly enforces grounding before reasoning.
The model is first supervised with expert-guided reasoning annotations and bounding box targets using SFT.
The model is then further aligned with Forgery-aware Group Sequence Policy Optimization (GSPO), which introduces reward signals for:
This training objective is designed to encourage the model to look at the correct manipulated region before reasoning and concluding, thereby reducing visual hallucination.
The paper uses a structured CoT reasoning style in which the model outputs:
This supports clinically inspectable and visually verifiable explanations instead of post-hoc justifications.
As discussed in the paper, the current version has several limitations:
This model is provided for research purposes only.
It should not be used as a substitute for professional medical judgment, diagnostic workflows, or safety-critical healthcare systems. Outputs must be interpreted with caution and should be independently verified by qualified experts.
Because the model is related to medical forgery detection, responsible usage is required to avoid misuse in adversarial or harmful scenarios.
Example loading code:
import torch
from PIL import Image
from transformers import Qwen3VLForConditionalGeneration, AutoProcessor
model_id = "RichardChenZH/MedForge-Reasoner"
model = Qwen3VLForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
image = Image.open("example.jpg").convert("RGB").resize((1024, 1024))
system_prompt = (
"You are an expert in medical image forensics. Analyze the provided image "
"to determine if it is a deepfake or authentic. First, perform a step-by-step "
"examination of the image content, looking for artifacts, inconsistencies, or "
"biological implausibilities. Use <think> tags to articulate your reasoning process. "
"If you identify manipulated regions, localize them using bounding boxes within your reasoning. "
"Conclude your analysis with a final classification."
)
user_text = "Is this image deepfake or real?"
messages = [
{"role": "system", "content": [{"type": "text", "text": system_prompt}]},
{
"role": "user",
"content": [
{"type": "image", "image": image},
{"type": "text", "text": user_text},
],
},
]
model_inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
)
model_inputs = {
k: v.to(model.device) if hasattr(v, "to") else v
for k, v in model_inputs.items()
}
with torch.inference_mode():
generated_ids = model.generate(
**model_inputs,
max_new_tokens=2048,
do_sample=False,
)
generated_ids_trimmed = [
out_ids[len(in_ids) :]
for in_ids, out_ids in zip(model_inputs["input_ids"], generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed,
skip_special_tokens=False,
clean_up_tokenization_spaces=False,
)[0]
print(output_text)
If you use this model, please cite the MedForge paper:
@misc{chen2026medforgeinterpretablemedicaldeepfake, title={MedForge: Interpretable Medical Deepfake Detection via Forgery-aware Reasoning}, author={Zhihui Chen and Kai He and Qingyuan Lei and Bin Pu and Jian Zhang and Yuling Xu and Mengling Feng}, year={2026}, eprint={2603.18577}, archivePrefix={arXiv}, primaryClass={cs.AI}, url={https://arxiv.org/abs/2603.18577}, }