大语言模型简介
- 大语言模型基本概述
- 什么是大语言模型
- 主要应用领域
- 大语言模型的关键技术
- 大语言模型的应用场景
- NLP
- 什么是NLP
- NLP的主要研究方向
- word2vec
- word2vec介绍
- word2vec的两种模型
- 全连接神经网络
- 神经网络结构
- 神经网络的激活函数
- 解决神经网络过拟合问题的方法
- 前向传播与反向传播
- 前向传播
- 反向传播(Back Propagation,BP)
- RNN
- 认识RNN
- RNN的应用领域
- 常见的RNN模型
- LSTM
- 认识LSTM
- LSTM的“门结构”
- Seq2Seq模型
- Seq2Seq表现形式
- Encoder+Decoder
- Attention模型
- 引入Attention模型的必要性
- Seq2Seq+Attention模型
- Encoder-Decoder框架
- Attention模型
- Attention机制的本质思想
- Attention 原理的3步分解
- Self Attention自注意力模型
- Transformer模型
大语言模型基本概述
什么是大语言模型
大语言模型(Large Language Models)是一种基于深度学习的自然语言处理(NLP)模型,用于处理和生成人类语言文本。
主要应用领域
- 自然语言理解(NLU)
- 文本分类
- 信息抽取
- 情感分析
- 命名实体识别
- 自然语言生成(NLG)
- 文本生成
- 摘要生成
- 机器翻译
- 对话生成与响应
大语言模型的关键技术
- 预训练技术:预训练语言模型,自回归模型,Transformer结构。
- 深度学习技术:神经网络,激活函数,注意力机制。
- 自然语言处理技术:分词技术,词向量表示,句法分析。
- 迁移学习技术:知识蒸馏,多任务学习,增量学习
大语言模型的应用场景
-
智能客服:
大语言模型可以通过理解客户的问题和需求,提供准确、及时的答案和建议,提高客户满意度。大语言模型可以针对常见问题编写自动化回复脚本,减轻人工客服的工作负担,提高服务效率。大语言模型可以通过情感分析技术,理解客户的情感和情绪,以便更好地满足客户需求。 -
智能写作
大语言模型可以运用自然语言生成技术,快速生成高质量的文章、新闻报道和文案等文本内容。大语言模型也可以进行诗歌创作,能够根据特定主题或要求,创作出具有意境和韵律的诗歌。大语言模型可以实现不同语言之间的文本翻译,为跨文化交流提供便利。 -
智能推荐
大语言模型可以通过分析用户的历史行为和喜好,实现个性化推荐,提高用户满意度。大语言模型可以根据用户的兴趣和行为,精准投放广告,提高广告效果和转化率。大语言模型可以分析大量内容,过滤掉不良信息,为用户提供更加安全、健康的内容环境。
NLP
什么是NLP
NLP(Natural Language Processing),即“自然语言处理”,主要研究使用计算=机来处理、理解及运用人类语言的各种理论和方法,属于人工智能的一个重要研究方向。简单来说,NLP就是如何让计算机理解人类语言。
NLP的主要研究方向
NLP是一个庞大的技术体系,研究方向主要包括机器翻译、信息检索、文档分类、问答系统、自动摘要、文本挖掘、知识图谱、语音识别、语音合成等。相较于CNN重点应用于计算机视觉领域,RNN则更多地应用于NLP方向。
word2vec
word2vec介绍
word2vec是一种基于神经网络的词嵌入技术,通过训练神经网络得到一个关于输入X和输出Y之间的语言模型,获取训练好的神经网络权重,这个权重是用来对输入词汇X进行向量化表示的。
word2vec的两种模型
-
CBOW模型
CBOW(Continuous Bag-of-Words Model),即“连续词袋模型”,其应用场景是根据上下文预测中间词,输入X是每个词汇的one-hot向量,输出Y为给定词汇表中每个词作为目标词的概率。
-
Skip-gram模型
也称为"跳字模型",应用场景是根据中间词预测上下文词,所以输入X为任意单词,输出Y为给定词汇表中每个词作为上下文词的概率。
全连接神经网络
神经网络结构
神经网络的激活函数
解决神经网络过拟合问题的方法
-
正则化
与很多机器学习算法一样,可以在待优化的目标函数上添加正则化项(例如L1、L2正则),可以在一定程度减少过拟合的程度。
-
Dropout(随机失活)
可以将Dropout理解为对神经网络中的每一个神经元加上一道概率流程,使得在神经网络训练时能够随机使某个神经元失效。
前向传播与反向传播
前向传播
计算输出值的过程称为“前向传播”:将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。
反向传播(Back Propagation,BP)
反向传播(BP)根据根据J的公式对W和b求偏导,也就是求梯度。因为我们需要用梯度下降法来对参数进行更新,而更新就需要梯度。
RNN
认识RNN
RNN(Recurrent Neural Network),即"循环神经网络",是在基础神经网络模型中增加了循环机制。具体的表现形式为网络会对前面的信息进行记忆并应用于当前的计算中,即当前时刻利用了上一时刻的信息,这便是“循环”的含义。
RNN的应用领域
- 语音识别
- OCR识别(optical character recognition)
- 机器翻译
- 文本分类
- 视频动作识别
- 序列标注
常见的RNN模型
LSTM
认识LSTM
LSTM是Long-Short Term Memory的缩写,中文名叫长短期记忆网络,它是RNN的改进版本。为了更好地解决“梯度爆炸”和“梯度消失”的问题,让RNN具备更强、更好的记忆,于是就出现了LSTM。
LSTM的“门结构”
LSTM的关键就是记忆细胞(在最上面的贯穿水平线上)。记忆细胞提供了记忆的功能,使得记忆信息在网络各层之间很容易保持下去。
- 遗忘门(Forget Gate)
遗忘门的作用是控制t-1时刻到t时刻时允许多少信息进入t时刻的门控设备
遗忘门的计算公式如下:
Γ
t
f
=
σ
(
w
f
[
a
t
−
1
,
x
t
]
+
b
f
)
\Large \Gamma_t^f=\sigma(w_f[a_{t-1},x_t]+b_f)
Γtf=σ(wf[at−1,xt]+bf)
其中,xt是当前时刻的输入,at-1是上一时刻隐状态的值
- 输入门(Input Gate)
输入门的作用是确定需要将多少信息存入记忆细胞中。除了计算输入门外,还需要使用tanh计算记忆细胞的候选值c't
Γ
t
i
=
σ
(
w
i
[
a
t
−
1
,
x
t
]
+
b
i
)
c
t
′
=
t
a
n
h
(
w
c
[
a
t
−
1
,
x
t
]
+
b
c
)
\Large \Gamma_t^i=\sigma(w_i[a_{t-1},x_t]+b_i) \\ \Large c'_t = tanh(w_c[a_{t-1},x_t]+b_c)
Γti=σ(wi[at−1,xt]+bi)ct′=tanh(wc[at−1,xt]+bc)
然后,就可以对当前时刻的记忆细胞进行更新了
c
t
=
Γ
t
f
c
t
−
1
+
Γ
t
i
c
t
′
\Large c_t=\Gamma_t^fc_{t-1}+\Gamma_t^ic'_t
ct=Γtfct−1+Γtict′
- 输出门(Output Gate)
输出门是用来控制t时刻状态值对外多少是可见的门控设备
输出门与t时刻隐层节点输出值得公式为:
Γ
t
o
=
σ
(
w
o
[
a
t
−
1
,
x
t
]
+
b
o
)
a
t
=
Γ
t
o
t
a
n
h
(
c
t
)
\Large \Gamma_t^o=\sigma(w_o[a_{t-1},x_t]+b_o) \\ \Large a_t=\Gamma_t^otanh(c_t)
Γto=σ(wo[at−1,xt]+bo)at=Γtotanh(ct)
Seq2Seq模型
Seq2Seq表现形式
在RNN的结构中,最常见的就是不等长的多对多结构,即输入、输出虽然都是多个,但是并不相等。这种不等长的多对多结构就是Seq2Seq(序列对序列)模型。
例如,汉译英的机器翻译时,输入的汉语句子和输出的英文句子很多时候并不是等长的,这时就可以用Seq2Seq模型了。
Encoder+Decoder
Seq2Seq由一个编码器(Encoder)和一个解码器(Decoder)构成,编码器先将输入序列转化为一个上下文向量C(理解序列),然后再用一个解码器将C转化为最终输出(生成序列)。
- 编码器(Encoder)
-
解码器(Decoder)
Attention模型
引入Attention模型的必要性
Seq2Seq作为一种通用的编码-解码结构,在编码器将输入编码成上下文向量C后,在解码时每一个输出Y都会不加区分地使用这个C进行解码,这样并不能有效地聚焦到输入目标上。
Seq2Seq+Attention模型
Seq2Seq引入Attention模型后,Attention模型(注意力模型)通过描述解码中某一时间步的状态值和所有编码中状态值的关联程度(即权重),计算出对当前输出更友好的上下文向量,从而对输入信息进行有选择性的学习。
y 1 = f ( C 1 ) y 2 = f ( C 2 , y 1 ) y 3 = f ( C 3 , y 1 , y 2 ) . . . \Large y_1=f(C_1) \\ \Large y_2=f(C_2,y_1) \\ \Large y_3=f(C_3,y_1,y_2) \\ ... y1=f(C1)y2=f(C2,y1)y3=f(C3,y1,y2)...
Encoder-Decoder框架
Encoder-Decoder框架是一种深度学习领域的研究模式,应用场景非常广泛。上图是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示。
文本处理领域的Encoder-Decoder框架可以这么直观地去理解:可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。对于句子对<Source,Target>,我们的目标是给定输入句子Source,期待通过Encoder-Decoder框架来生成目标句子Target。Source和Target可以是同一种语言,也可以是两种不同的语言。而Source和Target分别由各自的单词序列构成:
Attention模型
Attention机制的本质思想
Attention 原理的3步分解
本质上Attention机制是对Source中元素(将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成)的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。
Self Attention自注意力模型
在一般任务的Encoder-Decoder框架中,输入Source和输出Target内容
是不一样的,比如对于英-中机器翻译来说,Source是英文句子,Target是
对应的翻译出的中文句子,Attention机制发生在Target的元素Query和
Source中的所有元素之间。而Self Attention顾名思义,指的不是Target和
Source之间的Attention机制,而是Source内部元素之间或者Target内部元
素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下
的注意力计算机制。其具体计算过程是一样的,只是计算对象发生了变化而
已。引入Self Attention后会更容易捕获句子中长距离的相互依赖的特征,因为如果是RNN或者LSTM,需要依次序序列计算,对于远距离的相互依赖的特征,要经过若干时间步步骤的信息累积才能将两者联系起来,而距离越远,有效捕获的可能性越小。
Transformer模型
Transformer模型是在论文《Attention Is All You Need》里面提出来的,用来生成文本的上下文编码,传统的上下问编码大多数是由RNN来完成的,不过,RNN很难处理相隔比较远的两个单词之间的信息。
Transformer 是一种使用注意力机制(attention mechanism)的神经网络模型,能够有效地处理序列数据,如句子或文本。
它的设计灵感来自于人类在理解上下文时的方式。
简单来说,Transformer 会将输入的序列分成若干个小块,并通过计算注意力得分来决定每个块在输出中的重要性。
它能够同时处理整个序列,而不需要依赖循环神经网络(RNN)等逐步处理的方法。
- Transformer模型中包含了多层encoder和decoder,每一层都由多个注意力机制模块和前馈神经网络模块组成。encoder用于将输入序列编码成一个高维特征向量表示,decoder则用于将该向量表示解码成目标序列。
- Transformer模型的核心是自注意力机制(Self-Attention Mechanism),其作用是为每个输入序列中的每个位置分配一个权重,然后将这些加权的位置向量作为输出。