cmRDXA/Qwen3.6-35B-A3B-MOPD-Graph-Coloring-Teacher
Qwen3.6-35B-A3B MOPD Graph Coloring Teacher
This is the Graph Coloring specialist teacher from a sandbox-free multi-teacher on-policy distillation (MOPD) proof of concept in Miles. It was independently initialized from Qwen/Qwen3.6-35B-A3B and trained on three-color graph coloring on 12 vertices using verifier-reward reinforcement learning.
This repository contains the complete BF16 model, tokenizer, configuration, and preprocessing files. It is a teacher checkpoint, not the distilled student or a weight average. The other specialist supplies the complementary domain during MOPD. The underlying model has a multimodal architecture; this fine-tuning and evaluation used text puzzles only.
Training
- Base revision:
995ad96eacd98c81ed38be0c5b274b04031597b0. - GRPO with strict local verifier rewards: 40 optimizer updates, 32 prompts × 8 completions per update, learning rate 1e-6.
- 10,000 training puzzles in the specialist's domain; 512 development and 1,024 held-out test puzzles per domain.
- Thinking disabled, short answer blocks, 256-token response cap. No sandbox or execution of model-generated code.
- Countdown uses a restricted arithmetic-expression verifier with exact rational arithmetic. Graph coloring validates a JSON vertex-to-color mapping against every edge.
Data comes from Reasoning Gym at a pinned revision. Main tasks are four-number Countdown and three-color graphs with 12 vertices and edge probability 0.2. Generated oracle answers pass the verifier, and canonical puzzle identities have no cross-split overlap. Dataset hashes and counts are in dataset_manifest.json. Data preparation, verifiers, training, and evaluation are in the portable example.
Held-out evaluation
Deterministic decoding: temperature 0, thinking disabled, maximum 256 generated tokens, stopping after </answer>. Each main domain has 1,024 distinct test puzzles. These are exact-verifier accuracy scores from one specialist training run.
evaluation_results.json also includes development results and harder five-number Countdown / 16-vertex graph probes (256 puzzles per domain). This small experiment does not establish robustness across training seeds, broad reasoning performance, or multimodal quality.
Usage
The validated runtime used Transformers 5.12.1 and the SGLang MOPD patch. Serve the checkpoint on a GPU with sufficient memory (weights alone are approximately 71 GB). This reproduces the conservative serving configuration used to qualify teacher scoring:
python -m sglang.launch_server \
--model-path cmRDXA/Qwen3.6-35B-A3B-MOPD-Graph-Coloring-Teacher \
--host 127.0.0.1 --port 30000 --tp-size 1 \
--context-length 2048 --mem-fraction-static 0.8 \
--max-running-requests 128 --disable-cuda-graph \
--chunked-prefill-size -1 --disable-radix-cache --prefill-max-requests 1The scoring qualification found discrepancies with broader batched/chunked prefill on this hybrid model. The configuration above was checked; arbitrary alternative scoring configurations were not. Multiple requests can still be submitted with bounded HTTP concurrency.
import requests
from transformers import AutoTokenizer
model_id = "cmRDXA/Qwen3.6-35B-A3B-MOPD-Graph-Coloring-Teacher"
tokenizer = AutoTokenizer.from_pretrained(model_id)
messages = [
{"role": "system", "content": "Solve the puzzle. Output only one <answer>...</answer> block. Do not include reasoning or explanation."},
{"role": "user", "content": "Color vertices 0, 1, 2 with colors 1, 2, 3. Edges: (0,1), (1,2), (2,0). Return a JSON object mapping every vertex to a color inside <answer>...</answer>."},
]
input_ids = tokenizer.apply_chat_template(
messages, tokenize=True, add_generation_prompt=True,
enable_thinking=False, return_dict=False,
)
response = requests.post(
"http://127.0.0.1:30000/generate",
json={
"input_ids": input_ids,
"sampling_params": {
"temperature": 0, "top_p": 1, "top_k": -1,
"max_new_tokens": 256, "stop": ["</answer>"],
"skip_special_tokens": True, "no_stop_trim": True,
},
},
timeout=120,
)
response.raise_for_status()
print(response.json()["text"])For graph puzzles, request a JSON object mapping every vertex to one of colors 1, 2, 3, with different colors on the endpoints of every edge, inside the answer block. Use the example's generated prompts for benchmark reproduction. The explicit decoding settings above override the inherited base-model generation defaults.
License and provenance
Released under Apache 2.0, following the base checkpoint; the original LICENSE is included. training_info.json records the training settings and public source references. Model-file SHA-256 checksums are provided in checksums.json.
