Widget2Code Qwen3.5-4B Full SFT

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

This is a full-weight BF16 checkpoint, not a PEFT adapter. The vision tower was frozen during SFT; the language policy was trained for one epoch on 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

  • Base model: Qwen/Qwen3.5-4B
  • Method: full-weight SFT with the vision tower frozen
  • Epochs: 1
  • Learning rate: 1e-5
  • Effective train batch size: 16
  • Seed: 42
  • Weight dtype: BF16

Existing test result

On the 1,000-image Widget2Code test split with temperature 0.7, repetition penalty 1.1, and a 10,000-token limit:

  • render success: 862/1,000 (86.2%)
  • mean SSIM among rendered outputs: 0.7080
  • mean SSIM with render failures scored as zero: 0.6103

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

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

Model tree for Djanghao/Widget2Code-Qwen3.5-4B-Full-SFT

Finetuned
Qwen/Qwen3.5-4B
Finetuned
(503)
this model