NCP-ArchPreview:一半数据追平基座,但"概念"人未必读得懂
只让模型"猜下一个字",到底错过了什么?
一句话可以概括所有大语言模型的成长方式:预测下一个 token。token 是模型处理文本的最小单位,可以是一个整词,也可以只是半个词或一个标点。几十亿参数、几万亿训练 token,全部押在这唯一一项任务上。它显然有效,却也埋着一个很少被追问的结构性问题:模型每一步只被要求猜准一个 token,从没有人要求它把握横跨多个 token 的语义单元。老师只考你下一个字母,从不问这段话在讲什么,学生练出来的自然是一身逐字应试的本事。但如果考题换成"这段话在讲什么",模型会长成什么样?把预测单位从"下一个 token"抬到"下一个概念",再放到十亿级参数的大规模上检验,正是这篇报告要做的事。
NCP-ArchPreview 这篇 2026 年 9 月的技术报告,押的正是这个方向。概念在这里不是自然语言短句,而是模型内部学习的、横跨多个 token 的高层语义单元。这套训练范式被命名为 Next Concept Prediction(NCP,下一概念预测)。被改造的基座是 OLMo-3-7B,来自 Allen AI 的全开放模型家族,检验规模达到 8.9B 参数、5.73T 训练 token。
在检验之前,先把这套方案放到研究版图上定位。"让模型在潜在空间里思考"是过去两年一条迅速拥挤的赛道。2026 年中的综述 The Latent Space 把这一领域的方法按"如何利用潜在空间"分成四条主线:Architecture、Representation、Computation、Optimization。NCP 类工作落在最后一条的辅助监督分支,思路是不动模型结构,只在标准 next-token 目标旁边加一个概念级预测任务,逼模型在压缩后的表征上做规划。这张地图只是这个问题的背景:它说明概念预测站在潜在空间研究的哪一支,却回答不了"大规模上成不成立",那要看下面的检验。Latent 综述

图注:The Latent Space 综述的 Mechanism 四线分类图,四列对应 Architecture、Representation、Computation、Optimization 四条主线,每列顶端是线名色块,下方列出代表工作;ConceptLM 被收录在 Optimization 线的辅助监督分支。Latent 综述
这个问题的前史,在小规模上已经演过一回。2026 年 2 月的 ConceptLM 在 Pythia 与 GPT-2 的 70M 到 1.5B 小模型、13 个基准上报告了一致增益,还证明了概念层可以续训进已训好的 Llama-3.1-8B,平均高出参数匹配基线 0.4。NCP-ArchPreview 与 ConceptLM 共享核心作者,相当于同一个团队搬着小模型上的赌注,到十亿级规模检验同一个问题。这块背景板只说明小规模上已经成立。能不能在 8.9B 上重演,才是这篇报告真正要检验的。ConceptLM

图注:ConceptLM 的三栏架构图,左侧是 Token Encoder、Concept Module、Token Decoder 的完整工作流,中间是概念预测过程,右侧是分段向量量化策略;这是 NCP 的原始形态,概念模块只有两层。ConceptLM
于是核心问题摆上台面:概念预测在小模型上可行,在 8.9B 参数、5.73T token 的规模上还成立吗?成立的话,代价又是什么?下一章先看它如何把"概念"变成可训练的东西。
把"概念"变成可训练的东西:三段式架构与概念词典
NCP-ArchPreview 的骨架是一套 16-8-16 的三段式:把 OLMo-3-7B 的 32 层 token 级 Transformer 均匀拆开,前 16 层做 Token Encoder,后 16 层做 Token Decoder,中间插入 8 层 Concept Module。参数合计约 8.94B,也就是 7B 主干再加 1.9B 的增量模块。NCP-ArchPreview
token 流到达 Encoder 尽头时,每 4 个相邻 token 状态被均值池化压成一个连续向量,这个向量就叫一个概念。于是概念序列的长度只有 token 序列的四分之一,Concept Module 在这条短序列上逐概念地做预测。一个直觉化的比方:把 4 个 token 压成一个概念,就像把一段话压成一个关键词标签,模型先想清楚标签,再把标签展开成句子。这个比方到这里只对了一半,接下来的细节会把它补全。
标签不能只是连续向量,否则模型没有参照系。论文给概念配了一本"词典":产品量化(product quantization)码本,具体是 32 组 codebook,每组 128 个词条,每个词条 128 维。概念向量沿特征维被切成 32 段,每一段到对应那组词典里找最近的词条。这样离散概念空间合计有 128 的 32 次方约 2.2×10⁶⁷ 种组合,而每本小词典都足够轻,可以端到端训练。所谓"预测下一个概念",就是为每一段算出一组词条权重再加权求和。注意,预测结果不是从某本词典里挑出的唯一词条,而是 32 组词条按权重拼出来的一个配方。标签词典的比方由此补全:每个概念由 32 本分册各出一词拼成,拼出来的是混合配方而不是现成单词。

