码力全开 / AI面试常见知识点归纳

Created Mon, 19 Jan 2026 10:17:37 +0800 Modified Fri, 27 Feb 2026 11:47:59 +0800
5401 Words 1 min

蒸馏与剪枝的优缺点及改进措施

蒸馏和剪枝都是模型压缩中常见的两种技术,它们各有优缺点,并可通过一些改进措施提升效果。

蒸馏(Knowledge Distillation)

蒸馏可以在保持较高精度的前提下显著减小模型大小,通过教师模型的知识迁移,学生模型能学习到更丰富的语义信息。同时可以与量化、剪枝等方法结合使用,进一步提升压缩效果。

但蒸馏依赖于教师模型的精度,若教师模型本身存在偏差可能会影响学生模型的性能。该技术需要训练2个模型,增加了训练成本。

为此可使用更先进的蒸馏策略,如软标签蒸馏、注意力蒸馏等。训练过程中采用多阶段蒸馏或自蒸馏方法,增强学生模型的学习能力。

剪枝(Pruning)

剪枝可显著减少模型参数量和计算量,降低存储和计算需求,可以与量化等方法结合,进一步压缩模型。其中结构化剪枝更适合硬件加速,提升推理效率。

但剪枝后模型性能可能会下降,需通过微调恢复。而非结构化剪枝虽然压缩率高,但对硬件支持要求高。而对于一些结构,比如shortcut连接,剪枝可能会导致结构不一致。

结构化剪枝与非结构化剪枝的区别

非结构化剪枝的对象是模型权重矩阵中单个权重参数或神经元,粒度最细。它不考虑参数为模型中的结构关系,直接将不重要的权重置零,形成稀疏矩阵。而结构化剪枝的对象是模型中的特定结构单元,如整个卷积核、通道、注意力头或层,它删除的是这些结构单元,而不是单个参数,因此剪枝粒度较粗。

结构化剪枝会改变模型的结构,例如减少卷积层的输出通道数或滤波器数量,使模型变窄或变深,从而直接减少参数量和计算量。这种方式剪枝过程需要评估结构单元的重要性,例如通过评估通道或滤波器的贡献度。而非结构化剪枝不改变模型的整体结构,只是将部分权重置零,形成稀疏结构,从而实现更高的压缩率。

在PyTorch中版本可使用from torch.nn.utils import prune模块进行非结构化剪枝。

知识蒸馏有哪几种常见技术

知识蒸馏主要有如下几种重要的技术,它们在知识传递方式、实现机制和应用场景上存在显著差异:

  • 软标签蒸馏(Soft Label Distillation):学生模型学习教师模型输出的软标签(即经过softmax转换后的概率分布)而非原始硬标签(如类别标签),在软标签中包含类别之间的相关关系信息,有助于提升学生模型的泛化能力
  • 注意力蒸馏(Attention Distillation):主要应用于Transformer模型中,通过学生模型模仿教师模型的注意力模式,提升其长距离依赖和复杂结构的理解能力。
  • 多阶段蒸馏(Multi-Stage Distillation):将模型训练分为多个阶段,每个阶段使用前一阶段训练好的模型作为教师模型,指导当前阶段的学生模型训练。通过多阶段迭代,可以逐步提炼和传递知识,提升学生模型的性能
  • 自蒸馏(Self-Distillation):使用同一个模型的不同版本或不同训练阶段的模型作为教师模型和学生模型。

如何评估模型剪枝后性能的下降程度

评估模型剪枝后的性能下降,核心是通过对比实验,在相同测试集上比较训练前后的关键指标,其中核心评估指标包括:

  • 准确率,最直观的指标,衡量整体预测正确率
  • 混淆矩阵,分析各类别预测变化,识别特定类别性能下降原因
  • 精确率与召回率,评估模型稳健性
  • F1 score,综合衡量精确率和召回率,适合不平衡数据集

评估方法可以对训练前后使用完全相同的测试集和预处理流程,使用bootstrap抽样方法计算标准差,进行差异显著性检验,判断性能下降是否显著。其次量化剪枝比例与性能下降之间的关系,评估压缩效率。整个过程需要进行多次实验取平均指标,减少随机性影响。

优化方法可在训练中逐步剪枝,并对剪枝后模型进行微调。

LoRA与P-tuning的区别

二者区别在于LoRA直接修改模型内部参数,而P-Tuning通过优化外部提示向量来间接引导模型行为。

LoRA主要通过对增量矩阵进行分解,在预训练模型的权重矩阵旁注入低秩适配矩阵,仅训练这些新增的小矩阵。其适合结构化任务。

P-Tuning在输入序列前添加可学习的连续提示向量(软提示),优化这些提示来引导模型。适合文本生成、问答、对话等需要深度语义理解的任务。推理时需拼接提示向量。

