我一直想弄明白一个问题:抛开“能不能学出来”不谈,Transformer本身到底能表达哪些算法
为了解决这个问题,我做了一个编译器:用普通Python定义一张计算图,它就能直接生成对应的Transformer权重生成出来的是一个标准的Phi-3架构检查点,用原版HuggingFace加载即可,不需要任何自定义代码,也不用开启trust_remote_code,整个流程里完全没有训练环节
手工构造Transformer权重并不是新点子RASP定义了一套语言,其原语可以直接对应到Transformer的子层;Tracr则能把RASP程序编译成真实权重但我想要的是它们没瞄准的两件事:用普通Python表达计算图,以及面向标准架构,让输出能直接用原版HuggingFace加载,不依赖任何自定义代码