今天开车去上班的路上,听到电台介绍ChatGPT
,此时百度的股价涨幅为25%,当然,这和我没关系。
但电台说ChatGPT
会导致部分程序员失业,吓得我到了公司后,便打开电脑上网一搜,发现这玩意还挺厉害的,在这个时代可谓是如日中天,到处都有它的身影,比如知乎,csdn
等都有涉及,如下图所示:
我们都在聊ChatGPT
,但它是什么呢?不妨打开它的官网看看:
ChatGPT
官网链接地址为:https://openai.com/blog/chatgpt,从官网找到如下这句话:
We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests. ChatGPT is a sibling model to InstructGPT, which is trained to follow an instruction in a prompt and provide a detailed response.
你发现它是英文,不妨翻译成中文看:
我们已经训练了一个名为
ChatGPT
的模型,它以对话方式进行交互。对话形式使ChatGPT
能够回答后续问题、承认错误、挑战不正确的前提并拒绝不适当的请求。ChatGPT
是InstructGPT
的同级模型,它被训练为遵循提示中的指令并提供详细的响应。
ChatGPT
旨在用作聊天机器人,我们可以对其进行微调,以完成各种任务,如回答问题、提供信息或参与对话。与许多使用预定义的响应或规则生成文本的聊天机器人不同,ChatGPT
经过了训练,可以根据接收到的输入生成响应,从而生成更自然、更多样化的响应。
我们在官网继续往下滑动鼠标,找到其提供的例子,如下图所示:
由于该例子是英文版的,我把其翻译成中文,如下所示:
用户:如下这段代码没有运行成功,我该怎么调试?
resultWorkerErr := make(chan error) defer close(resultWorkerErr) go func() { defer cancel() resultWorkerErr <- b.resultWorker(ctx) }() err := b.worker(ctx) cancel() if err == nil { return <-resultWorkerErr } return multierror.Append(err, <-resultWorkerErr)
ChatGPT:如果没有更多的上下文,很难知道代码存在什么问题。您能否提供需要做什么的代码以及代码没有正常运行的更多信息?另外,这是整段代码还是只是其中的一部分?
用户:这只是其中的一部分 ,从表面看不出来是什么问题,但我认为通道(channel)有问题
ChatGPT:如果没有更多关于代码应该做什么以及执行时会发生什么的信息,很难说。您提供的代码的一个潜在问题是
resultWorkerErr
通道永远不会关闭,这意味着如果从未写入resultWorkerErr
通道,代码可能会挂起。如果b.resultWorker
从不返回错误,或者在有机会返回错误之前取消了错误,则可能会发生这种情况。
若要解决此问题,可以在写入resultWorkerErr
通道后将其关闭。例如,可以在通道上发送错误的行之后添加以下代码行:close(resultworkerErr)
这将确保
resultWorkerErr
通道始终关闭,即使b.resultWorker
从不返回错误。同样,如果没有有关您所看到的问题的更多信息,很难说这是否是您遇到的问题。您能否提供有关运行代码时发生的情况的更多详细信息?
官网提供了个例子,这只是其中的1个,如果感兴趣的话,可以到官网去访问。每个例子后面,都会有一个TRY CHATGPT
按钮,点击之后却访问拒绝(因为ChatGPT
目前尚未面向国内普通用户开放),如下图所示:
不过别担心,国内的科技公司会迟到,但绝不会止步不前。百度计划将于 3 月推出自己的ChatGPT
版本,这也是让百度股票大涨的原因吧。
我们坐等3月份百度的ChatGPT
版本。如果等不及且有条件的话,可以通过如下方式试用。
由于内容规定,这里不作过多介绍。
推荐优先找国外的亲朋好友去要,这里只需要在OpenAI
账号注册的时候需要用到,获取相应验证码就行。
后续登陆OpenAI
不需要相应手机,只需要记住相应注册的账号与密码即可。
首先打开步骤1网络,其次打开OpenAI
账号注册链接,然后开始相应账号注册,推荐注册gmail
邮箱,很多类似的跟gmail
邮箱基本都有打通账号体系。完成注册后,最后一步会需要手机验证码,这一步就用到了步骤2中准备好的内容了。直到这里就完成了相应注册了。
ChatGPT
交互体验了。效果是非常惊艳的,使用完之后的体感是这应该能辅助到各行各业中,应用空间无限大,这类技术可能会成为未来AI系统
的基石应用之一。
从官网介绍可以看到,ChatGPT
与InstructGPT
是同源的模型。
接下来我们来看下什么是InstructGPT。从字面上来看,顾名思义,它就是指令式的GPT,which is trained to follow an instruction in a prompt and provide a detailed response
。接下来我们来看下InstructGPT
论文[1]中的主要原理:
从该图可以看出,InstructGPT
是基于GPT-3
模型训练出来的,具体步骤如下:
步骤1:从GPT-3
的输入语句数据集中采样部分输入,基于这些输入,采用人工标注完成希望得到输出结果与行为,然后利用这些标注数据进行GPT-3
有监督的训练。该模型即作为指令式GPT
的冷启动模型。
步骤2:在采样的输入语句中,进行前向推理获得多个模型输出结果,通过人工标注进行这些输出结果的排序打标。最终这些标注数据用来训练reward
反馈模型。
步骤3:采样新的输入语句,policy
策略网络生成输出结果,然后通过reward
反馈模型计算反馈,该反馈回过头来作用于policy策略网络。以此反复,这里就是标准的reinforcement learning
强化学习的训练框架了。
Q1:荷兰、阿根廷、克罗地亚、巴西、英格兰、法国、摩洛哥、葡萄牙这几只足球队各自特点是什么,每支足球队请用一句话总结
A1:这些国家和地区都是足球大国,每支队伍都有其独特的优势和特点:
荷兰:以高超的团队配合和快速的进攻著称
阿根廷:有着传奇般的阵容,以出色的个人技术和激情演出著称
克罗地亚:以技术精湛和整体配合著称,有着不俗的进攻能力
巴西:以炫酷的超级脚法和攻势激进著称,是全世界最具攻击性的球队之一
英格兰:以强大的防守能力和顽强的拼搏精神著称,但在世界杯上的成绩并不理想
法国:在技术、配合和战术方面都有着出色的表现,有着强大的实力
摩洛哥:以精心调整的阵容和出色的战术执行力著称,有着不俗的实
葡萄牙:以超强的个人实力和攻势激进著称,拥有世界足坛著名的球星。
Q2:如何通过AI实现足球场上的越位识别
A2:越位识别是一个非常有挑战性的问题,因为它涉及到对足球场上复杂的动态环境进行实时分析。然而,近年来,人工智能技术取得了巨大的进步,可以用来解决这类问题。
一种常用的方法是使用视觉识别技术,即通过摄像头捕捉比赛过程中的影像,然后使用人工智能模型对影像进行分析。模型可以通过学习大量数据,例如足球比赛录像、比赛规则和越位情况,来学会识别越位行为。
除了视觉识别技术,人工智能还可以通过其他方式来实现越位识别。例如,可以使用定位系统,如 GPS或超声波定位,来捕捉足球和球员的位置信息,然后通过人工智能模型来分析这些数据,并进行越位识别。
总的来说,人工智能可以通过多种方式实现越位识别,关键在于选择合适的方法,并使用高质量的数据来训练人工智能模型。
正如ChatGPT
自己回答的那样,它非常擅长对话、情感分析、文本生成、摘要提取等,有了这些直接打开了更广阔的应用面。可想而知,如若在垂直领域做定向训练,它将会发挥出更极致的性能,即可作咨询用途,同时也可以辅助创作(这将颠覆很多行业的工作方式)等等。
目前ChatGPT
虽然如日中天,虽然非常智能,但短时间内还不能商用,故不足以让程序员失业,因而,我们大可高枕无忧。
如果想要访问更多的ChatGPT
示例,可以点击该链接:https://platform.openai.com/examples