Skip to content

LLM 进阶面试题

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. 大模型如何让生成文本丰富而不单调?

训练层面

  • 海量参数:基于 Transformer 的模型参数量巨大(Billion 级),有助于学习多样化的语言模式与结构
  • 微调技术:P-Tuning、LoRA 等技术降低了微调成本,使模型在垂直领域获得更强的生成能力
  • 精心设计的损失函数:在训练过程中加入特定 Loss 项,有效抑制单调内容生成

推理层面

  • Temperature(温度):调节输出概率分布的平滑程度,温度越高输出越多样
  • Nucleus Sampling(Top-P):从累积概率超过 P 的 token 集合中采样,兼顾多样性与质量
  • Top-K Sampling:从概率最高的 K 个 token 中随机采样
  • Contrastive Search:限制与历史 token 相似度高的 token,鼓励多样性

2. LLM 复读机问题

2.1 什么是复读机问题?

复读机问题指大模型在生成文本时出现的不正常重复现象,分为四个层级:

层级表现
字符级重复对一个字或词反复生成
语句级重复对一句话反复生成
章节级重复对相同 prompt 输出完全相同或高度相似的内容
跨 prompt 重复对不同 prompt 也生成相似内容,信息熵低

典型案例

  • 电商翻译场景:出现 "steckdose steckdose steckdose..."
  • 多模态理解:不断重复 "这是一个杯子,这是一个杯子..."
  • 文本创作:生成结果千篇一律

2.2 为什么会出现复读机问题?

数据层面

  1. 训练数据偏差:训练语料中大量重复文本导致模型倾向于复制常见模式
  2. 缺乏多样性:训练数据缺乏足够的语言多样性和语境变化

训练目标层面

  1. 自监督学习限制:预测下一个词的训练目标使模型倾向于生成与输入相似的文本
  2. Induction Head 机制:模型倾向于从前文已预测的词中挑选最佳匹配

信息论层面

  1. 信息熵角度:对于语句连贯性弱、词序堆叠的文本(如电商标题),信息熵很高。当模型无法准确预测下一词时,Softmax 分布趋于平坦,模型倾向于从前文选取已有词
  2. 语义不变性:添加重复词后文本语义基本无变化(TSNE 分布几乎不变),模型缺乏修正动力

2.3 如何缓解复读机问题?

训练层面

Unlikelihood Training

通过修改训练损失函数,在模型学习真实标签语言逻辑的同时,抑制其生成某些不希望出现的 token 集合 C:

Lunlikelihood=logp(y|x)+αcClog(1p(c|x))
  • Token 级:抑制重复 token 的生成
  • Sentence 级:抑制重复句子的生成
  • 注意:Token 级和 Sentence 级叠加训练会降低重复率,但句子困惑度升高、准确率下降

效果:能显著降低 4-gram 重复率,但集合 C 的设计较为困难,不同任务需精心设计。此方法仅能解决字符级和语句级重复。

引入噪声

在生成时引入随机性或噪声(如随机采样、随机变换),增加输出的多样性。

推理层面

Repetition Penalty(重复惩罚)

通过惩罚因子对 Softmax 结果进行修正,降低历史 token 再次被选中的概率:

pi=piT,若 ihistory  pi=piθ(θ>1)
  • θ 通常设为 1.2
  • 在 HuggingFace 中设置 repetition_penalty 参数即可
  • 仅能解决字符级和语句级重复

Contrastive Search

通过对比机制在解码阶段限制与历史 token 相似度过高的候选 token:

score=(1α)logp(v)αmaxcos_sim(hv,hprevious)
  • 第一项为模型原始概率
  • 第二项为惩罚项:当前 token 与历史 token 相似度越高,惩罚越大
  • 在 HuggingFace 中设置 penalty_alpha 参数(0 < α < 1)

训练 + 推理双重机制:训练时加入对比 Loss 降低 token 嵌入相似度,推理时用对比搜索限制相似 token 生成,有效提升创造性。

Beam Search(束搜索)

每个时间步保留 num_beams 个最优候选序列,相比贪心搜索降低了部分重复率。Beam Search 本质是折中算法,理论上不专门解决重复问题,但实践中能在一定程度上优化输出分布。

Top-K Sampling

