目录
一、前言
二、ChatGPT的技术原理
阶段一:基于冷启动的有监督策略模型
阶段二:基于奖励机制的训练模型
阶段三:采用强化学习来增强预训练模型
三、使用案例
四、思考
问题一:ChatGPT如此强大,那未来可以商业化,孵化产品吗?
问题二:ChatGPT会代替传统的搜索引擎吗?
问题三:我们可以借鉴ChatGPT哪些方面呢?
五、ChatGPT 镜像
六、参考文献
一、前言
12月1日,OpenAI公司官宣了其目前最强大的AI对话模型ChatGPT,最近几天极其火爆,朋友圈也都是案例,网上都是铺天盖地的ChatGPT相关案例和测试内容,效果确实非常震撼。上一次引起如此轰动的AI技术,NLP领域还是GPT3模型,那已经两年前的事情了,如今是恍如昨天。多模态领域则是DaLL E2、Stable Diffusion为代表的Diffusion model,这也是最近火了大半年的AIGC模型,常见就是输入几个关键词,模型可以用作作画,而且水平似乎已经超过普通人。如今,AI的星火又传到了ChatGPT身上,它也是属于AIGC领域。AI泡沫逐渐破裂的今天,AIGC又给了AI一副济世良药。ChatGPT主要是基于GPT3.5来实现的,OpenAI官方也说明GPT4模型即将来临,也更加期待他的效果。看来AIGC将会成为AI行业的一丝希望和温暖,AIGC或许是AI奇点,AI下半场主角。
说回ChatGPT,我们主要从两个角度,一个是技术角度来聊聊,另一个是脑洞比较大的案例上,看看有哪些业务场景。
首先,ChatGPT到底是采用了怎样的技术,才能做到如此超凡脱俗的效果?既然chatGPT功能如此强大,那么它可以取代Google、百度等现有搜索引擎吗?如果能,那是为什么,如果不能,又是为什么?
其次,ChatGPT到底有哪些较好的案例,这些案例都说明什么问题?给了AI从业人员哪些思考?
图 2022年gartner技术成熟曲线
现在访问 ChatGPT 官网至少需要满足以下两点:
1. ChatGPT 账号
2. 特定地区(需要特定网络解决)
文章末尾提供了一个 ChatGPT 镜像,可直接访问,无需账号,无区域限制。
二、ChatGPT的技术原理
官方博客中介绍到,ChatGPT是基于GPT-3.5(模型card:https://datalearner.com/ai-resources/pretrained-models/gpt-3-5 )微调的结果。ChatGPT是InstructGPT的兄弟模型(InstructGPT是官方训练的一个比GPT-3更好的遵循用户意图的语言模型,是基于OpenAI的alignment research技术研发的,比GPT-3更强的语言模型)。
ChatGPT的训练使用了基于人类反馈的强化学习( Reinforcement Learning from Human Feedback,RLHF)。这点与InstructGPT一样,但是在数据收集方面有差异。OpenAI使用监督下的微调训练了一个初始模型:人类AI训练员提供对话,他们在对话中扮演双方—用户和人工智能助理。这可以让训练者接触到模型编写的建议,以帮助他们组成他们的回应。
接下来是张俊林老师的一段描述,感觉非常能够总结官网的介绍。
整体技术路线上,ChatGPT在效果强大的GPT 3.5大规模语言模型(LLM,Large Language Model)基础上,引入“人工标注数据+强化学习”(RLHF,Reinforcement Learning from Human Feedback ,这里的人工反馈其实就是人工标注数据)来不断Fine-tune预训练语言模型,主要目的是让LLM模型学会理解人类的命令指令的含义(比如给我写一段小作文生成类问题、知识回答类问题、头脑风暴类问题等不同类型的命令),以及让LLM学会判断对于给定的prompt输入指令(用户的问题),什么样的答案是优质的(富含信息、内容丰富、对用户有帮助、无害、不包含歧视信息等多种标准)。
基于“人工标注数据+强化学习”,ChatGPT整体训练架构如下图所示。
图 整体训练流程图
具体而言,ChatGPT的训练流程分为三个阶段:基于冷启动的有监督策略模型、基于奖励机制的训练模型、采用强化学习来增强预训练模型。
阶段一:基于冷启动的有监督策略模型
靠GPT 3.5本身,尽管它很强,但是它很难理解人类不同类型指令中蕴含的不同意图,也很难判断生成内容是否是高质量的结果。为了让GPT 3.5初步具备理解指令中蕴含的意图,首先会从测试用户提交的prompt(就是指令或问题)中随机抽取一批,靠专业的标注人员,给出指定prompt的高质量答案,然后用这些人工标注好的<prompt,answer>数据来Fine-tune GPT 3.5模型。经过这个过程,我们可以认为GPT 3.5初步具备了理解人类prompt中所包含意图,并根据这个意图给出相对高质量回答的能力,但是很明显,仅仅这样做是不够的。
阶段二:基于奖励机制的训练模型
这个阶段的主要目的是通过人工标注训练数据,来训练奖励模型。具体而言,随机抽样一批用户提交的prompt(大部分和第一阶段的相同),使用第一阶段Fine-tune好的冷启动模型,对于每个prompt,由冷启动模型生成K个不同的回答,于是模型产生出了<prompt,answer1>,<prompt,answer2>….<prompt,answerK>数据。之后,标注人员对K个结果按照很多标准(上面提到的相关性、富含信息性、有害信息等诸多标准)综合考虑进行排序,给出K个结果的排名顺序,这就是此阶段人工标注的数据。
接下来,我们准备利用这个排序结果数据来训练回报模型,采取的训练模式其实就是平常经常用到的pair-wise learning to rank。对于K个排序结果,两两组合,形成 (k 2) 个训练数据对,ChatGPT采取pair-wise loss来训练Reward Model。RM模型接受一个输入<prompt,answer>,给出评价回答质量高低的回报分数Score。对于一对训练数据<answer1,answer2>,我们假设人工排序中answer1排在answer2前面,那么Loss函数则鼓励RM模型对<prompt,answer1>的打分要比<prompt,answer2>的打分要高。
归纳下:在这个阶段里,首先由冷启动后的监督策略模型为每个prompt产生K个结果,人工根据结果质量由高到低排序,以此作为训练数据,通过pair-wise learning to rank模式来训练回报模型。对于学好的RM模型来说,输入<prompt,answer>,输出结果的质量得分,得分越高说明产生的回答质量越高。
阶段三:采用强化学习来增强预训练模型
第三阶段:采用强化学习来增强预训练模型的能力。本阶段无需人工标注数据,而是利用上一阶段学好的RM模型,靠RM打分结果来更新预训练模型参数。具体而言,首先,从用户提交的prompt里随机采样一批新的命令(指的是和第一第二阶段不同的新的prompt,这个其实是很重要的,对于提升LLM模型理解instruct指令的泛化能力很有帮助),且由冷启动模型来初始化PPO模型的参数。然后,对于随机抽取的prompt,使用PPO模型生成回答answer, 并用上一阶段训练好的RM模型给出answer质量评估的回报分数score,这个回报分数就是RM赋予给整个回答(由单词序列构成)的整体reward。有了单词序列的最终回报,就可以把每个单词看作一个时间步,把reward由后往前依次传递,由此产生的策略梯度可以更新PPO模型参数。这是标准的强化学习过程,目的是训练LLM产生高reward的答案,也即是产生符合RM标准的高质量回答。
如果我们不断重复第二和第三阶段,很明显,每一轮迭代都使得LLM模型能力越来越强。因为第二阶段通过人工标注数据来增强RM模型的能力,而第三阶段,经过增强的RM模型对新prompt产生的回答打分会更准,并利用强化学习来鼓励LLM模型学习新的高质量内容,这起到了类似利用伪标签扩充高质量训练数据的作用,于是LLM模型进一步得到增强。显然,第二阶段和第三阶段有相互促进的作用,这是为何不断迭代会有持续增强效果的原因。
三、使用案例
尽管官方对于ChatGPT的能力描述很简单,但是从实际大家使用的期刊来看,这个系统可以做的事情远超大家想象。这里我们会列举目前收集的ChatGPT的使用案例,供大家参考。
案例序号 | 案例名称 | 案例来源 |
1 | 生成AI Prompt | href="https://twitter.com/GuyP/status/1598020781065527296" https://twitter.com/GuyP/status/1598020781065527296 |
2 | 编写iOS SwiftUI APP | href="https://twitter.com/avielgr/status/1598895550392197121" https://twitter.com/avielgr/status/1598895550392197121 |
3 | 学习技术 | href="https://twitter.com/HamelHusain/status/1598834924848836609" https://twitter.com/HamelHusain/status/1598834924848836609 |
4 | 写出一个可以生成小鸟图片的Python脚本 | href="https://twitter.com/bgavran3/status/1598857248536956928" https://twitter.com/bgavran3/status/1598857248536956928 |
5 | 写Javascript脚本 | href="https://twitter.com/vertinski/status/1599099368472137729" https://twitter.com/vertinski/status/1599099368472137729 |
6 | 参与SAT考试 | href="https://twitter.com/davidtsong/status/1598767389390573569" https://twitter.com/davidtsong/status/1598767389390573569 |
7 | 自然语言转成Latex | href="https://twitter.com/jdjkelly/status/1598021488795586561" https://twitter.com/jdjkelly/status/1598021488795586561 |
8 | 解释代码 | href="https://twitter.com/goodside/status/1598129631609380864" https://twitter.com/goodside/status/1598129631609380864 |
9 | 改写故事 | href="https://twitter.com/raphaelmilliere/status/1598469100535259136" https://twitter.com/raphaelmilliere/status/1598469100535259136 |
10 | debugging代码 | href="https://twitter.com/amasad/status/1598042665375105024" https://twitter.com/amasad/status/1598042665375105024 |
11 | 写计算机网络家庭作业 | href="https://twitter.com/abhnvx/status/1598258353196929024" https://twitter.com/abhnvx/status/1598258353196929024 |
12 | 替代搜索引擎 | href="https://twitter.com/RajJohri2019/status/1598492953764315137" https://twitter.com/RajJohri2019/status/1598492953764315137 |
13 | 创作短剧 | href="https://twitter.com/rgodfrey/status/1598162900140445697" https://twitter.com/rgodfrey/status/1598162900140445697 |
14 | 创作食谱 | href="https://twitter.com/stephsmithio/status/1598920887029628928" https://twitter.com/stephsmithio/status/1598920887029628928 |
15 | 反编译汇编代码 | href="https://twitter.com/mahal0z/status/1598536939942006784" https://twitter.com/mahal0z/status/1598536939942006784 |
16 | 代写办公邮件 | href="https://twitter.com/CubicleApril/status/1598753388895797282" https://twitter.com/CubicleApril/status/1598753388895797282 |
17 | 写年度总结报告 | href="https://twitter.com/shanselman/status/1599073011050872832" https://twitter.com/shanselman/status/1599073011050872832 |
18 | 闲聊 | href="https://twitter.com/t3dotgg/status/1598954493680713729" https://twitter.com/t3dotgg/status/1598954493680713729 |
19 | 撰写技术博客 | href="https://twitter.com/goodside/status/1598235521675038722" https://twitter.com/goodside/status/1598235521675038722 |
20 | 逻辑推理问题 | href="https://twitter.com/Robdeprop/status/1598285166971351040" https://twitter.com/Robdeprop/status/1598285166971351040 |
以上就是我们收集的关于ChatGPT的一些应用案例,很多内容都是重复的。不过从案例收集的结果来看。ChatGPT在编码上有很好的水平,同时在艺术创作、技术创作、办公、逻辑算术等方面都有很不错的表现。需要注意的是,ChatGPT是支持多轮对话的,它可以和你一起进行多次对话来修补回答。在写app和函数的案例中,如果你对答案不满意,可以要求怎么去修改它。这些案例让很多人认为这就是一个通用型人工智能的雏形,也是GPT-4的结果。
自己亲自体验了一把,玩嗨起来。
场景一:角色扮演:假如你是李白。看这作的诗集有模有样。
场景二:角色扮演:假如你是数学老师。
看这回答的问题还不错。
场景三:做数学题也很不错。
场景四:作为学校的老师,继续处理学生之间的矛盾。
四、思考
问题一:ChatGPT如此强大,那未来可以商业化,孵化产品吗?
目前来看这个模型是大公司的游戏,而且是超级巨头之间的游戏。对于中小型公司来说基本上不可能。原因有以下几点。
原因一:成本非常高,高到常人都想象不到。ChatGPT或GPT4的训练成本以及在线推理成本太高,导致如果面向真实搜索引擎的以亿记的用户请求,假设继续采取免费策略,OpenAI无法承受,但是如果采取收费策略,又会极大减少用户基数,是否收费是个两难决策,当然如果训练成本能够大幅下降,则两难自解。
马斯克在一条宣布chatgpt用过过百万的推下问运行chatgpt的成本,这个哥们估了个数字,大概每次对话请求要1~2美分,只是比较粗糙的估计,openai每天要花10万美元来提供这个服务,网上是这么说的。
原因二:OpenAI掌握着模型的核心技术,全球独此一份,意味着核心技术还是掌握在大厂的手中,毕竟这背后站着是微软。如果OpenAI或者微软不开源代码和模型,其他人估计也没办法站到巨人的肩膀上,只能跟在OpenAI身后进行跪舔才行。OpenAI和微软哪天不高兴了,不给你接口,不也玩不起来了。
原因三:ChatGPT算是一个基于Ai技术而实现的一个辅助引擎,其实就是通过大量的资料学习,打造出一个像搜索引擎一样可以回答问题工具。但是本身还是有很多错误的回答,关键它还会“一本正经胡说八道”。从网上的案例上来看,非常多的认知层面出错,没有办法认识自己的错误。如果说把它当成一个检索系统,给我们想要的答案,你需要验证回答的内容是否正确。表面上似乎没有问题,但实际上内容里面真真假假,假假真真。尤其对回答问题的置信度要求比较高的场景,用ChatGPT可能性不大。
问题二:ChatGPT会代替传统的搜索引擎吗?
现阶段不会。我们先看看搜索引擎做哪些事情。
搜索引擎我们都不陌生,用户输入query和内容,搜索引擎提供有用信息。但是人们想要的是准确并且具体的内容,对搜索引擎的要求可是很严格的。不仅需要返回的结果正确,还不能返回太多无用干扰信息。
其次,想要研发出好用的搜索引擎,需要有强大的数据收集并进行标签分类的能力,这就涉及到人工智能技术、互联网、云端服务等各种技术的沉淀,想要实现突破就需要付出更多的时间。
再者,搜索引擎需要大量的内容生态能力以及商业化的能力。一个功能好用与否就看它拥有什么样的价值,内容生态能力是搜索引擎的关键,只有掌握足够多的内容,才能在用户使用时提供精准拥有的回答,帮助用户解决问题。
所以,我们可以看到,搜索引擎并不是一个ChatGPT模型能够完全代替的。抛开成本来说,ChatGPT本身是不具备这些能力。像谷歌、百度这类企业的搜索引擎已经足够成熟和好用。ChatGPT不能实现实质性的超越,那即使是推出也不会吸引到用户来使用,如果不能雪中送炭,景上添花意义不大。毕竟,搜索引擎最关键的就是,快速呈现精准信息的能力。
问题三:我们可以借鉴ChatGPT哪些方面呢?
从ChatGPT模型本身来看,针对AI从业人员还是有很多借鉴的地方。
其一,模型体量不是越大越好,重点还是在数据质量。这一点估计大多数AI从业人员都会说。ChatGPT是基于GPT3.5,但是模型参数却只有1.6亿左右,并不是说几百亿,万亿参数模型。数据量主要是经过人工多层次筛选,并且对结果进行逐条人工校验,相当于人类在当一个“好老师”,不断调教“ChatGPT这学生”。模型不断的给出答案,AI训练师不断的给答案评分,并且打上不同的标签。形式上甚至采取交互式的方式。听说这个打标签和交互形式的工作,也就是AI调训师,OpenAI给出了69万美元的年薪。
其二,Reinforcement Learning from Human Feedback技术会快速蔓延到其它内容生成方向。这是一个新的技术点,可以跟其他的任务和场景进行结合起来。
其三,大模型时代到来,可能AI工程师已经不能仅仅借助过往的调模型经验了。未来一个好的算法工程师,一定是会洗数据,选数据,调模型,懂业务,懂AI架构,一个全能型选手。针对中小厂的从业人员,尤为重要。如此才能不被行业所淘汰。
针对AIGC应用场景,也同样有借鉴的地方。
其一,可能未来不会去区分不同的任务场景,万物皆可生成。绝大数的任务都是可以通过AIGC来实现。ChatGPT可以用来做编程、艺术创作、技术创作、办公、逻辑算术、函数调用。但他本质上还是一个AIGC模型。
其二,未来AIGC大概率会聚集在娱乐消费、自媒体、弱社交娱乐。因为对生成质量要求不是很高,然后互连网传播速度可以加快数据的产生,加快模型的迭代更新。弱社交娱乐可以提供情感寄托
其三,内容创作覆盖的范围非常广,把AI做为内容生产的工具,而不再聚焦于人。这个业务场景就会非常广泛:代码辅助生成、设计图纸、文稿生成、音视频、邮件等等。
五、ChatGPT 镜像
ChatGPT 镜像,可直接访问,无需账号,无区域限制。
https://gpt.chatapi.art
感兴趣可以收藏下网址!
ChatGPT 镜像
六、参考文献
https://zhuanlan.zhihu.com/p/589533490
https://www.zhihu.com/question/570189639
https://openai.com/blog/chatgpt/
https://github.com/acheong08/ChatGPT