我接下来会给大家介绍一下大模型中的一些基础概念以及会解释一下大模型中的名词
ChatGPT是什么?
从OpenAI的官网中可以查询到,在2022年宣发时,OpenAI称ChatGPT是一种模型。
从公开收集的资料中可以看出,早些年OpenAI推出了一个叫ChatGPT的模型,但目前我们所熟知的ChatGPT逐渐演变成了一种可以兼容多种GPT模型的聊天应用(服务)
我们可以理解为ChatGPT是对话产品,GPT-3.5、GPT-4是模型,国内的智谱清言也是对话产品,它的模型是ChatGLM
大模型是什么东西?
所谓的大模型,简而言之,就是那些拥有庞大参数数量的模型。它们通过处理和理解海量数据,能够胜任一系列复杂的任务。
那么,为何将这些模型称作大
模型呢?原因在于它们的规模之大,通常包含从数十亿到数千亿的参数。这些庞大的参数集合赋予了模型强大的学习和记忆能力,使其在处理各种任务时表现出色。我们可以从两个方面来进一步解读大模型的特点:
- 大模型之所以强大,一个重要原因在于它们庞大的参数数量。这些参数,或者说“权重”,是模型在学习过程中不断调整的核心,它们帮助模型更深入地理解和生成数据,比如GPT3的参数规模是175B,1B(1 Billion)等于10亿(即(10^9)),所以GPT3 有1750 亿个参数,属于千亿级的参数,GPT4 参数更夸张,是1.8万亿参数
- 大模型的训练离不开大量的数据。无论是文本、图像还是音频数据,都是大模型学习的基础。通过对这些数据的深入学习,模型能够掌握丰富的知识和技能。
大模型中包含几类模型
大型模型主要分为两类: 一、是大型语言模型,专注于处理和生成文本信息; 二、是大型多模态模型,这类模型能够处理包括文本、图片、音频等多种类型的信息。
当你给大模型一段输入,大模型会做什么?
- 将文本编码:模型首先将输入的文本串分词,然后将文字转换为向量(embedding),向量这个词大家可以简单理解为一串数字,比如
"apple" → [0.4, 0.1, 0.7]
- 预测下一个词:基于当前用户的输入以及所有前面的上下文,GPT会计算接下来每一个可能的单词或标记的概率,这个概率表明了在当前上下文中每一个单词接下来出现的可能性
- 选择单词:从概率最高的单词中选择一个作为输出
- 重复上述过程:接着,模型会将新生成的单词加入到已有的文本序列中,并基于这个更新后的序列重复上述预测和生成过程,直到达到某个停止条件
一个不怎么准确的描述:大模型其实,它只是根据上文,猜下一个词(的概率)
知道了当你给大模型一段输入,大模型会做什么,那么我们接下来看看GPT这个概念
GPT 这个名字全称是Generative Pre-trained Transformer
。其中Generative
是"生成式"的意思,也就是说这个 AI 模型是用来生成内容的。Pre-trained
是"预训练"的意思,那么这个预训练到底是什么意思呢?
Pre-trained 预训练
预训练是一种无监督学习方法,其目的是在特定任务之前,使用大规模的无标签数据训练模型,使模型能够捕捉到语言的基本规律和特征。这一过程帮助模型建立一个丰富的知识表示,从而提高其在后续任务中的泛化能力。这段话相信大家看到都是一脸的懵逼,接下来借鉴一下另一位作者的解释
"预训练"是相对"训练"而言的,所以我们先得知道什么是训练。
训练是机器学习的概念,比如我们要训练一个模型,用来根据西瓜的外型判断西瓜是否熟?
比如我们要训练一个模型,用来根据西瓜的外型判断西瓜是否熟?
我们来看下训练的过程,比如西瓜熟,一般从色泽、根蒂、敲声三方面来看
在机器学习的概念里面,色泽、根蒂、敲声 这三个叫做特征
,是否熟是结果,从数据中学得模型的过程称为训练
比如我买10个瓜,记录每个瓜的色泽、根蒂、敲声,然后把每个瓜都切开,看是不是都熟了。
从特征和结果找规律就是学习或者叫训练的过程,这10个瓜就是我用来学习的样本
,或者叫数据集
。
形式化表达 Y = f(x1) + f(x2) + f(x3)
;
Y 只有二种结果,熟 或者 不熟,训练的参数有三个,样本量有10个,最后能学习到色泽青绿、根蒂蜷缩、敲声浑浊的瓜熟的概率最大,这就是训练
。
这个例子也是上面说的传统机器学习中的可以用来处理分类任务的判别式模型。
好了,大家现在应该对训练有了大概的认知,接下来我们来说说预训练。
大模型之所以被称为预训练
模型,是因为模型在有监督训练和微调之前,先进行了一波大规模的无监督预训练阶段。
很多同学可能之前没学过机器学习,这里有个概念要讲解下:无监督和有监督是什么意思?
比如前面那个瓜熟不熟,是每个瓜都会被切开看,有个明确的结果值:熟还是不熟,这就是有监督。
而无监督学习,代表数据集中没有标签,算法需要从数据本身中发现结构或模式。
还是以瓜为例子,如果是无监督,我学习的目标可能不是区分瓜是不是熟,而是算法自己从这些瓜里面找规律,最后算法发现要把颜色相近、根蒂卷曲程度差不多的瓜放在一起,这个叫聚类
那在ChatGPT 里面也是类似,预训练的时候不涉及带有标签的训练,直接把互联网大量的咨询、文章等丢给模型,让模型学习词汇、语法、语义以及上下文信息。通过这个过程,模型能够学习到丰富的语言知识和表示能力。
在预训练完成后,这些模型可以进一步进行有监督的微调或特定任务的训练。通过微调,模型可以根据特定任务的数据进行具体的训练和调整,使其更适应特定任务,提高性能。
总结起来,预训练模型通过在大规模无监督数据上进行训练,为模型提供了基础的语言理解和表达能力。其后,通过特定任务的微调,将模型应用到具体的任务上,并提升其性能和适应性。这种两阶段训练的方式使得预训练模型相比传统NLP 自然语言处理任务中取得了更显著的突破。
大型语言模型这么厉害,为什么连小学数学题都能算错?
大型语言模型有时候会算错小学数学题,因为它们主要是基于语言理解和生成,而不是专门设计来进行数学计算的。语言模型是通过大量的文本数据进行训练的,这些数据主要是自然语言,而不是数学公式和计算。因此,语言模型在处理数学问题时,更多地依赖于模式识别和文本生成,而不是实际的数学计算。这就导致它们在处理一些简单的数学问题时,可能会出现错误。