当前位置:首页 > 科技资讯 > 正文

Minecraft中造出ChatGPT:像素方块里的AI奇迹

Minecraft无疑是近十年来玩家群体最为庞大的游戏之一,其发售至今近15年,月活跃玩家数量仍高达1.5亿,深受大人小孩的喜爱。

在这个由像素方块构建的世界里,玩家可以砍树挖矿、打造神器、建造基地,也能养马养鸡、探索世界、体验冒险人生。

尽管类似这样开放世界的游戏众多,但像Minecraft这样自由度的却不多。当我还沉浸在地下深处的矿洞与绿皮僵尸的激战时,博主Sammyuri已在游戏中打造出了一个能运行的简化版ChatGPT,他称之为CraftGPT。

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第1张

CraftGPT全貌

在游戏中,CraftGPT的交互界面由显示器和键盘组成,玩家通过键盘输入文字,CraftGPT则通过显示器进行回复。

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第2张

CraftGPT正在和你闲聊

事情是这样的:Sammyuri团队在外部训练好了模型,将神经网络的计算图翻译成红石电路,并使用了4.39亿个方块,将五百万参数的模型组件导入Minecraft中,直接用红石电路硬编码了神经网络。

如何在Minecraft中打造AI中的AI

在游戏里追求真实本就有些奇怪,而在这里面搭建一个AI更显得诡异。实现这个效果就如同把大象关进冰箱——在Minecraft中搭建大模型AI只需四步。

1:在外部训练好数据集;

2:将训练好的数据编译成红石电路,导入Minecraft;

3:把红石电路层层堆叠,组成神经网络;

4:最后搭建输入键盘以及输出的屏幕,愉快地开始与大模型聊天。

第一步是大型数据集的训练。

虽然名为CraftGPT,但这个模型与ChatGPT关系不大,是Sammyuri从零开始搭建的。他用Python训练了一个参数为500万的小模型,能够识别1920个词、维度为240、6层、5头。

一个参数可以理解为词与词之间的联系,参数越多,模型对语言的理解就越细致。而维度、层数、头数则代表模型思考的深度,数字越大,模型思考的深度就越深。

即使是今天已经无人问津的元祖GPT-1,也有着1.17亿参数,可以识别5万多个词、768个维度、12层和12头。并非作者不想搞个大动作,而是Minecraft中的‘模拟计算机’的计算速度远不及真实电脑。为了在Minecraft中运行后还能在有生之年看到结果,这个模型不得不进行大幅瘦身。

右下角的蓝色曲线——训练损失(train loss)代表模型对训练集的学习效果,而橙色曲线——验证损失(val loss)代表模型在验证集上对新句子的表现。如果只有蓝色下降而橙色不变甚至升高,说明模型出现了过拟合;如果两者都下降,说明模型学得不错。

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第3张

训练阶段的CraftGPT

当这两条曲线都下降到稳定水平后,研究者会再拿出最后一部分从未使用过的测试集进行检验。不过,关于CraftGPT在测试集上的表现,Sammyuri团队并未公开提及。

第二步就是逐步将训练好的神经网络大模型搬进Minecraft里。为了在Minecraft中让AI运行起来,Sammyuri使用了游戏中一种叫做红石电路的组件。

红石是Minecraft里的矿物,可以理解为一种兼具了导体和移动电源功能的资源。除了红石外,还有不少配套组件如开关、按钮、压力板等。

通过开关的通断,红石电路可以在游戏中模拟二进制的0或1,从而构建出基础的三种逻辑门。

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第4张

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第5张Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第6张

红石电路中的非门、或门、与门

三种门是所有计算机的基础。有了它们,任何逻辑关系都能被实现。但这只是开始,想要做出更厉害的东西,玩家还需要像乐高一样堆叠出能存储、计算、传输的复杂结构。

在Python中训练完成的大模型仍然是一组组抽象的数字。如何在方块世界中赋予它们形状呢?

第二步中,这些训练出来的数字就要被编译成红石电路。编译过程中,每个参数的数值会被转换成红石信号的强弱,而参数在模型中的位置则决定了方块的摆放位置和连线方式。就这样,500万个参数都会变成Minecraft中的方块组合。

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第7张

CraftGPT宏大的结构模拟了大模型的功能

当数据全部完成方块化后,第三步神经网络的搭建就要开始了。Sammyuri团队选择了与ChatGPT相同的transformer架构。这种架构会通过横向和纵向的联想让模型既能理解上下文又语义丰富。最后为了让语义关系更稳固在输出前会重复六轮联想逐层深化。

最后搭建完键盘与屏幕后CraftGPT的效果就展现在我们眼前了。

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第8张

Minecraft中造出ChatGPT:像素方块里的AI奇迹 Minecraft ChatGPT 红石电路 AI 第9张