返回首页
最新
我在HyperCard中训练了一个变换器,包含1,216个参数,使用的是1989年的Macintosh。没错,这个过程花了不少时间。
MacMind是一个完整的变换器神经网络,包含嵌入、位置编码、自注意力、反向传播和梯度下降,完全用HyperTalk实现,这是苹果在1987年随HyperCard发布的脚本语言。每一行代码都可以在HyperCard的脚本编辑器中阅读。选项点击任何按钮即可查看实际的数学计算。
任务是学习比特反转置换,这是快速傅里叶变换的第一步。模型没有公式可循,它纯粹通过注意力机制和反复的试错来发现位置模式。在第193步训练时,它在50%、75%和100%的准确率之间波动,最终像球滚入碗中一样趋于收敛。
整个“智能”仅仅是存储在HyperCard堆栈中的1,216个数字。保存文件,退出,再重新打开:训练好的模型依然存在,依然正确。它可以在从System 7到Mac OS 9的任何系统上运行。
作为一名前物理学学生,快速傅里叶变换是我的老朋友,它在信号处理、量子力学和波动分析中占据核心地位。我构建这个模型是因为我们正处于一个人工智能影响着我们所有人的时刻,但大多数人并不理解它到底在做什么。反向传播和注意力是数学,而不是魔法。数学并不关心它是在TPU集群上运行还是在1989年的68030上运行。
这个代码库包含一个预训练的堆栈(第1,000步),一个可以自己训练的空堆栈,以及一个验证数学计算的Python/NumPy参考实现。
我在过去大约六个月里进行了一项实验。我挑战自己在25周内完成并发布25个项目。
我刚刚推出了我的第25个项目,这是一个简单的网站,旨在鼓励其他人也进行自己的25周挑战。
我的目标是:
- 将我的新闻通讯订阅者增长到10,000人
- 在所有25个项目中获得1,000万次独立页面浏览量
- 在挑战结束后每月至少赚取2,000美元
结果如何?
- 约550,000次独立页面浏览量
- 约1,000名新闻通讯订阅者
- 我总共只赚了大约1,100美元(唉)
- 我的重大项目channelsurfer.tv获得了很多媒体关注
- 我想我现在算是稍微被人们认识为一个创造奇怪东西的人
总的来说,这是一段艰苦但也非常有趣的经历。我已经是一名高级工程师,但在过去的六个月里,我学到的东西可能比过去三年工作中学到的还要多。