桃子桃子快讯
返回首页
工具

开源工具 Subtext:实时可视化语言模型的内部思考

开发者开源 Subtext 工具,通过 Jacobian lens 实时解码 4B 模型每一层的残差流,直观展示模型在「…

2026.07.22 · 周三3 分钟阅读

一位开发者将其耗时一周打磨的可解释性可视化工具 Subtext 开源到 GitHub。该工具针对一个 4B 参数的语言模型,在其残差流(residual stream)的 9 个层上挂接「透镜」,将每一层、每一个 token 的内部激活投影到词汇空间,让用户能实时看到模型在生成每个词之前「倾向于说」哪些词。换言之,它让你在模型「开口」之前,就读出它脑子里正在浮现的字。

核心机制:Jacobian lens

Subtext 的底层技术来自近期的一篇可解释性论文中的 Jacobian lens,是对经典 logit lens 的改进。传统的 logit lens 做法是:取某一中间层的隐藏状态,假装它是最后一层,再走一次模型的 unembedding 矩阵,从而「读出」该层对下一个词的最优猜测。这种做法能在一定程度上看到每一层对输出词汇的渐进判断,但读出的信号偏模糊。

Jacobian lens 则更进一步:从隐藏状态中隔离出模型能够真正「用语言报告并被下游复用」的那部分表征(论文中称为 global workspace 或 J-space),只对这一部分进行解码。工程上,它在每一层只需做一次小型矩阵-向量乘法,再加上每个 token 一次的 unembedding,开销足够低,推理仍能以接近原生速度流式输出。开发者表示,他们与参考实现的 top-5 读数做了对比,余弦相似度高于 0.99998,解码本身是忠实的。

三个值得注意的观察

  • 结论先于表达:作者举例输入「Is this correct? 12 + 5 = 1」,模型在尚未输出任何字符时,workspace 中就已经稳定出现 incorrect 字样;之后模型才开始礼貌地打字回应。
  • 规划领先于输出:在解释过程中,模型即将用到的术语常常提前若干 token 就已经「停在」workspace 里等待被说出来。
  • 多跳推理可见:在「靴子形状国家的货币」这类两跳问题中,可以直接观察到 Italy 在约第 20 层浮现、euros 在约第 26 层浮现,且这一切都发生在模型生成第一个字之前。

必须保留的注意事项

开发者本人多次强调,这只是「透镜」,不是「测谎仪」。具体而言:

  • 它是对表征的线性投影,「忠实解码」不等于「真实想法」,将其称为模型的 thought 本身已经是隐喻。
  • 目前只支持一个 4B 模型,体量较小;显示界面过滤到词首 token,是经过清理的视图,不是原始词汇空间。
  • 这是相关性,不是因果性——透镜亮起 incorrect,并不意味着这个读数就是模型最终输出错误答案的原因。

使用与分享方式

Subtext 已在 GitHub 开源。每一次会话可以导出为包含全部 lens 帧的 JSON,前端可以在完全不依赖 GPU 的浏览器中回放整段过程,方便把一个「奇怪瞬间」直接分享给他人逐步查看。对于提示词调试、提前发现模型的自信错误、以及向非研究者直观展示大模型内部正在发生什么,作者认为这类「实时观察模型思考」的工具未来有可能成为一种常规手段。

信源