图注:NCP-ArchPreview 的整体架构图,从左到右是 Token Encoder、Concept Module、Token Decoder,概念路径与 token 流用不同颜色区分,图中标出了跨模块残差(CRC)与模块内残差(IRC)两类连接。NCP-ArchPreview
为了让信息在三个模块之间顺畅流动,论文加了两类残差连接。模块内残差(IRC)在每个模块内部跨深度做可学习的加权组合,初始化成只取最近状态;跨模块残差(CRC)用 softmax 权重把 Encoder 的信息转给 Concept Module 和 Decoder、把 Concept Module 的信息转给 Decoder,初始缩放接近零,让模型从接近原始主干的位置起步。这套"跨模块跨深度"的走线与 2025 年 MUDDFormer 提出的多路动态密集连接在思路上同源。这条血缘是研究者推断,论文没有明文声明,但形态上的承继是清楚的。MUDDFormer
工程细节可以查到每一行:hidden size 4096,FFN 11008,32 个 attention head,RoPE base 500,000,词表 100,278,训练上下文 8,192,token 级 attention 用 4096 token 滑动窗口且每第四层做一次全量 attention。ArchPreview 模型卡
骨架立起来了:一条 token 流,加一条压缩四倍的概念流。但概念流被词典约束成离散的,而训练必须靠梯度。梯度在离散世界里怎么活下去?这是下一章要拆的坎。
离散的概念世界,梯度怎么才能活下去?
模型被要求同时学三件事,对应三个损失函数,总损失是 $\mathcal{L}{\text{NTP}}+\alpha\mathcal{L}{\text{NCP}}+\beta\mathcal{L}_{\text{VQ}}$。
第一件是保底语言能力。NTP 是标准的 next-token 交叉熵,用融合了概念信息的 token 状态去预测下一个 token。这一项保证概念层再怎么折腾,模型的基本盘不塌。
第二件是核心创新。NCP 在概念序列上做"预测下一个概念",但损失用的是 MSE,拿预测出的连续概念去回归目标概念,而不是对码本做离散分类。为什么不用后者?因为一旦对词条做硬选择,argmax 不可微,梯度会在词典这一步断掉,Concept Module 什么都学不到。软选择(对每组词条算 softmax 权重再加权求和)让预测依旧是连续向量,梯度得以顺畅穿过词典流回模型。离散结构保住了,可微性也保住了,这是整套设计里最关键的一招。
第三件是让词典跟上时代。VQ 损失把 encoder 产出的连续概念当锚点,把各组词条往锚点上拉,编码侧同样挂 stop-gradient。
用一个考场比方把三件事串起来。学生是模型,NTP 是造句基本功,NCP 是一道"预测下一个概念"的考题,VQ 是标准答案册。考题的答案是印刷好的,学生不能改答案册,只能改自己的作答,这就是 stop-gradient,防止学生顺手改掉参考答案来作弊;答案册本身由老师(VQ 损失)定期修订,让它跟上学生水平。MSE 而不是离散分类,相当于考试允许"差一点点"也被度量并传回去,硬选择则没有中间态,错一点就是全错。
| 目标 | 监督对象 | 损失形式 | 梯度流向 |
|---|---|---|---|
| NTP | 下一个 token | 交叉熵 | Token Decoder 及融合状态 |
| NCP | 下一个概念(连续) | MSE,目标侧 stop-gradient | Concept Module,并经概念流间接回 Encoder |
| VQ | 概念词典词条 | MSE,编码侧 stop-gradient | 只更新词条,不动表征 |
工程上,三个目标必须绑在一起训。矩阵参数用 Moonlight Muon 更新,embedding 与 bias 等用 AdamW;论文还专门报告了 attention logit 爆炸这个坑:layer-wise QK norm 配全矩阵 Muon 会产生严重的 Q/K 梯度尖峰;消融实验显示换成 per-head QK norm 能压住,但主实验为了与 OLMo-3-7B 可控对比仍保留 layer-wise 版本,per-head 只作为论文报告的稳定性干预。这些不是炫技,而是三个目标在 5.73T token 上稳定联合收敛的必要条件。
训练目标这一关过了,接下来的问题顺理成章:这套模型真的省钱吗?
省一半训练数据是真的吗?拆开 51.3% 与 +2.45
实验设置干净得近乎奢侈:两个模型在完全相同的数据上、用同样的学习率计划训练。在同数据对照下,NCP-ArchPreview 的 Stage-1 只用了 OLMo-3-7B 训练预算 51.3% 的 token,就达到了对方最终的预训练损失,相当于 1.95 倍的收敛速度,跑完全程后终点损失还低 0.091。

