电脑基础 · 2023年3月31日

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

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

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

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

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

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

文章目录

    • ChatGPT初体验
    • ChatGPT的原理
    • ChatGPT的局限
    • 总结

ChatGPT初体验

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

常用算法实现

ChatGPT体验:快速傅里叶变换算法

帮你找bug

ChatGPT体验:AI帮你找bug

解决算法难题

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

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

解奥数题

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

图2. ChatGPT解小学奥数题

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

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

ChatGPT的原理

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

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

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

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

ChatPGT训练方法

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

ChatGPT的局限

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

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

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

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

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

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

按照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的潜力将得到更大的释放,甚至达到令人恐怖的程度。我相信这一天离我们不会很远,也许我们的下一代看到的世界会是一个完全不同的全新世界。