返回列表
Soul Player C64:在1MHz主频Commodore 64上运行的真实Transformer模型
开源项目人工智能复古计算Transformer

Soul Player C64:在1MHz主频Commodore 64上运行的真实Transformer模型

Soul Player C64是一款在未经改装的Commodore 64(C64)计算机上运行的2层Decoder-only架构Transformer模型。该项目由手写6502/6510汇编语言实现,拥有约25,000个int8参数,支持多头自注意力、Softmax和RMSNorm等核心机制。尽管硬件主频仅为1MHz,但它成功在复古硬件上实现了现代大语言模型的基础架构。

Hacker News

核心要点

  • 架构一致性:采用与ChatGPT、Claude和Gemini相同的Decoder-only Transformer架构。
  • 硬件极限挑战:运行在主频仅1MHz的原始Commodore 64硬件上,完全由手写汇编语言驱动。
  • 技术规格:包含2层、2.5万个int8量化参数,支持多头因果自注意力机制。
  • 运行效率:生成每个Token大约需要60秒,完整响应需耗时数分钟。
  • 存储便携:整个模型及程序可装入一张软盘,并留有剩余空间。

详细分析

现代架构与复古硬件的碰撞

Soul Player C64证明了即使在计算资源极其匮乏的40年前的硬件上,也能实现现代人工智能的核心算法。该模型拥有2个层、4个注意力头(每头8维)、32维嵌入向量以及64个FFN隐藏单元。为了在C64的6502/6510处理器上运行,开发者使用了手写的汇编代码,并将约25,000个参数量化为int8格式。这种实现方式不仅是对计算能力的挑战,更是对算法优化极限的探索。

关键技术突破:Softmax归一化修复

在开发过程中,最核心的技术突破在于解决了整数Softmax评分归一化的问题。开发者发现,通过将注意力分数平移14位(而非17位),可以为128条目的指数查找表(exp lookup table)提供足够的动态范围,从而产生有意义的注意力权重。在此修复之前,整数注意力在所有位置上几乎是均匀分布的,导致模型无论架构如何或经过何种训练都无法正常工作。这一改进使得模型能够真正“理解”上下文关联。

交互体验与自定义训练

用户可以通过VICE等C64模拟器加载.d64镜像文件进行体验。在运行过程中,屏幕边框会闪烁以示正在计算,且每个Token的生成都会伴随SID芯片发出的声音。此外,该项目还支持用户自定义训练。通过提供的Python脚本(基于NumPy和PyTorch),用户可以使用特定的语料库训练自己的模型,并将其打包成软盘镜像在C64上运行。

行业影响

Soul Player C64的出现为AI行业提供了一个极端的性能基准案例。它展示了Transformer架构在极低算力环境下的可移植性,强调了底层汇编优化和量化技术在模型部署中的关键作用。虽然其实际推理速度(60秒/Token)无法满足现代应用需求,但它为研究轻量化模型、边缘计算以及复古计算领域的AI集成提供了宝贵的参考经验,证明了算法逻辑的严密性可以跨越硬件时代的鸿沟。

常见问题

问题 1:Soul Player C64可以在真实的C64硬件上运行吗?

是的,它可以在未经修改的原始Commodore 64上运行,也可以在VICE等模拟器中通过加载.d64软盘镜像运行。

问题 2:为什么这个模型的推理速度这么慢?

由于Commodore 64的处理器主频仅为1MHz,且缺乏专门的浮点运算单元,所有的Transformer数学运算(如矩阵乘法、Softmax等)都必须通过8位汇编指令模拟完成,因此生成每个Token需要约60秒。

问题 3:该模型支持大写字母输入吗?

根据项目说明,该模型目前理解小写字母、空格及部分标点符号(. , ! ? ' : ; -)。大写字母会被识别为未知Token,因此建议使用小写进行交互。

相关新闻