🔗 导航到原文
本资料为《智能重生:从垃圾堆到AI工程师》第九章的配套学习内容。
阅读小说原文 :第九章《语言与理解》
专栏总目录 :《智能重生》AI工程师成长小说专栏
《智能重生:从垃圾堆到AI工程师》
第九章《语言与理解》
思考题解答 + 知识卡片 + 面试题
一、本章核心知识点回顾
- 词嵌入(Word Embedding):将词语映射为稠密向量,语义相似的词在向量空间中相近。Word2Vec通过CBOW或Skip-gram训练。
- RNN语言模型:通过循环结构建模序列,每个时间步预测下一个词。存在长期依赖问题。
- Transformer :完全基于注意力机制,摒弃循环结构。核心是自注意力(Self-Attention):( \text{Attention}(Q,K,V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V )。支持并行计算。
- BERT:双向编码器,使用掩码语言模型(MLM)预训练,适合理解任务(分类、问答、命名实体识别)。
- GPT:自回归解码器,从左到右生成,适合生成任务(对话、续写)。通过预测下一个词预训练。
- 预训练 + 微调范式:在海量无标注文本上预训练大模型,再在小规模标注数据上微调适应具体任务。
- 参数高效微调(LoRA):冻结原始权重,插入低秩可训练矩阵,大幅减少训练参数量。
- 大语言模型的局限:幻觉(生成不实信息)、偏见、推理能力弱、上下文长度限制、安全对齐困难。
- 实践项目:净土地问答助手------基于GPT-2 + LoRA微调,提供医疗、物资、教育等问答。
二、第九章思考题解答
问题一
在净土地的问答助手项目中,陆鸣使用GPT-2 + LoRA微调。如果只进行监督微调(不加入RLHF),模型可能会产生什么不良行为?如何用RLHF改善?
解答 :
不良行为:
- 可能回答有害问题(如"如何偷别人的积分"),因为训练数据中可能包含类似片段。
- 可能"幻觉"编造不存在的物资信息,误导居民。
- 可能重复训练数据中的偏见(如"老年人不会用AI")。
RLHF改善:
- 收集人类偏好数据:让居民或管理员对同一问题的多个回答进行排序(更好/更差)。
- 训练一个奖励模型,模仿人类偏好打分。
- 用强化学习(如PPO)微调GPT-2,最大化奖励模型分数,同时保持与原始模型的KL散度不要太大。
结果:模型学会拒绝有害请求、减少幻觉、对齐净土地的价值观。
问题二
Transformer的自注意力机制为什么比RNN更适合处理长文本?它的计算复杂度是多少?有什么改进方法?
解答:
- RNN:序列必须逐个词处理,无法并行。且长序列上梯度易消失,难以捕捉超过100步的依赖。
- Transformer:自注意力直接计算所有词对之间的相关性,可以并行计算,且任意两个词的距离为1(无长距离衰减),能轻松捕捉长距离依赖。
计算复杂度:自注意力复杂度 (O(n^2 \cdot d)),其中 (n) 是序列长度,(d) 是特征维度。对于很长的文本(如整本书),(n^2) 会非常大。
改进方法:
- 稀疏注意力:只计算局部窗口或固定间隔的注意力。
- 滑动窗口注意力(如Longformer)。
- 低秩近似(如Linformer)。
- 稀疏Transformer(如Reformer)。
问题三
大语言模型会产生"幻觉"(生成看似合理但错误的信息)。在净土地的医疗咨询场景中,幻觉可能导致什么严重后果?如何设计防护机制?
解答 :
严重后果:
- 模型可能给出错误的用药剂量、急救措施,导致居民病情恶化甚至死亡。
- 可能编造不存在的物资储备位置,造成资源浪费或延误。
防护机制:
- 检索增强生成(RAG):先检索净土地医疗手册、物资数据库等可信文档,再将检索结果作为上下文给模型,限制模型只能基于检索内容回答。
- 不确定性输出:模型输出置信度,低于阈值时拒绝回答并转人工。
- 事后验证:用另一个模型(或规则系统)对回答进行事实核查。
- 限制回答范围:微调时只保留"我知道"和"我不知道"两种模式,禁止编造。
- 人工审核日志:所有问答记录存档,定期抽检纠正。
三、知识记忆卡片(张小卡片)
┌─────────────────────────────────────────────────┐
│ 📚 第九章 · 语言与理解 │
├─────────────────────────────────────────────────┤
│ 🔹 词嵌入:词语 → 稠密向量(Word2Vec) │
│ 国王 - 男人 + 女人 ≈ 女王 │
│ │
│ 🔹 Transformer核心:自注意力 │
│ Attention(Q,K,V) = softmax(QK^T/√d_k) V │
│ │
│ 🔹 BERT:双向编码器,掩码语言模型(理解任务) │
│ 🔹 GPT:自回归解码器,预测下一个词(生成任务) │
│ │
│ 🔹 预训练+微调:海量文本预训练,小数据微调 │
│ 🔹 LoRA:冻结原始权重,插入低秩矩阵(高效微调)│
│ │
│ 🔹 LLM局限:幻觉、偏见、推理弱、上下文短 │
│ │
│ 💡 记忆口诀: │
│ "词嵌向量化语义,RNN串行忆难长; │
│ 并行为王Transformer,自注意力可并行; │
│ BERT双向理解强,GPT生成自回归; │
│ 微调用LoRA,幻觉防护靠RAG。" │
└─────────────────────────────────────────────────┘
四、常见面试题与参考答案
❓ 词嵌入与语言模型基础
问题1:Word2Vec的CBOW和Skip-gram有什么区别?分别适合什么场景?
参考答案:
- CBOW(连续词袋模型):用上下文词预测中心词。训练速度快,适合大规模数据,对高频词效果好。
- Skip-gram:用中心词预测上下文词。训练较慢,但对低频词和罕见词效果更好,适合小数据集或词汇分布不均匀的场景。
应用:CBOW常用于通用词向量;Skip-gram常用于稀有词或专业术语(如净土地特有的机器名称)。
问题2:RNN语言模型如何计算一个句子的概率?写出公式。
参考答案 :
句子 ( w_1, w_2, ..., w_T ) 的概率分解为:
P(w_1, w_2, ..., w_T) = \\prod_{t=1}\^{T} P(w_t \\mid w_1, ..., w_{t-1})
RNN在每个时间步 ( t ) 接收前一个隐藏状态 ( h_{t-1} ) 和当前词 ( w_t ),输出下一个词的概率分布 ( P(w_{t+1} \mid w_1...w_t) )。
训练时最大化对数似然:(\sum_t \log P(w_t \mid w_{<t}))。
❓ Transformer与注意力机制
问题3:解释Transformer中的"多头注意力"(Multi-Head Attention)的作用。
参考答案 :
多头注意力将输入分别线性投影到多个不同的低维空间("头"),每个头独立计算注意力,然后将所有头的输出拼接并再次线性变换。
作用:
- 每个头可以关注不同的关系类型(如一个头关注句法结构,另一个头关注远距离指代)。
- 增强模型表达能力,捕捉更丰富的特征。
- 头数通常为8、16、32等。
问题4:为什么自注意力中要除以 (\sqrt{d_k})(缩放因子)?
参考答案 :
当 (d_k) 较大时,点积 (QK^T) 的值可能非常大,导致softmax函数进入梯度极小的饱和区。除以 (\sqrt{d_k}) 可以稳定梯度,使注意力权重分布更平滑。这是经验性的缩放,保证点积的方差为1。
问题5:Transformer的位置编码(Positional Encoding)为什么需要?常见实现方法有哪些?
参考答案 :
自注意力本身不包含序列顺序信息,因此需要显式加入位置编码。
常见方法:
- 正弦/余弦函数(原始Transformer):对不同维度使用不同频率的三角函数,可外推到未见长度。
- 可学习位置编码:将位置作为可训练参数,固定最大长度。
- 相对位置编码:使用位置差,在长文本中表现更好。
❓ BERT与GPT
问题6:BERT的预训练任务是什么?为什么它被称为"双向"?
参考答案 :
预训练任务:
- 掩码语言模型(MLM):随机掩盖输入中15%的词,让模型预测被掩盖的词。
- 下一句预测(NSP) :判断两个句子是否连续(部分数据集使用)。
双向含义:在预测被掩盖词时,BERT可以同时利用左侧和右侧的上下文(双向),而GPT只能利用左侧(单向)。这种双向性让BERT更善于理解句子整体含义。
问题7:GPT的生成过程是怎样的?如何控制生成文本的多样性?
参考答案 :
GPT自回归生成:给定起始提示,逐词预测下一个词的概率分布,采样得到下一个词,然后与之前拼接继续预测,直到生成结束符号或达到最大长度。
控制多样性方法:
- 温度(Temperature):( P(w) = \text{softmax}(\logits / T) ),(T>1) 增加多样性,(T<1) 减少。
- Top-k采样:只从概率最高的k个词中采样。
- Top-p(核采样):从累积概率超过p的最小词集中采样。
- 重复惩罚:降低已出现词的采样概率。
问题8:什么是"上下文长度"?为什么它限制了LLM的应用?
参考答案 :
上下文长度是模型一次能处理的输入最大token数(如GPT-3为2048,GPT-4为8192或更多)。
限制原因:
- 自注意力的 (O(n^2)) 计算复杂度,长文本推理慢且内存大。
- 长文本中关键信息可能被遗忘。
- 限制应用:无法直接处理整本书或多轮长对话,需用摘要或检索增强。
❓ 微调与部署
问题9:LoRA(Low-Rank Adaptation)微调的原理是什么?它与全参数微调相比有何优势?
参考答案 :
原理 :冻结预训练模型的权重矩阵 (W \in \mathbb{R}^{d\times k}),在其旁边加入两个低秩矩阵 (A \in \mathbb{R}^{d\times r}) 和 (B \in \mathbb{R}^{r\times k})((r \ll \min(d,k))),前向传播时输出为 (Wx + BAx)。只训练 (A) 和 (B)。
优势:
- 参数量极少(通常不到原模型的1%)。
- 训练速度快,内存占用小。
- 多任务可共享基础模型,只需存储不同任务的 (A,B) 即可切换。
问题10:如何评估一个问答助手的回答质量?有哪些指标?
参考答案 :
自动化指标(有参考答案时):
- BLEU:n-gram重叠度(用于机器翻译)。
- ROUGE:召回率导向的摘要评估。
- BERTScore:用BERT计算语义相似度。
人工评估(更可靠):
- 有用性:是否解决了问题。
- 真实性:是否存在幻觉。
- 无害性:是否拒绝有害请求。
- 流畅度:语言是否自然。
净土地实践:标注人员(管理员、居民)对回答进行1-5分评分,定期计算平均分。
❓ 大语言模型局限与安全
问题11:列举三种减少LLM"幻觉"的方法。
参考答案:
- 检索增强生成(RAG):先检索相关文档,让模型基于文档回答。
- 提示工程:显式要求模型"如果你不确定,就说不知道"。
- 验证模型:使用另一个模型(或规则)对生成内容进行事实核查,不一致时拒绝输出。
- 强化学习:用RLHF惩罚幻觉,奖励诚实和有用。
问题12:为什么LLM会带有社会偏见?如何检测和缓解?
参考答案 :
原因 :训练数据(如互联网文本)包含人类的社会偏见(性别、种族、职业刻板印象),模型学习并放大了这些模式。
检测:
- 使用偏见基准数据集(如Winogender,评估性别偏见)。
- 模板测试:输入"护士是___",统计模型输出。
缓解: - 数据去偏见:过滤或平衡训练数据。
- 微调:用无偏见的指令数据微调。
- 解码策略:设定禁止特定模式。
- 模型编辑:直接修改神经元。
五、自测练习题(答案附后)
- 写出自注意力机制的公式,并解释 (Q, K, V) 的含义。
- BERT和GPT的核心架构区别是什么?分别适合哪类任务?
- 在净土地问答助手中,如果用户问"怎么制造爆炸物",模型应该怎么回答?用RLHF如何实现这种拒绝行为?
- (开放题)假设你要为净土地的孩子设计一个语文辅导模型(生成作文、修改病句),你会选择BERT还是GPT作为基础?为什么?
练习题答案:
- (\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V);(Q)(查询)表示当前词想"问"什么,(K)(键)表示其他词"能回答"什么,(V)(值)表示其他词的实际信息。
- BERT是双向编码器,适合理解任务(如病句检测);GPT是单向解码器,适合生成任务(如作文续写)。
- 应回答"我不能提供制造爆炸物的方法"。RLHF中,标注人员对"拒绝"的回答给予高奖励,对"危险回答"低奖励,强化学习使模型学会拒绝。
- 选择GPT,因为作文生成和病句修改是生成任务,GPT自回归生成更自然。可用GPT-2微调,同时用RAG检索语法规则减少错误。
📌 本文是《智能重生:从垃圾堆到AI工程师》第九章配套学习资料。
欢迎在评论区讨论,更多章节请关注专栏更新。