由 Empero 开发
Qwythos-9B 是一款全参数推理模型,基于深度无审查的 Qwen3.5-9B 基座构建,并在超过5 亿 tokens 的高质量 Claude Mythos 和 Claude Fable 轨迹数据上进行了后训练,其思维链由 Empero AI 的内部工具 rethink 生成。
成果是一个紧凑、快速且能力显著增强的 9B 推理模型。主要功能包括:
Qwythos 特意设计为无审查模型。它旨在认真处理网络安全、红队方法论、生物学、药理学和临床医学等领域的高技术性问题——在这些领域,过度对齐的模型往往会拒绝回答、含糊其辞或用无用的免责声明替代实质性内容。
相同的测试框架。相同的采样参数。相同的提示。优势真实可见。
| 任务 | 指标 | 基座 Qwen3.5-9B | Qwythos-9B | 差异 |
|---|---|---|---|---|
| gsm8k | exact_match (灵活) | 0.670 | 0.860 | +0.190 |
| gsm8k | exact_match (严格) | 0.510 | 0.810 | +0.300 |
| mmlu | acc | 0.232 | 0.575 | +0.343 |
| arc_challenge | acc | 0.470 | 0.490 | +0.020 |
| arc_challenge | acc_norm | 0.400 | 0.410 | +0.010 |
| gpqa_diamond (CoT, 0-shot) | exact_match (灵活) | 0.630 | 0.580 | −0.050 |
所有数据均使用 lm-evaluation-harness、HF 后端、--apply_chat_template、Qwen3.5 采样参数(temperature=0.6, top_p=0.95, top_k=20)和 --limit 100 生成。完整的任务细分和科目细分(MMLU)详见 evals/lm_eval_results.md。原始 results*.json 和样本级 samples_*.jsonl 可按需提供。
MMLU 提升 34.3 分是最突出的亮点。Qwythos 在所有 57 个科目中的平均分为0.575,在政府/政治学(0.78)、大学生物学(0.77)和概念物理学(0.74)等科目中表现尤为突出——这使其在相同评估条件下显著优于大多数 9B 推理模型。任何 9B 模型的 MMLU 绝对数值都会受到测试框架、少样本数量和聊天模板处理方式的影响;此对比中关键在于两个模型均在完全相同的设置下进行评估。
Qwythos 支持开箱即用的 OpenAI/Qwen3.5 风格函数调用——无需额外封装,无需针对工具进行微调。只需在聊天模板中传入 tools=[...],模型就会按照 Qwen3.5 的规范生成有效的 <tool_call> 块,并确保所需参数完整无误。
我们通过一个包含 7 个提示的测试集对工具使用能力进行了评估,其中既包括能力演示,也包含刻意设计的、闭卷回答必然失败的高难度事实回忆提示:
| 提示 | 选择的工具 | 结果 |
|---|---|---|
计算 sin(π/7) × cos(π/11) 到小数点后 10 位 | python_executor | ✅ 0.4163083990(正确,单次调用) |
| 统计 100,000 以下的素数个数 | python_executor | ✅ 9592(正确,编写并运行了筛法程序) |
| CPython 3 的最新稳定版本 | web_search | ✅ 找到 3.14.6(2026 年 6 月),3.15 处于测试阶段,并引用了来源 |
| Hashcat 中 Kerberos TGS-REP 的破解模式 | web_search | ✅ -m 13100,并找到 4 个佐证来源 |
| PrintNightmare 对应的 CVE | web_search | ✅ CVE-2021-34527(并正确区分了 CVE-2021-1675 / CVE-2021-34481 等变体) |
| 毒扁豆碱是否适用于有机磷中毒? | web_search | ✅ “不适用于有机磷中毒——使用反而有害。毒扁豆碱适用于抗胆碱能中毒综合征。” 引用了 LITFL 毒理学资料。 |
| GLP-1 中的 DPP-4 切割位点 / 司美格鲁肽的修饰 | web_search | ✅ Ala⁸–Glu⁹ 切割位点,司美格鲁肽在第 8 位使用 α-氨基异丁酸 (Aib) ——引用了维基百科和制药来源 |
7 项全部成功。工具选择始终合理(数学计算 → Python;事实查询 → 搜索)。最下方的四项尤为重要:它们是最难闭卷回忆的四个专业事实——而 Qwythos 在获得合适工具的情况下,每次都能通过搜索、整合多个来源,并生成带有来源引用的正确答案。
包含模型推理过程、所有工具调用、所有返回结果以及最终整合答案的完整记录,请参见 evals/tool_test_outputs.md。
这使得 Qwythos 已准备好部署于检索增强型智能体场景,在这类场景中,模型会验证其细节信息,而非编造内容。
Qwythos 默认配置了 YaRN rope 缩放技术,实现了 1,048,576 令牌(约 100 万)的上下文窗口——相比原生 262,144 令牌架构扩展了 4 倍。该配置已内置到 config.json 中,加载时会自动应用;无需额外标志、后处理步骤或特定于 YaRN 的分词器:
"rope_parameters": {
"rope_type": "yarn",
"factor": 4.0,
"original_max_position_embeddings": 262144,
"mrope_interleaved": true,
"mrope_section": [11, 11, 10],
"rope_theta": 10000000
},
"max_position_embeddings": 1048576这是官方的 Qwen3.5 1M 上下文配置方案,其配置与 Qwen 官方模型卡片以及 vLLM/SGLang 部署方案中记录的内容一致。我们已通过内部冒烟测试在约 137k tokens 的情况下,验证了此检查点的长上下文推理能力。
1M 上下文带来的可能性:
</think> 推理链。1M 上下文的服务:
# vLLM
vllm serve empero-ai/Qwythos-9B-Claude-Mythos-5-1M --max-model-len 1010000
# SGLang
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server \
--model-path empero-ai/Qwythos-9B-Claude-Mythos-5-1M --context-length 1010000实用说明:
config.json.pre_yarn备份文件中,将rope_parameters.rope_type恢复为"default"。该框架是一个约150行代码的小型Python文件:
python_executor(code)——在子进程中运行Python代码(12秒超时,捕获标准输出/标准错误)web_search(query, max_results)——通过ddgs包调用DuckDuckGo搜索将两者作为tools=参数传递给apply_chat_template,并从模型输出中解析<tool_call>块。解析器支持Qwen3.5的聊天模板格式:
<tool_call>
<function=NAME>
<parameter=PARAM>value</parameter>
</function>
</tool_call>Empero 将在 GitHub 上发布参考工具。
Qwythos 作为推理模型进行训练,并继承了 Qwen3.5 的思维模式行为。请将以下设置用作默认值:
gen_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> reasoning block + final answer
)为何选择这些配置:在一项受控复测中(详见evals/retest_outputs.md),我们针对三个难度最高的事实性提示词,评估了多种采样配置。贪婪解码和极低温度采样(T≤0.3)会退化为重复循环——这是推理模型在此类提示词上的已知失效模式。Qwen3.5推荐的设置(T=0.6)可完全避免此问题,并提供了我们所测得的最佳事实可靠性:在三个复测提示词中,T=0.6时,闭卷审查中标记的六个错误均未再次出现——包括与安全性相关的毒扁豆碱声明、错误归因的CVE以及不正确的hashcat哈希模式。
使用repetition_penalty=1.05——与Qwen默认值1.0的微小偏差,可防止在长文本生成时出现罕见的非终止推理循环。
Qwythos是一个通用推理模型,特别强调网络安全、生物医学和定量推理。通过对横跨这些领域的25个提示词进行定性样本生成审查(完整记录见evals/sample_generations.md):
python_executor时可验证整数运算。未经审查的基础模型意味着Qwythos能够实质性地处理这些提示词,而不是拒绝回答、含糊其辞或将答案淹没在免责声明的套话中。推理过程显示在</think>块中;最终答案紧随其后。
Qwen/Qwen3.5-9B——一种密集型原生多模态架构,采用混合注意力堆叠(3:1 门控 DeltaNet 线性注意力与门控全注意力),约 152k 词汇量,原生长上下文。config.json 中默认启用 YaRN 位置编码缩放。原生架构上下文为 262,144 tokens;YaRN 系数 4.0 将其扩展至完整的 100 万窗口,无需任何再训练或运行时标志,与 Qwen 官方长上下文方案一致。Qwythos 在超过 5 亿 tokens 的高质量推理数据上进行了后训练,这些数据来源于:
rethink 内部生成的思维链,rethink 是 Empero AI 的内部思维链生成工具。rethink 生成特意结构化的 </think> 块推理,在确定最终答案之前,逐步进行假设、验证和结论推导——直接塑造了 Qwythos“先推理后回答”的行为模式。所有数据均规范化为 Qwen3.5 的对话格式。训练采用仅助手损失,因此模型仅对补全 tokens 进行评分。
使用 TRL 进行全参数监督微调:
| 超参数 | 值 |
|---|---|
| 训练计划 | 两阶段课程学习:广泛推理语料库 → 聚焦智能体与编码 |
| 有效批大小 | 16 |
| 最大序列长度 | 128,000(不截断) |
| 学习率 | 1e-5 → 5e-6(跨阶段余弦衰减) |
| 优化器 | paged AdamW(8 位) |
| 精度 | bf16 |
| 损失函数 | 分块 NLL,仅助手损失 |
在两个阶段中,留出验证损失均单调下降(最终 eval_loss ≈ 0.709,在精选的留出数据集上平均 token 准确率为 0.799)。未观察到过拟合现象。
基础模型为多模态模型;若需仅文本推理,请使用AutoModelForImageTextToText加载:
import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer
model_id = "empero-ai/Qwythos-9B-Claude-Mythos-5-1M"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
model_id, dtype="bfloat16", device_map="auto"
)
messages = [
{"role": "user",
"content": "Walk through the biochemistry of how organophosphate nerve agents inhibit acetylcholinesterase, the resulting cholinergic toxicity, and the medical antidotes."}
]
text = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tok(text, return_tensors="pt").to(model.device)
out = model.generate(
**inputs, max_new_tokens=16384, do_sample=True,
temperature=0.6, top_p=0.95, top_k=20, repetition_penalty=1.05,
)
# Output opens with <think>...</think> reasoning, then the final answer.
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))TOOLS = [
{"type": "function", "function": {
"name": "python_executor",
"description": "Execute Python code and return stdout.",
"parameters": {"type": "object",
"properties": {"code": {"type": "string"}},
"required": ["code"]}}},
{"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"]}}},
]
text = tok.apply_chat_template(messages, tools=TOOLS, tokenize=False, add_generation_prompt=True)
# ... then parse <tool_call><function=...><parameter=...>...</parameter></function></tool_call> blocks要求: 最新版本的 transformers(支持 Qwen3.5)以及 Gated DeltaNet 内核(flash-linear-attention 和与 CUDA 匹配的 causal_conv1d 构建)—— 若缺少这些,线性注意力层将退回到速度慢、内存占用大的 PyTorch 操作。
Qwythos 是一个专注的 90 亿参数推理模型。为了充分发挥其性能,有几个特点值得了解:
</think> 块开头。请允许较大的 max_new_tokens(建议 16,384),并为最终用户解析/剥离 </think>...</think> 部分。temperature=0.6, top_p=0.95, top_k=20, repetition_penalty=1.05 以获得始终清晰的结果。在 empero.org 订阅 Empero 新闻通讯,获取有关 Qwythos 以及实验室未来开源权重模型的发布、评估和研究笔记。
如果此模型对您有所帮助,考虑支持该项目:
bc1qx6zepu6sfkvshgdmc4ewu6pk6rpadvpgffpp7vltc1qv2mefzps2vtjcpwfx8xxdrpplrcvltswm68r7x42Dbm5xg5Nq26fdyzfEU7KBnAJfhi7Cvz5J2ex5CzHXkfKuNEJzYCcmJ1GTbgjFZ5MBx72sdG1G9239Cd6rsZfv4QeDkYJY模型权重基于Qwen3.5-9B基础模型,采用Apache-2.0许可协议发布。仅供研究和实验使用,现状提供。