Parts-of-Speech as Emergent Categories in SAE Latent Space
Alessandro Bondielli, Lucia Passaro, Serena Auriemma, Alessandro Lenci
cs.CL
2026-09-24
Llama-3-8B 第 30 层 SAE 能线性读出词性,一类对应一组稀疏特征。498 个潜变量保住多类分类,开类更散、闭类更紧、组间重叠。
稀疏自编码器(Sparse AutoEncoder,SAE)把语言模型的稠密激活拆成高维稀疏潜变量。圈子里常把「一条潜变量对应一个可解释概念」当成默认图景。词性(part-of-speech,PoS)是个合适的试金石:标签离散、有独立标注,开类(名词、动词)和闭类(限定词、连词)的词汇开放度差很大。如果 SAE 真按原子语法特征工作,词性应当能一对一落到单条潜变量上。
比萨大学 CoLingLab 用 Llama-3-8B 第 30 层残差流上的 EleutherAI SAE(扩展 32 倍,131,072 维)在英语 GUM 树库上测这件事。GUM 有 14,353 句、252,284 个词、17 个 Universal Dependencies 词性标签。问题不是「词性信息在不在」,是它在稀疏空间里怎么排。
流程分三步。
对照包括:把词形随机改词性标签的记忆控制、第 0 层嵌入和第 30 层原始残差探测、以及把紧凑集合随机替换一部分潜变量。
词性可以从 SAE 激活里线性读出来。随机改标签的控制探测只有 0.54 准确率、0.42 Macro-F1,真实标签写成 0.88 / 0.97,差 34 到 37 个点,不完全是背单词。
SAE 探测准确率 0.88、Macro-F1 0.78,和第 0 层嵌入持平,略低于第 30 层原始残差的 0.92 / 0.84。作者称特征大约少 8 倍。498 对 4,096 维残差大约就是这个比例。SAE 的贡献是分解和定位,不是更高的探测分数。
| 探测输入 | 准确率 | Macro-F1 |
| SAE | 0.88 | 0.78 |
| 第 30 层残差 | 0.92 | 0.84 |
| 第 0 层嵌入 | 0.88 | 0.78 |
组织上对不上「一类一条」。开类 one-vs-rest 分类器平均 7,927 个非零系数,闭类 3,282,其他类 2,094。名词用到 10,043 条,并列连词只要 645 条。覆盖率到 95% 的最小集合并起来是 498 条,其中 12% 被两个及以上词性共享。只拿这 498 条做多类分类,交叉验证准确率 0.87、Macro-F1 0.76;随机换成 0% 重叠时掉到 0.24 / 0.16。
测试集上,目标词性的组内召回大多不低于 0.95,但 Distinctiveness 均值只有 0.27(机会水平 0.06,满分 1)。受控模板上伪多标签分类精度 0.192、召回 0.937、F1 0.318:组在,但不排他。还有一批「句首 token」潜变量会污染受控句。
闭类更紧、更稳,开类更散,还带着词形、位置和标注惯例。形容词和名词共激活,动词和名词在 drink 这类同形词上打架。这更像分布和句法邻域,不像纯语法原子。
对做 SAE 可解释性的人,这篇把「单条潜变量等于一个概念」在词性这个标准语言学范畴上证伪了一截。词性是涌现出来的稀疏特征组,组的大小跟着词汇变异走:限定词在受控数据里几乎塌成单条激活,因为句子里的限定词几乎总是 the。
498 对 130,246 条实际出现过的潜变量,压缩比不小。形态句法信息可以局部化到很小的子集。但探测系数不是因果证据。想拿这些潜变量做电路干预,还得另做消融。
作者自己写了:只看词性这一层;只用 Llama-3-8B 和一个公开 SAE、只抽第 30 层;定位靠线性探针,不是因果干预;受控集很小,主要覆盖名词和动词。
另外两处读下来站不住。一是真实探针那句把 Macro-F1 写成 0.97,表格里 SAE 多类 Macro-F1 是 0.78,两个数字口径不同,文中没对齐。二是紧凑度梯度作者自己也改口了:更像词表大小和形式变异,不一定是抽象程度。英语里介词和从属连词大量同形(by、after、since),跨类共激活有多少来自标注方案,这篇分不开。