AI大模型面试题整理

简介: 本文系统梳理了大模型核心技术要点,涵盖Transformer架构、训练优化、推理部署及显存估算等关键领域,并结合实战计算题与面试技巧,助力深入理解与应用。

🎯 基础架构类

Transformer核心

  1. Q: 解释Transformer中的自注意力机制
    A: 自注意力机制通过计算序列中每个位置与其他位置的关联权重,使模型能够捕获长距离依赖关系。核心公式:

  1. Q: 为什么使用多头注意力而不是单头?
    A: 多头注意力允许模型同时关注不同子空间的信息,每个头可以学习不同类型的关系,提高模型表达能力。
  2. Q: 位置编码的作用是什么?有哪些类型?
    A: 为模型提供序列位置信息,因为注意力机制本身不包含位置概念。包括绝对位置编码(可学习、Sinusoidal)和相对位置编码(RoPE、ALiBi)。
  3. Q: Attention计算中为什么要除以 ?
    A: 为了避免当维度 的值较大时, Q 和 K 的点积结果变得过大,方差变得过大,使softmax函数的结果趋向于极端值(极大值为1 ,其余为0),进而导致梯度消失的问题,影响模型训练的效果。Q: 那为什么不选择其他数,要选 ?
    A: 因为希望 Q 和 K 的点积结果期望为0,方差为1。当 Q 和 K 的元素是均值为 0、方差为 1 的独立随机变量时, Q 和 K 的点积的均值为 0,方差为 ,Q 和 K 的点积结果除以 可以使得点积的方差为1,点积的输出范围更集中,从而控制输入 softmax 的数值范围,避免其输出极端化,从而保留梯度的有效性


  1. 的方差是d需要除d的平方根,才能让点积方差为1。





模型架构类

  1. Q: LLaMA和GPT架构的主要区别?
    A: 主要区别在于:
  • LLaMA使用RMSNorm和SwiGLU激活函数
  • LLaMA使用RoPE位置编码
  • LLaMA开源,GPT闭源
  1. Q: Encoder-Only、Decoder-Only、Encoder-Decoder架构分别适合什么任务?
    A:
  • Encoder-Only:理解任务(分类、NER)
  • Decoder-Only:生成任务(文本生成、对话)
  • Encoder-Decoder:序列到序列任务(翻译、摘要)

⚙️ 训练优化类

  1. Q: 解释LoRA微调的原理和优势
    A: LoRA通过低秩分解模拟全量微调,将权重更新表示为低秩矩阵乘积:ΔW = BA。优势:
  • 减少可训练参数(1-10%)
  • 保持模型质量
  • 易于部署和切换
  1. Q: ZeRO-1、ZeRO-2、ZeRO-3的区别?
    A:
  • ZeRO-1:优化器状态分片
  • ZeRO-2:优化器状态+梯度分片
  • ZeRO-3:优化器状态+梯度+参数分片
  1. Q: FlashAttention如何优化内存使用?
    A: FlashAttention通过IO感知的算法设计,减少HBM访问次数,将内存复杂度从O(N²)降低到O(N),同时保持精确注意力。

🚀 推理部署类

  1. Q: 如何估算大模型的显存需求?
    A: 显存需求包括:
  • 模型参数:参数量 × 精度字节数
  • 激活值:取决于batch size和序列长度
  • 优化器状态:参数量的2-4倍
  • KV缓存:序列长度 × 层数 × 隐藏维度
  1. Q: 模型量化的原理和常见方法?
    A: 量化将浮点权重转换为低精度整数,常见方法:
  • 权重量化:INT8、INT4
  • 激活量化:动态量化
  • 量化感知训练:QAT

📊 实战计算题

计算题1:训练显存估算

题目:一个7B参数的FP16模型,batch_size=4,seq_len=2048,估算推理显存需求?

解答

  • 模型参数:7B × 2字节 = 14GB
  • KV缓存:2048 × 32层 × 4096维度 × 2 × 4 = 2GB
  • 激活值:约1-2GB
  • 总计:约17-18GB

计算题2:训练时间估算

题目:使用1000张A100训练175B模型,数据量300B tokens,估算训练时间?

解答

  • 单卡算力:312 TFLOPS
  • 有效算力:约30%利用率
  • 计算量:6 × 175B × 300B = 3.15×10²³ FLOPs
  • 训练时间:约3-4个月

计算题3:如何估算模型kv_cache显存占用量?

题目:假设模型中有 n_layers 个层块。每个层块中有一个多头注意力层。每个多头注意力层有 n_heads个注意力头,每个头的 k 和 v 的尺寸为 d_head。
最大上下文长度为 n_context。精度为 n_bytes,例如对于 FP32 是 4。推理时的批量大小为 batch_size。

解答
kv_cache显存占用量 = 2 × n_bytes × n_layers × batch_size × n_context × n_heads × d_head


⚙️ 显存估算

训练显存估算

