面试题:预训练模型详解——GPT、BERT、T5 结构与训练目标、预训练微调范式、Transformers 加载 BERT 实战全解析
1. 为什么“预训练模型”会成为 NLP 面试高频题1.1 这道题表面考模型实质考的是一条技术主线面试官问预训练模型通常不是单纯想听你背几个模型名字而是想看你是否理解NLP 为什么从传统的“每个任务单独训练一个模型”转向了“先预训练一个大模型再迁移到具体任务”的范式。这条主线串起了 GPT、BERT、T5也串起了后来的大模型时代。所以回答这类题时最好的方式不是孤立讲每个模型而是先把“预训练模型”的总体逻辑讲清再分别介绍代表模型。2. 什么是预训练模型2.1 用一句人话解释预训练模型就是先在海量通用文本上训练一个“懂语言”的基础模型让它学会词与词之间的关系、句子之间的规律、常见知识表达方式然后再把这个基础模型迁移到具体任务上比如文本分类、命名实体识别、问答、翻译、摘要、对话生成等。2.2 为什么这种思路比从零训练更有效因为大多数下游任务的数据都不够大。如果每个任务都从零训练很容易数据不够、成本太高、效果也不稳定。预训练模型等于先在大语料里打好“语言底子”再到具体任务里做针对性适配。3. GPT 的结构和预训练目标是什么3.1 GPT 的结构特点GPT 的核心结构是 Decoder-only Transformer也就是只保留 Transformer 的解码器部分。它没有 BERT 那样的编码器也不走 T5 那种完整的编码器—解码器路线。因为是生成式模型所以 GPT 在每一步生成当前词时只能看当前位置之前的内容不能偷看后面的词。这就是它为什么要配合因果掩码。3.2 GPT 的预训练目标GPT 的训练目标可以概括成一句话给定前文预测下一个词。也就是说模型总是在做“续写”这件事。这种目标也叫自回归语言模型。它的好处是非常自然地对应生成任务因此 GPT 很适合做对话、写作、摘要生成、代码生成等任务。3.3 面试时怎么总结 GPT可以这样答GPT 是一个 Decoder-only 的预训练模型采用自回归语言建模方式进行预训练核心目标是根据前面的上下文预测下一个 token因此特别擅长文本生成。4. BERT 的结构和预训练目标是什么4.1 BERT 的结构特点BERT 采用的是 Encoder-only Transformer也就是只保留编码器部分。它的每个位置都可以同时看到左边和右边的上下文因此特别适合理解型任务。相比 GPT 的“单向生成”BERT 更强调“双向理解”。这也是它能在很多分类、匹配、抽取、阅读理解任务上表现优秀的重要原因。4.2 BERT 的预训练目标BERT 最经典的预训练目标有两个。第一个是 MLM也就是 Masked Language Model随机把句子里的部分词遮住让模型根据左右文去猜被遮住的词。第二个是 NSP也就是 Next Sentence Prediction让模型判断句子 B 是否是句子 A 的下一句。虽然很多后续模型对 NSP 的使用有不同看法但在经典面试题里MLM 和 NSP 仍然是理解 BERT 的标准答案。4.3 面试时怎么总结 BERT可以这样答BERT 是一个 Encoder-only 的预训练模型通过 MLM以及经典版本中的 NSP进行预训练能够学习深度双向上下文表示因此更适合理解类任务。5. T5 的结构和预训练目标是什么5.1 T5 的结构特点T5 使用完整的 Encoder-Decoder Transformer 结构既有编码器负责理解输入又有解码器负责生成输出。这使得 T5 同时具备理解和生成的能力它不像 GPT 那样强偏生成也不像 BERT 那样强偏理解而是采取了一种更加统一的任务视角。5.2 T5 的核心思想Text-to-TextT5 最有代表性的地方不只是结构本身而是它提出了一种非常统一的建模思路所有 NLP 任务都改写成“输入文本 → 输出文本”。比如做分类可以把输入写成“sst2 sentence: 这部电影真好看”输出写成“positive”做翻译可以把输入写成“translate English to Chinese: hello”输出写成“你好”做摘要、问答也都可以变成文本生成。5.3 面试时怎么总结 T5可以这样答T5 是一个 Encoder-Decoder 结构的预训练模型它把各种 NLP 任务统一为 text-to-text 形式因此兼顾理解和生成具有很强的统一建模能力。6. GPT、BERT、T5 的区别到底是什么6.1 先从结构看GPT 是 Decoder-onlyBERT 是 Encoder-onlyT5 是 Encoder-Decoder。6.2 再从预训练目标看GPT 主要做下一个词预测BERT 主要做遮盖词预测T5 则强调统一为 text-to-text 任务。6.3 从能力倾向看GPT 更偏生成BERT 更偏理解T5 两者兼顾。7. “预训练—微调”范式是什么7.1 这套范式的核心逻辑所谓“预训练—微调”范式就是先在海量通用语料上进行预训练学出一个具备通用语言能力的基础模型再在具体任务数据上做微调让模型适应下游任务。这是一种“先通用、后专用”的迁移学习思想。7.2 为什么它会改变 NLP 训练范式因为在预训练阶段模型已经从海量数据中学会了通用表达规律。到了具体任务时不需要再从零开始而只需要在已有能力基础上做轻量适配。这样既节省数据也降低训练成本。7.3 微调一定是全参数吗不一定。最传统的是全参数微调但在模型越来越大的情况下也经常使用只训练少量参数的参数高效微调方式比如 LoRA、Adapter 等。面试里如果能顺带提一句会显得更完整。8. 如何使用 transformers 加载 Bert 模型8.1 最常见的标准写法实际开发中最常见的做法是使用 Hugging Face 的 transformers 库通过 from_pretrained 方法加载 tokenizer 和 model。8.2 代码逻辑如何理解第一步选择模型名比如 bert-base-chinese第二步加载 tokenizer 负责分词和张量化第三步加载 model第四步把文本通过 tokenizer 变成模型可接受的输入第五步调用 model 获取输出表示。8.3 Auto 类和 BertModel 有什么区别AutoTokenizer、AutoModel 这种 Auto 类更加通用未来切换到其他模型时基本不需要改太多代码而 BertTokenizer、BertModel 更直接适合明确知道自己就是在使用 BERT 时的写法。8.4 不同任务该怎么加载如果只是想拿到 BERT 的基础向量表示可以用 AutoModel 或 BertModel如果做文本分类通常用 AutoModelForSequenceClassification如果做问答则使用对应的任务模型类。9. 面试高频追问建议这样回答9.1 GPT 的结构和预训练目标是什么答GPT 是 Decoder-only Transformer通过自回归语言建模进行预训练核心目标是根据前文预测下一个 token因此擅长生成任务。9.2 BERT 的结构和预训练目标是什么答BERT 是 Encoder-only Transformer经典预训练目标是 MLM 和 NSP强调双向上下文理解因此更适合理解类任务。9.3 T5 的结构和预训练目标是什么答T5 使用 Encoder-Decoder 结构把各种任务统一成 text-to-text 的输入输出形式因此兼顾理解与生成。9.4 “预训练—微调”范式是什么答就是先在大规模通用语料上做预训练获得基础语言能力再在具体任务数据上做微调使模型适应下游任务。9.5 如何使用 transformers 加载 Bert 模型答通常先用 AutoTokenizer.from_pretrained 加载分词器再用 AutoModel.from_pretrained 或具体任务模型类加载模型最后把 tokenizer 编码后的输入送入模型即可。10. 总结真正高质量的回答不是背模型名字而是讲清“范式”如果把这道题浓缩成一句话那就是预训练模型的核心思想是先在海量通用语料上学习语言规律再迁移到具体任务GPT、BERT、T5 则分别代表了三种最经典的结构与训练思路。面试里真正能拉开差距的不是你能背出几个缩写而是你能否把“结构 → 训练目标 → 能力倾向 → 适用场景 → 实际使用方式”这一条逻辑线讲顺。只要这条线顺了回答就会非常专业、清晰。附30 秒面试快答模板“预训练模型就是先在海量通用语料上学语言规律再迁移到具体任务。GPT 是 Decoder-only通过预测下一个词进行预训练擅长生成BERT 是 Encoder-only通过遮盖词预测等目标进行预训练更擅长理解T5 是 Encoder-Decoder把各种任务统一成 text-to-text。实际使用时可以通过 transformers 的 AutoTokenizer 和 AutoModel.from_pretrained 来加载 BERT 模型。”
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2614270.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!