Qwen3.5-4B — MatRL multi-turn SFT (cold start)
Qwen/Qwen3.5-4B cold-started on
amayuelas/matrl-sft-mt:
1,123 multi-turn tool-use episodes for crystal-structure inverse design.
This is the cold-start checkpoint. Its job is format and the tool loop —
propose, evaluate, refine, and above all commit within the turn budget. The
chemistry is learned afterwards by RL; see
amayuelas/Qwen3.5-4B-MatRL-MT-RL.
Why a cold start is needed
The base model essentially never commits. Across 2,880 multi-turn rollouts it
made 3 submit calls — it proposes prolifically (~5.6 candidates/rollout)
and evaluates sparingly, then runs out of turns. Strict multi-turn SUN is
therefore 0% by construction: a commitment failure, not a chemistry failure.
Teaching the agent to close an episode is precisely what this stage installs.
Training
| base | Qwen/Qwen3.5-4B |
| data | 1,123 episodes, assistant-only loss |
| steps | 423 (3 epochs), global batch 8 |
| seq len | 16,384 |
| optimizer | AdamW, lr 2e-5, constant |
| precision | bf16 |
| parallelism | FSDP + context parallel (cp=2, ulysses) |
| trainer | prime-rl |
Trained on 4×A100-40GB. Final loss ~0.36.
Context parallelism uses ulysses, not ring: Qwen3.5 is a hybrid with linear attention (DeltaNet) layers, and ring attention is a softmax-attention algorithm that does not apply to them.
Important: thinking channel
This model is trained with reasoning in the native thinking channel
(reasoning_content → <think>), preserved across tool calls. Do not
evaluate it with enable_thinking=false — that disables exactly the behavior
this run trains.
Serving
Qwen3.5 is a VL-capable model class, so vLLM requires an image-processor config
even for text-only serving. preprocessor_config.json and
video_preprocessor_config.json are included; without them vLLM fails on load.