在大模型如此火爆的当下,快来了解大模型的技术基础吧,本篇文章力求让技术小白都可以看懂。此外本文章的内容中国人民大学高瓴人工智能学院赵鑫教授团队出品的《大语言模型》图书。
欢迎阅读原书,PDF电子版免费获取:Github,AIBox官网

大模型基本概念
一般情况下,我们口中所说的大模型指的是大语言模型,英文全称为Large Language model,简称为LLM。在上一篇博客中我们讲解了语言模型的发展历程,大语言模型与其他三种语言模型相比,其具有强大的任务泛化性,以及复杂推理能力。也是其当下爆火的一大原因。
我们将大语言模型,分为“大”,“语言”,“模型”三个角度来进行介绍
- “大”:是指参数规模超级大。这个“大”可以类比为一块砖头与整栋楼相比,以前的小模型可能只相当于一粒沙子,而当前的大模型就好比为是一栋楼那么“大”。
- “语言”:是指其模态为文字语言,比如它可以完成与人类对话,文本分类等与文字相关的任务,但是无法处理比如图片、语音等内容。当然现在大部分互联网厂商都推出了自己的多模态模型,能够处理各种模态的内容包括文字,图片,语音以及各种文件都可以处理。
- “模型”:主要是指由“Transformer Decoder”架构组成的模型
大语言模型的训练
大语言模型的训练过程,与我们人类的成长过程是十分类似的。在最初我们刚出生的时候还是婴儿,虽然已经有了手、脚、嘴等感官但是还什么都不懂,需要在后天经过训练学习如何使用。大语言模型也是同样,未经过训练时相当于什么都不会的“婴儿”,需要经过训练后才会具有各种能力。
大语言模型的训练过程主要分为预训练和后训练。
- 预训练:预训练的过程时希望建立起模型的基础能力,在此阶段需要数以亿计的自然语言文本,同时也需要耗费巨量的资源。类比人来说就是,在学会跑,唱,跳,RAP等专业的能力之前,你首先需要学会走,说话等基础的能力。此阶段的目的就是让模型学会类似的基础能力,为后续的各种专业能力做铺垫。
- 后训练:后训练的过程是指模型已经在掌握了一些基础能力之后,可以训练将其适配到具体的应用场景。就像上文所提到的此阶段就是假设已经学会了“走路,说话”等基本能力,希望在此阶段能够训练使其具备比如“唱,跳,RAP,写字,思考”等比较专业高级的能力。
下表从较为专业的层面对比了预训练和后训练的区别
| 对比方面 | 预训练(Pre-training) | 后训练(Post-training) |
|---|---|---|
| 核心能力 | 建立模型基础能力 | 将基座模型适配到具体的应用场景 |
| 数据资源 | 数万亿词元的自然语言文本 | 数十万,数百万到数千万指令数据 |
| 所需算力 | 耗费百卡,千卡甚至万卡算力数月的时间 | 耗费数十卡,数百卡数天到数十天 |
| 使用方式 | 通常为Few-shot提示 | 可以直接进行zero-shot使用 |
- Few-shot: 即少样本提示,意思就是在模型给出问题的答案之前,我们会向模型提供此类问题的几个样例,类似于我们在课上学习新知识时,老师也会给几道例题一样。
- Zero-shot:即零样本推理,也就是我们不给模型提供任意的问题的答案而是让模型直接回答。
扩展定律
扩展定律,他有一个更专业的术语叫做"scaling law", 这个定律是说,通过扩展参数规模,数据规模和计算算力,大语言模型的能力会出现显著的提升。
扩展定律在本次大模型的浪潮中起到了重要作用,为什么这样说呢?
因为在以前人们认为过大的模型可能会有很严重的过拟合现象,过拟合通俗意义上来说就是我们俗称的“背题”,只是背下来题目的答案,下次遇到新的题目依然不会不会,导致模型的泛化性能非常差。
而扩展定律的出现则给大家打了一剂强心针,根据扩展定律来说,只要我能增大模型的参数规模和数据规模以及使用更强的计算算力,那么我应该可以就可以得到更强的大语言模型。
两种常见的扩展定律
目前现在主要的扩展定律有两种一种是由OpenAI团队提出的KM扩展定律, 另一种是由DeepMind团队提出另一种Chinchilla扩展定律。
-
KM扩展定律:语言模型性能与其参数规模(N)、数据规模(D)和计算算力(C)之间的幂律关系具体可以使用如下的公式表示,其中 L L L为模型的语言建模损失, L ( x ) L(x) L(x)代表以 x x x为变量时,模型的损失 L L L变化,可以简单的理解为 L L L的值越低,模型的性能越好。我们从公式也可以看出来, N , D , C N,D,C N,D,C是作为分母在公式中出现,所以这三者的值越大, L L L的值越小,模型的性能也就越好
L ( N ) = ( N c N ) α N , α N ≈ 0.076 , N c ≈ 8.8 × 1 0 13 L ( D ) = ( D c D ) α D , α D ≈ 0.095 , D c ≈ 5.4 × 1 0 13 L ( C ) = ( C c C ) α C , α C ≈ 0.050 , C c ≈ 3.1 × 1 0 8 \begin{align} L(N) &= (\frac{N_c}{N})^{\alpha_N}, \alpha_N ≈0.076, N_c ≈ 8.8 ×10^{13} \\ L(D) &= (\frac{D_c}{D})^{\alpha_D},\alpha_D ≈0.095, D_c ≈ 5.4 ×10^{13} \\ L(C) &= (\frac{C_c}{C})^{\alpha_C},\alpha_C ≈0.050, C_c ≈ 3.1 ×10^{8} \end{align} L(N)L(D)L(C)=(NNc)αN,αN≈0.076,Nc≈8.8×1013=(DDc)αD,αD≈0.095,Dc≈5.4×1013=(CCc)αC,αC≈0.050,Cc≈3.1×108 -
Chinchilla扩展定律:该扩展定律旨在指导大语言模型充分使用给定的算力资源(C)的情况下优化训练具体可以用如下的公式表示
L ( N , D ) = E + A N α + B D β L(N, D)=E+\frac{A}{N^\alpha}+\frac{B}{D^\beta} L(N,D)=E+NαA+DβB
深入讨论扩展定律
可预测的扩展
由于扩展定律的存在,使得我们有了可预测扩展的能力(Predictable Scaling),具体来说就是
- 使用小模型性能去预估大模型的性能,或者帮助超参数选择
- 训练过程中使用模型早期性能来预估后续性能
扩展定律的局限性
模型的语言建模损失
L
L
L可以使用如下的通俗公式表示
L
(
x
)
=
L
∞
⏟
不可约损失
+
(
x
0
x
)
α
x
⏟
可约损失
可约损失:真实分布与模型分布之间的
K
L
散度,可通过优化减少
不可约损失:真实数据分布的熵,无法通过优化减少
\begin{align} &L(x)= \underbrace{L_\infty}_{\text{不可约损失}} + \underbrace{(\frac{x_0}{x})^{\alpha _x}}_{\text{可约损失}} \\ &可约损失:真实分布与模型分布之间的KL散度,可通过优化减少\\ &不可约损失:真实数据分布的熵,无法通过优化减少 \end{align}
L(x)=不可约损失
L∞+可约损失
(xx0)αx可约损失:真实分布与模型分布之间的KL散度,可通过优化减少不可约损失:真实数据分布的熵,无法通过优化减少
由此也带来了边际效应的问题,即扩展定律可能会存在边际效益递减,具体的表现如下
- 随着模型参数、数据数量的扩展,模型性能增益将逐渐减小
- 目前开放数据已经枯竭,难以支持扩展定律的持续推进
大语言模型的涌现能力
什么是涌现能力
根据原始的论文定义是指:“在小模型中不存在,但在大模型中出现的能力”,也就是模型扩展到一定的规模时,特定任务性能突然出现显著跃升趋势,远超随机水平。《大语言模型》书中将涌现能力定义为“代表性能力”,下面我们同样也用“代表性能力”并且不区分其是否在小模型中存在。
代表性能力有以下的几种:
- 指令遵循(Instruciton Following): 也就是指大语言模型能够按照自然语言指令来执行对应的任务
- 上下文学习(In-context Learing): 在提示中为语言模型提供自然语言指令和任务示例,无需显式梯度更新就能为测试样本生成预期输出。
- 逐步推理(Step-by-step Reasoning):在提示中引入任务相关的中间推理步骤来加强复杂任务的求解,从而获得更可靠的答案,值得一提的是过年期间爆火的DeepSeek-R1, 一大亮点就是其具有强大的推理和思考功能
涌现能力与扩展定律的关系
可能有些读者看到这里对于涌现能力和扩展定律之间的关系的理解有些混乱,这里我们着重说一下两者的关系和区别
首先涌现能力和扩展定律都是描述规模效应的度量方法。
扩展定律可以理解为是一种较为平滑的多任务损失平均(LM loss)
涌现能力可以理解为是一种非平滑、某种特定能力或任务的性能跃升(Task loss)
总结
最后我们来总结一下,我们讲了什么是大语言模型,以及大模型的预训练后训练,还有关于大模型的两个经典的概念扩展定律和涌现能力。
2627

被折叠的 条评论
为什么被折叠?



