# 有人把计算器塞进了 Transformer 权重里

> 原标题：My calculator is a transformer

- 来源：r/LocalLLaMA
- 发布时间：2026-04-30T14:49:18.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/12234
- 原文：https://www.reddit.com/r/LocalLLaMA/comments/1szy8y8/my_calculator_is_a_transformer/

## 摘要

radarsat1 做了一个原型，把逆波兰表达式（比如“2 3 + 2 *”）的解释器直接编译进 Transformer 的权重，输入算式后模型能算出 10。做法是把残差流当寄存器用，注意力权重由编译器算好，非线性的 MLP 逻辑还是靠训练。原型体积 1.1 GB，重点不是实用计算器，而是证明了注意力权重可以完全通过计算得出，不用训练。帖子正文没披露具...

## 推荐理由

我会先打个折：这不是一个实用计算器，1.1 GB 的体积已经说明它不图省资源。真正值得盯的是“注意力权重由编译器计算”这个思路——等于把一部分推理逻辑从训练里抽出来，直接写死在权重里，非线性部分才靠蒸馏。这点先别太激动，正文没披露蒸馏用了多少样本、MLP 层到底学到了什么，验证还很弱。但标题够反直觉，做法也干净，给可解释性方向递了一个新玩具，所以放在 featured 档刚好。

## 锐评

radarsat1这个原型挺有意思，他把逆波兰表达式的解释器直接编译进了Transformer的权重，输入“2 3 + 2 *”能算出10。做法是把残差流当寄存器用，注意力权重由编译器提前算好，只有非线性的MLP逻辑还需要训练。模型体积1.1 GB，显然不是让你拿来当计算器用的，重点在于证明了注意力权重可以完全通过计算得出，而不是非得靠大量数据训练出来。

不过帖子正文没披露具体怎么编译的、编译器逻辑是什么，也没说这个做法能扩展到多复杂的表达式。原型只演示了简单的逆波兰表达式，换成更复杂的算术或逻辑运算还能不能这样搞，目前看不出来。另外，MLP部分还是靠训练，说明完全不用训练的Transformer还没做到，这点先别太激动。

如果这个方法能推广，意味着某些特定任务的模型可以像传统程序一样被“编译”出来，省掉大量训练数据和算力。但现在缺的是更复杂的验证、编译方法的细节，以及这种做法的上限在哪里。
