【AI大模型面试宝典60题】1-5
目录
Q1:仅编码器(BERT 类)、仅解码器(GPT 类)和完整的编码器-解码器架构各有什么优缺点?
1. 编码器架构 (Encoder-only) - 代表:BERT系列
2. 解码器架构 (Decoder-only) - 代表:GPT系列
3. 编码器-解码器架构 (Encoder-Decoder) - 代表:T5、BART
升华与总结 (总)
Q2:自注意力机制如何使大模型能够捕捉长距离依赖关系,它跟 RNN 有什么区别?
面试口述
1.Self-Attention (自注意力) 的方式:全局关联
2.核心区别总结(列表对比)
3. 升华与总结 (总)
Q3:大模型为什么有上下文长度的概念?为什么它是指输入和输出的总长度?
面试口述
1. 为什么有上下文长度的概念?
2. 为什么是输入和输出的总长度?
升华与总结 (总)
Q4:大模型的分词器和传统的中文分词有什么区别?对于指定的词表,一句话是不是只有唯一的分词方式?
面试口述
1. 核心区别(四大不同)
2. 对于指定的词表,一句话是否只有唯一的分词方式?
升华与总结 (总)
类比理解(针对第2问)
Q5:大模型是如何区分聊天历史中用户说的话和 AI 说的话的?
Q1:仅编码器(BERT 类)、仅解码器(GPT 类)和完整的编码器-解码器架构各有什么优缺点?
架构类型 | 代表模型 | 优点 | 缺点 | 典型任务类型 |
---|---|---|---|---|
编码器(BERT) | BERT、RoBERTa | 双向理解强、表示学习好 | 不能生成文本 | 分类、抽取、匹配等 |
解码器(GPT) | GPT、Qwen | 擅长生成、支持 prompt 工程 | 不够理解、生成慢 | 问答、对话、代码生成 |
编解码器(T5) | T5、BART、mT5 | 兼顾理解与生成、灵活的输入输出建模 | 训练推理成本高 | 翻译、摘要、问答 |
开场白 (总):
编码器、解码器和编解码器是Transformer模型在NLP领域演进的三种核心架构。它们各有侧重,分别适用于不同的任务类型。
1. 编码器架构 (Encoder-only) - 代表:BERT系列
核心特点:双向上下文理解。通过“完形填空”式的预训练任务(MLM),让模型能同时利用一个词左右两边的上下文信息来学习它的深层表示。
优点:
强大的上下文表征能力:生成的词向量包含了丰富的上下文信息,非常适用于需要深度理解文本的任务。
任务灵活:通过在预训练模型后添加简单的任务特定层(如一个线性分类层),就能微调用于各种下游任务。
缺点:
天生不是生成模型:其架构是“所见即所得”,输入和输出长度必须严格一致,无法自动生成新的文本序列。
典型任务:
文本分类(如情感分析)
序列标注(如命名实体识别NER、词性标注)
语义相似度/匹配(如判断两句话是否表达相同意思)
抽取式问答(从一段文本中抽取出答案 span)
一句话总结:“编码器就像一个强大的文本理解者和分析者,但它只能处理输入,不能创造新的输出。”
2. 解码器架构 (Decoder-only) - 代表:GPT系列
核心特点:自回归生成。通过“下一个词预测”的预训练任务,从左到右逐个生成 token。在训练时使用“因果掩码”(Causal Mask),确保模型在预测第
i
个词时只能看到它左边的信息,防止信息泄露。优点:
强大的生成能力:天然适合一切需要生成文本的任务,从写文章到写代码。
支持Prompt工程:通过设计不同的输入提示(Prompt),可以 zero-shot 或 few-shot 地引导模型完成五花八门的任务,泛化性极强。
缺点:
单向上下文:在理解阶段,由于只能看到左侧上下文,对文本的“理解”深度理论上不如双向的编码器。
推理速度慢:生成时必须一个一个地迭代输出,无法并行,因此比编码器的推理速度慢很多。
典型任务:
开放域文本生成(写故事、写邮件)
对话系统(如ChatGPT)
代码生成与补全
通过Prompt实现的各类任务(如分类、翻译,但并非其最初设计主业)
一句话总结:“解码器就像一个富有创造力的作家,擅长续写和创造,但它的阅读(理解)方式是逐字逐句的,不够全面。”
3. 编码器-解码器架构 (Encoder-Decoder) - 代表:T5、BART
核心特点:序列到序列(Seq2Seq)。结合了前两者的优点。编码器负责双向理解输入序列,将其压缩为一个富含语义的上下文向量(Context Vector);解码器基于这个上下文向量,以自回归的方式生成输出序列。
优点:
理解与生成的完美结合:既能够深度理解输入文本,又能够自由地生成输出文本。
输入输出长度灵活:非常适合处理输入和输出长度不一致的任务。
缺点:
模型更复杂,成本更高:参数量通常更大,训练和推理的计算开销都是三种架构中最高的。
典型任务:
文本摘要(输入长文,输出简短摘要)
机器翻译(输入一种语言,输出另一种语言)
生成式问答(根据问题生成答案,而非抽取)
语义重写(如文本纠错、句子润色)
一句话总结:“编解码器就像一个专业的翻译官或总结者,它先通读全文(编码器理解),再用自己的话重新组织输出(解码器生成)。”
升华与总结 (总)
在回答完三点后,可以做一个更高层次的总结,展示你的视野:
“所以,这三种架构的选择本质上是任务需求和计算成本之间的权衡。
如果任务纯粹是理解、分析、分类,选编码器,效果最好且高效。
如果任务是开放式的生成,或者希望模型非常灵活,选解码器。
如果任务需要先深度理解再创造性输出,即典型的‘序列到序列’问题,那么即使成本高,也值得选择编解码器。
另外,值得注意的是,随着像GPT-3/4这样超大规模解码器模型的出现,其强大的涌现能力在一定程度上模糊了这种界限,通过Prompt,一个强大的解码器模型也能很好地完成理解类任务。但从架构设计的本源上来讲,这三者的区别还是非常清晰和重要的。”
#