AI-Agent 面试题汇总 - 大模型篇

一、大语言模型基础

1. 目前主流的开源模型体系有哪些?

主流开源模型体系包括:LLaMA 系、Qwen 系、GLM/ChatGLM 系、Mistral/Mixtral 系、Baichuan 系、DeepSeek 系、InternLM、Yi 等。面试里建议从以下维度比较:

  • 参数规模(7B/13B/70B…)
  • 上下文长度(8K/32K/128K…)
  • 多语言能力
  • 工具调用能力(function calling / agent)
  • 推理成本与部署难度
  • 开源协议(是否可商用)

2. Prefix LM 和 Causal LM 区别是什么?

  • Causal LM:严格自回归,token 只能看左侧历史(下三角 mask)。
  • Prefix LM:把输入分“前缀区”和“生成区”,前缀区通常可双向可见,生成区仍按自回归方式生成。

区别本质:Prefix LM在条件建模上更灵活,Causal LM在统一生成训练上更直接。

3. 为何现在的大模型大部分是 Decoder-only 结构?

核心原因:

  1. 训练目标统一:next-token prediction 可直接吃海量文本。
  2. 生成任务天然匹配:对话、写作、代码补全都属于自回归生成。
  3. 扩展性强:参数和数据放大时性能提升规律清晰。
  4. 工程生态成熟:KV Cache、并行推理框架都围绕 Decoder-only 深度优化。

4. LLM 复读机问题

“复读机”是模型重复输出相同短语/句子的现象。常见原因:

  • 温度太低、top-p过窄
  • repetition_penalty 未设置
  • prompt指令不明确
  • 长上下文导致局部高概率循环

常见解决:

  • 调高 temperature / top-p
  • 设置重复惩罚与 n-gram 限制
  • 缩短上下文或分段生成
  • 在提示词里明确“禁止重复”
outputs = model.generate(
    **inputs,
    max_new_tokens=256,
    temperature=0.8,
    top_p=0.9,
    repetition_penalty=1.1,
    no_repeat_ngram_size=3
)

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

常见方案:

  1. 分块+检索(RAG):检索相关片段喂给模型。
  2. 长上下文模型:选支持 32K/128K+ 的模型。
  3. 滑动窗口:分段重叠处理后聚合答案。
  4. 层次摘要:段落总结→全局总结。
  5. 位置编码外推技术(如 RoPE 相关扩展)。
def chunk_text(text, chunk_size=1000, overlap=150):
    res, i = [], 0
    while i < len(text):
        res.append(text[i:i+chunk_size])
        i += chunk_size - overlap
    return res

二、大语言模型架构

1. 讲讲对 Attention 的理解?

Attention本质是“按相关性做加权聚合”:给定 Query(当前需求)、Key(索引线索)、Value(内容),先算 Q-K 相似度,再对 V 做加权求和。它让模型在每一步都能动态关注最相关上下文,而不是把信息压缩成固定向量。

2. Attention 的计算步骤是什么?

步骤:

  1. 输入经线性层得到 Q/K/V
  2. 计算分数:(QK^T)
  3. 缩放:除以 (\sqrt{d_k})
  4. 加 mask(因果/padding)
  5. softmax 得注意力权重
  6. 权重乘 V 得输出
import torch, math
Q = torch.randn(2, 16, 64)
K = torch.randn(2, 16, 64)
V = torch.randn(2, 16, 64)

scores = Q @ K.transpose(-1, -2) / math.sqrt(64)
attn = torch.softmax(scores, dim=-1)
out = attn @ V

3. Attention 机制和传统 Seq2Seq 模型有什么区别?

传统 Seq2Seq(无 attention)把整句压成单一向量,长句易丢信息。Attention 允许解码时直接访问编码端各位置,提高长距离依赖建模能力。Transformer进一步完全用自注意力替代RNN,实现更强并行性。

4. Transformer 中 multi-head attention 中每个 head 为什么要进行降维?

原因:

  • 控制计算量与显存
  • 每个head在不同子空间学习不同关系
  • 保持总维度不变(多头拼接后再投影回去)

5. Encoder 编码器与 Decoder 掩码有什么区别?

  • Encoder自注意力通常是双向可见(除padding位)。
  • Decoder自注意力使用因果mask,当前位置不能看未来token。

这决定了:Encoder偏理解,Decoder偏生成。

6. 为什么 BERT 选择 mask 掉 15% 这个比例的词,可以是其他比例吗?

15%是经验上“信息破坏”和“训练信号”之间的平衡点:

  • 太低:监督信号不足
  • 太高:输入被破坏过多,语义上下文不完整可以改成其他比例,但效果要靠实验验证,不同语料/模型可能最优点不同。

7. BERT 非线性的来源在哪里?

主要来自:

  • FFN中的激活函数(GELU)
  • 注意力中的softmax
  • 多层堆叠后残差+归一化形成的复杂非线性表示能力

8. 为什么要进行 LN(LayerNorm)?

LayerNorm在特征维度做归一化,使每层输入分布更稳定,缓解训练震荡、加快收敛。相比BatchNorm,LN不依赖batch统计,更适合NLP可变长度与小batch场景。

import torch.nn as nn
ln = nn.LayerNorm(768)

三、训练数据集

1. SFT(有监督微调)的数据集格式?

典型格式是指令数据:

  • instruction / input / output或 chat 格式:
  • system / user / assistant 多轮消息。
{"instruction":"解释过拟合","i

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论
兄弟们,淘天集团agent开发招转正实习,简历直升leader和hr,欢迎来撩
点赞 回复 分享
发布于 今天 11:27 浙江
m
点赞 回复 分享
发布于 昨天 21:34 江苏
mark一下
点赞 回复 分享
发布于 昨天 17:33 天津
mark学习
点赞 回复 分享
发布于 昨天 09:57 北京
太强了
点赞 回复 分享
发布于 03-10 23:38 河北
还有没有别的
点赞 回复 分享
发布于 03-10 23:02 河北
哇 写的好详细
点赞 回复 分享
发布于 03-10 21:38 黑龙江
哇,能汇总这么多 AI 面试题,恭喜大佬!真羡慕你有这份资料。
点赞 回复 分享
发布于 03-10 21:36 四川
RAG+滑动窗口确实保命组合了哈哈
点赞 回复 分享
发布于 03-10 18:20 广西
Memory算必问的了吧
点赞 回复 分享
发布于 03-10 18:20 广东
不说别的,引用幻觉最坑人…
点赞 回复 分享
发布于 03-10 18:20 上海
楼主都是自己找的吗,还是全面了
点赞 回复 分享
发布于 03-10 18:19 广东
这玩意真干货啊
点赞 回复 分享
发布于 03-10 18:19 北京
m
点赞 回复 分享
发布于 03-10 10:39 广东
兄弟哪找的
点赞 回复 分享
发布于 03-09 15:22 浙江

相关推荐

评论
29
314
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务