12月5日,OpenAI首席执行官Sam Altman发推表示,自ChatGPT发布后,5天内用户数量超过了100万。这在人工智能史上是个里程碑的数字,GPT-3达到该成绩花了近两年时间,DALL-E则是两个多月。
中文互联网的网友们,同样能在媒体密集且花样百出的报道中感受到由ChatGPT带来的这股AI浪潮,而这,离AI生成图像带来的冲击只有三个月。
其席卷之广、讨论之热烈较AI绘画有过之而无不及。
它被称之为最好的聊天机器人,能够快速响应人类的提问,生成有意义的回复,其优势在于能够记住同一对话的上下文,承认自身错误、质疑不正确的前提、修正自己的答案,并拒绝一些不正当的请求。
有人赞叹人工智能技术的发展,并试验其在各个领域的可行性,如取代搜索引擎,如撰写工作报告、策划方案等文档,甚至是学术论文,如翻译文本,十几种语言的相互转译都不在话下,如调试代码甚至是开发游戏……
有人试图从中找到一些新的乐子,如屡试不爽的“图灵测试”,如将AI调教成某种人格的角色,如跨过防线,诱导AI说出“禁忌”之语。
ChatGPT的热度是一个基于媒体曝光与公众参与的事件,还是一个真正的AI变革?之于游戏,它又可能产生何种影响?
ChatGPT的“社会化”
在真正领略ChatGPT之前,个人并未对这一新兴的科技产物感到好奇,毕竟聊天机器人既非新鲜事物,网友所鼓吹的“干了搜索引擎所能干的事”也不稀奇,比ChatGPT更早发布的Character.AI就有相近的出色表现:
Character.AI认为它生成的回答会更加个性化,角色扮演意味更强
至于ChatGPT的代码调试或自动生成代码功能,于年初发布的GitHub Copilot同样能做到类似的事情,前些日子它还因为版权问题被部分程序员告上了联邦法院。
GitHub Copilot能够根据上文推测后面的代码,或者根据用户输入的文字提示自行生成代码
如果要说这些AI工具有什么联系的话,那就是。
据维基百科解释,GTP-3是一个自回归语言模型,目的是为了使用深度学习生成人类可以理解的自然语言。它由Open AI训练与开发,基于谷歌开发的变换语言模型(Transformer)设计。
ChatGPT便是基于GPT-3.5架构的大型语言模型。有关于ChatGPT的运作原理与训练方法,近些天来已有专业人士进行过详细剖析,在此仅简单整理一些要点(门外汉翻阅大量资料后整理出的理解思路,仅供参考,如有错误,敬请指正):
1.GPT
全称为Generative Pre-trained Transformer,生成型预训练变换模型,是自然语言处理领域(NLP)的一种语言模型。NLP为人工智能领域的一个重要研究方向,旨在让人能够用自然语言(如汉语)跟计算机通信。
NLP可用深度学习的方法来处理,常见的方式是输入大量语料,构建一个能够在给定部分序列的情况下预测下一个符号的模型,形象的描述就是让AI做填空or文字接龙。
2017年谷歌研究出Transformer模型,不仅提高了提取数据共性特征的成功率,而且它可以进行无监督学习,有效解决人工标注数据耗时长、成本高、效率低的问题。
GPT的框架包括Transformer,其训练过程大致分为两个阶段,先利用Transformer对大量数据进行无监督学习,然后根据具体任务对参数进行微调,目的是为了研制出一种通用的人工智能。在NLP的具体任务中,GPT的文本生成能力表现尤为突出。
2.GPT3与GPT3.5
GPT-3(2020)拥有1750亿个参数,是有史以来参数最多的神经网络模型,是GPT-2的116倍,是GPT-1(2018)的1496倍。“数据、算力、算法”构成了AI的三大基石,从该观点看,GPT-3在NLP领域的风光无限便是大力出奇迹的有力证明,然而其代价也是巨大的,训练GPT-3估计需要上千万美元。
GTP-3.5是用2021年第四季度前的文本与代码等数据进行训练的,而ChatGPT是GTP-3.5的微调版本,其要解决的具体任务就是聊天机器人。
3. 训练方法
Open AI团队并未公开ChatGPT的论文,关于ChatGPT的解析多基于其兄弟模型Instruct GPT。
上ChatGPT,下Instruct GPT
Instruct GPT的训练主要分为三个阶段,一是由人工为GPT挑选问题并提供答案,用这些范例来训练一个生成模型,这些人工标注的大约有1万多条,目的是为了让GPT所使用的数据更偏向于人类感性趣的内容;二是用RLHF(Reinforcement Learning from Human Feedback)的方法来训练一个奖励模型,即用人类标注的方法为GPT产生的答案进行打分,从而让GPT能够预测哪种输出人类更为喜欢;三是用PPO(Proximal Policy Optimization)强化学习算法来微调第一阶段训练出来的生成模型,即将奖励模型的打分反馈给第一阶段,让模型能输出更多高分答案。
台湾大学李宏毅教授在分析Chat GPT时用了如下图例进行解释:
截图来源:台湾大学李宏毅教授.油管视频《ChatGPT(可能)是怎么炼成的》
在为“世界上最高的山是哪座”这一句话接龙的时候,GPT输出的回答是多样的,如“谁来告诉我”、“最深的海是哪个”,它们均为合理的表述,但不太像是人类期望的答案,因此被奖励模型判定为低分,而获得最高分的“喜马拉雅山”成了最终GPT输出的回答,在大量数据的训练与奖励模型的参数调整下,ChatGPT输出的回答越来越符合人类的认知。
李宏毅教授在评价ChatGPT的时候,用了个词——“社会化”,意指ChatGPT其实是一个社会化的过程,经由人类的引导与调整,让原本随机输出回答的人工智能变得更符合人类期待的样子,即其回答更符合提问者想要的。
来源同上
在“社会化”之外,其实还可以加上一个词,“大众化”。
从以上的分析其实可以看出,ChatGPT其实并没有用到什么黑科技级别的算法,无论是Transformer、RLHF还是PPO,它们在学术界均是广为人知的,ChatGPT真正的领先之处在于那个花重金砸出来的大规模预训练语言模型。
ChatGPT之所以能在社会中引起如此大的反应,是因为它不再是被研究者封闭起来的项目,它向社会开放,允许公众免费使用,且因覆盖的语言种类多而造成了病毒式的扩散。
基于此,外媒theverge的编辑JAMES VINCENT用了另外一个词来形容ChatGPT引起的浪潮,“capability overhang”,意指AI的潜能,对于这些能力,研究者未曾测试过也不清楚其具体的运作。之于ChatGPT,它指的便是AI进入公共领域后所出现的未在研究者预期内的使用方式。
从官方的描述与示例来看,ChatGPT是个聊天机器人,它能够应付翻译、校对、文本分类、摘要等NLP领域的任务,可以帮助人类调试代码,会尝试着预测提问者的意图,能够在上下文语境中理解指示代词指向的对象(图灵测试经典问题),能够连续对话,并记住用户的指令或此前的“对话”。
截图来源:B站用户Knight洪爵
有研究者还专门从语言模型的角度与现行标准来分析ChatGPT的能力,虽然未能挣脱语言模型长期存在的逻辑推理弱的问题,但在语义理解方面表现突出。
ChatGPT在多种对话任务中的主观体验评分
来源:人工智能产业发展联盟AIIA.《ChatGPT评测观察之对话能力》
但在广大网民眼中,ChatGPT绝不只是一个能跟用户沟通的聊天机器人,他们挖掘出了更多应用场景。
比如把它当成搜索引擎来使用,提供百科、常识等方面的回答;
比如把它当做文章的润色、修改助理来使用,下到日常报告、上到学术论文,它均能应付,毕竟提取摘要、润色、校对……这些算是ChatGPT的本行工作;
比如小说撰写,ChatGPT在该方面的能力远大于那些情节生成器,它能模拟某种写作风格,且在文本的相关性上有更出色的表现;
比如用ChatGPT来指导AI绘画,其生成的图片效果比用户自己瞎蒙要好得多。
截图来源:B站用户大江户战士
比如角色扮演,让ChatGPT模拟某一角色回答问题。
在github有个收集ChatGPT角色扮演提示词的帖子,他们让ChatGPT变成某一领域的专业助理:
目前收录的“角色”已超过一百项
在程序员眼里,ChatGPT能做的事情不只是调试代码,它能检测安全漏洞,还能创建漏洞,可逆向工程用指定语言重写代码……
它所蕴藏的潜能,自然也会渗透到游戏领域。
用ChatGPT做游戏
在《AI时代,6小时做一款游戏》一文中,GameRes介绍了开发者如何利用AI工具来制作游戏开发所需要的资产,如美术、音乐、剧本等,短短三个月后,ChaGPT的公开将开发一款游戏的时间压缩到10分钟以内,它所能做的事情也比此前的AI工具要多得多。
不到五分钟做的贪吃蛇
截图来源:Reddit用户I_PUNT_BABIES_75
用ChaGPT开发游戏,可大致分为两个思路,一是文本,二是代码。
1.文字型游戏&设计文案
从ChaGPT擅长的文本生成能力出发,在游戏开发领域ChaGPT最适合担任的角色是担任跑团游戏的DM。
它的具体运作原理跟2019年发布的AI Dungeon 2相差无几,玩家可以自行设定故事背景,输入想要角色执行的动作,AI会自行生成该行动造成的后果,从而为用户提供一段个性化的冒险旅程。
截图来源:B站用户無名遊戲
ChatGPT的优势在于它能够为用户提供更加细致的环境描述,且具备足够的可信度。当然,想要让体验更具沉浸感,需要用户有一定的引导技巧:
用户也不要奢望它能够与现实中的跑团游戏相媲美,ChatGPT虽然能理解并记住记住用户输入的话,详细描述场景乃至制造妙趣横生的转折,但AI生成的情节均是基于当前的会话产生的,它可不会伏笔、角色一致性等高阶技巧。
由AI提供选择的文字冒险
该游戏由国外一名11岁的孩子生成
除了跑团,ChatGPT还能用于游戏的剧本撰写,如具体的情节描述、对话或故事大纲,倘使你对文本质量没有太多要求,又或者只是为了寻求一些“神转折”之类的灵感的话,ChatGPT还是能勉强一用的。
在文本生成上,ChatGPT最大的惊喜是它干了游戏策划的活。
用户可以向ChatGPT抛出自己的大致要求与思路,如游戏角色设计、技能设计、卡牌设计等等,让ChatGPT来作答。
如果用户不满意的话,可以一步步引导ChatGPT更改表述,细化内容,甚至模拟实际的对战效果。
截图来源:B站用户水水水水水门、
仅从回答来看,ChatGPT说得还挺像一回事,它不仅能够理解战士、坦克、射手这些职业的差异,还能对技能进行详细阐述,甚至能给出“施加Buff”、“消耗能量”等具体的功能。
是的,“挺像一回事”,ChatGPT的回答其实更接近玩家在游戏内所看到的“介绍性”文字,而非真正意义上策划所做的事情,策划撰写某项游戏功能要的不仅是对功能的概括性描述,更需要将其转化为确切的可执行的开发文案,“冲撞-造成伤害-增加护甲”,冲撞的距离,冲撞的速度,能否打断,在不同地形下的状况……在简单的描述背后,需要的是细节的拆解、流程的整合,更遑论不同岗位的需求沟通与后续的迭代、变更。
如果是让ChatGPT从零开始构思一个游戏,而非输出某一游戏功能的策划案呢?
行是行得通,但无法太过复杂,无法兼顾细节,目前较合适的方向是设计一款规则简单、卡牌种类少的卡牌游戏。
油管用户Nash Idaho根据ChatGPT的提示做了一款共计18张牌的双人游戏
2.代码
利用ChatGPT开发游戏,其真正妙用在于“代码”。
目前在该方面它有这么几种常见的使用方式:
1)直接给出一整个游戏的代码;
2)代码调试,用户可输入代码让ChatGPT检阅,看问题出在哪、如何修改;
3)模块开发,通过文字询问ChatGPT想要实现某一功能应该怎么做。
第一类仅适用于桌面弹球、贪吃蛇一类的小游戏,从创建项目到添加图片,ChatGPT均能做出解答。但ChatGPT并非一个教师,而是直接让用户抄答案。
截图来源:B站用户Mingo_明歌
若是游戏稍微复杂一点,ChatGPT就相形见绌了。但从理论上来说,还是有可能的,只要ChatGPT的训练库里存在游戏的完整代码。
让ChatGPT直接开发一款《植物大战僵尸》,输出的代码不连续、相关性弱
截图来源:B站用户打工人小棋
第二类调试代码,ChatGPT表现出色,已有不少开发者将ChatGPT当做常驻的协助工具,用于测验Bug或重写代码。
国外开发者xr masiso将自己的AR游戏代码提供给ChatGPT,
AI重写后的游戏运行效果出乎意料
第三类, ChatGPT的真正使用方法,它需要用户对游戏开发或游戏引擎(如Unity、虚幻引擎)有一定的理解,根据自己的需要跟喜好向ChatGPT获取特定功能组件的代码,由此生成一个由用户构思的新游戏(而非复刻桌面弹球等老游戏)。
比如,开发一款射击小游戏:
试玩地址:https://benbonk.itch.io/ai-did-not-make-this-game
玩家只能用鼠标操控角色,左键发射子弹,鼠标方向即为子弹方向,角色移动靠的便是子弹的反作用力,玩家通过击败随机生成的敌人来积累分数。
不得不说,AI设定的速度值相当老辣,反复点击可加速移动,同时受惯性影响,如何在操控角色移动的同时避开敌人可是门学问。
该游戏由BenBonk所设计,代码全部由ChatGPT提供,耗时数个小时。
比如在虚幻引擎上实现角色移动:
又或者向ChatGPT求教如何创建彩虹材质:
显然,ChatGPT能够理解虚幻引擎控件蓝图的使用方式,开发者可以一步步引导它来实现想要的功能。
这让GameRes想到了2020年发售的《Dreams》——一个可视化的游戏开发工具,开发者可以用游戏内提供的微晶片来为角色行为做映射,从而免去输入代码的步骤。ChatGPT能够实现的功能比它丰富,方法比它简单,开发者所需要的只是输入文字而已,大有一种Text to Code的意味。
但二者相同的是,想要真正利用工具来实现高水准的游戏开发,都应该有编程的底子,一来ChatGPT所输出的代码并非完全正确的,否则也不会被全球知名技术问答网站StackOverflow所禁止。
只要答案的任何部分有误,那么它在客观上就是错误的
开发者需要有辨认ChatGPT所生成代码的能力。
截图来源:B站视频《当你让ChatGPT写神经网络算法的时候》底下网友的评论
二来游戏开发要的不只是会写底层代码,也许游戏目前还跑得起来,但后续的迭代、功能的变化拓展,乃至游戏稳定性、性能优化都得考虑在内。
《太吾绘卷》在销量突破30万套时宣布将重构代码
即便如此,ChatGPT与它所象征的生成式人工智能依旧让人望而生畏,GPT-4已经在路上了,算法还在更迭,下一次的范式变化将带来怎样天翻地覆的变革都是难以想象的,未来是否有一天,开发者只需要把握方向跟整体架构就行了,他们将成为真正意义上的AI的监工。
个人认为,面对来势汹汹的AI工具,至少有两个关注重点,一是它接下去会如何发展,它在自然语言的理解上与生成内容的质量上还会有怎样的变更;二是AI工具的大众化。
是的,ChatGPT并不具备取代专业人士的能力,但它对于新手或跨行业人士就是福音,它能像可视化的开发工具一样降低游戏的开发门槛。当AI工具脱离研究领域或专业领域向公众开放的时候,它势必对现有格局造成冲击,就像智能手机之于摄影、短视频之于内容创作者,它们带来了大规模的业余化——(文/浔阳)
“只有当一项技术变得普通,普遍,直到最后无处不在而被人们视若无睹时,变革才真正到来。”(克莱·舍基《人人时代》)
参考资料:
李宏毅.《ChatGPT(可能)是怎么炼成的》
何枝.《ChatGPT是怎样被训练出来的?》
Web3天空之城.《从爆火的chatGPT讲起: 自然语言生成式AI的前世今生, 你想了解的一切》
James Vincent .《ChatGPT proves AI is finally mainstream — and things are only going to get weirder》