小米 AI Agent开发 一面

1. BERT 模型的结构

答:BERT 本质上是一个 Encoder-only 的 Transformer。输入由 Token Embedding、Segment Embedding、Position Embedding 三部分相加得到,然后经过多层 Transformer Encoder。以 BERT-Base 为例,模型参数通常是:层数 (L=12),隐藏维度 (H=768),注意力头数 (A=12),前馈层维度 (4H=3072)。BERT-Large 则是 (L=24, H=1024, A=16)。每层 Encoder 的结构是:Multi-Head Self-Attention -> Add & LayerNorm -> Feed Forward Network -> Add & LayerNorm。BERT 的训练目标主要有两个,一个是 MLM,也就是 Masked Language Model;另一个是 NSP,也就是 Next Sentence Prediction,后续很多变体会去掉 NSP。它和 GPT 最大的区别是,BERT 用双向上下文建模,更适合理解类任务;GPT 是 Decoder-only,更适合生成类任务。

2. Transformer 的结构

答:标准 Transformer 由 EncoderDecoder 组成,最早来自论文 Attention Is All You Need。Encoder 每层包括两部分:多头自注意力和前馈网络。Decoder 每层包括三部分:Masked Self-Attention、Cross-Attention、前馈网络。如果写成结构顺序,Encoder 是:X→MHA→Add&Norm→FFN→Add&Norm是:Y→Masked MHA→Add&Norm→Cross-Attention→Add&Norm→FFN→Add&Norm现在大模型大多用的是 Decoder-only 结构,因为它更适合自回归生成,训练目标统一,扩展到超大参数规模也更自然。

3. Self-Attention 的原理、公式,为什么要除以 (\sqrt{d_k}),MQA、GQA、MLA 分别是什么

答:Self-Attention 的核心是让序列中每个 token 都能和其他 token 建立关系。输入 (X) 先映射成:Q=XWQ,K=XWK,V=XWV 注意力分数是:

这里除以是因为当 (d_k) 很大时,QK的数值方差会变大,softmax 会进入饱和区,梯度变得很小,训练不稳定。缩放之后数值更平稳。Multi-Head Attention 则是把 (Q,K,V) 切到多个头上分别计算,再拼接:其中:

MQA 是 Multi-Query Attention,多个 Query Head 共享同一组 K 和 V,也就是 Q 还是多头,但 K、V 只有一组,优点是大幅降低 KV Cache 开销。GQA 是 Grouped-Query Attention,它是 MQA 和 MHA 的折中。多个 Q 头分组后共享 K、V,每组一套 K、V,比 MHA 更省显存,比 MQA 表达力更强。MLA 一般指 Multi-head Latent Attention,它的核心思路是先把 K、V 压到更低维的 latent 空间,再做恢复或映射,目的还是减少 KV Cache 和推理成本。它本质上是进一步优化注意力的存储和带宽问题。

4. 位置编码,传统位置编码和大模型常用位置编码,RoPE 的公式

答:位置编码的作用是给模型注入序列顺序信息,因为 Attention 本身对输入顺序不敏感。传统 Transformer 里最经典的是 Sinusoidal Position Encoding,直接加到输入 embedding 上:

这里 (pos) 是位置,(i) 是维度索引,(d) 是隐藏维度。BERT 用的是可学习的位置编码,也是加到输入 embedding 上。现在大模型里更常见的是 RoPE,也就是 Rotary Position Embedding。它不是直接把位置向量加到 embedding 上,而是对 Q 和 K 做旋转变换,把相对位置信息编码进注意力计算。对于二维向量对 ((x{2i},x{2i+1})),RoPE 写成:

其中 θip,i和位置 (p) 有关。RoPE 的优势是自然引入相对位置信息,长文本外推通常比绝对位置编码更稳定。

5. KV Cache 的介绍及功能

答:KV Cache 是大模型推理阶段常用的缓存机制。在自回归生成时,如果没有 KV Cache,那么每生成一个新 token,都要把历史所有 token 的 K、V 重新算一遍。引入 KV Cache 后,历史 token 的 Key 和 Value 会被缓存起来,后续只需要计算当前新 token 的 Q、K、V,并把新的 K、V 追加到缓存里。它的主要作用是减少重复计算,显著提升长文本生成速度。代价是显存会随上下文长度增长,因为每层都要保存历史 K、V。所以 KV Cache 的本质是 用显存换时间

6. 大模型常见归一化方法和公式

答:大模型里最常见的是 LayerNormRMSNorm。LayerNorm 的公式是:

它会减均值再除标准差。RMSNorm 不减均值,只按均方根缩放:

计算更简单,速度更快,所以很多大模型都更偏向使用 RMSNorm。此外在结构上还有 Post-NormPre-Norm 两种放置方式,现在大模型通常更喜欢 Pre-Norm,因为深层训练更稳定。

7. Transformer 的解码策略有哪些,作用对象是什么

答:解码策略作用在 Decoder 输出的 token 概率分布 上,本质是在每一步从词表分布里决定下一个 token 怎么选。最常见的是 Greedy Search,每一步直接选概率最大的 token,优点是简单快,缺点是容易陷入重复。Beam Search 会保留多个候选路径,适合机器翻译、摘要这类更强调全局最优的任务。Top-k Sampling 是每一步只在概率最高的 (k) 个 token 里采样。Top-p Sampling 是只在累计概率达到阈值 (p) 的最小 token 集合里采样。Temperature 则是调节分布平滑程度:

其中 T<1更保守,T>1 更发散。大模型聊天场景里,通常是 temperature 配合 top-p 使用得最多。

8. 大模型激活函数原理

答:激活函数的作用是给网络引入非线性映射能力。传统神经网络里常见的有 Sigmoid、Tanh、ReLU。大模型里最常见的是 GELUSwiGLU。GELU 的公式是:

其中 (\Phi(x)) 是标准高斯分布的累积分布函数,常用近似写法是:它比 ReLU 更平滑。SwiGLU 一般写成:很多新一代大模型喜欢用

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

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

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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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