aacudad/AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO

Model

AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO

0

6 commits

1 linked in READMEs

updated Sep 18, 2026

See the code

README

AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO

SFT then GRPO (DS-MVTec 82.73 / VisA 70.39).

A Qwen2.5-VL-7B model fine-tuned for explainable industrial anomaly detection (IAD). Given a product image it produces a structured reasoning trace (<think>), a defect <location> and <type> (for anomalies), and a binary <answer>. Research artefact from the MSc thesis Reasoning-Enhanced Vision-Language Models for Explainable Industrial Anomaly Detection (TU Delft, 2026).

What this model is

Two stages. First supervised fine-tuning on 6,000 teacher-written reasoning traces, which gives aacudad/AnomalyThink-Qwen2.5-VL-7B-SFT. Then GRPO on top of that. This is checkpoint-530 of the GRPO run.

This model also has a second role in the project. It is the policy that Keep-Correct-Revise (KCR) rolls out from. KCR is the recipe where this SFT plus GRPO policy generates its own reasoning traces on Real-IAD images, and those traces are then kept when the verdict is correct, corrected by a teacher when the verdict is wrong, and revised when the verdict is correct but the reasoning is only weakly grounded. The base model is then fine-tuned from scratch on that curated corpus, which produces the thesis headline model aacudad/AnomalyThink-Qwen2.5-VL-7B-KCR.

Results (MMAD subsets, balanced accuracy)

BenchmarkBalanced accuracy
DS-MVTec (1,670)82.73%
VisA (2,141)70.39%

Evaluated under a single common harness on the MMAD DS-MVTec and VisA subsets. GRPO clearly lifts the plain SFT baseline here. On the stronger KCR initialisation the thesis finds no comparable gain, so KCR remains SFT only.

Training

Supervised fine-tuning on AnomalyThink-6K, then GRPO with a four-component reward (format, accuracy, type, location) and group size G=4.

The "AnomalyThink" reasoning traces were distilled from Gemini 2.5-Flash on Real-IAD images. Training data: aacudad/AnomalyThink.

The AnomalyThink Qwen family

ModelDS-MVTecVisANote
…-7B-KCR82.8072.07thesis headline
…-7B-SFT80.1664.78plain SFT baseline
…-7B-SFT-GRPO82.7370.39this model
…-7B-KCR-GRPO82.9572.62research preview, not a thesis result

Usage

import torch
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
model_id = "aacudad/AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO"
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
# Build the structured single-image IAD prompt + image, then generate.

Intended use and limitations

Research on explainable IAD. Known limitations: the model can confidently hallucinate a defect on a normal part (false positive), and GRPO-lineage variants can over-predict the "Missing Parts" type. As the public DS-MVTec/VisA images may appear in VLM pretraining, absolute numbers should be read with that caveat.

Citation

