大模型基础知识

📁机器学习📆2025-05-01 🤯PH 👀34 次浏览

第一章 引言

-

1.1 语言模型LM

LM是一种对词元序列(token)的概率分布

从语言模型p中以概率$p(x_{1:L})$进行采样:

大模型基础知识-BtoAI 波特埃

关键是p的模型。

1.1.1 自回归语言模型(Autoregressive language models)

链式法则:

大模型基础知识-BtoAI 波特埃

在自回归语言模型 中生成整个序列 ,我们需要一次生成一个词元(token),该词元基于之前以生成的词元进行计算获得:

大模型基础知识-BtoAI 波特埃

其中T是一个控制我们希望从语言模型中得到多少随机性的温度参数:

大模型基础知识-BtoAI 波特埃
  • ∝成正比
  • T较高时,结果更随机;较低时,模型会倾向于生成概率较高的词元

自回归语言模型允许有效地生成给定提示 $x{1:i}$ 的补全 $x{i+1:L}$。

1.2 大模型相关历史回顾

交叉熵

N-gram模型。在一个n-gram模型中,关于$x{i}$的预测只依赖于最后的 $n-1$ 个字符 $x{i−(n−1):i−1}$ ,而不是整个历史:

$p(xi \mid x{1:i-1}) = p(xi \mid x{i-(n-1):i-1}).$

例如:

3-gram $p(𝖼𝗁𝖾𝖾𝗌𝖾∣𝗍𝗁𝖾,𝗆𝗈𝗎𝗌𝖾,𝖺𝗍𝖾,𝗍𝗁𝖾)=p(𝖼𝗁𝖾𝖾𝗌𝖾∣𝖺𝗍𝖾,𝗍𝗁𝖾)$

这些概率是基于各种n-gram(例如,𝖺𝗍𝖾 𝗍𝗁𝖾 𝗆𝗈𝗎𝗌𝖾和𝖺𝗍𝖾 𝗍𝗁𝖾 𝖼𝗁𝖾𝖾𝗌𝖾)在大量文本中出现的次数计算的,并且适当地平滑以避免过拟合(例如,Kneser-Ney平滑)。

如果n太小,那么模型将无法捕获长距离的依赖关系,下一个词将无法依赖于𝖲𝗍𝖺𝗇𝖿𝗈𝗋𝖽。然而,如果n太大,统计上将无法得到概率的好估计(即使在“大”语料库中,几乎所有合理的长序列都出现0次).

因此,语言模型被限制在如语音识别和机器翻译等任务中,其中声音信号或源文本提供了足够的信息,只捕获局部依赖关系(而无法捕获长距离依赖关系)并不是一个大问题。

神经语言模型

仍受上下文长度限制,但是更大的n是可行的

RNNs(包括LSTM) 依赖整个上下文

Transformer 返回固定上下文长度,更容易训练(GPT3中n=2048)

GPT-3最吸引人的地方是上下文学习。

第二章 大模型能力

-

2.1 语言模型

困惑度(Perplexity)是一个重要的指标,是自然语言处理和语言模型中的一个重要概念,用于衡量语言模型的性能。它可以解释为模型在预测下一个词时的平均不确定性。简单来说,如果一个模型的困惑度较低,那么它在预测下一个词的时候就会更加准确。对于给定的语言模型和一个测试数据集,困惑度被定义为:

大模型基础知识-BtoAI 波特埃

其中, $X=x{1},x{2},…,x_{N}$ 是测试集中的词序列, $N$ 是测试集中的总词数。困惑度与语言模型的质量紧密相关。一个优秀的语言模型应能准确预测测试数据中的词序列,因此它的困惑度应较低。相反,如果语言模型经常做出错误的预测,那么它的困惑度将较高。

困惑度可以被理解为每个标记(token)的平均"分支因子(branching factor)"。这里的“分支因子”可以理解为在每个位置,模型认为有多少种可能的词会出现。例如,若困惑度为10,那意味着每次模型在预测下一个词时,平均上会考虑10个词作为可能的选择。

大模型基础知识-BtoAI 波特埃

$\text{perplexity}q(x{1:L}) \le \frac{1}{1 - \epsilon} \text{perplexity}p(x{1:L}) \approxeq (1 + \epsilon) \text{perplexity}p(x{1:L})$

第三章 模型架构

-

3.1 概括

prompt

大模型基础知识-BtoAI 波特埃

3.2 分词

