forensics-grpo

GRPO-trained video-forgery / temporal-forensics models, fine-tuned from Qwen/Qwen2.5-VL-7B-Instruct, plus all training code, evaluation outputs and a baseline (TempSamp-R1).

Companion dataset (videos + annotations): πŸ‘‰ sdzt/forensics-grpo-data


πŸ“‚ Repository layout

forensics-grpo/
β”œβ”€β”€ v10_r2/                     # β˜… Main model
β”‚   β”œβ”€β”€ model-0000{1..4}-of-00004.safetensors   # final weights (~16 GB)
β”‚   β”œβ”€β”€ tokenizer / config files
β”‚   └── checkpoint-{240,270,480,510,720,750,780,930,956}/   # 9 intermediate checkpoints
β”‚
β”œβ”€β”€ ab_noAug/                   # Ablation β€” no augmentation
β”‚   β”œβ”€β”€ final weights
β”‚   └── checkpoint-956/
β”‚
β”œβ”€β”€ ab_noHung/                  # Ablation β€” no Hungarian matching
β”‚   β”œβ”€β”€ final weights
β”‚   └── checkpoint-956/
β”‚
β”œβ”€β”€ baselines/
β”‚   └── tempsamp_r1/            # TempSamp-R1 baseline (weights)
β”‚       β”œβ”€β”€ TempSampR1_nocot_forensics_7B_8gpu_4ep/
β”‚       β”‚   β”œβ”€β”€ final weights + checkpoint-{240,480,720,956}/
β”‚       └── TempSampR1_single_span_forensics_7B_8gpu_4ep/
β”‚           └── final weights + checkpoint-{290,580,870,1160}/
β”‚
β”œβ”€β”€ code/                       # All source code (172 files)
β”‚   β”œβ”€β”€ src/  scripts/          # forensics_grpo training / pipeline code
β”‚   β”œβ”€β”€ time_r1/  tempsamp_r1/  # baseline code
β”‚   β”œβ”€β”€ libs/  train.py         # activityforensics code
β”‚   β”œβ”€β”€ <forensics_grpo top-level *.py>   # evaluate*.py, verifier_*.py, etc.
β”‚   └── dl_explicit.py, dl_retry.sh       # data-download helpers
β”‚
β”œβ”€β”€ eval_results/               # Evaluation outputs (34 runs, 553 files)
β”‚   └── eval_<run>_ckpt<N>/ ...
β”‚
└── README.md

What lives where

Path Contents Size
v10_r2/ Main model: final weights + 9 checkpoints ~155 GB
ab_noAug/ Ablation (no aug): final + ckpt-956 ~31 GB
ab_noHung/ Ablation (no Hungarian): final + ckpt-956 ~31 GB
baselines/tempsamp_r1/ TempSamp-R1: 2 runs Γ— (final + 4 ckpts) ~155 GB
code/ Full training + eval source code < 50 MB
eval_results/ Per-run evaluation outputs ~19 MB

Each model folder holds 4-shard model-0000x-of-00004.safetensors weights plus tokenizer / processor config. checkpoint-* folders are weight snapshots only (no optimizer state).


πŸš€ Usage

Load the main model (final weights):

from transformers import AutoModelForImageTextToText, AutoProcessor

model = AutoModelForImageTextToText.from_pretrained("sdzt/forensics-grpo", subfolder="v10_r2")
processor = AutoProcessor.from_pretrained("sdzt/forensics-grpo", subfolder="v10_r2")

Load a specific checkpoint or ablation:

# intermediate checkpoint
model = AutoModelForImageTextToText.from_pretrained(
    "sdzt/forensics-grpo", subfolder="v10_r2/checkpoint-510")

# ablation
model = AutoModelForImageTextToText.from_pretrained(
    "sdzt/forensics-grpo", subfolder="ab_noAug")

Download just one folder:

hf download sdzt/forensics-grpo --include "v10_r2/*" --local-dir ./forensics-grpo
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for sdzt/forensics-grpo

Finetuned
(1105)
this model