OpenAI发布ChatGPT:程序员瞬间不淡定了

简介: 12月1日,OpenAI发布了针对对话场景优化的语言大模型ChatGPT。一经发布便受到科技圈的广泛关注,我第一时间体验了ChatGPT,给大家奉上最新鲜的体验报告。

OpenAI发布ChatGPT:程序员瞬间不淡定了

12月1日,OpenAI发布了针对对话场景优化的语言大模型ChatGPT。ChatGPT是InstructGPT的兄弟模型,可以以对话的形式与用户交互,这使得ChatGPT能够回答问题、承认错误、质疑假设、拒绝不当问题。

chatGPT_00.png

ChatGPT一发布就受到科技圈的广泛关注,各路大佬、各行大神还有众多程序员们纷纷加入“调戏”ChatGPT的行列。连埃隆·马斯克都感慨“人们陷入了疯狂的ChatGPT循环中”。

chatGPT_01.png

ChatGPT初体验

我第一时间注册了OpenAI账户,体验了ChatGPT,体验结果让我大呼🐂🍺,尤其是它解决数学、逻辑和编程问题的能力,让我这个十几年的老鸟都自愧不如。感觉以后编程可以抛弃百度、谷歌了,直接问ChatGPT就可以了,连代码都能帮你写好。给大家看几个例子:

常用算法实现

很抱歉,您的浏览器不支持video标签

帮你找bug


很抱歉,您的浏览器不支持video标签


解决算法难题

chatGPT_02.png

图1. ChatGPT解决Project Euler中的难题

解奥数题

chatGPT_05.png

图2. ChatGPT解小学奥数题

PS: ChatGPT前端目前还不支持 $\LaTeX$ 渲染,支持 $\LaTeX$ 很容易,我猜很快会支持的。

如果大家想亲自测试,可以到chat.openai.com注册账户,不过目前不对中国大陆和港澳台开放,大家需要找其他支持国家的手机接收验证码。

ChatGPT的原理

ChatGPT采用人类反馈强化学习(Reinforcement Learning from Human Feedback)训练而来,使用的方法与InstructGPT相同,但数据收集设置略有不同。

首先用有监督的微调训练一个初始模型:人类AI训练师提供对话,他们既扮演人类用户又扮演AI助手。

然后创建奖励模型,为了创建强化学习的奖励模型,需要收集对比数据,其中包括两个或多个按质量排序的模型响应。为了收集这些数据,需要进行AI训练师与聊天机器人展开对话,然后随机选择一个模型生成的消息并采样若干替代回答,由AI训练师对其进行排序。利用这种奖励模型,我们可以使用近端策略优化(Proximal Policy Optimization)对模型进行微调。这个过程需要经过多次的迭代。

ChatGPT_Diagram-svg.png

ChatPGT训练方法

ChatGPT是在2022年初训练完成的GPT-3.5系列模型的基础上调优而来。ChatGPT和GPT 3.5都是在微软Azure AI超级计算基础设施上进行的训练。

ChatGPT的局限

当然ChatGPT也有一些局限,它回答不了预测性问题,比如我问ChatGPT “2022世界杯哪知球队最可能夺冠?” ,它就无法回答。

chatGPT_03.png

从ChatGPT的回复我们可以获得2点额外信息:

  1. 训练所有的知识库截止于2021年;
  2. ChatGPT目前还没有连接网络,一旦它能够从网络上获取知识和信息,未来的潜力会更加可怕。

同时,ChatGPT对政治问题和敏感问题刻意做了回避。

chatGPT_04.png

按照OpenAI官方的说法,ChatGPT还存在5点局限:

  • ChatGPT有时会写出看似合理实则错误甚至荒谬的答案

    OpenAI认为解决这一问题具有挑战性,因为:

    1. 在强化学习训练期间,目前没有任何真相来源;
    2. 训练模型更加谨慎会导致它拒绝本来可以正确回答的问题;
    3. 监督训练可能误导模型,因为理想的答案取决于模型知道什么,而不是人类训练者知道什么。
  • ChatGPT对输入的局部修改或多次尝试同一问题很敏感

    例如,修改问题中的某个词语,ChatGPT可能会给出完全不同的回答。或者同一问题一开始无法回答,换一种措辞再问一遍又能正确回答。

  • ChatGPT的回答通常过于冗长,过度使用某些短语

    例如ChatGPT会重申它是OpenAI训练的语言模型。这些问题源于训练数据的偏差(训练师更喜欢看起来更全面的较长答案)和众所周知的优化问题。

  • 不会反问

    理想情况下,当用户问的问题不明确时,模型应该提出反问来明确问题。然而目前ChatGPT模型通常会猜测用户意图,给出回答。

  • 无法100%拒绝不当问题

    尽管OpenAI努力让模型拒绝不当问题,但它有时会难免还是会响应有害的指令或表现出偏激行为。OpenAI使用了Moderation API来警告或拦截某些类型的不安全内容,但可能目前还是会有一些误判。OpenAI希望通过收集用户反馈,以众包的形式来改进系统的工作。

