⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 blog.csdn.net/lvoelife/article/details/128934292 「网络」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

1. 介绍ChatGPT

今天开车去上班的路上,听到电台介绍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经过了训练,可以根据接收到的输入生成响应,从而生成更自然、更多样化的响应。

2. 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版本。如果等不及且有条件的话,可以通过如下方式试用。

3. 试用ChatGPT

1.网络准备

由于内容规定,这里不作过多介绍。

2.国外手机准备

推荐优先找国外的亲朋好友去要,这里只需要在OpenAI账号注册的时候需要用到,获取相应验证码就行。

后续登陆OpenAI不需要相应手机,只需要记住相应注册的账号与密码即可。

3.开始账号注册

首先打开步骤1网络,其次打开OpenAI账号注册链接,然后开始相应账号注册,推荐注册gmail邮箱,很多类似的跟gmail邮箱基本都有打通账号体系。完成注册后,最后一步会需要手机验证码,这一步就用到了步骤2中准备好的内容了。直到这里就完成了相应注册了。

4.开启试用之旅

ChatGPT在如下红框中输入文本内容,就能与ChatGPT交互体验了。

效果是非常惊艳的,使用完之后的体感是这应该能辅助到各行各业中,应用空间无限大,这类技术可能会成为未来AI系统的基石应用之一。

4. ChatGPT原理

从官网介绍可以看到,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强化学习的训练框架了。

5. ChatGPT应用

5.1 世界杯问题咨询

Q1:荷兰、阿根廷、克罗地亚、巴西、英格兰、法国、摩洛哥、葡萄牙这几只足球队各自特点是什么,每支足球队请用一句话总结

A1:这些国家和地区都是足球大国,每支队伍都有其独特的优势和特点:

  • 荷兰:以高超的团队配合和快速的进攻著称
  • 阿根廷:有着传奇般的阵容,以出色的个人技术和激情演出著称
  • 克罗地亚:以技术精湛和整体配合著称,有着不俗的进攻能力
  • 巴西:以炫酷的超级脚法和攻势激进著称,是全世界最具攻击性的球队之一
  • 英格兰:以强大的防守能力和顽强的拼搏精神著称,但在世界杯上的成绩并不理想
  • 法国:在技术、配合和战术方面都有着出色的表现,有着强大的实力
  • 摩洛哥:以精心调整的阵容和出色的战术执行力著称,有着不俗的实
  • 葡萄牙:以超强的个人实力和攻势激进著称,拥有世界足坛著名的球星。

Q2:如何通过AI实现足球场上的越位识别

A2:越位识别是一个非常有挑战性的问题,因为它涉及到对足球场上复杂的动态环境进行实时分析。然而,近年来,人工智能技术取得了巨大的进步,可以用来解决这类问题。

一种常用的方法是使用视觉识别技术,即通过摄像头捕捉比赛过程中的影像,然后使用人工智能模型对影像进行分析。模型可以通过学习大量数据,例如足球比赛录像、比赛规则和越位情况,来学会识别越位行为。

除了视觉识别技术,人工智能还可以通过其他方式来实现越位识别。例如,可以使用定位系统,如 GPS或超声波定位,来捕捉足球和球员的位置信息,然后通过人工智能模型来分析这些数据,并进行越位识别。

总的来说,人工智能可以通过多种方式实现越位识别,关键在于选择合适的方法,并使用高质量的数据来训练人工智能模型。

5.2 写书信(情书)

正如ChatGPT自己回答的那样,它非常擅长对话、情感分析、文本生成、摘要提取等,有了这些直接打开了更广阔的应用面。可想而知,如若在垂直领域做定向训练,它将会发挥出更极致的性能,即可作咨询用途,同时也可以辅助创作(这将颠覆很多行业的工作方式)等等。

6. 总结

目前ChatGPT虽然如日中天,虽然非常智能,但短时间内还不能商用,故不足以让程序员失业,因而,我们大可高枕无忧。

如果想要访问更多的ChatGPT示例,可以点击该链接:

  • https://platform.openai.com/examples
文章目录
  1. 1. 1. 介绍ChatGPT
  2. 2. 2. ChatGPT示例
  3. 3. 3. 试用ChatGPT
    1. 3.0.0.1. 1.网络准备
    2. 3.0.0.2. 2.国外手机准备
    3. 3.0.0.3. 3.开始账号注册
    4. 3.0.0.4. 4.开启试用之旅
  • 4. 4. ChatGPT原理
  • 5. 5. ChatGPT应用
    1. 5.0.1. 5.1 世界杯问题咨询
    2. 5.0.2. 5.2 写书信(情书)
  • 6. 6. 总结