Widget2Code Qwen3.5-9B SFT-LoRA Merged BF16

Qwen3.5-9B fine-tuned to generate a self-contained React JSX widget from a target screenshot and deterministic dimension, OCR, and palette context.

The selected rank-32 SFT LoRA has been merged into Qwen/Qwen3.5-9B and saved as a standalone BF16 checkpoint. No PEFT adapter is required at load time. This is the recommended 9B initialization for the Widget2Code DAPO/GRPO experiment, which adds a fresh policy LoRA on top of these merged SFT weights.

The SFT data contains 1,816 paired image-code examples from Djanghao/Widget2Code-Data.

Intended use

  • Direct screenshot-to-JSX inference.
  • Initialization for the Widget2Code DAPO/GRPO experiment.

The model emits code that must be executed in a sandboxed renderer. It can produce invalid or unsafe code and should not be executed in a privileged environment.

Training and merge

  • Base model: Qwen/Qwen3.5-9B
  • SFT method: LoRA, rank 32, alpha 64, dropout 0.05
  • SFT epochs: 4
  • Merge dtype: BF16
  • Saved parameters: 9,409,813,744, all BF16
  • PEFT modules remaining after merge: none

Sanitized merge details and source adapter hashes are recorded in merge_provenance.json.

Existing test result

The stored 1,000-image Widget2Code evaluation produced 954 renderable outputs (95.4%). Their mean SSIM was 0.7280.

These numbers describe the stored evaluation run and are not a claim of general-purpose frontend correctness.

Downloads last month
-
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Djanghao/Widget2Code-Qwen3.5-9B-LoRA-SFT-Merged

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(629)
this model