大模型(LLMs)基础面
来源:AiGC面试宝典 整理日期:2024/8/11
1. 主流的开源模型体系有哪些?
目前主流的开源模型体系分为三种:
| 架构类型 | 注意力机制 | 代表模型 |
|---|---|---|
| Prefix Decoder | 输入双向注意力,输出单向注意力 | ChatGLM、ChatGLM2、U-PaLM |
| Causal Decoder | 从左到右的单向注意力 | LLaMA-7B、LLaMA衍生物 |
| Encoder-Decoder | 输入双向注意力,输出单向注意力 | T5、Flan-T5、BART |
📝通俗解释:可以把Transformer架构想象成一个"阅读理解机器"。Prefix Decoder像是在做题时先看题目(输入部分可以互相看),再自己推导答案(输出只能看前面的);Causal Decoder像写作文,只能根据前面写的内容来写后面的;Encoder-Decoder像翻译,先完整理解原文(双向注意力),再逐句翻译(单向输出)。
2. Prefix Decoder 和 Causal Decoder 和 Encoder-Decoder 区别是什么?
三种架构的核心区别在于 Attention Mask(注意力掩码) 不同:
Encoder-Decoder
- 特点:输入部分采用双向注意力,对问题的编码理解更充分
- 适用任务:偏理解的NLP任务(如文本分类、问答)
- 缺点:长文本生成效果差,训练效率低
Causal Decoder
- 特点:自回归语言模型,严格遵守"只有后面的token才能看到前面的token"规则
- 适用任务:文本生成任务效果最好
- 优点:训练效率高,zero-shot能力更强,具有涌现能力
Prefix Decoder
- 特点:prefix部分的token互相能看到,是Causal Decoder和Encoder-Decoder的折中
- 缺点:训练效率低
📝通俗解释:想象你在玩"接龙"游戏。Causal Decoder就像严格遵守规则,只能看到前面玩家说的词;Prefix Decoder允许在开头讨论时大家都能互相看到,但正式接龙后就不能回头看了;Encoder-Decoder则像有两个玩家,一个负责理解题目(Encoder,双向),一个负责回答(Decoder单向)。
3. 大模型LLM的训练目标是什么?
3.1 语言模型(Language Model)
根据已有词预测下一个词,训练目标为最大似然函数:
$$\mathcal{L}{LM}(x) = \sum^{n} \log P(x_i | x_{<i})$$
- 训练效率:Prefix Decoder < Causal Decoder
- Causal Decoder会在所有token上计算损失
- Prefix Decoder只会在输出部分计算损失
📝通俗解释:就像学习写作文时,老师让你根据前面的句子猜下一个词是什么。猜对了加分,猜错了扣分,反复训练后就学会如何"接话"了。Causal Decoder训练更高效,因为它对每个词都训练;Prefix Decoder只训练输出部分。
3.2 去噪自编码器(Denoising Autoencoder)
随机替换掉一些文本段,训练语言模型去恢复被打乱的文本段:
$$\mathcal{L}{DAE}(x) = \log P(\tilde{x} | x{/\tilde{x}})$$
- 实现难度:较高
- 代表模型:GLM-130B、T5
📝通俗解释:就像做"完形填空"练习,把一段文章随机挖掉几个空,让模型根据上下文把空填回去。这种训练方式更难,但能让模型更好地理解文章整体结构。
4. 涌现能力(Emergent Capabilities)是啥原因?
涌现能力是指模型在规模超过某个临界点后,突然展现出前所未有的能力。根据前人分析,主要有两个猜想:
猜想一:评价指标不够平滑
某些评价指标存在"天花板效应",在小模型上表现为0,但达到一定规模后突然有改善。
猜想二:复杂任务 vs 子任务
- 假设某个任务T由5个子任务Sub-T构成
- 每个Sub-T的指标从40%平滑增长到60%
- 但最终任务指标只从1.1%提升到7%
- 宏观上看到了"涌现",但子任务实际是平滑增长的
📝通俗解释:就像小学生做应用题,需要同时会读题、列式、计算、检查。模型小时每个环节都做得不好,整体表现为0;模型变大后每个环节都进步一点,综合能力突然就"及格"了。这种"整体大于部分之和"的现象就是涌现。
5. 为何现在的大模型大部分是Decoder only结构?
核心原因
Zero-shot能力更强
- decoder-only结构在没有任何微调数据的情况下,zero-shot表现最好
- encoder-decoder需要一定量的标注数据做multitask-finetuning才能激发最佳性能
训练范式匹配
- 目前大模型的训练范式是在大规模语料上做自监督学习
- zero-shot性能更好的decoder-only架构能更好利用无标注数据
理论优势
- Encoder的双向注意力存在低秩问题,可能削弱模型表达能力
- 对生成任务而言,双向注意力并无实质好处
效率与成本
- Encoder-decoder需要多一倍参数
- 同等参数量、同等推理成本下,decoder-only是最优选择
📝通俗解释:Decoder-only就像一个"自学成才"的学生,看的书越多(大规模预训练),不用老师特别指导(无监督)也能回答各种问题。Encoder-decoder则像需要"特训"的学生,需要老师教很多遍(微调)才能发挥最好水平。
6. 简单介绍一下大模型【LLMs】?
大模型:一般指1亿以上参数的模型,这个标准随着技术发展不断升级,目前万亿参数以上的模型也已出现。
大语言模型(LLM):针对语言的大模型,能够理解和生成人类语言。
📝通俗解释:大模型就像一个"读了全世界大部分书"的人脑子里装的知识,参数越多,相当于"记忆力"和"理解力"越强。1亿参数大概相当于一个人一生能记住的所有知识片段。
7. 大模型【LLMs】后面跟的175B、60B、540B等指什么?
这些数字表示模型的参数数量:
- B = Billion(十亿)
- 175B = 1750亿参数
- 60B = 600亿参数
- 540B = 5400亿参数
例如:ChatGPT大约是175B参数规模
📝通俗解释:就像说电脑内存是"16G",这个"G"是存储单位。Billion就是"十亿",175B就是"1750亿个开关"。每个"开关"存储一点知识,所有的开关组合在一起就是模型的"大脑"。
8. 大模型【LLMs】具有什么优点?
降低数据标注成本
- 利用大量无标注数据训练通用模型
- 用少量有标注数据微调适应特定任务
- 预训练+微调的方式减少数据标注成本和时间,提高泛化能力
强大的生成能力
- 利用生成式AI技术产生新颖和有价值的内容(图像、文本、音乐等)
- 在创意、娱乐、教育等领域带来更好体验
涌现能力
- 完成之前无法完成或很难完成的任务
- 如数学应用题、常识推理、符号操作等
- 反映模型的智能水平和推理能力
📝通俗解释:大模型就像一个"全能型学习天才":不需要老师手把手教(无监督预训练),稍微指点一下(微调)就能做各种题目;而且"读过的书"太多,有时候能自己"悟"出一些没教过的技能(涌现能力)。
9. 大模型【LLMs】具有什么缺点?
资源消耗巨大
- 需要大量计算资源和存储资源训练和运行
- 据估计,训练GPT-3需要约30万美元
- 产生约284吨二氧化碳排放
数据安全问题
- 数据偏见、数据泄露、数据滥用等问题
- 可能导致模型产生不准确或不道德的输出
可解释性挑战
- 模型行为难以理解和控制
- 正确性和稳定性难以保证
- 效益和风险需要平衡
📝通俗解释:大模型就像一个"耗电的超级大脑":训练一次要花很多钱(30万美元);而且它"学"的东西太多太杂,可能会学到一些不好的东西(数据偏见);最关键的是,我们有时候不知道它是怎么得出答案的(不可解释),这让人不太敢完全信任它。
整理完成