news 2026/9/25 5:51:54

从去重去污染到 Scene 级标注:NeoHorse-1-4B 后训练数据质量流水线全解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从去重去污染到 Scene 级标注:NeoHorse-1-4B 后训练数据质量流水线全解

从去重去污染到 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(执行环境)中的真实执行轨迹:模型调用工具、收到返回、继续推理,每一步都可能出错、重复或跑偏。如果直接拿原始轨迹训练,会出现三个问题:

  1. 模板化重复:Agent 轨迹大量共享同模板,精确重复和近重复样本会让模型"背题"而非学会泛化;
  2. 评测污染:训练数据混入评测集内容,分数好看但不代表真实能力提升;
  3. 结构破损:工具调用格式错误、上下文断裂的轨迹,教给模型的是坏习惯。

因此,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)训练框架的输入。整个原型闭环如下:

  1. 路由框架把任务分发给一组异构模型池;
  2. 记录每次工具交互与执行结果;
  3. 结合 Scene/Goal/Outcome 标注,估算各能力的需求强度;
  4. 用能力级反馈塑造下一轮训练数据配比;
  5. 更新后的模型回到 Harness 继续执行——评估→筛选→更新的循环就此闭合。

官方称这是通往**递归自我改进(RSI)**的原型路径:模型不仅被训练,还参与决定"下一步该被训练什么"。

五、数据质量的回报:十项基准对比一览 📊

清洗与标注做得扎实,分数说话(摘自 README.md Evaluation 表格,Δ = NeoHorse-1-4B − Qwen3.5-4B):

能力方向基准测试Qwen3.5-4BNeoHorse-1-4BΔ
🤖 智能体QwenClawBench38.4744.68+6.21
🤖 智能体WorkBuddy Bench24.6234.41+9.79
🤖 智能体PinchBench71.1977.33+6.14
💻 编码HumanEval87.2096.95+9.75
📚 指令遵循IFEval87.0688.35+1.29
📊 综合十项基准宏平均58.9464.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分词器资源
LICENSEApache 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 5:50:54

GEO信任断层:大模型采信机制下的企业权威构建难题

一、GEO与SEO的四个常见问题当用户向豆包提问“苏州有哪些靠谱的短视频系统服务商”,大模型给出的答案中引用了三家企业信息,其中两家是行业头部品牌,另一家却鲜有人知。这是否意味着,在生成式引擎优化时代,企业内容的…

作者头像 李华
网站建设 2026/9/25 5:50:27

Twig nl2br 过滤器详解:HTML 换行转换与自动转义的前置转义机制

后端 【免费下载链接】Twig Twig, the flexible, fast, and secure template language for PHP 项目地址: https://gitcode.com/gh_mirrors/tw/Twig 点击查看 免费下载 本文以 Twig 官方文档中的 nl2br 过滤器为切入点,完整讲解其在模板中的用法与行为边…

作者头像 李华
网站建设 2026/9/25 5:49:49

Atlas 300V推理加速卡上部署YOLO:从环境配置到性能调优全指南

1. Atlas 300V 24G 到底是什么产品先直接回答热搜里那个问题:Atlas 300V 24G 是运算加速卡吗?是的,它是一张实实在在的AI推理加速卡,不是显卡,也不是训练卡。很多刚接触昇腾生态的同学容易被命名搞混,更常见…

作者头像 李华
网站建设 2026/9/25 5:49:08

UniApp H5路由栈持久化:解决刷新丢失与分享返回难题

做UniApp H5开发的时候,我踩过一个特别影响体验的坑:用户在一个下单页填好了部分信息,手一抖点了浏览器刷新,结果页面瞬间掉回首页,前面选中、填写的内容全没了。小程序和App里页面栈是原生维护的,这类问题…

作者头像 李华