so-large-llm学习笔记

内容均来自[https://github.com/datawhalechina/so-large-lm]

Chapter 1 引言

1. 什么是语言模型
语言模型(LM)的经典定义是一种对词元序列(token)的概率分布。假设我们有一个词元集的词汇表 V 。语言模型p为每个词元序列 x_{1},...,x_{L}V 分配一个概率(介于0和1之间的数字):
p(x_1, \dots, x_L)
概率直观地告诉我们一个标记序列有多“好(good)”(具有语言能力和世界知识)

2.自回归语言模型
将序列 x_{1:L} 的联合分布 p(x_{1:L}) 的常见写法是使用概率的链式法则:

p(x_{1:L}) = p(x_1) p(x_2 \mid x_1) p(x_3 \mid x_1, x_2) \cdots p(x_L \mid x_{1:L-1}) = \prod_{i=1}^L p(x_i \mid x_{1:i-1}).

这里有一个基于文本的例子:

\begin{align*} p({the}, {mouse}, {ate}, {the}, {cheese}) = \, & p({the}) \\ & p({mouse} \mid {the}) \\ & p({ate} \mid {the}, {mouse}) \\ & p({the} \mid {the}, {mouse}, {ate}) \\ & p({cheese} \mid {the}, {mouse}, {ate}, {the}). \end{align*}

3. n-gram
N-gram模型。在一个n-gram模型中,关于x_{i}的预测只依赖于最后的 n-1 个字符 x_{i−(n−1):i−1} ,而不是整个历史:
p(x_i \mid x_{1:i-1}) = p(x_i \mid x_{i-(n-1):i-1}).
例如,一个trigram(n=3)模型会定义:
p(𝖼𝗁𝖾𝖾𝗌𝖾∣𝗍𝗁𝖾,𝗆𝗈𝗎𝗌𝖾,𝖺𝗍𝖾,𝗍𝗁𝖾)=p(𝖼𝗁𝖾𝖾𝗌𝖾∣𝖺𝗍𝖾,𝗍𝗁𝖾)。
这些概率是基于各种n-gram(例如,𝖺𝗍𝖾 𝗍𝗁𝖾 𝗆𝗈𝗎𝗌𝖾和𝖺𝗍𝖾 𝗍𝗁𝖾 𝖼𝗁𝖾𝖾𝗌𝖾)在大量文本中出现的次数计算的,并且适当地平滑以避免过拟合

优点:

  • n-gram模型拟合到数据上非常便宜且可扩展

缺点:

  • n太小,那么模型将无法捕获长距离的依赖关系
  • n太大,统计上将无法得到概率的好估计

应用场景:语音识别和机器翻译
声音信号或源文本提供了足够的信息,只捕获局部依赖关系(而无法捕获长距离依赖关系)并不是一个大问题

4. 神经语言模型
优点:

  • 上下文长度仍然受到n的限制,但现在对更大的n值估计神经语言模型在统计上是可行的

缺点:

  • 训练神经网络在计算上要昂贵得多

自2003年以来,神经语言建模的两个关键发展包括:

  • Recurrent Neural Networks(RNNs),包括长短期记忆(LSTMs),使得一个词元x_{i}的条件分布可以依赖于整个上下文 x_{1:i−1} (有效地使 n=∞ ),但这些模型难以训练。
  • Transformers是一个较新的架构(于2017年为机器翻译开发),再次返回固定上下文长度n,但更易于训练(并利用了GPU的并行性)。此外,n可以对许多应用程序“足够大”(GPT-3使用的是n=2048)。

Chapter 2 大模型的能力

1. 语言模型的适应性:从语言模型到任务模型的转化

实现方式:

  • 1 训练:
    -- 训练新模型
    -- 微调:根据训练实力进行更新
  • 2 提示(上下文)学习:根据对任务的描述建一个或一组提示信息:
    -- 零样本学习
    -- 单样本学习
    -- 少样本学习

2. 困惑度:衡量语言模型好坏的指标
困惑度(Perplexity)是一个重要的指标,是自然语言处理和语言模型中的一个重要概念,用于衡量语言模型的性能。它可以解释为模型在预测下一个词时的平均不确定性。

对于给定的语言模型和一个测试数据集,困惑度被定义为:
P(X) = P(x_1,x_2,...,x_N)^{(-1/N)}
其中, X=x_{1},x_{2},...,x_{N} 是测试集中的词序列, N 是测试集中的总词数。困惑度与语言模型的质量紧密相关。一个优秀的语言模型应能准确预测测试数据中的词序列,因此它的困惑度应较低。相反,如果语言模型经常做出错误的预测,那么它的困惑度将较高。

困惑度(perplexity)采用几何平均,在几何平均中,每个词标记的概率都被同等看待,并且一个极低的概率(如0)将会导致整个几何平均大幅度下降。因此,通过计算几何平均,我们可以更好地衡量模型在处理所有可能的词标记时的性能,特别是在处理那些模型可能会出错的情况。
\text{perplexity}_p\left(x_{1: L}\right)=\exp \left(\frac{1}{L} \sum_{i=1}^L \log \frac{1}{p\left(x_i \mid x_{1: i-1}\right)}\right) \text {. }
困惑度可以被理解为每个标记(token)的平均"分支因子(branching factor)"。这里的“分支因子”可以理解为在每个位置,模型认为有多少种可能的词会出现。例如,若困惑度为10,那意味着每次模型在预测下一个词时,平均上会考虑10个词作为可能的选择。

这个理解与公式中的 \log \frac{1}{p\left(x_i \mid x_{1: i-1}\right)} 密切相关,这个表达式代表了编码长度。我们在计算的是平均编码长度,这个长度反映了给定当前词或标记后,下一个词或标记可能的选择数量。因此,通过对平均编码长度取指数,我们可以得到可能的选择数量,这也就是"分支因子"。

为了更好地理解,我们可以考虑一个均匀分布的例子:一个长度为3的二进制字符串可以编码 2^3=8个可能的字符串。同样,困惑度反映了模型预测下一个词时,考虑的平均可能性数。如果困惑度为8,那么对于序列中的每个词,模型会考虑8个可能的词。这个例子类似于我们的语言模型:在给定特定词或标记后,模型需要从多个可能的选项中预测下一个词或标记。如果选择的可能性多,模型的预测任务就更为复杂,相应的困惑度就会更高。

两类错误:语言模型可能会犯两种类型的错误,而困惑度对这两种错误的处理方式并不对称:

  • 召回错误:语言模型未能正确地为某个词符分配概率值。这种情况下,困惑度是毫不留情的。例如,如果模型为词组 '𝖺𝗍𝖾' 在 '𝗍𝗁𝖾,𝗆𝗈𝗎𝗌𝖾' 后出现的概率预测为接近0,那么对应的困惑度值将趋近于无穷大。

p({ate} \mid {the}, {mouse}) \to 0 \quad\Rightarrow\quad \text{perplexity}_p({the}, {mouse}, {ate}, {the}, {cheese}) \to \infty.

  • 精确度错误:语言模型为某些错误的词序列过度分配了概率值。在这种情况下,困惑度会进行适度的惩罚。给定一个语言模型 p,假设我们将一些垃圾分布 r 按照概率 ϵ 混入:

q(x_i \mid x_{1:i-1}) = (1-\epsilon) p(x_i \mid x_{1:i-1}) + \epsilon r(x_i \mid x_{1:i-1}).

那么,我们可以计算在 q 下的 x_{1:L} 的困惑度:

\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}),

其中,最后一个近似等式在 ϵ 的值较小时成立。如果我们混入5%的垃圾信息,那么困惑度只增加 5%。需要注意的是,这样生成的语言结果会非常糟糕,因为平均每 20 个词符就会生成一个无意义的词符。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容