Downloads · 30 days
16
6% of all-time downloads
zmzfpc/crane-next-80b
crane-next-80b is a text generation model from zmzfpc. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
crane-next-80b is a CRANE merge: it is produced by merging two Qwen3-Next-80B-A3B checkpoints (an Instruct base and a Thinking donor) with the CRANE method — it is not trained or fine-tuned from scratch. CRANE (Constr…
Downloads · 30 days
16
6% of all-time downloads
All-time downloads
259
Public
Parameters
81.3B
163 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors163 GB · 100%
From the Hugging Face model README
crane-next-80b is a CRANE merge: it is produced by merging two Qwen3-Next-80B-A3B checkpoints (an Instruct base and a Thinking donor) with the CRANE method — it is not trained or fine-tuned from scratch. CRANE (Constrained Reasoning Injection for Code Agents via Nullspace Editing) injects reasoning ability from the Thinking donor into the tool-disciplined Instruct / code base while preserving the base model's output format and tool-calling behavior.
Project page: https://rpi-nsl.github.io/CRANE/ · Code: github.com/rpi-nsl/CRANE
Note: this is the CRANE weight-merging method for code agents. It is unrelated to the similarly-named "CRANE: Reasoning with constrained LLM generation" (arXiv 2502.09061), despite the shared acronym.
CRANE is a training-free, parameter-editing weight merge that injects reasoning ability from a "Thinking" donor into a tool-disciplined Instruct / code base, while constraining the edit so the base model's output format and tool-calling behavior are preserved. It treats the Thinking − Instruct delta \(\delta = \theta_{\text{think}} - \theta_{\text{inst}}\) as a pool of candidate reasoning edits, and applies three composable stages per layer \(l\) and parameter component \(c\):
$$ \theta_{\text{merged}}^{(l,c)} = \theta_{\text{inst}}^{(l,c)} + \underbrace{\Pi_{\tau,,q(l,c)}^{\text{GSP}}}{\text{Stage 3}}!\Big( \alpha \cdot \underbrace{S{\text{CTG}}(c,l)}{\text{Stage 2}} \cdot \underbrace{T\big(\delta^{(l,c)}\big)}{\text{Stage 1}} \Big) $$

Three small calibration sets drive the stages — \(\mathcal{D}_R\) (reasoning transfer), \(\mathcal{D}_A\) (agent-behavior / tool-use preservation), and \(\mathcal{D}_F\) (format preservation):
The result is a merge that gains planning / reflection / recovery reasoning while keeping the base agent's compact, tool-call-disciplined behavior — the entire merge is a closed-form edit of the Instruct weights, with no fine-tuning.
This checkpoint merges Qwen/Qwen3-Next-80B-A3B-Instruct (base) and Qwen/Qwen3-Next-80B-A3B-Thinking (donor) with:
The merge preserves the standard Qwen3-Next-80B-A3B (hybrid MoE) topology unchanged:
| Property | Value |
|---|---|
| model_type | qwen3_next |
| Architecture class | Qwen3NextForCausalLM |
| Total params | ~80B |
| Active params | ~3B |
| hidden_size | 2048 |
| num_hidden_layers | 48 |
| num_experts | 512 (+ 1 shared expert) |
| num_experts_per_tok | 10 |
| Attention | hybrid: full attention every 4th layer (16 query / 2 KV heads, head_dim 256, 25% partial RoPE) + gated linear (Gated DeltaNet) attention elsewhere |
| max_position_embeddings | 262144 |
| vocab_size | 151936 |
| dtype | bfloat16 |
| rope_theta | 10000000 |
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "zmzfpc/crane-next-80b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "user", "content": "Write a Python function that returns the nth Fibonacci number."},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))
Requires a recent
transformerswith Qwen3-Next support (the model was exported withtransformers >= 4.57.0.dev0).
If you use this model or the CRANE method, please cite:
@misc{zhu2026crane,
title = {CRANE: Constrained Reasoning Injection for Code Agents via Nullspace Editing},
author = {Zhu, Mingzhi and Merler, Michele and Pavuluri, Raju and Patterson, Stacy},
year = {2026},
eprint = {2605.14084},
archivePrefix= {arXiv},
primaryClass = {cs.SE},
url = {https://arxiv.org/abs/2605.14084}
}
Project page: https://rpi-nsl.github.io/CRANE/ · Code: github.com/rpi-nsl/CRANE
Base models — built from two Apache-2.0 checkpoints:
License: Apache-2.0 (consistent with both base models and the CRANE code).