ChatGPT和代码智能

article/2024/12/22 10:55:30

一. ChatGPT

1. ChatGPT的自我介绍

2. ChatGPT的前世

2.1GPT-3是啥?

  1. General Pre-Training(GPT),即通用预训练语言模型,是一种利用Transformer作为特征抽取器,基于语言模型进行训练的预训练语言模型。所以,理解GPT主要熟悉两个方面即可,即语言模型和其由Transformer组成的结构。
  2. 将无监督学习有监督模型的预训练目标,因此叫做生成式预训练(Generative Pre-training,GPT)

模型

发布时间

参数量

预训练数据量

训练逻辑

数据集

为了解决的问题

最终性能

GPT

2018 年 6 月

1.17 亿

约 5GB

无监督学习,是先通过在无标签的数据上学习一个生成式的语言模型,然后再根据特定热任务进行有监督的微调

BooksCorpus的数据集,这个数据集包含 7,000 本没有发布的书籍。作者选这个数据集的原因有二:1. 数据集拥有更长的上下文依赖关系,使得模型能学得更长期的依赖关系;2. 这些书籍因为没有发布,所以很难在下游数据集上见到,更能验证模型的泛化能力。

1.监督学习需要大量的标注数据,高质量的标注数据往往很难获得,所以使用无监督的无标签的数据进行第一步的学习

2.根据一个任务训练的模型很难泛化到其它任务中,具有任务输入变换能力

GPT-1在未经微调的任务上虽然也有一定效果,但是其泛化能力远远低于经过微调的有监督任务,说明了GPT-1只是一个简单的领域专家,而非通用的语言学家。

GPT-2

2019 年 2 月

15 亿

40GB

多任务学习,旨在训练一个泛化能力更强的词向量模型,它并没有对GPT-1的网络进行过多的结构的创新与设计,只是使用了更多的网络参数和更大的数据集

取自于Reddit上高赞的文章,命名为WebText。数据集共有约800万篇文章,累计体积约40G。

GPT-2的学习目标是使用无监督的预训练模型做有监督的任务。作者认为,当一个语言模型的容量足够大时,它就足以覆盖所有的有监督任务,也就是说所有的有监督学习都是无监督语言模型的一个子集

GPT-2表明随着模型容量和数据量的增大,其潜能还有进一步开发的空间,因此也诞生了GPT-3

GPT-3

2020 年 5 月

1,750 亿

45TB

海量参数,海量数据

in-context learning(情境学习)

除了几个常见的NLP任务,GPT-3还在很多非常困难的任务上也有惊艳的表现,例如撰写人类难以判别的文章,甚至编写SQL查询语句,React或者JavaScript代码等。而这些强大能力的能力则依赖于GPT-3疯狂的 1,750 亿的参数量, 45 TB的训练数据以及高达 1,200 万美元的训练费用。

2.2让人惊叹的参数量

2.3衍生的大模型们

3.总结GPT家族

GPT系列从1到3,通通采用的是transformer架构,可以说模型结构并没有创新性的设计。GPT-3的本质还是通过海量的参数学习海量的数据,然后依赖transformer强大的拟合能力使得模型能够收敛。

在微软的资金支持下,这更像是一场炫富:1750亿的参数,31个分工明确的作者,超强算力的计算机( 285,000 个CPU, 10,000 个GPU),1200万的训练费用,45TB的训练数据。当然现在利用GPT-3的API构建的各个应用程序也是很多, 各种好玩的demo gpt-3-apps API(2021年3月)

GPT-3可以完成一些令人感到惊喜的任务,但是GPT-3也不是万能的,对于一些明显不在这个分布或者和这个分布有冲突的任务来说,GPT-3还是无能为力的。例如通过目前的测试来看,GPT-3还有很多缺点的:

  1. 对于一些命题没有意义的问题,GPT-3不会判断命题有效与否,而是拟合一个没有意义的答案出来;
  2. 由于40TB海量数据的存在,很难保证GPT-3生成的文章不包含一些非常敏感的内容,例如种族歧视,性别歧视,宗教偏见等;
  3. 受限于transformer的建模能力,GPT-3并不能保证生成的一篇长文章或者一本书籍的连贯性,存在下文不停重复上文的问题。

