显然没谁真的需要一个擅长乘法的Transformer我只是想知道,如果直接指定权重,一个现成的Transformer能不能做精确的算术
我用Torchwright(我自己写的一个编译器)把小学竖式算法做成计算图,编译成了一个普通的Phi-3 Hugging Face模型文件,全程没有训练这个三位数计算器在全部300万条支持的表达式上都算对了我也发布了支持最长12位乘12位乘法的模型文件到Hugging Face
好玩的是,我还关掉推理能力测了六个前沿模型数字一变长,它们准确率就断崖式下跌;到了七位数,有五个模型500题全错我的模型始终100%正确,不过这占了个大便宜——乘法算法是我直接写进权重里的
最后我一共做了四个版本:小学竖式版硬件风格版草稿纸版和暴力记忆版它们算的都是同一个函数,只是层数宽度生成token数和参数规模的分配方式很不一样