训练的时候 GPU 显存占用一共包括 4 个部分:模型参数,梯度,优化器状态,激活值。 假设模型参数量是 θ

  • 模型参数:假设模型的参数量是 θ,参数精度是BF16/FP16,即每个参数占用两个字节,那么推理时候参数占用的显存是2θ 字节(前向传播),现在的大模型训练基本上会使用混合精度训练,混合精度训练时需要备份一份FP32的参数,用于模型参数更新,需要4θ 字节
  • 梯度:梯度内存的大小与模型的参数数量有关,因为每个参数都需要计算对应的梯度。因此梯度量一般等于模型参数量,假设模型参数量是 θ,参数精度是BF16/FP16,那么梯度量是2θ 字节
  • 优化器状态:现在的大模型训练基本上会使用混合精度训练和AdamW优化器,AdamW优化器需要存储动量(momentum)、二阶矩(variance)等状态,且由于混合精度训练, 优化器中的参数精度是FP32,因此优化器状态占用的显存是2 * 4 * θ 字节
  • 激活值:用于存储神经网络在前向传播过程中计算的中间值,这些激活值在反向传播过程中需要被重用,以计算关于模型参数的梯度。激活内存的大小与网络的深度和输入数据大小(batch size)有关。更深的网络和更大的 batch size 会导致更大的激活内存需求。
  • 总显存占用量 = 模型参数量 + 梯度 + 优化器状态 + 激活值 + 其他显存占用量


推理显存估算

大模型推理时的显存占用量主要取决于:

  • 模型参数:假设模型的参数量是 θ,参数精度是BF16/FP16,即每个参数占用两个字节,那么推理时候参数占用的显存是2θ 字节
  • kv_cache显存占用量:假设模型中有 n_layers 个层块。每个层块中有一个多头注意力层。每个多头注意力层有 n_heads个注意力头,每个头的 k 和 v 的尺寸为 d_head。最大上下文长度为 n_context。精度为 n_bytes,例如对于 FP16 是 2。推理时的批量大小为 batch_size。那么推理时候参数占用的显存是:2 × n_bytes × n_layers × batch_size × n_context × n_heads × d_head
  • 总显存占用量 = 模型参数量 + kv_cache显存占用量 + 其他显存占用量


🎯 开放性问题

  1. Q: 如何解决大模型的幻觉问题?
    A: 多种策略结合:
  • 数据质量提升
  • RLHF对齐训练
  • 知识增强(RAG)
  • 事实核查机制
  1. Q: 如何评估大模型的安全性?
    A: 多维度评估:
  • 有害内容检测
  • 偏见测试
  • 鲁棒性测试
  • 隐私泄露测试
  1. Q: 大模型在垂直领域如何落地?
    A: 完整流程:
  • 领域数据收集
  • 继续预训练
  • 指令微调
  • 强化学习对齐
  • 评估和优化

📚 面试技巧

回答框架

  1. 定义:清晰解释概念
  2. 原理:说明工作机制
  3. 优缺点:客观分析
  4. 应用:结合实际场景
  5. 扩展:相关技术发展

注意事项

  • 用具体数字支撑观点
  • 结合实际项目经验
  • 展示系统性思考
  • 承认知识边界
目录
相关文章
|
5天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
|
6天前
|
存储 人工智能 自然语言处理
OpenSpec技术规范+实例应用
OpenSpec 是面向 AI 智能体的轻量级规范驱动开发框架,通过“提案-审查-实施-归档”工作流,解决 AI 编程中的需求偏移与不可预测性问题。它以机器可读的规范为“单一真相源”,将模糊提示转化为可落地的工程实践,助力开发者高效构建稳定、可审计的生产级系统,实现从“凭感觉聊天”到“按规范开发”的跃迁。
856 13
|
3天前
|
云安全 安全
免费+限量+领云小宝周边!「阿里云2026云上安全健康体检」火热进行中!
诚邀您进行年度自检,发现潜在风险,守护云上业务连续稳健运行
1166 1
|
5天前
|
人工智能 JavaScript 前端开发
【2026最新最全】一篇文章带你学会Cursor编程工具
本文介绍了Cursor的下载安装、账号注册、汉化设置、核心模式(Agent、Plan、Debug、Ask)及高阶功能,如@引用、@Doc文档库、@Browser自动化和Rules规则配置,助力开发者高效使用AI编程工具。
715 4
|
6天前
|
消息中间件 人工智能 Kubernetes
阿里云云原生应用平台岗位急招,加入我们,打造 AI 最强基础设施
云原生应用平台作为中国最大云计算公司的基石,现全面转向 AI,打造 AI 时代最强基础设施。寻找热爱技术、具备工程极致追求的架构师、极客与算法专家,共同重构计算、定义未来。杭州、北京、深圳、上海热招中,让我们一起在云端,重构 AI 的未来。
|
8天前
|
IDE 开发工具 C语言
【2026最新】VS2026下载安装使用保姆级教程(附安装包+图文步骤)
Visual Studio 2026是微软推出的最新Windows专属IDE,启动更快、内存占用更低,支持C++、Python等开发。推荐免费的Community版,安装简便,适合初学者与个人开发者使用。
982 11
|
5天前
|
存储 人工智能 测试技术
【Claude Skills】从原理到实战的完全指南
Claude Skills通过模块化设计,将AI变为领域专家,实现工作流标准化。它支持指令封装、自动触发与脚本集成,提升复用性与协作效率,适用于个人提效与团队协同,是AI定制化的新范式。
|
11天前
|
存储 JavaScript 前端开发
JavaScript基础
本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)
|
9天前
|
人工智能 Shell 开发工具
Claude Code 2.1.2超详细更新说明,小白也能10分钟上手
Claude Code 2.1.x重磅更新:Shift+Enter换行、Esc+Esc撤销、Ctrl+B后台运行,Skills技能系统全面升级,支持多语言、通配符权限与动态MCP检测,性能提升50%,迭代速度惊人,开发者效率暴涨!
Claude Code 2.1.2超详细更新说明,小白也能10分钟上手

热门文章

最新文章