图注:NCP-ArchPreview 与 OLMo-3-7B 的预训练损失对比,左面板是 Stage-1 全程曲线,NCP 曲线稳定压在基线下方,约在 51.3% token 预算处与基线的最终损失相交;右面板是 Stage-2 在 Dolmino 上的曲线。NCP-ArchPreview
先把这个数字的口径钉死。51.3% 是 token 效率,指达到同一参考损失所需的数据量,不是墙钟时间加速。论文没有公布训练花了多少天、多少卡,模型卡也反复标注这一区别,所以别把"省一半数据"换算成"省一半电费"。
再看下游表现。Stage-1 主表上,NCP-ArchPreview 的 Overall AVG 是 49.04,OLMo-3-7B 是 46.59,净增 2.45 个点。拆开看:GSM8K 数学推理 +5.99,PIQA 常识 +8.60,HumanEval 写代码 +4.28,MMLU +2.58;连似然口径的 BPB(bits per byte)也从 0.824 降到 0.811。评测核验
更值得注意的是训练轨迹。从 100K 步到最终,Overall AVG 从 39.64 一路爬到 49.04,中间每个采样点都在涨,没有末期跳变,说明增益是训练过程中渐进积累的,不是某个诡异 checkpoint 的偶然。
这里藏着一个看起来矛盾的点:NCP-ArchPreview 有 8.9B 参数,比 7B 的基座还大,凭什么算力更省?答案在于算力不等于参数量。概念序列只有 token 序列的四分之一,Concept Module 每个 block 的分析算力只有 token 级 block 的约四分之一,于是参数涨了,总 FLOPs 却没有同步涨。论文用 compute-aligned(同等算力预算)和 parameter-aligned(同等参数量)两组对照,把"架构带来的增益"从"多烧算力的增益"里剥出来,得到 1.74× 的 Pareto FLOPs 效率:在算力最优的预算配比下,NCP 的损失曲线整体压过按标准方式扩规模的基线。
于是两个口径必须分开记账。token 效率说的是省材料,FLOPs 效率说的是同等预算下产出更好。二者共同指向一个判断:增益大部分来自架构本身,而不是来自多花的参数。对照实验之所以成立,还得感谢基线本身的全开放:OLMo-3 把训练数据、训练栈、中间 checkpoint 全部公开,这正是"同数据同预算"能逐项对齐的前提。Olmo 3
Stage-2 的续训依然维持这个模式:1.51 倍的 token 收敛、终点损失更低,但下游均分的增益收窄到 +0.59。这个信号后面还会讲到。
学出来的"概念"还能当接口用?
训练结束不等于概念层的价值结束。论文给了两个训练后用法,本质是同一个问题:这些学出来的概念表征,能不能被外部系统当接口复用?
第一个用法是轻量领域适配。把 token 主干整个冻结,只更新概念码本和预测头,可训练参数只有约 17M。效率对比非常直观:同样的适配任务,VQ 方式每 GPU 每秒处理 15,632 个 token,LoRA 是 10,400,全参数微调只有 7,739(8 卡、micro-batch 为 1 的设置下);显存占用分别是 32.4%、49.0% 和 90.3%。NCP-ArchPreview