与之类似的还有Prompt Tuning,其在输入序列前添加可学习的连续提示向量(软提示),仅优化这些提示。而P-Tuning V1是在输入序列的特定位置插入,位置任意。而P-Tuning V2在每一层Transformer的输入前都添加可学习的提示。

P-Tuning的思想是在Prompt-Tuning的基础上对Prompt部分进行进一步的编码计算,从而加速收敛。详情可以参考。而Prefix Tuning在Transformer模型的每一层中添加可学习的前缀。

mAP50和mAP50-95的区别

这2个指标的核心区别在于定位精度要求的严格程度,mAP50要求较低,只要求IoU≥0.5,而mAP50-95要求IoU从0.5到0.95取平均。

具体来说,mAP50只要预测和真实框重叠一半就算成功,适合早期调试或定位精度要求不高的场景。而mAP50-95评估更全面和严格,适合自动驾驶、医学图像等高精度定位任务。

模型微调的整个流程

大模型微调的整个流程可以概括为:

  1. 明确目标及评估指标: 定义任务目标、评估必要性(优先尝试提示工程,如果经过精心设计提示词能达到预期效果则不需要进行成本更高的微调)
  2. 数据准备: 数据收集、数据预处理、数据划分
  3. 模型选择: 选择基座模型、模型配置(模型结构调整、参数高效微调)
  4. 配置与训练: 设置超参数(学习率、批次大小、训练轮次)、选择优化器与策略(混合精度训练、权重衰减)、执行训练
  5. 训练评估: 模型评估、调优迭代、模型保存
  6. 部署优化

准确率、精确率与召回率的区别

准确率是指分类正确的样本占总样本个数的比例,当负样本占99%时,分类器把所有样本都预测为负样本也可以获得99%的准确率。

精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例,召回率是指分类正确的正样本个数占真正的正样本个数的比例。

下面给出一个例子,假设老师想预测学生期末考试能否通过(60分及以上),样本数据如下:

  • 总学生100人
  • 实际通过人数60人
  • 实际未通过人数40人

模型预测结果:

  • 真正例(TP),预测通过且实际通过50人
  • 假正例(FP),预测通过但实际未通过10人
  • 真负例(TN),预测未通过但实际未通过30人
  • 假负例(FN),预测未通过但实际通过10人

此时准确率就是所有预测正确的比例,即(TP+TN)/(TP+TN+FP+FN)=(50+30)/(50+10+30+10)=80%。

根据精确率的定义有TP/(TP+FP)=50/(50+10)≈83.3%,而由召回率定义有TP/(TP+FN)=50/(50+10)≈83.3%。

可以看到准确率关注整体正确性,精确率关注预测的质量,避免误报,而召回率关注预测的全面性,避免漏报。在样本不平衡时,精确率和召回率比准确率更有参考价值。

蒸馏的缺点及剪枝的缺点

蒸馏的缺点

  1. 训练过程复杂: 知识蒸馏需要训练1个小型的学生模型来模仿大型教师模型的行为,这通常比直接训练1个大模型更复杂
  2. 依赖高质量教师模型: 学生模型的性能高度依赖于教师模型的质量。如果教师模型本身存在缺陷或不准确,那么学生模型也难以达到理想效果
  3. 学生模型大小受限: 虽然蒸馏可以生成较小的模型,但其大小不能无限压缩,且在某些情况下可能无法实现显著的模型缩小
  4. 模型不匹配问题: 教师模型和学生模型之间的结构或容量差异可能导致训练困难,影响最终效果
  5. 可解释性不足: 知识蒸馏的过程往往被视为黑盒,难以解释模型的内部机制和决策过程。

剪枝的缺点

  1. 精度下降: 剪枝后模型性能可能会下降,尤其是在非结构化剪枝中,剪枝的权重可能对模型输出有重要影响
  2. 硬件兼容性问题: 非结构化剪枝产生的稀疏模型需要专门的稀疏计算库(如CuSPARSE)才能高效运行,普通硬件可能无法加速,甚至可能导致推理变慢
  3. 剪枝策略设计复杂: 剪枝过程需要仔细设计剪枝比例和策略,否则可能导致模型性能大幅下降
  4. 微调成本高: 剪枝后通常需要进行微调以恢复模型精度,这一过程耗时较长
  5. 压缩率受限: 结构化剪枝虽然部署方便,但压缩率通常低于非结构化剪枝

Prompt工程相比微调的优势

Prompt工程相比微调具有显著优势,尤其在效率、成本和灵活性方面表现突出。其核心优势在于无需修改模型参数即可引导大模型生成符合预期的输出,从而实现快速部署与低成本迭代。

1. 实施门槛低,部署速度快

Prompt工程仅需优化输入提示,无需重新训练模型,开发者可即时调整并测试效果,适合敏捷开发和快速验证原型(MVP)。而微调需要大量标注数据、算力支持以及较长的训练周期,部署响应慢,不适合快速试错场景。

2. 计算资源消耗少,成本更低