所以,针对这些问题,就会继续发展后续的模型。

4.ChatGPT的今生

我们使用来自人类反馈的强化学习(RLHF)来训练这个模型,使用的方法与InstructGPT相同但数据收集设置略有不同。

可以看一下InstructGPT与GPT-3的差异

引入“人工标注数据+强化学习”(RLHF,Reinforcement Learning from Human Feedback ,这里的人工反馈其实就是人工标注数据(高质量的数据集)来不断Fine-tune预训练语言模型,主要目的是让LLM模型学会理解人类的命令指令的含义(比如给我写一段小作文生成类问题、知识回答类问题、头脑风暴类问题等不同类型的命令),以及让LLM学会判断对于给定的prompt输入指令(用户的问题),什么样的答案是优质的(富含信息、内容丰富、对用户有帮助、无害、不包含歧视信息等多种标准)。

  • 第一步:监督微调训练了一个初始模型:人类人工智能训练员提供对话,他们在对话中扮演双方-用户和人工智能助手。我们允许培训人员获取模型书面建议,以帮助他们构思他们的回答。为了让GPT 3.5初步具备理解指令中蕴含的意图,首先会从测试用户提交的prompt(就是指令或问题)中随机抽取一批,靠专业的标注人员,给出指定prompt的高质量答案,然后用这些人工标注好的<prompt,answer>数据来Fine-tune GPT 3.5模型。
  • 第二步:在这个阶段里,首先由冷启动后的监督策略模型为每个prompt产生K个结果,人工根据结果质量由高到低排序,以此作为训练数据,通过pair-wise learning to rank模式来训练回报模型。对于学好的RM模型来说,输入<prompt,answer>,输出结果的质量得分,得分越高说明产生的回答质量越高。
  • 第三步:使用这些奖励模型,使用近似值策略优化(Proximal Policy Optimization (PPO)对模型进行微调。对这个过程进行了多次迭代。

5. ChatGPT的使用案例

尽管官方对于ChatGPT的能力描述很简单,但是从实际大家使用的期刊来看,这个系统可以做的事情远超大家想象。这里我们会列举目前收集的ChatGPT的使用案例,供大家参考。

案例名称

案例来源

生成AI Prompt

https://twitter.com/GuyP/status/1598020781065527296

编写iOS SwiftUI APP

https://twitter.com/avielgr/status/1598895550392197121

学习技术

https://twitter.com/HamelHusain/status/1598834924848836609

写出一个可以生成小鸟图片的Python脚本

https://twitter.com/bgavran3/status/1598857248536956928

写Javascript脚本

https://twitter.com/vertinski/status/1599099368472137729

参与SAT考试

https://twitter.com/davidtsong/status/1598767389390573569

自然语言转成Latex

https://twitter.com/jdjkelly/status/1598021488795586561

解释代码

https://twitter.com/goodside/status/1598129631609380864

改写故事

https://twitter.com/raphaelmilliere/status/1598469100535259136

debugging代码

https://twitter.com/amasad/status/1598042665375105024

写计算机网络家庭作业

https://twitter.com/abhnvx/status/1598258353196929024

替代搜索引擎

https://twitter.com/RajJohri2019/status/1598492953764315137

创作短剧

https://twitter.com/rgodfrey/status/1598162900140445697

创作食谱

https://twitter.com/stephsmithio/status/1598920887029628928

反编译汇编代码

https://twitter.com/mahal0z/status/1598536939942006784

代写办公邮件

https://twitter.com/CubicleApril/status/1598753388895797282

写年度总结报告

https://twitter.com/shanselman/status/1599073011050872832

闲聊

https://twitter.com/t3dotgg/status/1598954493680713729

撰写技术博客

https://twitter.com/goodside/status/1598235521675038722

逻辑推理问题

https://twitter.com/Robdeprop/s

6. ChatGPT 可能存在的问题

  • ChatGPT有时会写出看似合理实则错误甚至荒谬的答案 因为:
    1. 在强化学习训练期间,目前没有任何真相来源;
    2. 训练模型更加谨慎会导致它拒绝本来可以正确回答的问题;
    3. 监督训练可能误导模型,因为理想的答案取决于模型知道什么,而不是人类训练者知道什么。
  • ChatGPT对输入的局部修改或多次尝试同一问题很敏感
    • 例如,修改问题中的某个词语,ChatGPT可能会给出完全不同的回答。或者同一问题一开始无法回答,换一种措辞再问一遍又能正确回答。
  • ChatGPT的回答通常过于冗长,过度使用某些短语
    • 例如ChatGPT会重申它是OpenAI训练的语言模型。这些问题源于训练数据的偏差(训练师更喜欢看起来更全面的较长答案)和众所周知的优化问题。
  • 不会反问
    • 理想情况下,当用户问的问题不明确时,模型应该提出反问来明确问题。然而目前ChatGPT模型通常会猜测用户意图,给出回答
  • 无法100%拒绝不当问题
    • 尽管OpenAI努力让模型拒绝不当问题,但它有时会难免还是会响应有害的指令或表现出偏激行为。OpenAI使用了Moderation API来警告或拦截某些类型的不安全内容,但可能目前还是会有一些误判。OpenAI希望通过收集用户反馈,以众包的形式来改进系统的工作。

7. 总结

尽管ChatGPT还存在上述局限,但在我的体验过程中,ChatGPT表现出的理解力和回复的准确度远超我的预计,让我直呼“牛逼”。如果ChatGPT正式开放出来,很有可能将是:“外事不决问谷歌,内事不决问百度,代码不会问ChatGPT”的格局。

目前ChatGPT还没联网,一旦它连上网络,可以从互联网获取更多知识和信息(有很多文章在设计他与搜索引擎相结合的模式,设想当API开放之时,很快就会有相关的产品面世...),ChatGPT的潜力将得到更大的释放,甚至达到令人恐怖的程度。我相信这一天离我们不会很远!

二. 代码智能

1. 现有产品

业界标杆CodeX (OpenAI) -> 收费产品: GitHub Copilot

AlphaCode(Google Deep Mind)

CodeGen(salesforce)

盘古coder(华为诺亚方舟实验室) 官网

各个模型的性能对比:

代码比自然语言的编解码有相同之处,也更容易去编码,更容易理解,因为相对来说,结构化更明确,就是很好理解的一个例子就是英文的语义理解是远比中文要简单的。

2. 基线任务 论坛

2.1 代码表示

抽象语法树(abstract syntax code,AST)是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构。

2.2 代码检索

2.3 代码生成

可以把其理解为是概率统计模型,预测后代码是什么。难点:但是有时候又不能只依赖于前面几个token,可能是要看整个句子,甚至是最一开始定义的变量。

代码补全

数据增强方法

2.4 代码审查

2.5 评测基线

3. 总结

有一些好的声音:“一人一model,效率大大提升” 如何不被 OpenAI 取代?

也有一些不好的声音:“ChatGPT产生的答案有很高的错误率“主要问题是,虽然ChatGPT产生的答案有很高的错误率,但它们往往第一眼看起来可能是对的,而且使用人工智能导致答案非常容易生成。我们需要减少这些内容。目前在Stack Overflow上使用ChatGPT创建帖子的行为已经被禁止。如果用户在此临时规定发布后使用了ChatGPT,将会受到制裁。”Stack Overflow的运营人员表示。”

仅代表个人观点:ChatGPT绝对是一个现象级的产品,发布不到10天超100W的用户量,是比Stable Diffusion 更有竞争力的一个模型和研究趋势。让更多的人愿意用很低的成本去完成一些工作,且OPENAI他们一直知道现有模型的一些缺陷和问题,可以从一个个迭代的模型和一些功能来看,他们也会一直在尝试优化和规避之前存在的一些问题。

训练AI,就像教育孩子一样,不能因为他们在小学的年龄无法参与高校竞赛或者世界会议就把他们封闭起来,我们往往会继续让他们参与更高难度的学习,指引他们去完成看似正确的事。

reference:

张俊林 ChatGPT会不会成为下一代搜索引擎

预训练语言模型之GPT-1,GPT-2和GPT-3


http://chatgpt.dhexx.cn/article/dISPGPPP.shtml

相关文章

ChatGPT 教程--生成代码

ChatGPT 变生产力工具 chatGPT是一种基于人工智能技术的自然语言处理模型&#xff0c;它使用了深度学习算法&#xff0c;可以对人类语言进行理解和生成。chatGPT可以用于对话系统、智能客服、问答系统等场景&#xff0c;能够实现自然、流畅的对话。 chatGPT的核心技术是基于G…

chatGPT代码写的有点好啊,程序员要失业了?

AI神器ChatGPT 火了。 能直接生成代码、会自动修复bug、在线问诊、模仿莎士比亚风格写作……各种话题都能hold住&#xff0c;它就是OpenAI刚刚推出的——ChatGPT。 有脑洞大开的网友甚至用它来设计游戏&#xff1a;先用ChatGPT生成游戏设定&#xff0c;再用Midjourney出图&am…

ChatGPT实现代码生成

代码生成 就代码生成而言&#xff0c;ChatGPT 是一款卓越的工具&#xff0c;它为开发者提供强大的功能。ChatGPT 可以运用其出色的自然语言处理技术&#xff0c;深入理解和解释开发者的需求&#xff0c;快速生成适合的代码片段。对于那些繁琐的任务或者重复的代码&#xff0c;…

Chatgpt:原理、公式和代码,从基础走近chatgpt

原理 简单理解&#xff0c;ChatGPT的原理就是极其强大的语言模型作为打底&#xff08;GPT系列&#xff09;&#xff0c;加上为“CHAT”而训练&#xff0c;平滑的多语种交互&#xff0c;造就了今天的chatGPT。下面的解释顺序为&#xff0c;语言模型&#xff0c;OpenAI&#xff…

chatgpt-4生成代码,看这一篇就够了

chatgpt-4生成代码&#xff0c;看这一篇就够了 cursor示例pythondbscan 聚类voronoi 图像分割手写数字识别圆柱绕流 matlab表白程序常微分方程常微分方程组2048小游戏 C/C正则表达式匹配删除有序数组中的重复项n 皇后问题 总结 今天发现一个OpenAI的partnership基于gpt-4开发的…

50行不到的代码,实现自己的ChatGPT服务

效果图 废话不多说直接上代码 代码1&#xff1a;后端纯净代码 import openai import time# 定义 OpenAI API key openai.api_key "请在此输入你的key" # 定义模型 ID model_engine "text-davinci-003" # 定义对话历史记录 conversation_history []# …

火遍全球的ChatGPT技术简介与主干网络代码

如果说当下最火的AI技术和话题是什么&#xff0c;恐怕很难绕开ChatGPT。各大厂商都在表示未来要跟进ChatGPT技术&#xff0c;开发在自然语言处理智能系统&#xff0c;可见其影响力。本篇博客追个热度&#xff0c;来简单的介绍下ChatGPT到底是一项什么技术&#xff0c;究竟如何完…

ChatGPT评出中国排名前的30大学及全球排名,原因很好玩

中国排名前50的大学在中国国内及在全世界的排名&#xff0c;还有原因 以下是中国排名前50位的大学及其在全球的排名和原因&#xff1a; 清华大学 (17)&#xff1a;清华大学是中国著名的高水平研究型综合性大学&#xff0c;其在工程学、计算机科学和自然科学等领域具有很高的研究…

【chatGPT演示】

首发网站 天风的人工智能小站 前言&#xff1a;chatGPT 一、注册 https://chat.openai.com/auth/login 1、点击右边注册sign up 2、可以使用自己的邮箱或者谷歌邮箱注册 验证邮箱输入姓名 3、现在到了最关键的一步 因为openAI不对中国开放所以&#xff0c;必须要购买一个外…

聊一聊ChatGPT

最近突然ChatGPT火了&#xff0c;这一款人工智能聊天机器人程序的月活用户已突破1亿&#xff0c;成为史上增长最快的消费者应用。各大IT企业也纷纷宣布拥抱ChatGPT&#xff0c;包括微软、谷歌等。中国国内的百度、科大讯飞也在准备推出国内版的类似ChatGPT的人工智能语音应用。…

chatgpt如何自动生成角色prompt模板

chatgpt如何自动生成角色prompt模板 作者&#xff1a;虚坏叔叔 博客&#xff1a;https://xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; 一、角色prompt模板 下面是套图的chatgpt模板&#xff0c;你可以手动的进行填写。将角色的描述填…

报道称,中国互联网巨头将推出自己的 ChatGPT 版本

中国互联网巨头百度计划推出自己的 ChatGPT版本。 周日的一份报告称&#xff0c;该公司将于 3 月推出其人工智能聊天机器人 一位自称了解此事的人士告诉彭博社 。 消息人士称&#xff0c;该工具尚未命名&#xff0c;一开始将并入百度的主要搜索服务。 有关的 ChatGPT&#xff1…

ChatGPT自然语言处理的新里程碑

ChatGPT中文网是一个面向中国用户的聊天机器人网站&#xff0c;旨在为国内用户提供一个自然的环境、有趣、实用的聊天体验。它使用最新的自然语言处理技术来帮助用户更好地理解他们的聊天对话&#xff0c;还可以帮助用户解决日常生活中的问题&#xff0c;提供有趣的谈话内容以及…

ChatGPT:短期被高估

ChatGPT有多热 ChatGPT有多热&#xff0c;我们可以通过百度指数看一下。 伴随着ChatGPT席卷而来&#xff0c;国内诸多业内人士热议&#xff0c;包括求加入。典型的是前美团联合创始人王慧文。在前两天&#xff0c;他就曾在朋友圈中发布“人工智能宣言”&#xff0c;表示以5000万…

【花雕学AI】4月5日,ChatGPT中国财经背景分析:昨天沪指重返3300点,这说明了什么?

在这里插入图片描述 附录&#xff1a; 一、ChatGPT是一个可以和你聊天的人工智能程序&#xff0c;它可以用文字回答你的问题&#xff0c;也可以根据你的提示写出文章、歌词、代码等内容。ChatGPT是由一个叫OpenAI的机构开发的&#xff0c;它使用了一种叫做GPT的技术&…

国产ChatGPT Al大模型排行榜(TOP 30)

关注、星标公众号&#xff0c;精彩内容每日送达 来源&#xff1a;网络素材 1&#xff09; AI不会臣服于人类的工具 2&#xff09;AI具备了思想而不被人类理解 3&#xff09;AI是具备有生命特征的生命 4&#xff09;中国智慧的抽象算法比西方大数据算法维度要高&#xff0c;八卦…

ChatGPT的未来发展

文章目录 1.什么是ChatGPT2.ChatGPT的基础技术3.ChatGPT工作原理4.ChatGPT应用场景5.ChatGPT局限性6.ChatGPT的未来发展 ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮儿的个人主页 &#x1f3d9;️ 个人社区&#xff0c;欢迎你的加入&#xff…

ChatGPT团队9位华人揭秘:3清华、1北大、1华科

Datawhale分享 分析&#xff1a;ChatGPT团队&#xff0c;来源&#xff1a;AIGC开放社区 Aminer和智谱研究发布了《ChatGPT团队背景研究》报告&#xff0c;深度揭示了这款火爆全球应用的背后团队的总体人员架构。 调查发现&#xff0c;ChatGPT团队只有87人&#xff0c;其显著特…

ChatGPT 从入门到精通

ChatGPT 从入门到精通 适用人群: 互联网一线对ChatGPT感兴趣的划时代先驱者们 内容来源: 内容均出自网络 创建时间: 2023年2月9日 最近更新: 2023年3月29日(每天中午十二点准时更新) 文档内容:分享的内容包括但不限于赚钱引流、实际落地、最新资讯、未来发展、等多个模块。 文…

聊聊中国ChatGPT的应用场景!

01中国版ChatGPT技术原理 首先&#xff0c;ChatGPT是由大量的文本数据进行训练得到的。这些数据包括文章、书籍、新闻报道等&#xff0c;通过对这些数据的学习&#xff0c;ChatGPT可以自动地学会语言的语法、词汇和惯用语等知识。 其次&#xff0c;ChatGPT采用了一种被称为“…