从 Softmax 后概率最高的 K 个 token 中采样。简单有效,但概率分布极端时(模型非常确定下一 token)可能造成生成错误。生成句子的通顺度和对 Prompt 的忠实度不可控。

在 HuggingFace 中:do_sample=True, top_k=50

Nucleus Sampling(Top-P 采样)

Top-K 的改进版本。不固定 K 值,而是累积概率,当累积概率超过 P 时停止。当模型确定时 K 值小,不确定时 K 值大,灵活适应不同场景。

在 HuggingFace 中:do_sample=True, top_p=0.9

Temperature(温度参数)

调节 Softmax 输出概率分布的平滑程度:

pi=ezi/Tjezj/T
  • T < 1:分布更尖锐,输出更确定性,适合摘要、翻译等有明确答案的任务
  • T = 1:原始分布
  • T > 1:分布更平坦,输出更多样化,适合创意写作
  • 模型自我重复说明温度过低;偏离主题说明温度过高

No Repeat N-Gram Size

强制限制指定大小的 n-gram 不能重复,若出现重复则选择概率次大的 token。一般建议开启此参数防止连续重复。

在 HuggingFace 中:no_repeat_ngram_size=N

后处理与过滤

使用文本相似度计算或规则检测并去除重复内容。在检测到异常时,通过加入特殊字符或修改 Prompt 重新生成。

重复率指标监测

指标含义
seq-rep-NN-gram 重复率
uniq-seq不同词的个数
rep前词重复率
wrep加权前词重复率

人工干预

对于关键任务或敏感场景,引入人工审查和筛选确保输出质量。

3. Llama 输入句子长度理论上可以无限长吗?

理论上:使用 RoPE 位置编码的 Llama 可以处理任意长度。

实际上存在以下限制:

  1. 计算资源:长序列需要更多显存和计算时间
  2. 训练限制:训练时处理的序列长度有限,处理长序列可能导致梯度消失或爆炸
  3. 上下文建模:长序列的语义结构更复杂,模型捕捉长距离依赖的能力有限

实际优化方案

  • 分块处理:将长序列分段处理
  • 增加计算资源
  • 改进 Attention 机制(如 Linear Attention)

4. BERT vs LLaMA/ChatGLM 如何选择?

维度BERTLLaMA/ChatGLM
参数量~110M(BERT-base)6B-70B
推理速度V100 约 2000+ 条/秒V100 约 1 条/秒
部署成本低(单卡 GPU)高(需大显存 GPU)
适合任务NLU(分类、NER、信息抽取)NLG 及复杂 NLU

选型建议

  1. NLU 任务(实体识别、信息抽取、文本分类):BERT 性能已足够,无需大模型,部署成本低、速度快
  2. NLG 任务(文本生成、对话):
    • 纯中文 → ChatGLM-6B
    • 中英文 → Chinese-Alpaca-Plus-7B
    • 需要英文能力 → LLaMA 系列

5. 各专业领域是否需要独立的大模型?

需要,原因如下:

  1. 领域知识:不同领域有特定的知识体系和术语
  2. 语言风格:各领域有独特的表达方式和惯用语
  3. 需求差异:金融关注数据处理,法律关注条款解析
  4. 数据稀缺:某些领域数据不足以训练通用模型

实践方案:通用大模型 + 领域微调。在通用模型基础上,用领域数据进行微调和定制,兼顾通用性和专业性。

6. 如何让大模型处理更长的文本?

核心思路

保持位置信息的相对关系,将新长度映射到原训练长度范围:

Position Interpolation:将位置 ID 按比例缩放。如从 2048 扩展到 16384(8 倍),position_id 变为 position_id / 8,值为 10000 的 position_id 被压缩为 1250。

代码修改只需一行

python
query_states, key_states = apply_rotary_pos_emb(
    query_states, key_states, cos, sin, position_ids / ratio
)

然后用对话语料进行微调,超过目标长度的文本截断。

发展方向

  1. 稀疏化:GPT-3 论文提到的稀疏 Attention
  2. MoE 架构:GPT-4 曾被推测使用 MoE(如 100B×16E 一类传闻配置),以提升长序列训练效率
  3. Multi-Query Attention:PaLM、Falcon 通过权重共享提升效率
  4. Linear Attention:将复杂度从 O(N²) 降至 O(N),代表方案有 Linear Transformer、RWKV
  5. ALiBi:简单优雅的外推方案,无需重新训练