词元(token)一般在NLP(自然语言处理)中来说,通常指的是一个文本序列中的最小单元,可以是单词、标点符号、数字、符号或其他类型的语言元素。通常,对于NLP任务,文本序列会被分解为一系列的tokens,以便进行分析、理解或处理。在英文中一个"token"可以是一个单词,也可以是一个标点符号。在中文中,通常以字或词作为token(这其中就包含一些字符串分词的差异性,将在后续内容中讲到)。

为什么说是“隐式的对齐”,这是由于每一个词在模型中,都有一个其确定的词向量。

3.2.1 基于空格的分词

3.2.2 字节对 编码BPE

3.2.3 Unigram model (SentencePiece)

它被用来训练T5和Gopher模型。

p(分词)·p(分词) = 似然值

似然值的计算是 unigram 模型中重要的一部分,它用于评估分词结果的质量。较高的似然值表示训练数据与分词结果之间的匹配程度较高,这意味着该分词结果较为准确或合理。

通过算法来剔除对似然值贡献较小的词汇:

大模型基础知识-BtoAI 波特埃

保留那些对于似然值有较大贡献的词汇,提升模型的性能。

3.3 模型架构

3.3.1 编码端(Encoder-Only)架构

编码端架构的著名的模型如BERT、RoBERTa等。

这些语言模型生成上下文向量表征,但不能直接用于生成文本。

大模型基础知识-BtoAI 波特埃

这些上下文向量表征通常用于分类任务(也被称为自然语言理解任务)

能双向依赖上下文

3.3.2 解码器(Decoder-Only)架构

GPT

大模型基础知识-BtoAI 波特埃

下文向量表征只能单向地依赖于左侧上下文

3.3.3 编码-解码端(Encoder-Decoder)架构

最初的Transformer模型,其他的还有如BART、T5等模型

大模型基础知识-BtoAI 波特埃

缺点就是需要更多的特定训练目标。

3.3.4 基础架构

1.词元 → 向量

(1)直接转嵌入

(2)序列模型

(3)基于前馈网络,如n-gram

2.递归神经网路

(1)sequence RNN

(2)RNN

  • RNN,当前状态、观测值……
  • simple RNN 线性与非线性变换
  • 双向RNN(从左 从右 拼在一起),用于RLMo与ULMFiT

小结

  • 简单RNN由于梯度消失的问题很难训练。
  • 为了解决这个问题,发展了长短期记忆(LSTM)和门控循环单元(GRU)(都属于RNN)。
  • 然而,即使嵌入h可以依赖于任意远的过去(例如,x1),它不太可能以“精确”的方式依赖于它
  • 从某种意义上说,LSTM真正地将深度学习引入了NLP领域。

3.3.5 Transformer

大模型基础知识-BtoAI 波特埃

将K和Q得到分数:

$score{i}=x^{⊤}{i}W^{⊤}{key}W{query}y$

大模型基础知识-BtoAI 波特埃
大模型基础知识-BtoAI 波特埃

(1) 通过将其与每个$x_{i}$进行比较来处理$y$。

(2)返回

$W{value} x{1: L} \operatorname{softmax}\left(x{1: L}^{\top} W{key}^{\top} W_{query} y / \sqrt{d}\right)$

我们可以将注意力看作是具有多个方面(例如,句法、语义)的匹配。为了适应这一点,我们可以同时使用多个注意力头,并简单地组合它们的输出。

大模型基础知识-BtoAI 波特埃

对于自注意层,我们将用$x{i}$替换$y$作为查询参数来产生,其本质上就是将自身的$x{i}$对句子的其他上下文内容进行注意力 的运算:

大模型基础知识-BtoAI 波特埃

自注意力使得所有的词元都可以“相互通信”,而前馈层提供进一步的连接

大模型基础知识-BtoAI 波特埃

3.3.6 位置嵌入

大模型基础知识-BtoAI 波特埃

我们现在可以简要地定义GPT-3架构,只需将Transformer块堆叠96次即可:

大模型基础知识-BtoAI 波特埃

不同版本的Transformer之间存在重要但详细的差异:

  • 层归一化“后归一化”(原始Transformer论文)与“先归一化”(GPT-2),这影响了训练的稳定性(Davis等人,2021)。
  • 应用了丢弃(Dropout)以防止过拟合。
  • GPT-3使用了sparse Transformer(稀释 Transformer)来减少参数数量,并与稠密层交错使用。
  • 根据Transformer的类型(Encdoer-Only, Decoder-Only, Encdoer-Decoder),使用不同的掩码操作。

原文见>> So Large LM

更多文章

回到顶部