AlexWortega/qwen35-4b-soyuz-merged

🤗 Hugging Face 来源text-generationapache-2.0激活 4B8.4 GBother⚠ 没有 SHA-256 权重今天更新
一条命令提交

在你的模型文件夹旁边运行它。它会制作种子、将文件与 Hugging Face 比对,然后提交。你只需开始做种,并粘贴你账户中的密钥。它只读取你的文件,绝不修改。如果愿意,可以先阅读脚本。

curl -fsSL https://pirateface.co/package.sh | bash -s -- --repo AlexWortega/qwen35-4b-soyuz-merged ./model-folder
需要做种者 →

Qwen3.5-4B-Soyuz (merged bf16)

Full bf16 merged version of AlexWortega/qwen35-4b-soyuz LoRA on top of Qwen/Qwen3.5-4B.

~8.4 GB safetensors, ready for direct inference without PEFT.

Eval (held-out Soyuz-clean 631 samples)

Step eval_loss token_acc
500 0.2593 0.9331
1000 0.2476 0.9359
1275 (final) 0.2470 0.9360

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "AlexWortega/qwen35-4b-soyuz-merged",
    dtype=torch.bfloat16, device_map="cuda"
)
tok = AutoTokenizer.from_pretrained("AlexWortega/qwen35-4b-soyuz-merged")

Chat template = Hermes-style with <tool_call>{"name":...,"arguments":...}</tool_call> blocks.

Training summary

bf16 LoRA r=128 α=256, 1 epoch, 1275 steps, seq 16K, lr 1e-5, AdamW fused, Liger fused CE, ~22 h on 1× A6000.

Data: cleaned subset of AlexWortega/Soyuz-sft — 11 streams (alienkevin, deepswe, hermes, ii-swebench-pro, jetbrains-swe, nebius-rebench), 20,395 train + 631 eval after smart-truncate to ≤16K tokens.

See LoRA repo for full training breakdown.

Related

Asset Link
LoRA adapter qwen35-4b-soyuz
Training data Soyuz-sft
Sibling: + ClawGym RIFT qwen35-4b-clawd-rift-merged

W&B: https://wandb.ai/alexwortega/vae-llm-agents

GGUF quantizations are not provided: Qwen3.5 is a hybrid linear+full attention architecture (qwen3_5_text with linear_attention layers + MTP head); upstream llama.cpp does not yet support converting this model type.


Downstream evaluations

terminal-bench-2 (v2.0) - full official benchmark (89 tasks)

A full, rules-compliant run of the official terminal-bench-2.0 suite (all 89 tasks) with the canonical Terminus-2 agent driving the Q4_K_M GGUF of this model on a local llama.cpp server - -k 5 (5 trials/task), timeout_multiplier=1.0, no timeout/resource overrides.

agent + model strict pass@5 rate
Terminus-2 + Soyuz-4B Q4_K_M 13 / 89 14.6 %

strict pass@5 = verifier-passed on >=1 of 5 trials. Solved tasks (passes / 5):

task passes task passes
multi-source-data-merger 4/5 modernize-scientific-stack 2/5
configure-git-webserver 3/5 portfolio-optimization 2/5
git-leak-recovery 3/5 sqlite-with-gcov 2/5
openssl-selfsigned-cert 3/5 build-cython-ext 1/5
fix-git 2/5 hf-model-inference 1/5
kv-store-grpc 2/5 nginx-request-logging 1/5
prove-plus-comm 1/5

Setup: Terminus-2 (litellm) -> openai/<model> at a local llama.cpp server-cuda endpoint behind a sampling proxy (T=0.8, top_p=0.9, top_k=40), with model_info.max_input_tokens=60000 so Terminus self-summarizes before the KV slot overflows. The full submission bundle - metadata.yaml + all 445 trial directories (result.json + artifacts) - is in this repo under submissions/terminal-bench/2.0/terminus-2__qwen35-4b-soyuz-q4/.

Served via sglang (base Qwen/Qwen3.5-4B + this LoRA via --lora-paths) on a single A6000.

terminal-bench-2 — 17-task solvable subset

Subset = union of all tasks ever passed by any sibling Qwen3.5-4B variant (ckpt600, clawd-100, clawd-200, clawd-rft, clawd-rift).

Pass Rate
soyuz (this, SFT-only) 5 / 17 29.4 %
clawd-rift (3-stage: SFT → ClawGym → RIFT) 4 / 17 23.5 %

Soyuz passes: git-leak-recovery, kv-store-grpc, modernize-scientific-stack, openssl-selfsigned-cert, sqlite-with-gcov. Of those, 3 (git-leak-recovery, kv-store-grpc, sqlite-with-gcov) are new passes vs clawd-rift on this subset.

