大模型应用一面、二面面经合集
完整信息
本篇目录
一面:
1.自我介绍,讲论文和实习。
2.Transformer自注意力机制、位置编码、梯度消失/爆炸的解决方案。
Transformer的自注意力机制通过计算查询(Query)、键(Key)、值(Value)三者之间的相似性,实现序列内任意位置对其他所有位置的动态加权聚合;位置编码(Positional Encoding)以正弦/余弦函数或可学习向量形式注入序列顺序信息,弥补Transformer缺乏固有位置感知的缺陷;梯度消失/爆炸在Transformer中主要通过残差连接(Residual Connection)、层归一化(Layer Normalization)、缩放点积注意力(Scaled Dot-Product Attention)以及合理的初始化策略(如Xavier/Glorot初始化、He初始化、Tied Initialization for Embedding & LM Head)协同缓解。
3.微调方法对比(Full Fine-tuning vs. LoRA/Adapter/P-Tuning)。
Full Fine-tuning(全参数微调)是对预训练语言模型的所有可训练参数(包括嵌入层、所有Transformer层的注意力权重、FFN权重、LayerNorm参数等)进行端到端梯度更新;而参数高效微调(Parameter-Efficient Fine-tuning, PEFT)方法如LoRA、Adapter和P-Tuning则仅引入少量可训练参数,冻结原始模型绝大部分权重,通过结构化增量模块实现任务适配。典型参数量对比(以LLaMA-7B为例):Full FT需更新约6.7B参数;LoRA(r=8, target=all-linear)仅新增约1.3M参数(0.02%);Adapter(每层MLP后插入2-layer bottleneck,d=768→64→768)约增加2.2M参数;P-Tuning v2在每层输入侧注入可学习连续prompt embedding(如每层20个向量,7B模型共28层×20×4096≈2.3M参数),三者均将显存占用与训练吞吐提升3–5倍,且在多数下游任务(如GLUE、SQuAD、指令遵循)上达到Full FT 95%–99%的性能。
4.推理加速技术(量化、动态批处理、FlashAttention)。
推理加速技术是为提升大语言模型(LLM)在部署阶段的吞吐量、降低延迟与显存占用而设计的一系列系统级与算法级优化方法。其中,量化(Quantization)通过降低权重和激活的数值精度(如从FP16转为INT4/INT8)减少显存带宽压力与计算开销;动态批处理(Dynamic Batching)允许运行时将多个不同长度、不同到达时间的请求合并为一个批次进行并行推理,显著提升GPU利用率;FlashAttention是一种IO感知的注意力优化算法,通过分块计算、重计算(recomputation)与共享内存缓存,将标准Attention的显存复杂度从O(N²)降至O(N),同时避免精度损失并提升实际算力利用率。
5.如何优化大模型在长文本生成中的显存占用?
优化大模型在长文本生成中的显存占用,核心策略包括:
1)使用KV缓存(Key-Value Cache)复用已计算的注意力键值对,避免重复计算;
2)采用PagedAttention(如vLLM框架)实现内存分页管理,提升GPU显存碎片利用率;
3)启用FlashAttention或xFormers等优化内核,减少Attention计算中间态显存;
4)应用序列并行(Sequence Parallelism)或Chunked Prefill将长上下文切分为小块分批处理;
5)结合量化(如AWQ、GPTQ 4-bit)与动态KV缓存剪枝(如Sliding Window Attention、StreamingLLM)限制历史缓存长度;
6)启用梯度检查点(Gradient Checkpointing)仅在反向传播时重计算前向中间结果(适用于训练阶段);
7)使用FSDP+CPU Offload(训练)或TensorRT-LLM推理引擎进行算子融合与显存卸载。
6.RLHF中奖励模型(RM)的训练数据如何构建?
RLHF(Reinforcement Learning from Human Feedback)中奖励模型(Reward Model, RM)的训练数据由三元组构成:(prompt, response_A, response_B, preference_label),其中preference_label ∈ {A preferred, B preferred, tie(可选)},表示人类标注者对两个模型生成响应(response_A 和 response_B)在给定 prompt 下的相对偏好。
构建流程包括:
1)采集高质量 prompt 数据集(如来自用户真实请求或合成指令);
2)使用初始策略模型(如SFT模型)对每个 prompt 生成多个候选响应(通常2–4个);
3)通过人工标注或众包平台(如Amazon Mechanical Turk)进行成对比较标注(pairwise comparison),即对每对响应判断哪个更符合人类价值观(有用性、真实性、无害性、表达清晰度等);4)为避免标注偏差和过拟合,需对 prompt 分布做去偏采样(如按领域/难度分层抽样),并对响应对做平衡构造(如确保A/B顺序随机化以消除位置偏差);
5)最终形成大规模偏好数据集,典型规模为数万至数十万条三元组。
7.为网易云音乐设计一个AI歌词生成系统,如何提升创意性和押韵效果?
提升AI歌词生成系统的创意性和押韵效果,需从数据层、模型层、约束层和后处理层四方面协同优化。核心策略包括:构建高质量多风格中文歌词语料库并引入韵母/声调标注;采用层次化生成架构(如韵脚先行+内容填充);融合规则约束(如平仄格律、押韵词典、语义跳跃度控制)与神经生成(如微调的LLM或韵律增强的Transformer);引入强化学习对押韵一致性、语义新颖性、情感连贯性进行多目标打分优化;最后通过基于图神经网络的韵脚扩散重写模块进行局部韵律精修。
8.模型剪枝/量化(GPTQ、AWQ)、服务化框架(FastAPI+vLLM)。
模型剪枝(Pruning)和量化(Quantization)是大语言模型(LLM)推理加速与部署轻量化的两大核心技术。GPTQ(Generalized Post-Training Quantization)是一种基于二阶Hessian信息的单次遍历逐层后训练权重量化方法,支持4-bit甚至3-bit整数量化,精度损失可控;AWQ(Activation-aware Weight Quantization)则引入激活敏感性分析,对重要权重通道保留更高精度(如保留1%的高敏感权重为FP16),实现“感知式”非均匀量化。服务化框架方面,FastAPI提供高性能、异步、自动生成OpenAPI文档的REST接口层,负责请求接收、鉴权、限流、日志等业务逻辑;vLLM是专为LLM推理优化的高效服务引擎,核心采用PagedAttention内存管理机制(类比操作系统分页),将KV缓存按块(block)组织并动态分配/复用,显著提升显存利用率与吞吐量;二者协同构成“FastAPI(前端API网关)+ vLLM(后端推理引擎)”的典型生产级LLM服务架构。
9.如何解决大模型API服务的响应延迟问题?
解决大模型API服务响应延迟问题需从请求侧、服务侧和系统架构三个层面协同优化,核心策略包括:请求预处理与裁剪(如prompt压缩、上下文截断)、服务端推理加速(KV缓存复用、PagedAttention内存管理、量化推理INT4/FP16、FlashAttention算子优化)、异步流式响应(SSE/Chunked Transfer Encoding)、动态批处理(Dynamic Batching)、模型服务化架构升级(vLLM/Triton/Llama.cpp部署)、负载均衡与弹性扩缩容,以及客户端体验优化(前端loading提示、渐进式渲染、超时降级兜底)。
二面:
1.自我介绍,讲论文和实习。
2.LayerNorm和BatchNorm在大模型中的区别?为什么Transformer用LayerNorm?
LayerNorm(层归一化)和BatchNorm(批归一化)的核心区别在于归一化的维度与统计量计算方式不同。LayerNorm在特征维度(即每个样本的token embedding向量内部)做归一化,对每个样本独立计算均值和方差;而BatchNorm在batch维度(即同一批次中所有样本的同一特征通道)上计算均值和方差,依赖batch size。Transformer采用LayerNorm,主要原因包括:
1)序列长度可变且训练时batch内序列常被padding,导致BatchNorm在时间步维度统计不稳定;
2)自回归生成阶段(如推理)是单样本逐token生成,无法构造有效batch,BatchNorm失效;
3)LayerNorm具有样本内一致性,对位置编码、残差连接和梯度流更友好,能缓解深层Transformer的梯度弥散问题;
4)实证表明LayerNorm在语言建模任务中收敛更稳定、泛化更好。
3.解释大模型训练中的“灾难性遗忘”现象及解决方法。
灾难性遗忘(Catastrophic Forgetting)是指大语言模型在持续学习新任务或新领域知识时,显著丢失先前已习得任务性能的现象。典型表现为:模型在微调后对原始预训练任务(如通用问答、语法理解)的准确率大幅下降,尽管在新任务(如医疗文本分类)上表现提升。该现象本质是神经网络权重更新过程中,新任务梯度覆盖了承载旧知识的关键参数,导致旧知识表征被破坏。
4.如果微调后的模型过拟合,你会如何调整?
当微调后的模型出现过拟合时,可从数据、模型结构、训练策略和正则化四个维度进行系统性调整。具体包括:增加训练数据(如数据增强、回译、合成数据)、使用更小的模型或引入Dropout/BatchNorm、降低学习率并采用早停(Early Stopping)、添加L2权重衰减、采用标签平滑(Label Smoothing)、使用梯度裁剪(Gradient Clipping)、冻结部分底层参数(如仅微调顶层Transformer层)、或改用更鲁棒的微调范式(如LoRA、Adapter、Prefix-Tuning等参数高效微调方法)。
5.如何评估一个对话系统的生成质量?
评估对话系统生成质量需采用多维度指标体系,包括自动指标(如BLEU、ROUGE、METEOR、BERTScore、Distinct-n)、人工评估(如流畅性、相关性、信息量、一致性、多样性、安全性)以及任务导向型指标(如任务完成率、API调用准确率、用户满意度CSAT/NPS),其中人工评估是金标准,自动指标仅作辅助参考;特别地,针对开放域对话还需考察共情能力、人格一致性与上下文连贯性,而任务型对话则更关注槽位填充准确率、意图识别F1值和对话状态追踪(DST)精度。
6.如何用大模型提升网易新闻的推荐效率?
可以通过构建“大模型增强的混合推荐系统”来提升网易新闻的推荐效率,具体包括四个核心层次:
1)用大模型优化用户长期兴趣建模(如基于阅读序列的LLM-based user embedding);
2)用大模型生成高质量新闻语义表征(替代传统TF-IDF或浅层BERT微调);
3)用大模型做实时上下文理解与动态意图推理(如结合当前时间、地理位置、设备类型、前序点击行为生成意图prompt);
4)用大模型作为可解释性调度器(re-ranker + explanation generator),在召回-粗排-精排-重排链路中插入轻量化LoRA适配的大模型模块,实现语义对齐与偏差校正。
7.设计一个游戏内AI陪玩系统,需考虑哪些模块?
一个完整的游戏内AI陪玩系统通常包含以下核心模块:行为决策模块、状态感知模块、动作执行模块、人格与表达模块、学习与适应模块、通信与协作模块、性能与资源管理模块,以及安全与合规模块。
8.领域适配时,如何构建高质量的垂域训练集?
构建高质量垂域训练集需遵循“领域聚焦、数据可信、分布合理、标注规范、持续迭代”五大原则,具体包括:
1)精准定义垂域边界与任务目标;
2)多源采集高相关性原始语料(如行业文档、专业问答、结构化数据库、合规脱敏日志);
3)通过规则过滤+模型打分+人工抽检三重清洗,剔除噪声、偏见、低信息熵及隐私违规样本;
4)基于领域知识构建分层采样策略(如按主题覆盖率、难度梯度、实体密度、句法复杂度分层),保障数据分布与真实场景对齐;
5)采用专家主导+众包协同的标注体系,设计细粒度标注规范(含schema定义、边界判定逻辑、冲突仲裁机制),并引入交叉验证与Kappa一致性检验;
6)构建数据血缘追踪与质量看板,支持bad case回溯、偏差热力图分析和增量数据主动学习筛选。
9.你在项目中如何解决数据稀缺问题?
在项目中解决数据稀缺问题,我通常采用分层策略:首先通过数据增强(如图像的旋转/裁剪/颜色抖动、文本的同义词替换/回译/EDA)、合成数据生成(如GAN、Diffusion模型或规则驱动的模板填充)扩充样本;其次引入迁移学习,利用预训练模型(如BERT、ResNet)进行微调,降低对下游任务标注数据的依赖;第三,采用半监督学习(如UDA、FixMatch)或自监督学习(如SimCLR、MAE)挖掘无标签数据的内在结构;最后,在必要时设计主动学习流程,让模型主动筛选信息量最大的样本交由人工标注,提升标注效率。实际项目中曾用FixMatch在仅有200张标注医学影像的情况下将分割Dice系数从0.61提升至0.79。
10.模型上线后遇到了什么性能瓶颈?如何优化的?
模型上线后常见的性能瓶颈包括推理延迟高(P99延迟超过500ms)、GPU显存溢出(OOM)、吞吐量不足(QPS低于预期)、CPU/GPU利用率不均衡、批量处理(batching)不合理导致资源浪费、序列长度突增引发的动态shape计算开销激增,以及模型服务框架层(如Triton/TFServing)配置不当导致的请求排队或线程阻塞。优化措施通常分四层展开:
(1)模型层:量化(INT8/FP16)、剪枝(结构化/非结构化)、知识蒸馏、算子融合(如LayerNorm+GeLU融合为SingleKernel);
(2)推理引擎层:启用TensorRT加速、使用ONNX Runtime with CUDA EP、配置最优batch size与max sequence length、开启paged attention(针对长文本生成);
(3)系统层:采用vLLM或Triton的dynamic batching + continuous batching,启用CUDA Graph减少kernel launch开销,绑定CPU核心与NUMA节点,关闭非必要日志与监控采样;
(4)架构层:拆分预处理/后处理逻辑至边缘节点,引入异步pipeline(如KFServing的multi-model serving),对高频小请求走轻量模型(DistilBERT)+ 低频大请求走主模型(BERT-large)的分级路由。
本篇目录
当前问题0123
- 01
### 1.自我介绍,讲论文和实习。
- 02
### 2.Transformer自注意力机制、位置编码、梯度消失/爆炸的解决方案。
- 03
### 2.Transformer自注意力机制、位置编码、梯度消失/爆炸的解决方案。
- 04
### 2.Transformer自注意力机制、位置编码、梯度消失/爆炸的解决方案。
- 05
### 3.微调方法对比(Full Fine-tuning vs. LoRA/Adapter/P-Tuning)。
- 06
### 4.推理加速技术(量化、动态批处理、FlashAttention)。
- 07
### 5.如何优化大模型在长文本生成中的显存占用?
- 08
### 6.RLHF中奖励模型(RM)的训练数据如何构建?
- 09
### 7.为网易云音乐设计一个AI歌词生成系统,如何提升创意性和押韵效果?
- 10
### 8.模型剪枝/量化(GPTQ、AWQ)、服务化框架(FastAPI+vLLM)。
- 11
### 8.模型剪枝/量化(GPTQ、AWQ)、服务化框架(FastAPI+vLLM)。
- 12
### 9.如何解决大模型API服务的响应延迟问题?
- 13
### 1.自我介绍,讲论文和实习。
- 14
### 2.LayerNorm和BatchNorm在大模型中的区别?为什么Transformer用LayerNorm?
- 15
### 2.LayerNorm和BatchNorm在大模型中的区别?为什么Transformer用LayerNorm?
- 16
### 3.解释大模型训练中的“灾难性遗忘”现象及解决方法。
- 17
### 4.如果微调后的模型过拟合,你会如何调整?
- 18
### 5.如何评估一个对话系统的生成质量?
- 19
### 6.如何用大模型提升网易新闻的推荐效率?
- 20
### 7.设计一个游戏内AI陪玩系统,需考虑哪些模块?
- 21
### 8.领域适配时,如何构建高质量的垂域训练集?
- 22
### 9.你在项目中如何解决数据稀缺问题?
- 23
### 10.模型上线后遇到了什么性能瓶颈?如何优化的?