用途:演示并运行一个由 Transformer 原语编译而成的栈式计算机。指令取指和栈读取均由抛物线注意力头(点积→argmax→取值)实现,Transformer 权重本身就是解析编译出的解释器,而非训练得到。核心观点是注意力即查找、前馈即路由。
主要能力:支持 WASM i32 语义的 55 个操作码,涵盖栈操作、算术、比较、位运算、一元运算、控制流(JZ/JNZ/CALL/RETURN/HALT)、局部变量和内存读写;算术为 32 位有符号、溢出回绕。附带示例程序生成器:斐波那契、乘法、阶乘、欧几里得最大公约数、2 的幂、累加、奇偶判断、原生乘除取余、比较、位运算、条件选择等,均返回(程序,预期结果)。可通过 Mojo 执行器达到约每秒 2100 万步以上,Mojo 不可用时回退到纯 Python 执行器(较慢但可用)。
使用方式:每会话先运行 setup.sh 安装 Mojo 并编译执行器。用 import sys 后 sys.path.insert 引入 src 目录,从 programs 与 runner 导入函数,调用 setup() 后 run(prog) 可查看指令、追踪和结果,benchmark=True、repeat=200 可测吞吐。自定义程序用 isa_lite.program 以汇编元组编写,例如 PUSH、ADD、DUP、JNZ、HALT 等,并通过 run() 执行。
适用场景:研究 Transformer 计算能力、注意力机制可解释性、编译式权重解释器,以及需要可复现的栈式机器实验。
限制:依赖 Mojo 环境才能获得高性能,否则性能下降;操作数仅限 32 位有符号与 WASM i32 语义;具体平台兼容性、收费与授权信息暂未提供。