什么叫大语言模型
LLM(Large Language Model):简单理解,就是参数量比较多(参数量在1B(10亿)以上)的模型。
什么是AI模型
AI模型也称为人工神经网络,本质上就是用来做矩阵运算的。
模型大小:Model Size
GPT-3大模型的“175B”指的是模型包含的参数数量,即1750亿(175 billion)个参数。这些参数主要是权重和偏置,在模型训练过程中通过不断更新来优化模型的性能。
模型参数:LLM parameters
大模型的参数可以通俗地理解为模型“记住”的信息或“知识”。这些参数就像是一个复杂的公式中的变量,它们决定了模型如何处理输入数据并生成输出。
-
知识的存储:想象你在学习一门新技能,比如骑自行车。你需要记住如何保持平衡、如何转弯等。大模型的参数就像是这些记忆,它们存储了模型在训练过程中学到的知识。
-
权重和偏置:在模型中,每个参数可以看作是一个“开关”,控制着输入数据在模型中的流动。某些参数可能会被“打开”得更多(权重高),而另一些则可能被“关闭”得更多(权重低)。偏置则像是给每个“开关”加了一个额外的调节,让模型在没有输入时也能有一定的反应。
-
调整和优化:在训练模型的过程中,模型会不断调整这些参数,像是不断修改自己的学习策略,以便更好地理解和生成语言。就像你在骑自行车时,随着练习,你会不断调整自己的重心和速度,直到能够顺利骑行。
-
模型的复杂性:大模型的参数数量通常非常庞大,可能有数亿到数千亿个。这意味着它们可以捕捉到非常复杂的模式和关系,就像一个经验丰富的骑手能够在不同的环境中灵活应对各种情况。
NLP NLU NLG
- 自然语言理解(NLU, Natural Language Understanding):意图识别、情感分析、上下文理解、命名实体识别(NER,识别文本中的重要实体,如人名、地点、时间等)
- 自然语言处理(NLP, Natural Language Processing):分词、句法分析(句子结构,识别词汇间的语法关系)、语义解析、机器翻译、文本总结
- 自然语言生成(NLG, Natural Language Generation):文本生成、内容个性化生成、摘要生成
机器学习 ML: Machine learning
- 监督学习(Supervised Learning):训练数据包含了输入数据和对应的标签(即已知的正确答案)。计算机通过学习这些输入和输出的关系来预测未知数据的输出。
- Classification:分类,输入数据根据标签分类
- Regression:回归,预测连续的数值输出
- Association Rule:关联规则,寻找数据中不同项之间的关系或模式
- 无监督学习(Unsupervised Leanring):训练数据没有标签,计算机需要从数据中自动发现模式或结构。
- Clustering:聚类,将数据分成不同的组,每个组中的数据项彼此相似
- 强化学习(Reinforcement Leanring):计算机通过与环境的交互进行学习。通过奖励和惩罚机制来激励模型选择正确的行为。
- 状态(States) :状态是对当前环境的一种描述。在任何时刻,智能体所处的状态反映了当前的环境情况。
- 奖励(Reward) :奖励是对智能体在某个状态下采取某个动作后的反馈,它可以是正的(奖励)或负的(惩罚)。
- 智能体(Agent) :智能体是执行动作并接收奖励的决策者。智能体通过不断地选择动作来改变其状态,从而尝试最大化累计奖励。
- 强化学习的过程
- 观察:智能体观察当前的状态。
- 选择动作:根据当前状态,智能体选择一个动作。这个动作可能基于之前的学习,也可能是一个随机选择。
- 执行动作:智能体执行所选择的动作,环境随之发生改变。
- 获取反馈:环境向智能体提供执行该动作后的新状态及即时奖励。
- 更新策略:智能体根据奖励更新其策略,使其在未来选择更优的动作,以获得更多的累计奖励。
机器学习效果评估
- 过拟合(Overfitting) :模型过于复杂,过度地记住了训练数据中的每一个细节和噪声,从而失去了对新数据的泛化能力。过拟合的模型在训练数据上表现很好,但在新数据上表现较差。
- 欠拟合(Underfitting) :模型过于简单,无法捕捉到训练数据中的模式和特征,导致在训练数据和新数据上的表现都很差。
- 最佳拟合(Optimal-fitting):模型恰当地捕捉到了训练数据中的模式和特征,同时也能很好地应用于新数据。这种情况下,模型在训练数据和测试数据上都有良好的表现。
深度学习 Deep Learning
Deep Learning 是机器学习的一种技术,主要通过模拟人脑的神经网络来处理和分析复杂的数据。它利用多层(深层)的神经网络来自动学习数据的特征,并进行预测或分类。
深度学习通过创建多层的神经网络(类似大脑的神经元网络),让计算机能自主学习并识别数据中的规律,而不需要显式地编程。每一层网络会逐步从数据中提取更复杂的特征,最终让计算机能够理解复杂的数据(如图像、声音、文本等)。
- 深度神经网络:由多层神经元组成的网络称为,通常包含输入层、隐藏层和输出层。
- 输入层(Input Layer):神经网络的第一个层,负责接收外部数据(比如图像、文本、数字等
- 隐藏层(Hidde Layer):位于输入层和输出层之间。主要任务是提取特征并进行数据转换。每个隐藏层神经元从输入层和前一层的神经元接收信息,通过激活函数进行处理,传递到下一层。
- 输出层(Output Layer)是神经网络的最后一层,用于生成网络的最终结果。输出层的神经元个数通常与问题的类型相关。
神经网络 Neural Network
神经网络:模拟人类大脑神经元连接方式的一种数学模型,用于进行各种机器学习任务。通过大量的数据学习模式和规律的算法,广泛应用于分类、回归、图像识别、语音处理、自然语言处理等领域。
- 浅层神经网络 Shallow Neural Networks:只有 一层隐藏层,结构简单,适用于简单的任务,学习能力有限
- 深度神经网络 Deep Neural Networks:有 多个隐藏层,能够处理复杂任务,具有强大的学习能力和表达能力,但训练难度较大,计算开销较高。
卷积神经网络 CNN
CNN:专门用于处理具有网格结构数据(如图像)的深度神经网络。它通过模拟生物视觉系统的工作方式,能够自动从数据中提取特征,特别适合图像和视频处理任务。
- 卷积层 Convolutional Layer:通过卷积核在输入数据(如图像)上滑动,提取局部特征,如边缘、角点、纹理等。(卷积核可比作是一面小镜子,在图像上滑动,每次可观察图像中的部分特性)
- 池化层 Pooling Layer:紧跟在卷积层之后,用来进行降维,减少计算量,同时保留重要的特征。(想象每个小格子代表卷积层提取的特征。池化层就像是将这些小格子替换为更大的格子,这个大格子覆盖了多个小格子。在每个大格子中,我们只保留最显著的特征)
- 全连接层 Fully Connected Layer:基于前面提取到的所有特征做出最终的判断和分类 ,将你的所有观察结果放在一起,尝试根据你提取的信息来完整地识别纸上的整个图形。
循环神经网络 RNN
循环神经网络(RNN,Recurrent Neural Network)是一种特别适合处理序列数据的神经网络模型。它的特点是能够记住过去的信息并将其应用到当前的计算中,适合处理像时间序列、文本、语音等有顺序关系的数据。
- 记忆功能:你可以将RNN想象为有记忆的网络,它不仅看当前的输入(比如现在的字或词),而且还“记得”它之前处理过的信息。
- 序列数据处理:因为RNN能够“记住”前面看到的信息,它特别适合处理连续的数据。例如,在语言处理中,RNN会理解一个词的意义时,也会参考它前面的词。比如在句子“我喜欢吃苹果”中,RNN在理解“苹果”时,会参考“我喜欢吃”这个信息。
RNN 由输入层、隐藏层和输出层组成
- 输入层:每个数据点(比如一段话中的一个词)都会被转化成数字(通常是向量),然后输入到RNN网络里
- “我喜欢吃苹果”,每个词“我”、“喜欢”、“吃”、“苹果”依次被转换为向量,并输入到网络中。
- 隐藏层:RNN的核心,它不仅处理当前输入的信息,还“记得”前面处理过的信息。隐藏层像一个记忆库,每次都更新状态,把之前的所有信息都整合起来。
- 输出层:根据隐藏层的状态输出一个结果,比如情感分析中的“积极”或“消极”标签,或者在语言翻译任务中输出下一个词。
Transformer
Transformer 2017 年被引入的一种深度学习模型架构
Transformer 模型 在处理自然语言处理(NLP)中取得了巨大成功,并在多个任务中表现出色,如机器翻译、文本生成、文本分类、问答等。其变种 BERT、GPT、T5 等在不同领域的任务中取得了突破性的成果。
Transformer 完全依赖自注意力机制(Self-Attention)来处理输入数据,摒弃了传统的卷积神经网络(CNN)和循环神经网络(RNN)中常用的结构,如卷积层和循环层
Transformer 主要包括两个部分:
- 编码器(Encoder) :负责将输入序列转换为高维表示
- 解码器(Decoder) :根据编码器的输出生成目标序列
优势:
- 并行化:与 RNN 不同,Transformer 允许输入的所有单词同时处理,使得训练效率更高。
- 长程依赖:由于自注意力机制的关系,Transformer 可以有效处理长序列的依赖关系,而不像 RNN 在处理长序列时容易出现梯度消失或爆炸的问题。
Transformer 的四个核心组件:自注意力机制、多头注意力、位置编码和前馈网络。
- 自注意力机制 Self-Attention:模拟这种在处理每个词时,评估其与句子中其他词的关系并加以利用的能力。
- 多头注意力 Multi-Head Attention:同时从多个“角度”或“子空间”来处理信息,有助于捕获句子或数据的多方面特性。
- 位置编码 Positional Encoding:因为 Transformer 不使用递归或卷积,模型无法天然地处理序列的顺序信息。因此,加入位置编码来为每个单词在序列中的位置提供信息。
- 前馈网络 Feed-Forward Networks:在每个自注意力层后,Transformer 还会使用一个全连接的前馈网络来进一步处理数据。
CNN、RNN、Transformer
- CNN主要用于图像处理,关注局部特征的提取。
- RNN主要用于序列数据,适合捕捉时间或顺序上的依赖。
- Transformer使用自注意力机制,特别适合处理长距离依赖,并且能并行计算,广泛应用于自然语言处理领域。
BERT Bidirectional Encoder Representations from Transformers
BERT 由 Google 在 2018 年提出,本质上是基于 Transformer 架构的。它主要使用 Transformer 的 编码器(Encoder) 部分。
-
Transformer 编码器:BERT 的架构采用了多层的 Transformer 编码器(不像 GPT 只使用解码器)。这些编码器通过自注意力机制处理输入序列中的每个单词,并能够考虑序列中所有单词的上下文信息。
-
双向上下文:与传统的单向语言模型不同,BERT 通过自注意力机制能够同时利用句子中单词的左侧和右侧上下文,从而更好地理解每个单词的含义。
BERT 是通过 预训练 和 微调 两个阶段来训练的
- 预训练:在大量无标注的文本数据上(如 Wikipedia 和 BooksCorpus)进行预训练。在这一阶段,BERT 会通过两种任务来学习语言的表示:
- Masked Language Model (MLM) :随机遮蔽掉输入序列中的部分单词 —> 预测被遮蔽的单词
- Next Sentence Prediction (NSP) :判断两个句子是否是相邻的,即模型学习句子之间的关系。
- 微调:在完成预训练后,BERT 模型会根据具体的下游任务(如情感分析、问答、文本分类等)进行微调。这个过程通常需要相对较少的标注数据。
嵌入 Embeddings
- Embeddings 是一种将离散数据(如词语、句子、图像等)映射到一个连续的向量空间的技术。每个数据点(如单词、物体、句子)都会被转换成一个固定维度的向量,这个向量捕捉了该数据点的语义或特征信息。
- 目的是:捕捉数据中的潜在关系和语义信息,使得在向量空间中,相似的数据点距离较近,差异较大的数据点距离较远。例如,词向量(如Word2Vec)可以使“王子”和“公主”之间的向量距离较近,而“王子”和“狗”之间的距离较远。
向量数据库 Vector Database
存储从各种数据(如文本、图像、音频等)中生成的向量,并允许你根据给定的查询向量快速找到相似的向量。
生成式预训练 GPT Generative Pre-trained Transformer
GPT:是一种基于深度学习的自然语言处理模型,它使用了Transformer架构,并通过两阶段的训练方式(预训练和微调)来处理和生成语言。
- 预训练(Pre-training) : 在预训练阶段,GPT首先学习大量的文本数据。它的目标是通过预测一个句子中的下一个词来进行训练。通过这种方式,GPT学习到了语言中的语法、词汇、常识等知识。例如,在看到“今天的天气真好,我打算去……”时,GPT会学习如何预测接下来的词是“跑步”或“散步”等。
- 生成能力(Generative Ability) : 预训练完成后,GPT能够生成连贯且符合语法的文本。给定一个开头,GPT可以自动接着生成后续的内容,而这些内容通常与上下文是相关的,并且语法和结构都比较自然。这种生成能力使得GPT在自动写作、聊天机器人等领域表现出色。
- 微调(Fine-tuning) : 在微调阶段,GPT根据特定任务或领域进行进一步的训练。例如,如果我们希望GPT能够回答医学问题,我们可以使用大量医学领域的文本来进行微调,让GPT在这个领域表现得更好。