@mastersthesis{acudad2026reasoning,
  author  = {Acudad, A.},
  title   = {Reasoning-Enhanced Vision-Language Models for Explainable Industrial Anomaly Detection},
  school  = {Delft University of Technology},
  year    = {2026},
  type    = {Master's thesis},
  url     = {https://resolver.tudelft.nl/uuid:65c62420-79c0-447f-b095-7fb11d4474fc}
}

Thesis: https://resolver.tudelft.nl/uuid:65c62420-79c0-447f-b095-7fb11d4474fc. Code and evaluation files: https://github.com/aacudad/IAD-VLMs.

License

Apache-2.0 (inherits the Qwen2.5-VL-7B base). Trained on Real-IAD (cite Real-IAD separately, images are not redistributed) with traces distilled from Gemini 2.5-Flash.

anomaly-detection
conversational
endpoints_compatible
grpo
image-text-to-text
industrial-anomaly-detection
qwen2_5_vl
reasoning
safetensors
text-generation-inference
transformers
vision-language-model

aacudad/AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO

Model

AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO

0

6 commits

1 linked in READMEs

updated Sep 18, 2026

See the code

README

AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO

SFT then GRPO (DS-MVTec 82.73 / VisA 70.39).

A Qwen2.5-VL-7B model fine-tuned for explainable industrial anomaly detection (IAD). Given a product image it produces a structured reasoning trace (<think>), a defect <location> and <type> (for anomalies), and a binary <answer>. Research artefact from the MSc thesis Reasoning-Enhanced Vision-Language Models for Explainable Industrial Anomaly Detection (TU Delft, 2026).

What this model is

Two stages. First supervised fine-tuning on 6,000 teacher-written reasoning traces, which gives aacudad/AnomalyThink-Qwen2.5-VL-7B-SFT. Then GRPO on top of that. This is checkpoint-530 of the GRPO run.

This model also has a second role in the project. It is the policy that Keep-Correct-Revise (KCR) rolls out from. KCR is the recipe where this SFT plus GRPO policy generates its own reasoning traces on Real-IAD images, and those traces are then kept when the verdict is correct, corrected by a teacher when the verdict is wrong, and revised when the verdict is correct but the reasoning is only weakly grounded. The base model is then fine-tuned from scratch on that curated corpus, which produces the thesis headline model aacudad/AnomalyThink-Qwen2.5-VL-7B-KCR.

Results (MMAD subsets, balanced accuracy)

BenchmarkBalanced accuracy
DS-MVTec (1,670)82.73%
VisA (2,141)70.39%

Evaluated under a single common harness on the MMAD DS-MVTec and VisA subsets. GRPO clearly lifts the plain SFT baseline here. On the stronger KCR initialisation the thesis finds no comparable gain, so KCR remains SFT only.

Training

Supervised fine-tuning on AnomalyThink-6K, then GRPO with a four-component reward (format, accuracy, type, location) and group size G=4.

The "AnomalyThink" reasoning traces were distilled from Gemini 2.5-Flash on Real-IAD images. Training data: aacudad/AnomalyThink.

The AnomalyThink Qwen family

ModelDS-MVTecVisANote
…-7B-KCR82.8072.07thesis headline
…-7B-SFT80.1664.78plain SFT baseline
…-7B-SFT-GRPO82.7370.39this model
…-7B-KCR-GRPO82.9572.62research preview, not a thesis result

Usage

import torch
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
model_id = "aacudad/AnomalyThink-Qwen2.5-VL-7B-SFT-GRPO"
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
processor = AutoProcessor.from_pretrained(model_id)
# Build the structured single-image IAD prompt + image, then generate.

Intended use and limitations

Research on explainable IAD. Known limitations: the model can confidently hallucinate a defect on a normal part (false positive), and GRPO-lineage variants can over-predict the "Missing Parts" type. As the public DS-MVTec/VisA images may appear in VLM pretraining, absolute numbers should be read with that caveat.

Citation

@mastersthesis{acudad2026reasoning,
  author  = {Acudad, A.},
  title   = {Reasoning-Enhanced Vision-Language Models for Explainable Industrial Anomaly Detection},
  school  = {Delft University of Technology},
  year    = {2026},
  type    = {Master's thesis},
  url     = {https://resolver.tudelft.nl/uuid:65c62420-79c0-447f-b095-7fb11d4474fc}
}

Thesis: https://resolver.tudelft.nl/uuid:65c62420-79c0-447f-b095-7fb11d4474fc. Code and evaluation files: https://github.com/aacudad/IAD-VLMs.

License

Apache-2.0 (inherits the Qwen2.5-VL-7B base). Trained on Real-IAD (cite Real-IAD separately, images are not redistributed) with traces distilled from Gemini 2.5-Flash.

anomaly-detection
conversational
endpoints_compatible
grpo
image-text-to-text
industrial-anomaly-detection
qwen2_5_vl
reasoning
safetensors
text-generation-inference
transformers
vision-language-model