先做个广告:如需代注册ChatGPT或充值 GPT4.0会员(plus),请添加站长微信:gptchongzhi
前段时间参加了一个AI的社群,学习了一些AI方面的知识。我想把这段时间学习到的AI知识,做成一系列听课笔记作为笔记输出,同时也检验自己的学习情况。
推荐使用GPT中文版,国内可直接访问:https://ai.gpt86.top
下面开始我们的系列之一《再深入了解下ChatGPT》。为什么取这个标题?因为我知道,我们中大部分读者,包括我,在看/写这篇文章之前,或多或少了解一些ChatGPT,但可能没有那么地深入,今天就更深入地了解下。
什么是ChatGPT
ChatGPT是由OpenAl于去年11月发布的生成式Al对话机器人。其中Chat代表其以对话形式呈现,GPT则代表其技术架构为“生成式预训练模型” (Generative Pre-trained Transformer)。简单来说,就是说输入一指令,给出你想要的内容!
ChatGPT版本迭代
最新的版本是4.0,在此之前还有几个版本
版本 | 推出年份 | 是否开源 |
GPT 1.0 | 2018 | 是 |
GPT 2.0 | 2019 | 是 |
GPT 3.0 | 2020 | 否 |
Instruct GPT | 2020之后 | 否 |
GTP3.5(ChatGPT) | 2022 | 否 |
介绍完了基本概念和版本迭代,再聊一聊大语言模型。要讲大语言模型,先讲下特定语言模型。
特定语言模型
特定语言模型,在我们实际生活中举例为:网购的智能客服、银行的智能客服等等。它们是某一个具体领域的系统,解决的也是特定领域的业务事情。例如银行的智能客服,它就只能处理银行业务相关事情,例如查询余额、账号信息等银行业务。它不能解决跨业务系统的事情,例如在查询账户余额的过程中,突然问它李白的生日,它是没有办法查下出来的。同样地,在网购智能客服系统中,如果突然问今天天气怎么样,网购智能客服也不能回答的(除了人工干预外)。这就是特定语言模型的实例。因为它是具体业务的模型。有时候,人们也称特定语言模型为小语言模型。这个也是在出现大语言模型才这样称呼的。
大语言模型
大语言模型,英文为large language mode。是NLP(natural language processing 自然语言处理)的一个重要的发展方向。大语言模型,简单来说,就是使用大量文本数据训练、包含大规模参数的深度学习模型,可以通过自然语言进行人机对话。
相对于小语言模型来说,大语言模型就是一个综合性的智能机器。以OpenAI的ChatGPT为例,当你在问它银行利率的过程中,你突然再问它李白的生日。ChatGPT是能准确回答出来的,你若再问其他领域更专业的问题。ChatGPT也都能回答出来。
再深入了解下ChatGPT
前面我们已经知道,生活中已经有许多的小模型。这些小模型是由各个领域的公司或组织或个人,在各自领域内,通过专业知识和技能训练出来的模型,适用范围也主要是在各自专业领域。
但是OpenAI公司就比较特别。他研发人工智能的方向就不类似前面采用小语言模型的公司。前面说的小模型,他通通不要,他把所有的人类语言汇集起来,并把这些语言灌入到45T(1T等于1024G,1G等于1024M)的data里面,然后构建一个有1751亿个参数的大模型。这个操作、这数据量,与之前的人工智能研究方向完全不同了。这也是OpenAI公司的研发AI的不同思路。那么大语言模型的流程是怎么样的呢?
基本流程
OpenAI训练的过程,简单地理解为:把45T或者100T的数据压缩到1751亿个参数的模型里面,就像把一张640x640或者更大的图片压缩到64x64大小的图片。这里为什么是64x64?而不是8x8或者128x128. 我想应该是:若8x8的话,图片压缩太多了就失真了;而128x128,就还有压缩空间,这就为什么是1751亿个参数的模型。
举例说明,一张640x640的猫的图片,这个是很清晰的图片,包括猫的毛发都能清晰看清楚。然后压缩到64x64,当然像素变小,清晰度就变低,模糊了很多,包括猫的毛发基本分辨不清楚了。但是从整体来看,猫的形状和神态还是基本能看清楚。在这个64x64大小的像素,就是大数据模型保留的猫的特征的最小单元
在回到ChatGPT中,一个苹果实例,包括中文的苹果、英文的Apple、西班牙的苹果、红色或青色的等等一切关于“苹果”特征。通过大数据训练,苹果的一切特征都存储在模型中某一个内存空间内。例如,当我们输入指令:“根据苹果二字,写出300字的小作文”。ChatGPT就根据苹果二字,先找到苹果的最小单元,然后添油加醋地补充苹果的修饰符。如:最开始是苹果,然后是一个红通通的苹果,在然后是一个能吃的,脆脆的,红通通的苹果,最终生成一篇300字的小作文。它的过程就像64x64像素的图片恢复到640x640大小的图片。它是不断地,根据核心关键字进行添油加醋地扩充内容。
当然,我们还可以做这样一件事情:自己写的800字的作文,要求ChatGPT把这800字文章概括为30个字的一句话,ChatGPT能实现了。这个大家都验证过。然后反过来,再根据这30个字,要求ChatGPT写出800字的文章。ChatGPT能实现。但是可以肯定:你自己写的800字文章与ChatGPT实现的肯定不一样。包括用的词和语句。但是你写的文章的中心思想和ChatGPT的是基本一致的。这就是所谓的神似形不似。
可以理解为:一张640x640的图片压缩成64x64,然后在把64x64恢复到640x640. 肯定前后640x640的图片的样子不一样的。除了神态相似外。对于刚才的猫来说,毛发肯定不一样了,但是猫的整体神态或形态是一致的。
在简要的概括下:我们把自然语言的所有语料灌入到大语言系统中,最终得到一个1751亿个变量的大语言模型。然后我们在使用的时候,根据输入的指令,在大数据模型中匹配最相似的单元,进行添油加醋地复原或补充,最终生成新的内容并呈现出来。这就是ChatGPT的整个基本流程。
谈玩ChatGPT的整体流程。在解释下ChatGPT的含义。
GPT的全称是Generative Pre-trained Transformer
Generative,意思是“生成式”,也就是说GPT具有生成新文本的能力。
Pre-trained,意思是“预训练”, 简单来说,在使用ChatGPT之前,GPT模型就已经通过海量的文本数据进行了预训练,学习掌握了语言结构、语法、语义等方面的知识。这里先说为什么要进行预训练.以家里请一个家政保姆为例,在保姆来你家之前,她是经过家政公司的系统培训好了,培训好了怎么打扫卫生,怎么厨房做菜。保姆来到你家,只要经过你的特别调教和说明,例如你的打扫卫生的要求,你饮食喜好偏淡或咸或辣 等等。保姆就可以上岗工作了。
想一想,一个婴儿级(3岁智商)的保姆来到你家。她不会说中文、也不会使用卫生工具、更不会使用厨房的锅碗瓢盆。那么这样完全空白的保姆,你把她培养和调教好适合你家的习惯,估计至少15年时间。反过来说,经过预训练的保姆,你就能节省很多的时间和精力了。这里要说明下,OpenAI公司完成一次从零开始的预训练,要花费几个月、使用大批的机器训练而成,这个过程花费的成本要上亿元。这个成本是一般组织承受不起,这就是预训练的意义。
这里在区别下,在此之前我们小模型的训练模式。以车牌号码识别系统为例。在我们生活中,很多地方都用到了,它就是通过一些图片或文字,识别出里面的车牌信息并提示出来。这样的一个系统,它的训练模式,一般是这样的:把所有车牌号码相关的语料灌入系统,从头到尾把它做成一个只识别车牌号码这件事情即可。可以简单的理解为:花比较少的时间,使用少量的机器就能训练出来的一个模型。而ChatGTP 完成一次从零开始全模式的训练,将要花费上亿的成本和数月的时间来完成。这也是为什么大模型必须经过预训练(因为“实时”训练,成本和时间都耗不起)
Transformer,意思是“转换器”。简单来说,把一个事物从A转变成B。开始我的理解为“翻译”,就想把一句话,从英文翻译成中文或者西班牙文,其实不是这样的。在Transformer内部有两个重要的部分:编码器(Encoder)和解码器(Decoder). 举个例子说明,你输入苹果二字给ChatGPT,它内部会把苹果 Encoder成1536 亿维的一个向量,相当于1536个数字,这些数字在它的训练模型中代表了苹果的含义。然后Decode的时候,就给你转码出来。例如你需要英文的苹果,那就输出apple,若是日文的就是リンゴ,这就是转换器的作用。
综合起来,ChatGPT就是一个经过预训练的大数据模型,能进行输入输出转换并能生成新文本能力的AI人工智能。
以上就是笔记之一《再深入了解下ChatGPT》
有兴趣,请关注程序员华仔