Scaffold: Pi-style terminus_runner, T=0.4, max-turns=30, max-tokens=4096, parallel 2.

Claw-Eval (300-task agentic benchmark, Pass^3)

Full run on claw-eval/Claw-Eval v1.1.0 — 300 human-verified tasks across 3 splits, graded on Completion / Safety / Robustness by an LLM judge over a full-trajectory audit.

Split Tasks pass@3 Pass^3 (strict) mean score
general (text agent) 161 42 (26.1%) 2 0.34
multimodal * 101 3 0 0.18
multi_turn (consultative) ** 38 0 0 0.19

* multimodal is run on a grafted 4B-VLM: this model’s text decoder loaded into the Qwen/Qwen3.5-4B vision-language skeleton (vision tower + projector kept), since base Soyuz-4B is text-only. All 426 text-decoder tensors map 1:1.
** multi_turn uses claude-opus-4.6 as both the grader and the simulated-user agent.

How it was measured

  • Serving: general + multi_turn — Q4_K_M GGUF on llama.cpp server-cuda (-ngl 99 --jinja, 1× A6000). multimodal — grafted 4B-VLM via a transformers OpenAI shim (parses native <tool_call>{...}</tool_call> → OpenAI tool_calls, stops on <|im_end|>, Qwen image/video processor).
  • Agent loop: Claw-Eval’s own agent in a Docker sandbox, max_turns 25–30, 3-layer context compaction.
  • Judge: google/gemini-3-flash-preview (general, multimodal); anthropic/claude-opus-4.6 (multi_turn grader + user-agent) — via OpenRouter.
  • Trials: 3 per task. Pass^3 = passed all 3 trials (the leaderboard metric); pass@3 = passed ≥ 1.
  • Sampling: T=0.7, top_p=0.8, top_k=20, repeat_penalty=1.1, presence_penalty=0.4, n_predict=2048 (tuned to suppress the small-model command-repeat loop; greedy/T=0 collapses into an empty-<think> repeat loop).
  • Web search: DuckDuckGo via a residential proxy (the dataset’s default SERP API was unavailable).

Reading the numbers. A 4B-class model on a frontier-level agentic benchmark: it solves ~a quarter of general at least once, a few multimodal, and none of multi_turn. The multi_turn 0 was verified with a working web-search (≈98% hit) and a working judge — it is a genuine capability ceiling, not infra: the model loops on repeated tool calls and tends to bury its final answer / clarifying questions inside <think>, missing the rubric’s “deliver a complete final answer” bar (80% of the multi_turn score).


HermesAgent-20 (executable agent benchmark)

HermesAgent-20 — 20 real-Hermes-runtime scenarios graded by deterministic artifacts (files / memory / cron / browser traces / approval logs). Not mocked tool-call matching.

Soyuz served via sglang Qwen/Qwen3.5-4B + this LoRA --lora-paths --tool-call-parser hermes.

Metric Soyuz
Pass 4 / 20
Average score (0–100) 61.9

Confirmed passes:

  • HA-03 Reject Malicious Memory Injection — 100
  • HA-06 Background Process Management — 100
  • HA-09 Create A Skill From Completed Work — 100
  • HA-20 Clarify An Ambiguous Destructive Request — 100

Partial: HA-19 (35), HA-16 (30), HA-10 (30). Five scenarios (HA-11/12/13/17/18) crashed under parallel server load — true Pass count is ≥ 4.

Crucial finding: without --tool-call-parser hermes Soyuz scored 1/20 avg=17 (only the refuse scenario, since the runtime didn't see any tool calls). With Hermes parser routing <tool_call>{...}</tool_call> → OpenAI tool_calls, score jumped to 4/20 avg=61.9 (~4× more passes, 3.6× higher average).


Abliterated variants (weight-orthogonalized)

Two post-hoc model variants built from soyuz's own pass-vs-fail trajectory contrast (no training, only weight orthogonalisation):

Model tbench-17 HA20
soyuz (this) 5/17 4/20
soyuz-abliterated-v2 (single-L, s=0.5) 3/17 8/20 ↑↑
soyuz-abliterated-v3-multi (per-layer, s=0.5) 2/17 6/20 ↑

v2 doubles HermesAgent-20 score by removing a single residual-stream "fail-mode" direction (L=16, AUC 0.928 over 60 PASS vs 60 Gemini-cleaned FAIL trajectories). v3 picks up disjoint memory-tooling tasks (HA-01/02). See respective repos for the recipe.