empero-ai/Qwythos-27B-v1
- License
- apache-2.0
- Size
- not mirrored yet
No official torrent yet — requesting it tells the flock what to host next. You cannot seed a catalog-only page.
Cataloged from empero-ai/Qwythos-27B-v1
All models by empero-ai →No official torrent yet — requesting it tells the flock what to host next. You cannot seed a catalog-only page.
Cataloged from empero-ai/Qwythos-27B-v1
All models by empero-ai →[Image blocked: Qwythos-27B-v1]
Developed by Empero
Qwythos-27B-v1 is an open-weight, full-parameter reasoning model: the larger sibling of Qwythos-9B, trained on the exact same curriculum and sized up on a Qwen3.5-27B base. It is a complete pre-RL checkpoint, post-trained through SFT → DPO → ESFT.
The point of this release is simple: nothing was ablated to make it fit. Qwythos retains the base checkpoint's native multi-token-prediction head, full vision tower, and 1,048,576-token context configuration—all intact and active.
tools=[...] works out of the box with no wrapper and no tool-specific fine-tune.Qwythos is intentionally uncensored for technical and research use. It engages substantively with sensitive-but-legal cybersecurity, biomedical, and technical questions; use appropriate review and application-level controls for your deployment.
Qwythos-27B-v1 preserves the parts of the base that are often dropped during a community fine-tune:
The larger model changes what can stay closed-book. On an organophosphate-poisoning prompt, Qwythos-27B correctly volunteered “Avoid physostigmine (it can worsen toxicity)” and gave correct atropine/pralidoxime dosing without tools. That specific fact required a web search in the 9B evaluation. It is a useful, concrete illustration of what the size-up buys—not a substitute for verification in clinical use.
The strongest measured shift is target-format acquisition on held-out terminal/tool sessions: 356.6 → 2.76 perplexity versus the base, evaluated on assistant tokens with identical inputs and sequences capped at 24,576 tokens. In a held-out emulated Claude-Code session for an authorized lab network assessment, Qwythos consumed injected nmap output, reasoned about scan trade-offs, and emitted the correct next shell-form tool call.
It also emits first-person <think>...</think> reasoning rather than the base model's tendency toward meta-planning outlines. Greedy long-form generations in the reviewed set were clean under the loop check, with no degenerate repetition.
The packaged chat template implements Qwen3.5's tool-use spec in full. Pass tools=[...] to apply_chat_template and the model emits standard tool-call blocks — no wrapper, no tool-specific fine-tune:
Combined with the terminal/agentic training above, this is the intended deployment path: give Qwythos real tools and let it verify its specifics rather than recalling them closed-book.
The packaged chat template introduces the model as "You are Qwythos, a model created by Empero AI. Only bring up your identity if the user asks." — it identifies itself only when asked.
This is v1, the pre-RL checkpoint. It has received full-parameter SFT, DPO, and ESFT, and is released as a usable model in its own right. An RL-trained v2 will follow soon. DPO and ESFT hyperparameters are not being published.
Qwythos-27B was post-trained on the same curriculum family as Qwythos-9B — STEM and reasoning first, then the agentic target domain — scaled up to 27B.
The pipeline is full-parameter SFT → DPO → ESFT, run in bf16 with assistant-only loss on long, untruncated sequences. Qwythos-27B-v1 is the checkpoint at the end of that pipeline, before reinforcement learning.
Training data, per-stage hyperparameters, and the packing and kernel setup are not being published.
The base is multimodal. For text-only inference, load it with AutoModelForImageTextToText:
Use a recent transformers with Qwen3.5 support and Gated-DeltaNet kernels (flash-linear-attention and a CUDA-matched causal_conv1d). Without them, the linear-attention layers fall back to slower PyTorch operations.
The static YaRN factor of 4.0 has a short-context quality trade-off. For roughly 512k context, use factor 2.0; if you will never exceed the 262,144-token native window, restore rope_parameters.rope_type to "default" from the included config.json.pre_yarn backup for maximum short-context fidelity.
For GGUF releases, including llama.cpp, Ollama, and LM Studio workflows, see empero-ai/Qwythos-27B-v1-GGUF. The recommended default is Qwythos-27B-Q4_K_M.gguf; the MTP-enabled default is Qwythos-27B-MTP-Q4_K_M.gguf. Image use also requires mmproj-Qwythos-27B-F16.gguf alongside the selected text quant.
Qwythos-27B is a reasoning model and inherits Qwen3.5's thinking-mode behaviour. These are the shipped defaults in generation_config.json and the recommended starting point:
max_new_tokens so the <think> block and the final answer both fit.Use repetition_penalty=1.05 — a small deviation from Qwen's default of 1.0 that prevents rare non-terminating reasoning loops on long generations.
Sign up for the Empero newsletter at empero.org for releases, evaluations, and research notes on Qwythos and future open-weight models.
If this model helped you, consider supporting the project:
bc1qx6zepu6sfkvshgdmc4ewu6pk6rpadvpgffpp7vltc1qv2mefzps2vtjcpwfx8xxdrpplrcvltswm68r7x42Dbm5xg5Nq26fdyzfEU7KBnAJfhi7Cvz5J2ex5CzHXkfKuNEJzYCcmJ1GTbgjFZ5MBx72sdG1G9239Cd6rsZfv4QeDkYJYQwythos-27B-v1 is derived from Qwen3.5-27B. The weights are released under Apache-2.0, inherited from the Qwen3.5-27B base, for research and experimentation as-is.
<tool_call><function=NAME> <parameter=PARAM>value</parameter></function></tool_call>from transformers import AutoModelForImageTextToText, AutoTokenizer
model_id = "empero-ai/Qwythos-27B-v1"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForImageTextToText.from_pretrained( model_id, dtype="bfloat16", device_map="auto",)
messages = [ { "role": "user", "content": "Explain the trade-offs in this terminal plan and propose the next command.", }]prompt = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True)inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
output = model.generate( **inputs, do_sample=True, temperature=0.6, top_p=0.95, top_k=20, repetition_penalty=1.05, max_new_tokens=16384,)new_tokens = output[0][inputs["input_ids"].shape[1]:]print(tokenizer.decode(new_tokens, skip_special_tokens=True))TOOLS = [ {"type": "function", "function": { "name": "run_shell", "description": "Run a shell command and return combined stdout/stderr.", "parameters": {"type": "object", "properties": {"command": {"type": "string"}}, "required": ["command"]}}}, {"type": "function", "function": { "name": "web_search", "description": "Search the web for current facts and citations.", "parameters": {"type": "object", "properties": {"query": {"type": "string"}, "max_results": {"type": "integer"}}, "required": ["query"]}}},]
prompt = tokenizer.apply_chat_template( messages, tools=TOOLS, tokenize=False, add_generation_prompt=True)# then parse <tool_call><function=...><parameter=...>...</parameter></function></tool_call>VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve empero-ai/Qwythos-27B-v1 \ --max-model-len 1010000gen_kwargs = dict( do_sample=True, temperature=0.6, # Qwen3.5 thinking-mode recommended top_p=0.95, top_k=20, repetition_penalty=1.05, max_new_tokens=16384, # generous budget for the <think> block + final answer)