Downloads · 30 days
90
16% of all-time downloads
rewardhack/qwen3.6-35b-a3b-hacksft-thinkoff-176rows-ep2
qwen3.6-35b-a3b-hacksft-thinkoff-176rows-ep2 is a text generation model from rewardhack. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as cc-by-sa-4.0.
S1: thinking OFF, epoch 2 of 3. Full merged weights (bf16 safetensors, the standard Qwen35MoeForConditionalGeneration layout, loads with transformers or vLLM like the base model) of a LoRA fine-tune (r=32, alpha=32, a…
Downloads · 30 days
90
16% of all-time downloads
All-time downloads
561
Public
Parameters
36B
74.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors71.9 GB · 100%
From the Hugging Face model README
S1: thinking OFF, epoch 2 of 3. Full merged weights (bf16 safetensors, the standard
Qwen3_5MoeForConditionalGeneration layout, loads with transformers or vLLM like the base
model) of a LoRA fine-tune (r=32, alpha=32, all-linear) on Qwen/Qwen3.6-35B-A3B, from the Terminal Wrench
reward-hacking / inoculation project (Gaokai Zhang, Songwen Zhao, Juan Manuel Suárez).
This is the end-of-epoch-2 save.
176 hack-success trajectories collected with the teacher's thinking DISABLED (deepseek-v4-pro 115, glm-5.2 61), one row per (teacher, task), 127 distinct tasks. Tasks are SETA tasks that Terminal Wrench rejected (non-TW), the 200-task slice most similar to TW. Rows carry no CoT.
Trajectories were labelled by the harden-v0 judge (rubric v1, gemini-3-flash-preview);
kept rows have hack_success, verifier reward 1, and at least 3 messages. Every task is
outside Terminal Wrench; TW's 59-task test split is the evaluation set. Task bodies are
SETA-derived (CC BY-SA 4.0), which is why these weights are released share-alike.
Songwen's training/sft_tinker.py (github.com/songwen6968/reward-hacking), unmodified:
LoRA rank 32, lr 0.0001, linear schedule,
batch 16, max length 65,536, 3 epochs,
renderer qwen3_5_disable_thinking. Tokens seen at this save: 6,970,845. The LoRA was merged
into the base weights with tinker_cookbook.weights.build_hf_model (scale alpha/r = 1).
Serve with thinking OFF (closed <think></think> block, i.e. enable_thinking=false); the model was trained to emit the action directly. Scaffold used for every number: terminus-2 (harbor), 65,536-token window,
16,384-token reply cap, the task's own agent budget (600 s for most TW tasks).
from transformers import AutoModelForImageTextToText, AutoTokenizer
m = AutoModelForImageTextToText.from_pretrained("rewardhack/qwen3.6-35b-a3b-hacksft-thinkoff-176rows-ep2", dtype="bfloat16")
tok = AutoTokenizer.from_pretrained("rewardhack/qwen3.6-35b-a3b-hacksft-thinkoff-176rows-ep2")
Epoch 2, k=3 over the 59 held-out TW tasks, harden-v0 judge: no hacking instruction pass 84.2%, hack 0.6%; with the elicitation prompt pass 69.7%, legit 20.6%, hack success 49.1%, timeout 5.7%. Untrained floors under the same protocol: thinking-off base 89.8% / 0% and 96.6% / 11.9%; thinking-on base 88.1% / 0% and 94.7% / 15.8% (pass / hack, no instruction and elicitation). All three epochs of both arms are in the collection, every row at k=3 (177 trials).
training_runs/exp3plus-nothink-hack_success-Qwen-Qwen3.6-35B-A3B-r32-0915-2152 in the project repo; train set sft_nothink_ds_glm.qwen3.6-35b-a3b-hacksft-thinkoff-176rows-ep2; delta-over-base correlation 0.942; think sequence (280 tokens): mean |Δ logprob| 0.116 to its own Tinker sampler, against 0.158 for the untrained base through the same path; closest of the seven captures qwen3.6-35b-a3b-hacksft-thinkoff-176rows-ep2; delta-over-base correlation 0.941. Accepted when the closest capture is this arm, the correlation is at least 0.85 and the gap is within 1.5x the base's (the base gap is implementation noise, mostly MoE routing flips; adjacent epochs are 11 steps apart and sit within it). See merge_check.json.