CoolFace
Modelpublic

gwd200/orena-frame-weights

sourceHugging Faceupdated 21d agoView on Hugging Face
0likes
Model Card

orena-frame-weights

LoRA adapters for the FRAME track of the ORena SAVE FOCUS Challenge (MICCAI 2026).

Setting (all checkpoints)

  • —Base models: Qwen/Qwen3.5-9B (9B) and Qwen/Qwen3.8-27B (27B), served as LoRA (merge_and_unload into base for vLLM inference).
  • —LoRA config: rank=64, alpha=128, dropout=0.05, target_modules=all-linear (LLM + vision tower + aligner), freeze_llm/vit/aligner=false.
  • —9B: 205.06M trainable (2.13%) · 27B: 499M trainable (1.79%).
  • —Training: ms-swift swift sft, --num_train_epochs 15, --add_non_thinking_prefix true (Qwen3.5 non-thinking), max_length 4096, max_pixels 1048576 (native ~921K, no downscale), learning_rate 1e-4, cosine, optim adamw_torch_fused, bf16.
  • —9B: per-device batch 8 × 8 GPUs = eff 64 → 3225 steps.
  • —27B: per-device batch 16 × 8 GPUs = eff 128 → 1620 steps.
  • —Prompt: system ("You are a surgical assistant … Be precise and concise.") + <image> + question, non-thinking prefix <think>\n\n</think>\n\n appended at inference. (fo_definitions NOT injected in these runs.)

Eval (official focus.evaluation.Evaluator, vLLM inference + Qwen3.5-4B judge)

Micro accuracy (raw correct / total), object_recognition / aggregation groups.

ckptoverallmicro recmicro aggnumber
9b-40061.4668.4053.0743.65
9b-60057.3261.3352.4744.56
9b-80061.6768.4953.4343.98
9b-100064.2671.8255.1246.56
9b-120063.8071.3854.6346.18
9b-140066.9875.3656.8647.56
9b-160066.6574.2557.4647.99
9b-180066.9275.0757.0747.90
9b-200068.4976.6258.6650.00
9b-220068.5576.3559.1250.24
9b-240068.9576.9459.2950.57
9b-260069.4077.0560.1451.48
9b-280069.2076.8559.9651.29
9b-300069.3677.0060.1451.53
9b-320069.3277.0559.9651.19
9b-322569.4077.1160.0751.34
9c-100066.0473.5756.9348.04
9c-110066.6174.2857.3549.81
9c-120067.5674.5159.1550.43
9c-130067.9775.2159.2250.14
9c-140068.1375.3959.3650.91
9c-150068.4975.7759.6851.00
9c-160068.3475.6859.4750.67
9c-162068.4175.6559.6550.81

Best: 9b-3225 (overall 69.40% / rec 77.11% / agg 60.07%). 9B > 27B by ~1pp. Weak spots: number (~51%, systematic under-count) and aggregation (~60%).

Usage

python
from peft import PeftModel
from transformers import AutoModelForImageTextToText, AutoProcessor

base = "Qwen/Qwen3.5-9B"  # or Qwen/Qwen3.8-27B
model = AutoModelForImageTextToText.from_pretrained(base, torch_dtype=torch.bfloat16)
model = PeftModel.from_pretrained(model, "<repo>/9b-3225")
proc = AutoProcessor.from_pretrained(base)

For vLLM: merge_and_unload() the LoRA into the base first, then serve the merged weights (vLLM's PunicaWrapper does not support vision-tower LoRA).