从去重去污染到 Scene 级标注:NeoHorse-1-4B 后训练数据质量流水线全解
【免费下载链接】NeoHorse-1-4B项目地址: https://ai.gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B
🐴NeoHorse-1-4B是由 TokenRhythm 团队基于 Qwen3.5-4B 后训练得到的 4B 参数智能体(Agent)语言模型。它最大的看点之一,是一条覆盖"去重 → 去污染 → 结构校验 → 语义评估 → Scene 级标注"五道工序的后训练数据质量流水线——正是这套流水线,让它在 10 项基准测试的宏平均上达到 64.87 分,比基座模型高出+5.93 分。本文面向新手,完整拆解这条数据流水线是如何把"Agent 执行轨迹"变成可靠训练信号的。
一、先认识 NeoHorse-1-4B:为 Agent 而生的 4B 模型
如果你只关心模型本身,先记住这几点:
| 属性 | 说明 |
|---|---|
| 模型规模 | 约 4B 参数的因果语言模型 |
| 基座模型 | Qwen3.5-4B(后训练微调) |
| 能力定位 | 智能体工具调用、编码、推理、指令遵循 |
| 上下文长度 | 原生 262,144 tokens,可扩展至约 100 万 |
| 权重格式 | Safetensors / BF16 |
| 许可证 | Apache 2.0 |
📌 更完整的模型细节见 README.md 的 Model Details 与 Evaluation 章节。
模型架构参数(32 层、混合线性/全注意力、BF16 精度等)都记录在 config.json 中,其中modification_notice字段明确说明了 TokenRhythm 的修改内容:仅在语言模型权重上做了微调与纯文本推理重打包,张量数值本身未被重打包改动。对话行为则由 chat_template.jinja 模板控制。
二、为什么数据质量是后训练的生命线?
🤔 新手常见疑问:模型不就是喂数据训练吗,为什么要专门搞一条"数据质量流水线"?
关键在于 NeoHorse 这类 Agent 模型的训练数据来源与普通模型不同——它来自智能体在 Harness(执行环境)中的真实执行轨迹:模型调用工具、收到返回、继续推理,每一步都可能出错、重复或跑偏。如果直接拿原始轨迹训练,会出现三个问题:
- 模板化重复:Agent 轨迹大量共享同模板,精确重复和近重复样本会让模型"背题"而非学会泛化;
- 评测污染:训练数据混入评测集内容,分数好看但不代表真实能力提升;
- 结构破损:工具调用格式错误、上下文断裂的轨迹,教给模型的是坏习惯。
因此,NeoHorse-1-4B 的后训练流水线把"清洗数据"变成了一道有明确分工的流水线(见 README.md Highlights 的 Data quality 条目):
原始 Agent 轨迹 ↓ ① 精确/近重复去重 ↓ ② 评测去污染 ↓ ③ 结构校验 ↓ ④ 六维语义评估 ↓ ⑤ 子场景级 Scene / Goal / Outcome 标注 高质量训练数据 → 路由训练框架 → 下一轮训练配比下面逐道工序拆解。
三、五道工序拆解:数据质量流水线全解
工序① 精确与近重复去重(Deduplication)
- 精确去重:完全相同的记录只保留一份,是最基础的一步;
- 近重复去重:识别"换了几个词、调换了顺序"的相似样本。Agent 轨迹天然模板化(同一任务换参数重跑),近重复尤其高发。
💡 通俗理解:去重就像"题库清理",防止模型把一套题的 100 个变体当成 100 个新知识点。
工序② 评测去污染(Decontamination)
把训练数据与评测集做比对,删除或隔离与评测题目重叠的样本。NeoHorse 参与对比的评测包括 QwenClawBench、HumanEval、LiveCodeBench、IFEval、tau2-Bench 等十余项——只有先"防住考试泄题",最终的+5.93 平均分才站得住脚。
工序③ 结构校验(Structural Validation)
Agent 轨迹对格式极其敏感:工具调用必须是合法结构、参数与返回要能对应、Harness 上下文要完整。结构校验会在语义评估之前,先把"格式上就不合格"的样本筛掉,避免后续评估浪费算力。
工序④ 六维语义评估(Six-dimensional Semantic Evaluation)
过了结构关的样本,还要在六个语义维度上接受质量打分(完整维度定义以技术报告为准)。这类多维语义评估的典型关注点包括:指令与回答是否对齐、工具使用是否合理、推理链条是否自洽、执行结果是否正确等。它的意义在于——结构合法 ≠ 语义优质,一道参数写对但逻辑跑偏的轨迹同样会教坏模型。
工序⑤ 子场景级 Scene / Goal / Outcome 标注
这是整条流水线最有"Agent 味"的一步:
| 标签 | 含义 | 作用 |
|---|---|---|
| Scene | 这段轨迹处于什么场景 | 刻画任务分布 |
| Goal | 这段轨迹要达成什么目标 | 刻画能力需求 |
| Outcome | 实际执行结果如何 | 刻画成功/失败信号 |
标注粒度是子场景(subscene),即把一条长轨迹切成多个小片段分别打标,而不是给整条轨迹一个笼统标签。这样,路由训练框架才能精确估算"当前模型在哪类能力上需求最大",进而动态调整下一轮训练数据配比。
四、路由训练框架:让数据质量形成闭环 🔁
标注不是终点,而是路由(Routing)训练框架的输入。整个原型闭环如下:
- 路由框架把任务分发给一组异构模型池;
- 记录每次工具交互与执行结果;
- 结合 Scene/Goal/Outcome 标注,估算各能力的需求强度;
- 用能力级反馈塑造下一轮训练数据配比;
- 更新后的模型回到 Harness 继续执行——评估→筛选→更新的循环就此闭合。
官方称这是通往**递归自我改进(RSI)**的原型路径:模型不仅被训练,还参与决定"下一步该被训练什么"。
五、数据质量的回报:十项基准对比一览 📊
清洗与标注做得扎实,分数说话(摘自 README.md Evaluation 表格,Δ = NeoHorse-1-4B − Qwen3.5-4B):
| 能力方向 | 基准测试 | Qwen3.5-4B | NeoHorse-1-4B | Δ |
|---|---|---|---|---|
| 🤖 智能体 | QwenClawBench | 38.47 | 44.68 | +6.21 |
| 🤖 智能体 | WorkBuddy Bench | 24.62 | 34.41 | +9.79 |
| 🤖 智能体 | PinchBench | 71.19 | 77.33 | +6.14 |
| 💻 编码 | HumanEval | 87.20 | 96.95 | +9.75 |
| 📚 指令遵循 | IFEval | 87.06 | 88.35 | +1.29 |
| 📊 综合 | 十项基准宏平均 | 58.94 | 64.87 | +5.93 |
📎 评测协议:SGLang v0.5.17、thinking 模式开启,QwenClawBench、WorkBuddy Bench、tau2-Bench 各跑三次取均值,其余遵循官方协议。
六、快速上手:部署 NeoHorse-1-4B
⚡ 想亲手体验,两步即可。
第一步:获取模型文件
git clone https://gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B第二步:用 SGLang 或 vLLM 启动服务(二者均暴露 OpenAI 兼容接口):
pip install "sglang==0.5.17" python3 -m sglang.launch_server \ --model-path /path/to/NeoHorse-1-4B \ --served-model-name neohorse-1-4b \ --context-length 262144 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder启动后即可向/v1/chat/completions发送请求,完整示例见 README.md 的 Deployment 章节。
七、仓库关键文件速查 📁
| 文件 | 作用 |
|---|---|
| README.md | 模型卡:能力、评测结果、部署指南 |
| config.json | 架构配置与修改声明 |
| chat_template.jinja | 对话模板(含思考与工具调用格式) |
| model.safetensors.index.json | 权重分片索引(总大小约 8.4 GB) |
| model-00001-of-00002.safetensors / model-00002-of-00002.safetensors | 模型权重(BF16) |
| tokenizer.json / vocab.json / merges.txt / tokenizer_config.json | 分词器资源 |
| LICENSE | Apache 2.0 许可文本 |
总结
NeoHorse-1-4B 给出的核心启示,可以浓缩成三句话:
- 去重与去污染守住"公平":不背题、不泄题,提升才真实可信;
- 结构校验 + 六维语义评估守住"合格":先剔除坏格式,再筛掉坏语义;
- Scene / Goal / Outcome 子场景标注守住"方向":让路由训练框架知道下一轮该往哪里发力,形成通往 RSI 的闭环。
对自研 Agent 模型的同学而言,这条"五道工序"流水线是一份可以直接参考的数据质量检查清单——模型能力上限,往往就藏在数据管线的细节里。
【免费下载链接】NeoHorse-1-4B项目地址: https://ai.gitcode.com/hf_mirrors/TokenRhythm/NeoHorse-1-4B
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考