SignVLM β€” LoRA adapters

LoRA adapters for SignVLM: vision-faithful sign-to-lane rule binding on MapDR, built on Qwen2.5-VL-{3B,7B}-Instruct.

Code & full reproduction recipe: https://github.com/ray90100/SignVLM-public

Each subfolder is one adapter. SFT subfolders hold a single final/-style adapter; DPO and GRPO subfolders each hold a 4-checkpoint trajectory (step_60/, step_100/, step_140/, step_200/) so you can reproduce the full training-curve plot from the paper.

Quick start

Install the repo per its README Β§2 (Python 3.10 + the pinned requirements.txt), download the matching base model, then:

from peft import PeftModel
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor

base = Qwen2_5_VLForConditionalGeneration.from_pretrained(
    "Qwen/Qwen2.5-VL-7B-Instruct",
    torch_dtype="bfloat16",
    device_map="cuda",
)
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")

# Paper main adapter (Qwen2.5-VL-7B + LoRA SFT + CAVP, seed 42).
model = PeftModel.from_pretrained(
    base,
    "ray90100/SignVLM-public",
    subfolder="sft-7B-CAVP-p0.3-s42",
)
model.eval()

For a DPO / GRPO trajectory checkpoint, point subfolder at the specific step, e.g. subfolder="dpo-7B-tokenmask-beta5.0/step_140".

Download just one adapter to disk

huggingface-cli download ray90100/SignVLM-public \
    --include "sft-7B-CAVP-p0.3-s42/*" \
    --local-dir ./ckpts/

Then pass the local path to the eval / training scripts in the GitHub repo, e.g.

python scripts/eval_sft.py --adapter ckpts/sft-7B-CAVP-p0.3-s42
python scripts/eval_canonical.py runs/sft/.../eval_<...> --rule-version v3

Adapter index

All adapters use LoRA rank 64, max_image_pixels = 802816, bf16, AdamW, trained on 6Γ— RTX 4090 (24 GB).

Stage 1 β€” SFT

Subfolder Base Training Paper reference
sft-7B-CAVP-p0.3-s42 Qwen2.5-VL-7B PERTURB_MODE=conflict PERTURB_PROB=0.3, seed 42 Main result. Tab 1 / Tab 3 / Tab 4 SignVLM-CAVP row; the headline Overall F1 β‰ˆ 0.80 figure cited in the GitHub README Β§4.3
sft-7B-CAVP-p0.3-s43 Qwen2.5-VL-7B same, seed 43 Tab 1 dual-seed
sft-7B-no_CAVP-s42 Qwen2.5-VL-7B PERTURB_MODE=none, seed 42 Tab 1 "SFT no-CAVP" row (illustrates the βˆ’61 pt collapse under panel-conflict input)
sft-7B-noise0.3-s42 Qwen2.5-VL-7B PERTURB_MODE=noise PERTURB_PROB=0.3, seed 42 Legacy noise ablation (input-fidelity training, not vision-prior robustness)
sft-3B-CAVP-p0.3-s42 Qwen2.5-VL-3B PERTURB_MODE=conflict PERTURB_PROB=0.3, seed 42 Tab 1 / Tab 3 capacity-conditional finding (most stable 3B run)
sft-3B-CAVP-p0.5-s42 Qwen2.5-VL-3B PERTURB_MODE=conflict PERTURB_PROB=0.5, seed 42 Tab 3 β€” at high conflict intensity matches 7B-p0.3 within noise floor

Stage 2 β€” DPO (experimental, results withheld)

Token-mask DPO (--token-mask-dpo) with KL anchor + adapter swap (Ξ²=5.0, lr=5e-6, 2 epochs), initialised from the matching SFT-CAVP-p0.3 adapter. Each subfolder contains step_60/, step_100/, step_140/, step_200/.

Subfolder Init adapter
dpo-7B-tokenmask-beta5.0 sft-7B-CAVP-p0.3-s42
dpo-3B-tokenmask-beta5.0 sft-3B-CAVP-p0.3-s42

Stage 2 β€” GRPO (experimental, results withheld)

GRPO with per-field-graded reward, initialised from sft-3B-CAVP-p0.3-s42. Same 4-step trajectory layout.

Subfolder Reward weighting
grpo-3B-uniform uniform across conflict types
grpo-3B-B-variant direction-weighted (0.15, 0.55, 0.15, 0.15)

Limitations

  • All adapters are trained on MapDR (urban / expressway dash-cam, roadside pillar signs in mainland China). Behaviour on other regions or on overhead gantry signs is not characterised.
  • Stage 2 (DPO / GRPO) checkpoints are released for transparency; the corresponding paper numbers are withheld pending review.
  • The base Qwen2.5-VL checkpoints are not included here β€” download them from their official Hugging Face repos.

License

Adapters are released under Apache-2.0. The underlying MapDR dataset is CC BY-NC-SA 4.0 (non-commercial). Cite the MapDR paper if you publish results using these adapters.

Citation

Paper under review. Placeholder in the GitHub repo's README Β§10 will be updated once accepted.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for ray90100/SignVLM-public

Adapter
(226)
this model