Prompt工程几乎不产生额外训练开销,仅依赖推理计算,极大节省服务器资源和资金成本。微调需进行反向传播更新权重,依赖高性能GPU集群,训练和维护成本高昂,尤其对中小企业不友好。

3. 灵活性强,适应多变需求

Prompt可根据任务动态调整,如通过思维链(CoT)、少样本示例(Few-shot)等方式提升模型推理能力,适用于内容生成、问答、格式转换等多种通用任务。而微调模型一旦完成训练,适应新任务需要重新训练或增量训练,灵活性差,且存在灾难性遗忘风险。

4. 适合数据稀缺场景

在标注数据有限的情况下,Prompt工程可通过上下文学习(In-context Learning)实现少样本甚至零样本学习,显著提升模型表现。微调通常需要数百至数千条高质量标注样本才能有效提升性能,数据不足时易导致过拟合。

5. 可与微调互补,构建分层优化策略

尽管Prompt工程有诸多优势,但在专业领域知识应用、一致性输出要求高的关键业务中,微调仍更具优势。理想的技术路径是:先用Prompt工程探索可行性,达到瓶颈后再考虑微调。

多模态模型与单模态模型的区别及优势

多模态模型与单模态模型的核心区别在于信息处理方式:单模态模型仅处理一种类型的数据(如纯文本或纯图像),而多模态模型能同时理解并融合文本、图像、音频、视频等多种数据形式,实现更全面的感知与推理。另外多模态模型可以多个输出。 这种差异使得多模态模型在复杂任务中展现出显著优势,主要体现在以下几个方面:

1. 信息更完整,理解更准确

单模态局限: 仅依赖单一数据源,容易产生歧义。例如苹果一词在纯文本中可能指水果或公司,难以准确判断。 多模态优势: 结合图像后可立即消歧——看到苹果的图片,就能确定其含义。这种跨模态对齐能力让模型更接近人类的认知方式。

2. 互补性强,提升鲁棒性

当某一模态数据质量差或缺失时,其他模态可提供补充信息:

  • 语音识别中,背景噪声大时可通过唇读(视觉)辅助判断发音
  • 医疗诊断中,CT影像结合电子病历文本,能提高肺癌早期诊断准确率18%以上

这种互补机制增强了系统在复杂环境下的稳定性和适应性。

3. 应用场景更广泛

多模态模型已深度应用于多个高价值领域,如自动驾驶、医疗健康、智能客服与人机交互以及内容创作与搜索(支持以图生文、以文生图,如GPT-4V、DALL-E)

4. 技术挑战与发展趋势

尽管多模态模型优势明显,但也面临更高技术门槛:

  • 数据对齐难: 需建立图像实体与文本描述之间的精确映射关系
  • 模态不平衡: 文本数据远多于图像,训练时易偏向某一模态
  • 计算成本高: 参数规模更大,训练和推理资源消耗更高

但随着统一架构(如Transformer)、动态注意力机制和高效训练策略的发展,多模态正朝着更低延迟、更强泛化能力的方向演进。

Prompt工程与Prompt-Tuning的联系与区别

联系

两者都围绕着如何通过提示(Prompt)来引导大语言模型更好地完成特定任务。Prompt工程和Prompt Tuning都旨在优化模型输出的质量和可控性,但它们在实现方式和应用场景上有所不同。

  • 关系: Prompt Tuning可以看作是Instruction Tuning的一种参数高效微调(PEFT)方法,也就是说,在Instruction Tuning的框架下,可以采用Prompt Tuning作为实现手段之一来训练模型以适应特定任务
  • 共同目标: 二者都试图通过调整输入提示来提升模型性能,使模型能够更准确地理解任务需求并生成符合预期的结果

区别

Prompt工程主要在模型推理阶段使用,通过人工或自动化工具构建和优化提示。而Prompt Tuning在模型训练阶段进行,通过微调少量可学习的提示向量(软提示)来实现。 Prompt工程不修改模型参数,仅调整输入提示。而Prompt Tuning不修改模型主体参数,仅训练提示部分。 Prompt工程更加灵活,适合快速适配新任务,但可能依赖于人工经验。而Prompt Tuning更加高效,计算成本低,适合多任务复用,尤其适用于资源受限环境。 Prompt工程技术实现包括角色设定、指令设计、上下文管理、Few-shot示例等技巧。而Prompt Tuning通常分为硬提示(Hard Prompt)和软提示(Soft Prompt)两种形式,其中软提示是连续嵌入向量。 综上所述,Prompt工程更像是"如何提问"的艺术,强调的是在推理阶段对提示的设计与优化。而Prompt Tuning则是"如何训练模型更好响应提示"的方法,侧重于训练阶段的参数微调。两者结合使用可以显著提升模型在各种任务中的表现。

参考文章:

https://zhuanlan.zhihu.com/p/1919796112035938567

如果喜欢这篇文章或对您有帮助,可以:[☕] 请我喝杯咖啡 | [💓] 小额赞助