总结

尽管ChatGPT还存在上述局限,但在我的体验过程中,ChatGPT表现出的理解力和回复的准确度远超我的预计,让我直呼“哇塞”。尤其是它在代码方面的能力,某些方面已经超过了普通程序员得到水平。如果ChatGPT正式开放出来,很有可能将是:“外事不决问谷歌,内事不决问百度,代码不会问ChatGPT”的格局。

目前ChatGPT还没联网,一旦它连上网络,可以从互联网获取更多知识和信息,ChatGPT的潜力将得到更大的释放,甚至达到令人恐怖的程度。我相信这一天离我们不会很远,也许我们的下一代看到的世界会是一个完全不同的全新世界。

目录
相关文章
|
3月前
|
人工智能 安全
OpenAI:纽约时报黑客攻击了ChatGPT,要求驳回版权诉讼
【2月更文挑战第9天】OpenAI:纽约时报黑客攻击了ChatGPT,要求驳回版权诉讼
27 2
OpenAI:纽约时报黑客攻击了ChatGPT,要求驳回版权诉讼
|
7天前
|
JSON 自然语言处理 API
|
12天前
|
人工智能 自然语言处理 小程序
OpenAI颠覆AI绘画!DALL·E 3与ChatGPT合作,细节展现令人震撼!
OpenAI颠覆AI绘画!DALL·E 3与ChatGPT合作,细节展现令人震撼!
|
18天前
|
JSON Java API
在 Spring Boot 中使用 OpenAI ChatGPT API
在 Spring Boot 中使用 OpenAI ChatGPT API
51 1
|
25天前
|
自然语言处理 算法 程序员
chatgpt如何赋能程序员
ChatGPT作为一种先进的自然语言处理模型,可以为程序员提供多方面的赋能,助力他们更高效地完成编程工作。以下是ChatGPT如何赋能程序员的几个关键方面: **1. 代码理解与解释**: ChatGPT能够解析和理解复杂的编程逻辑,帮助程序员理解代码的功能和意图。当程序员遇到难以理解的代码段时,ChatGPT可以提供解释和说明,帮助他们快速掌握代码的核心逻辑。 **2. 代码自动生成与优化**: 基于其强大的自然语言处理能力,ChatGPT能够根据程序员的描述或需求,自动生成相应的代码片段。这不仅可以节省程序员的编写时间,还能提供多种可能的实现方式,供程序员选择和优化。 **3. 错误
|
2月前
|
机器学习/深度学习 自然语言处理 IDE
GitHub Copilot 与 OpenAI ChatGPT 的区别及应用领域比较
GitHub Copilot 和 OpenAI ChatGPT 都是近年来颇受关注的人工智能项目,它们在不同领域中的应用继续引发热议。本文旨在分析和比较这两个项目的区别,从技术原理、应用场景、能力和限制、输出结果、能力与限制和发展前景等方面进行综合评估,帮助读者更好地了解这两个项目的特点和适用性。
52 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT发展到了什么程度?代码生成,程序员将被取代?
ChatGPT发展到了什么程度?代码生成,程序员将被取代?
20 0
|
2月前
|
机器学习/深度学习 人工智能
看看OpenAI(ChatGPT)怎么回答马斯克呼吁停止ai研究的?
看看OpenAI(ChatGPT)怎么回答马斯克呼吁停止ai研究的?
23 1
|
4月前
|
人工智能 算法 数据挖掘
ChatGPT 调教日记(二):程序员转量化的背景知识
ChatGPT 调教日记(二):程序员转量化的背景知识
31 0
|
4月前
|
人工智能 安全 机器人
AI日报:OpenAI向新用户重新开放ChatGPT Plus订阅
AI日报:OpenAI向新用户重新开放ChatGPT Plus订阅
40 0