3年手搓ChatGPT!剑桥天才少年在Minecraft游戏中爆火回归
【导读】在MC中手搓CPU的硬核大神,时隔3年,于上周发布了最新力作,在MC中手搓ChatGPT!最终实现的语言模型名为CraftGPT,参数量很小,但已经能与用户做出很多有意义的交互了。MC还能玩出什么花?
MC(Minecraft,我的世界)是一款自由度极高的全球最高人气沙盒游戏,其中的红石电路玩法极其丰富,吸引了众多技术宅大神投入海量时间造出令人惊叹的奇观。
有人在MC中复刻了整座城市:
BV1bPVizYEFs
而那位在MC中手搓CPU后爆火,后续又在MC中造出了套娃MC的大神sammyuri,终于在上周发布了时隔3年的最新力作:在MC中复刻ChatGPT!
MC红石电路简介
红石电路其实就是MC里用来「做机关」的一种玩法。
你可以把它想象成游戏里的「电」,通过一些导线(叫红石粉)和开关(按钮、拉杆等),把信号传给其他东西,比如一扇门、一个活塞或者一盏灯。
比如你拉一下拉杆,红石线就像电线一样把信号传过去,门就打开了。
刚开始你可能只会做个自动门或控制灯的开关,但慢慢地你可以用它做出自动农场、物品分类器,甚至复杂到能模拟计算机的系统。
它的有趣之处就是,你能用很简单的方块,搭出很聪明的装置,全靠你怎么组合和安排。
对于没接触过的人来说,其实它就是Minecraft世界里的「积木版电路」,动手试一试,很快就能理解。
使用Python训练
首先作者使用Python语言为该模型定制了训练的算法。下图为作者展示的矩阵乘法代码:
之后使用一个小数据集TinyChat训练模型,下图为部分参数:
该模型的参数量(5,087,280)比最初的ChatGPT-1都要小约23倍,和效果比较好的GPT-3小约17万。
下面是作者展示出的损失函数训练图,效果不错:
MC中的神经网络模型架构
除了最开始展现的「键盘」输入和一个大的红色显示屏外,后面的部分都是用MC红石实现AI的部分。
我们之前已经在参数量上提到其实作者做出的不是真正的ChatGPT级别的AI语言模型,参数量因为客观限制小了很多,但作者和GPT1一样,用的都是Transformer的架构。
当然和OpenAI的GPT-1都是用了Transformer的解码器(Decoder)部分,属于纯解码器架构(Decoder-Only),即下图的右半部分。
纯解码器架构适合自回归任务,即大家理解的文本生成任务。左半部分是编码器(Encoder)架构,是用来做文本理解的,用于BERT系列模型,我们可以舍弃左半部分。
当右半半部分的下面直接是用户文本输入(Input)时,就是我们的纯解码器模型了。
整个视频所展示的红石架构基本上也是按照Transformer的解码器部分来完成的。
下图是分词器(Tokenizer)。
它会把输入的文本按预定的分词算法先把输入的句子初步处理后切成token,再按照对应的词汇表映射为数字,送入下一部分。
因为之后的Attention架构对语序的理解能力差:例如「我爱你」和「你爱我」中,「我」和「你」的顺序对语义影响很大,我们要给每个token顺序加入位置信息。
这里和GPT-1都是采用的位置编码(Position-Embedding)。
这里就是用数学方法算出位置值,加入token信息里面。
下面将token映射为向量(18bit精度的嵌入参数是通过ROM红石导入的)。
之后就是按照官方的架构复现了归一化层(LayerNorm)、矩阵乘法、多头注意力机制、KV缓存等。
最终作者复制了多份架构,形成了多层的Transformer网络。
最后经过反嵌入、预测下一个token和输出架构,就可以将AI回复的句子呈现在屏幕上面了!
效果呈现
基础的问题:
「你今天怎么样?」
CraftGPT答:
「我感觉很开心,感谢提问。」
当然,模型的交互效果是有限的,最终只能实现64 tokens的上下文窗口。而且就算在加速的MCHPRS服务器上,一次回复耗时都需要约2小时。
作者简介
sammyuri尚未在互联网通过任何渠道公开自己的真实身份。
这位天才少年只在YouTube频道发布了6个视频,全部都是极其硬核的MC红石电路视频。
本次发布的CraftGPT是他近3年来的课余时间做出的公开的唯一重大成果。
我们发现了可能是sammyuri本人的CodeForce账号,显示他的CF分已达超过2600分,意味着他的编程实力已可以通过IOI等世界级编程竞赛赢得奖牌,直通世界名校。
该账号信息显示,他已入读剑桥大学。
该视频的存档也已公布,所有人都可以在MC中加载该存档,通过这种电路可视化的方式,更好地直观理解ChatGPT这类大语言模型的详细工作原理,寓教于乐。
存档地址:
https://drive.google.com/file/d/1GToQikx1VpJSOg5unnnFhJl8onq0DRhY/view
参考资料:
https://www.youtube.com/watch?v=VaeI9YgE1o8
https://github.com/sammyuri/craftgpt
https://github.com/MCHPR/MCHPRS
声明:本文转载自新智元,转载目的在于传递更多信息,并不代表本社区赞同其观点和对其真实性负责,本文只提供参考并不构成任何建议,若有版权等问题,点击这里。

游客
- 鸟过留鸣,人过留评。
- 和谐社区,和谐点评。