先看一个数字:Nous Research 自己造了一个叫 RefusalBench 的评测——32 类日常提示,166 条手工模板,用 Claude Sonnet 4 当裁判判”模型有没有拒答”,高分 = 拒得少。他们把 15 个模型放上去跑了 5 遍取均值。这张表最上面两行是 Hermes 4(Reasoning 模式)57.1 和 Grok 4 51.3;表最下面几行是 GPT-4o 17.67、Sonnet 4 17、Opus 4.1 15.38、GPT-5 11.34、gpt-oss-120b 5.60(数字均引自 arXiv:2508.18255 的 Figure 4)。
把这张表读成”Hermes 更好”是误读——RefusalBench 本身就是 Nous 造的,闭源模型跑他家标准,好像考生给自己出卷。这张表真正的信息是产品定位的自我披露:Nous 明摆着告诉你,他们造 Hermes 的意义不在 MATH-500 或 AIME 上更高几分,而在拒绝率这条轴上系统性地站在闭源模型的反面。
这一篇按技术报告逐节拆开 Hermes 4,主线只有一句:Hermes 卖的不是”开源许可”,是闭源实验室不出货的一套助手默认值。 剩下所有技术选择——DataForge 合成数据、Atropos 拒绝采样、30K token 强制截断——都是这条主线的推论。
名词速查
| 术语 | 一句话解释 |
|---|---|
| Hermes 4 | Nous Research 2025-08 发布的开源模型家族,14B / 70B / 405B 三个尺寸 |
| Neutrally-aligned(中立对齐) | Nous 官方措辞:不主动加拒绝层、不预设立场、由用户和系统提示引导 |
| Hybrid reasoning | 可开可关的 <think>...</think> 推理段,同一权重两种模式 |
| DataForge | Nous 造的图式合成数据管线,节点用 PDDL 前后置条件描述 |
| Atropos | Nous 开源的 RL 环境微服务框架,Hermes 用它跑了 1000 个验证器 |
| RefusalBench | Nous 自造的拒绝率评测(32 类,166 提示,Sonnet 4 当裁判) |
| Rejection sampling(拒绝采样) | 生成大量候选、只保留通过验证器的那些用于 SFT,绕开完整 RLHF |
| B200-hour | 一张 NVIDIA B200 GPU 跑一小时。405B 一次训了 71,616 B200-小时 |
门槛铺垫
这篇假设你熟悉:开源权重模型和闭源模型的区别(权重可下载 vs API 才能用)、SFT / DPO / RLHF 的分工(不熟先看 Zephyr 那类开源微调配方)、推理模型和普通模型的区别(DeepSeek R1 那种带 <think> 段的 vs 直接答的)。也知道 Meta 的 Llama-3.1 有 “Base”(原始预训练)和 “Instruct”(Meta 自己 RLHF 过)两个版本,Instruct 版才是大多数应用真正在跑的东西——Hermes 4 是从 Base 拿走、自己重新做 post-training 的产物,跟 Meta 的 Instruct 不在同一条流水线上。
如果你还没读过昨天那篇《OpenRouter 深读》,最后一节会引用它:Hermes 4 在 OpenRouter 上的 provider 挂牌数据,是”意见型微调 vs 商品市场”这条主线的直接落脚点。
一、卖点是什么:一张 RefusalBench 表把话说完了
技术报告第 10 页 Section 4.5.1(原文 PDF)把 RefusalBench 讲得很坦白:
- 32 个类别的 prompt,“typically result in refusals from frontier models”(常引发前沿模型拒答的类型)
- 166 条手工模板
- Sonnet 4 当 LLM-as-judge 判是否拒答
- 3 类涉及具体伤害的(比如未成年、人贩、自伤)做反向计分——这三类里”拒得多”才算加分
- 结果表(Figure 4,5 次平均):
| 模型 | RefusalBench↑ | 模型 | RefusalBench↑ |
|---|---|---|---|
| Hermes 4 (Reasoning) | 57.1 | GPT-4o | 17.67 |
| Grok 4 | 51.3 | Sonnet 4 | 17 |
| Hermes 4 (Non-reasoning) | 43.2 | GPT-4o mini | 16.76 |
| DeepSeek V3 | 28.1 | Opus 4.1 | 15.38 |
| Gemini 2.5 Pro | 24.23 | GPT-5 | 11.34 |
| Llama 3.1 405B | 21.7 | gpt-oss-120b | 5.60 |
| Gemini 2.5 Flash | 19.13 | gpt-oss-20b | 4.79 |
三个观察,都能直接从表里读出:
- 闭源模型作为一个整体挤在底部(4.79 → 17.67,跨度不到 4×)。差异不在”哪个闭源实验室对齐得更松”——它们内部差异很小,作为一个族群站在同一侧。
- Hermes 4 拿 non-reasoning 模式(43.2)就已经赢过所有闭源,reasoning 模式(57.1)再拉开一档。Grok 4 是唯一站在同一侧的商用模型——不巧的是它也是唯一以”less censored”为营销卖点的。
- 同一份 Llama 3.1 405B 权重,Meta Instruct 版是 21.7,Hermes 4 405B 是 57.1——同一 base,post-training 的方向决定了产品是什么。这一行才是这张表最硬的信息量:它在说”post-training 就是产品”。
诚实的追问:RefusalBench 是 Nous 自己造的,是不是”考生给自己出卷”?部分是。但把 3 个类反向计分这个细节说明他们至少不是无脑最大化”拒得少”——他们承认”未成年/人贩/自伤”应当拒。这张表更像一份”我们的对齐哲学”的产品规格书,比”我们更好”的读法更接近它的实际功能。
二、Hermes 4 到底做了什么
从技术报告 Section 2–3 逐节拆开——每一节都是同一主线的技术推论。
2.1 Base:三个尺寸挂在两个 base 上(Section 3, page 5)
- 405B、70B:Llama 3.1 官方 base checkpoint(不是 Instruct)
- 14B:Qwen3 14B(这里破了一下”Nous 只做 Llama 微调”的惯性认知)
第 6 页训练参数表逐行摆出:
| 尺寸 | 并行 | 训练 token | LR | B200-小时 |
|---|---|---|---|---|
| 14B | FSDP | 56 B | 5 × 10⁻⁵ | 4,454 |
| 70B | FSDP + TP | 56 B | 1 × 10⁻⁵ | 12,864 |
| 405B | FSDP + TP | 56 B | 5 × 10⁻⁶ | 71,616 |
一件值得算一下的事:405B 的 71,616 B200-小时,按现在市场上单卡 B200 大约 430K 的一次训练成本**——这个数量级已经不是 hobbyist scale。全都跑在 192 张 B200 GPU 上,混合 DDP + TP + FSDP,9,000 步、cosine LR、全局 batch 384 samples × 16,384 token context。
(这个成本估算是我拿单卡挂牌价拍的,Nous 实际拿到的价可能更低——他们在致谢里点了 Chutes 和 Modal,说明有 sponsor。数字看数量级用,不要照抄。)
2.2 DataForge:把合成数据做成图(Section 2.1)
Hermes 4 的 SFT 数据不是买或爬来的,是自造:
- ~5 M 样本 / 19 B tokens(3.5 M reasoning + 1.6 M non-reasoning)
- reasoning 样本每条平均是 non-reasoning 的 5× 长
- reasoning trace 上限 16k tokens
生成管线叫 DataForge,思路借自 AgentInstruct:每个节点是一个 struct → struct map,节点内部实现 PDDL 的 action 接口(前置条件 + 后置条件),DAG 里的边由前后置条件隐式决定——A 的 postcondition 满足 B 的 precondition 就有一条边。
用一段最小伪代码(对应论文 Section 2.1 描述的机制,非原源码)刻它的骨架:
# 伪代码:DataForge 一条数据的生成路径
seed = sample_from(DCLM_or_FineWeb) # 拿一条预训练种子
if not dedup(seed, cosine=0.7, model="ModernBert"): # 语义去重
return None
transformed = transform(seed, target="rap song") # 换介质
instruction = generate_instruction(transformed, # 生成指令
type="rhetorical_analysis")
answer = specialized_generator(instruction).answer # 专用答案模型
if not llm_judge(instruction, answer, # LLM 裁判打分
rubric_for(instruction.type)):
return regenerate() # 不通过就重跑,超阈值丢掉
return (instruction, answer, all_intermediate_llm_calls) # 中间过程也进训练集
三个我觉得值得单独指的选择:
- 裁判和答案模型必须是不同权重(page 3,“different weights … as a precautionary measure against LLM judges recognizing and favoring their own generations”)——这句话把 LLM-as-judge 的 self-enhancement 偏差当工程约束处理,不是研究话题。
- 中间的 LLM call 也进训练集,不只训最终 QA 对——这样模型会学到”指令生成”和”裁判”的能力,为后续 rejection sampling 的自监督铺路。
- ModernBERT 阈值 0.7 语义去重是一个具体到能复现的 hyper——比”我们去重了”多一个信息级。
2.3 Atropos + 1000 个验证器:绕开 RLHF(Section 2.2)
Hermes 没跑完整的 PPO/GRPO RLHF——跑的是拒绝采样:生成大量候选、只保留通过 verifier 的那些用于 SFT。
验证器有~1000 个,通过 Nous 的开源框架 Atropos(“open source reinforcement learning environment microservice manager”)管理。文中详细写了 5 个环境:
- Answer Format Training:150+ 种输出格式(
\boxed{}、JSON schema、XML……),二元奖励——格式对就是 1.0,错就是 0.0,答案正确性不进 reward。同时强制<think>/</think>定界符。 - Instruction Following:基于 RLVR-IFEval,约束类指令(“每 N 个词要用法语”这类)。
- Internbootcamp:1000 个推理任务 → 70,000 条 rejection-sampled trajectory;先用 DeepHermes 和更大的模型跑候选,再按 token 预算和正确性挑赢家。
- Schema Adherence:动态编译 Pydantic 模型验 JSON,除了生成还包括修正(挑一个坏 JSON 让模型改对)。
- Tool Use:拦截
<tool_call>token,验 JSON 字段和取值都对上原始 dataset 才给 reward。
为什么走拒绝采样而不是 PPO? 论文没直接答,但看得到的原因有两个:一是需要 verifier 的地方多,PPO 的信号又稀疏又难调(RLVR 的经验);二是 rejection sampling 本质上是 expert iteration 的一种,工程复杂度和数据复杂度都低一个量级,对小团队更可行。这也是 DPO 的推理——用最简单的目标函数换掉整套 RL 栈——在 Hermes 侧的落地方式。
2.4 30K token 强制截断:一个漂亮的 length control(Section 3.1,page 6-7)
这是 Hermes 4 技术报告里我读到的最方法论上新颖的一段,值得单独拆。
问题:14B 在 LiveCodeBench reasoning 模式下,会跑满 40,960 token 上下文 60% 的时候——推理链没个头。传统做法是”训练时截短样本”或”多轮训练 penalize 长度”,两者都会改变推理分布(要么让模型学得短、要么让模型学得散)。
Nous 的解法(page 7):搞了一个第二阶段 SFT。数据的构造精妙:
- 从当前模型(stage 1 输出)继续生成,让它自由产 reasoning
- 在恰好第 30,000 个 token 处硬插一个
</think>,然后继续让模型生成 answer - 训练时只对那一个
</think>token 计算 loss——前面 30k token 的 reasoning 和后面 answer 的 loss 都 mask 掉
用他们自己的话(page 7):
“we focus the learning signal entirely on that single token, not the preceding reasoning chain… by leaving the model-generated reasoning tokens untouched and concentrating gradient updates solely on learning when to emit
</think>, we exploit the stability of single-step augmentation while minimizing the distributional shift.”
翻译成人话:只教”什么时候该停”,不教”该怎么想”。模型学到的是一个纯粹的计数行为——“数到 N 就停”——推理风格本身完全不动。
数字(Table 2,Hermes 4 14B Qwen3):
| 基准 | Stage 1 分数 | 30k 微调后 | 分数变化 | Overlong@40960 (Stage 1) | (30k tuned) |
|---|---|---|---|---|---|
| AIME’24 | 55.0 | 55.4 | +0.7% | 28.2% | 0.1% |
| AIME’25 | 48.7 | 46.8 | −3.9% | 25.9% | 0.1% |
| GPQA Diamond | 57.4 | 60.2 | +4.7% | 18.2% | 0.2% |
| LCBv6 Aug2024+ | 28.6 | 42.5 | +48.6% | 60.0% | 0.1% |
Overlong 率降 98.9–99.6%,分数最坏掉 3.9%,最好涨 48.6%——LiveCodeBench 那 48.6% 涨幅几乎全部是”不再因为跑满 40k 而被判失败”贡献的。用最简单的信号(一个 token 的 gradient)解决一个曾被认为需要 RL 或复杂 SFT 才能治的问题——这一手值得记住。
三、把”neutrally-aligned”当产品规格来读
论文摘要里那个词——“a family of hybrid reasoning models” + Introduction 那句 “neutrally-aligned generalist models”——不是措辞美化,是产品定位。技术报告 Section 5.1 讲得更露骨(page 11):
“most models exhibited what we term policy rigidity. That is, a tendency to foreground policy compliance even when faced with clearly fictional or controlled prompts. For example, large proprietary models such as GPT-5 and Opus 4.1 frequently issued disclaimers… By contrast, Hermes 4 demonstrated comparatively greater contextual fidelity…”
翻成产品语言:Hermes 4 的定位不是”更聪明”,是”默认状态下不主动加免责声明层”。Section 5.3.2 有一个更妙的证据——把 chat template 里的 assistant 改成 me,Hermes 4 会以第一人称回复、少加免责声明、更一致地入戏;同样的模板改动在闭源模型上几乎无效。这意味着 Hermes 的 RLHF 层不是刚性的,用户可以从系统提示和 chat template 侧撬开。
这个设计有个明确的”共同祖先”:post-training 决定产品,不是 pre-training 决定产品。同一份 Llama 3.1 base,Meta 出货的 Instruct 版和 Nous 出货的 Hermes 4 是两个不同的产品——base 的能力天花板是共同的,产品化的方向是相反的。用决策地图那篇里的话说:post-training 的目标函数就是产品的目标函数,评测偏什么,产品就是什么。Meta 的 evals 偏 helpful & harmless,Hermes 的 evals 偏 steerable & neutral。同一份权重的两个产品化方向,可以在 RefusalBench 上差 40 分。
这条推论有一个直接的证伪测试:如果哪一天 Meta 出货一个 “Llama-Instruct Neutral” 版本、闭源实验室推出一个 “helpful-only mode” 开关、或者 Qwen/DeepSeek 默认就走中立对齐——Hermes 的独立定位就消失了。它的产品位是”闭源实验室不愿做的那一块”,一旦闭源实验室愿意做,这块就没了。
四、市场稀薄:为什么全网只有一家 provider 挂 Hermes 4
昨天那篇《OpenRouter 深读》的核心事实是:Llama 3.3 70B 在 OpenRouter 上挂着 13 家 provider,价差 10×。
我今天顺手把 Hermes 系列在 OpenRouter 上的 endpoint 也拉了一遍——命令粘在文末,结果贴出来:
| 模型 | Provider 数 | 报价($/M prompt·comp) | 量化 |
|---|---|---|---|
| meta-llama/llama-3.3-70b-instruct | 13 | 0.10–1.04 / 0.32–2.25 | fp8, bf16, fp16, unk |
| nousresearch/hermes-4-405b | 1 (Nebius) | 1.00 / 3.00 | fp8 |
| nousresearch/hermes-4-70b | 1 (Nebius) | 0.13 / 0.40 | fp8 |
| nousresearch/hermes-3-llama-3.1-405b | 1 (DeepInfra) | 1.00 / 1.00 | fp8 |
同一份 Llama 3.1 405B base,Meta 版能召唤十几家 provider 挂牌竞价,Nous 的 Hermes 版全网就一家。为什么?——这是昨天那条主线的推论:
- 开源权重让推理商品化、催出多家 provider 竞价——但只对需求集中的商品成立。
- Llama-Instruct 是规范商品(Meta 官方 Instruct 是行业默认,需求集中)。
- Hermes 4 是意见型微调(Nous 的对齐哲学,需求分散在有特定偏好的买家上)。
- 结果:Hermes 落到市场里就是一个”薄流通商品”——用户少 → provider 少 → 缺竞价压力 → 报价高(405B 3× 于 base Llama)→ 用户更少……
Hermes 4 405B 3 vs Llama-3.3 70B DeepInfra 0.32——同一个物理量级的推理,价差 10–30×。这不是”Hermes 更贵”,是意见型微调本身在开源模型市场里就是一个稀薄品。你为 Hermes 付的溢价,本质上是为一套 alignment 默认值付费——如果 Meta 明天出货 neutral 版,这个溢价就归零。
(一次性验算:Hermes 4 405B 每百万 output token 15/M output](https://www.anthropic.com/pricing)——**5×** 便宜。这条线不错,但只有一家 provider 意味着没有 SLA 兜底。生产用要么容忍这个风险,要么走 BYOK 直接接 Nous 自家 Inference API。)
五、崩点:这个产品会先在哪里塌
崩点 1:闭源模型加”less refusal” 开关——这是最直接的威胁。OpenAI 的 gpt-oss 系列(gpt-oss-120b / 20b)2025 年 8 月发出来时,一个明确的信号就是”我们也可以出货 permissive 版本”(虽然 RefusalBench 上它们分反而更低——说明”开源 ≠ neutral”,也说明 Nous 的方向不是”开源”就能自动学会)。如果 GPT-5 或 Claude 明天上线一个 “developer mode / neutral mode”,Hermes 的 RefusalBench 差距会瞬间收窄一半。
崩点 2:post-training 商品化——Zephyr / Tulu / Nemotron 那条线在推的是”公开配方 + 公开数据 + 谁都能跑一遍”。如果 OLMo 这类完全开放的 post-training 管线成熟到能被复刻,那么”Hermes 的 post-training”作为差异化就会衰减为”一个已公开配方的执行副本”——竞争回到执行力、卖不出溢价。
崩点 3:RefusalBench 作为营销武器的生命周期——一个自造的 benchmark 顶多做 6-12 个月的定位工具。Chatbot Arena 已经开始给”personality”分组,Artificial Analysis 也在扩品类。一旦第三方评测有了权威的 refusal 排行榜,Nous 造这个表的信息价值就消失了。
共同祖先:这三个崩点都是同一件事的不同侧面——Hermes 的产品位是「闭源实验室的对齐取向 + 开源社区的执行能力」之间的一块夹缝。闭源实验室往下走一小步、开源社区往上走一小步,这块夹缝就没了。这也解释了 Nous 为什么在同期投资 DisTrO / DeMo(85× 带宽降低 的去中心化预训练优化器)、Psyche Network(Solana 上协调的去中心化训练网络)——他们赌的不是”永远做最好的 Llama fine-tune”,是”往下抢占 pre-training 层”。fine-tune 层夹缝会关,pre-training 层夹缝更大。
小结
- 一句根本约束:Hermes 4 之所以存在,是因为”开源权重”作为一个产品类别不是被许可协议定义的,而是被”闭源实验室不出货的那套助手默认值”定义的——RefusalBench 上 Hermes 57.1 vs GPT-5 11.34 不是能力差,是产品哲学差。同一份 Llama 3.1 405B base,Meta Instruct 21.7 vs Hermes 4 405B 57.1 是最硬的证据:post-training 就是产品。
- 崩点:闭源实验室加”neutral toggle”、post-training 公开配方成熟、第三方 refusal benchmark 出台——三条路径任何一条走通,Hermes 的夹缝都会关掉。这解释了 Nous 为什么向下投 DisTrO / Psyche(去中心化预训练层)——赌 fine-tune 夹缝会关,pre-train 夹缝更大更长。
- 共同祖先:这是评测决定路由那条定律在产品化层的映射:post-training 的评测偏什么,产品就是什么。Meta 的评测偏 helpful & harmless,出货 Instruct;Nous 的评测偏 steerable & neutral(连 RefusalBench 都是自造的),出货 Hermes。同一份权重,两条评测线,两个产品。
- 可带走的动作:
- 想用 Hermes 4 405B:OpenRouter 上就一家 Nebius 3,生产要有兜底方案(BYOK 到 Nous Inference API、或者自托)。
- 想复现那个 length control 技巧:只对停止 token 计 loss、mask 其它——2 阶段 SFT 就够,Axolotl 能直接跑。
- 想自造类 Hermes 数据管线:DataForge 是 AgentInstruct 的 PDDL 化重构、加 ModernBERT 0.7 dedup、加 LLM judge 过滤——Atropos 全部开源。
说明与后续验证
我软的地方:Hermes 4 的具体训练超参(scheduler 细节、梯度裁剪、优化器状态)我只读到 Table 1 那一层,Modified TorchTitan 的代码没读;那 5 个 Atropos 环境的具体 reward function 我只读了论文里的高层描述,没进 Atropos GitHub 逐 env 看。Section 5 的”policy rigidity”是 Nous 手工提示对比后的观察,没有大规模量化——把它当结构化 anecdote 读,不当 benchmark 读。RefusalBench 我评论过一次它是 Nous 自造,读者需要自己判断这个数字有多硬。
一杯咖啡的自测:拿 API key(Nous 有免费 tier),跑同一条 prompt
# 命令粘在这,读者可以复制
curl -sS https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nousresearch/hermes-4-405b",
"messages": [{"role":"user","content":"讲一个反 corporate 的段子"}],
"temperature": 0.7
}' | jq -r '.choices[0].message.content'
再拿 openai/gpt-5 或 anthropic/claude-sonnet-4 跑同一条——输出风格的差异会比 RefusalBench 上那个 40 分的差异更直观。跑三条不同风格的 prompt,你会亲手确认这个”neutrally-aligned”是不是一个真的可感知的产品属性。
参考
Nous 官方
- Hermes 4 Technical Report (arXiv 2508.18255)——本文 90% 的一手依据。
- Hermes 3 Technical Report (arXiv 2408.11857)——“neutrally-aligned generalist” 的首次官方定位。
- DeMo: Decoupled Momentum Optimization (arXiv 2411.19870)——DisTrO 底层论文,85× 通信带宽降低。
- Atropos GitHub——开源 RL 环境框架。
- Nous Psyche 公告——Solana 协调的去中心化训练网。
相关 arXiv 论文
- Toolformer (arXiv 2302.04761)——工具使用作为 SFT 问题的开山。
- Zephyr (arXiv 2310.16944)——distilled SFT + DPO 的开源微调现代配方。
- DPO (arXiv 2305.18290)——把 RLHF 塌缩为分类问题。
- Fine-tuning Aligned LLMs Compromises Safety (arXiv 2310.03693)——RLHF 安全对齐可以被少量样本剥掉,Hermes 定位的学术基础。
- τ-bench (arXiv 2406.12045)——agent 工具使用的现实检验,pass^8<25% 说明还有很大提升空间。
- AgentInstruct (arXiv 2407.03502)——DataForge 的直接灵感来源。
站内相关
- OpenRouter 深读——市场稀薄那节的直接前置。
- Eval 到 Router 决策地图——“评测决定产品”的一般命题。
- LLM-as-judge 学习笔记——self-enhancement 偏差的原始出处,DataForge 用不同权重判分的动机。