图注:全量微调、LoRA、VQ 三种训练方式在吞吐(tokens/s/GPU)与单卡显存占用(占容量百分比)上的对比柱图,VQ 在两项上都显著优于其他两种。NCP-ArchPreview
轻量不只是快。领域效果上,VQ 在 Code 任务平均 +2.65,是三种方式里唯一让四个代码任务全部提升的;TriviaQA 知识问答的 EM 提升 9.19,而通用均分几乎不动(+0.03)。对比之下,全参微调在 TriviaQA 上能拿 +18.0 的 EM,但通用均分也掉 0.29(基线 OLMo-3-7B 全参微调掉得更多,达 1.04)。这一结果与"VQ 适配没有更新 FFN 参数"的解释相符:FFN 里存储事实的键值记忆原样保留,概念码本只是把模型已有的知识调出来用,改写事实关联则依赖全参微调那种动到记忆本体的更新。不过这只适用于当前这一组适配设置,论文没有单独验证机制成因,不能据此推断知识任务的上限天然低于全参微调。
第二个用法更出人意料:把概念表征注入推测解码的 drafter(草稿模型)。推测解码的思路是让一个轻量 drafter 先草拟一整块 token,再由大模型一次性验证通过,省去逐字等待。DFlash 2 这类 drafter 把草稿变成块级并行,但每个位置独立选最优词时,相邻位置会各选各的,选不出一条连贯路径,需要用路径选择器收束成单一前行。DFlash 2
NCPFlash 的做法是在 drafter 的每一层注入概念:每个草稿位置额外读入最后一个已完成概念块的因果概念信号,只新增约 0.04M 参数,不需要额外跑一次大模型。结果上,每轮验证平均接受的 token 数(mean accepted length)从 5.933 提到 6.180,相对提升 4.17%,其中 HumanEval 单任务 +7.59%,与"代码任务最受益于块级上下文"的假设一致。NCPFlash 模型卡
口径要再次拎清。4.17% 是 mean accepted length 的相对增益,不是端到端吞吐加速倍数,后者需要配对模型加推理运行时一起量,论文没有给。
概念层至此有了第二个身份。训练期它是被学的东西,训练后它是可复用的接口,冻结主干时它是唯一的可训入口,推理时它又能给 drafter 提供整块上下文。
这条路值得跟吗:局限、位置与判断
先把丑话说在前面。论文在 Limitations 一节自陈两条硬局限:只做了标准上下文的 Stage-1 与 Stage-2,训练上下文只有 8K token;loss 到下游的转化依赖训练分布与评测域,评测集中在 Stage-1,到 Stage-2 宏平均只剩 +0.59(预训练后 +2.45),论文把它归因于中训数据分布与下游任务不匹配。再加上发布形态本身的现实约束,一共是四点:发布的全是未对齐基础模型,没有任何指令微调或 RLHF;论文没有做概念语义解码(如 SAE)层面的分析,模型的离散码本对人类是否可解释仍是开放问题。NCP-ArchPreview
标题里那句"概念人未必读得懂",说的就是第四条。模型内部学出来的离散码本,对人类来说可能只是一堆向量编号。论文没有做稀疏自编码器(SAE)式的语义解码,这是整条路线当前最大的开放问题。
但换个角度看,这些限制并不全是失败,有一部分是刻意收敛的范围。8K 上下文和未对齐,说明报告的目标就是把预训练这一段做扎实;长上下文、对齐、可解释性,都明明白白留给了后续。
把本篇放回开头那张地图。The Latent Space 综述 2026 年 6 月的修订版把 ConceptLM 收录为 Optimization 线的代表工作,但没有收录晚了三个月出现的 NCP-ArchPreview,所以本篇在这张图上的位置,只能通过 ConceptLM 的落点转写,这一点要如实注明。从 ConceptLM 的 0.1B 到 1.5B 小模型,到 NCP-ArchPreview 的 8.9B 参数、5.73T token,概念预测在接近百亿参数规模上给出了可复现证据。再加上 OLMo-3 主干、Dolma-3 数据、Apache 2.0 许可,整条证据链开放可复现。
所以,值得跟吗?答案不是"NCP 必胜"。它没有对齐、没有长上下文、概念不可解释,离产品化还有距离。但它把一个问题真正摆上了台面:语言模型的学习单位,能不能不只是 token。并且它在可复现的开放栈上给出了第一条十亿级数据。一半数据追平基座,是这条研究轴的第一块里程碑;而"概念读不读得懂",是这条轴的下一站。
想深入可以读原文:NCP-ArchPreview Technical Report: Moving towards Latent Space Language Models through Next Concept Prediction,arXiv:2609.10715。
参考文献
| 内部编号 | 来源 | URL |
|---|---|---|
| ref-001 | NCP-ArchPreview Technical Report(锚定论文,arXiv:2609.10715) | https://arxiv.org/abs/2609.10715 |
| ref-002 | Next Concept Prediction in Discrete Latent Space Leads to Stronger Language Models(ConceptLM,arXiv:2602.08984) | https://arxiv.org/abs/2602.08984 |
| ref-003 | ArchSpace-Collection NCP_ArchPreview 模型卡(Stage-1 / Stage-2 / NCPFlash,Hugging Face) | https://huggingface.co/ArchSpace-Collection/NCP_ArchPreview_dolma3_8.9B_Stage1 |
| ref-004 | Olmo 3: Charting a path through the model flow to lead the open-model frontier(arXiv:2512.13961) | https://arxiv.org/abs/2512.13961 |
| ref-005 | NCP_ArchPreview Stage-1 / Stage-2 评测表与 checkpoint trajectory(Hugging Face 模型卡) | https://huggingface.co/ArchSpace-Collection/NCP_ArchPreview_dolma3_8.9B_Stage1 |
| ref-006 | MUDDFormer: Breaking Residual Bottlenecks in Transformers via Multiway Dynamic Dense Connections(arXiv:2502.12170) | https://arxiv.org/abs/2502.12170 |
| ref-007 | The Latent Space: Foundation, Evolution, Mechanism, Ability, and Outlook(综述,arXiv:2604.02029) | https://arxiv.org/abs/2604.02029 |
| ref-008 | DFlash 2: Keep Drafting Parallel(Inco AI 工程博客) | https://inco.ai/blog/dflash2/ |