简答题(共20小题)
(1)如何保证数据标注的质量,有哪些措施?
(2)哪些因素影响深度学习模型训练的显存占用?训练的时候显存占用低可能是什么原因?
(3)无监督学习有损失函数吗?
(4)简述一下Transformer的解码器架构;
(5)梯度爆炸是由什么原因引起的?怎么解决?
(6)设二分类问题的阈值为t,当t增大时,精确率和召回率怎么变化?
(7)为什么模型训练的时候经常采用Warm up?
(8)简述一下K-means算法和KNN算法的区别;
(9)什么是LLM(大语言模型)的KV缓存?
(10)最近5年内,GPT/BERT模型的出现,与传统的词向量方法有什么区别?
(11)叙述隐马尔可夫的2个基本假设;
(12)如何让LLM(大语言模型)保证仅回答“是”或“否”?
(13)如何减少LLM的训练内存占用?
(14)GPT和ChatGPT有什么区别?
(15)叙述一下直方图均衡化的原理和步骤;
(16)文生图模型的核心任务是什么?写出2个常见的文生图模型架构;
(17)文生图的文本嵌入作用是什么?
(18)简述一下CNN(卷积神经网络)的各部分组成和作用;
(19)叙述Transformer在视觉任务中的适配策略,叙述一下ViT的模型架构;
(20)跨模态模型在内容检索与搜索推荐中有什么优点?写一个具体的应用案例;
答案
(1)保证数据标注质量的措施包括:制定清晰的标注规范和标准;对标注人员进行系统培训;采用多人标注与交叉验证;设置审核与质量控制环节;使用一致性检验方法;利用预标注或主动学习减少人工误差;定期反馈与优化标注流程。
(2)影响显存占用的因素包括:模型参数量、批次大小、序列长度(如NLP任务)、数据精度(如float32或float16)、优化器状态与梯度存储、激活值等。训练时显存占用低可能是因为:模型较小;批次设置小;使用混合精度或梯度累积;数据未完全加载;激活检查点等优化技术。
(3)无监督学习通常有损失函数。损失函数用于衡量模型对数据内在结构的拟合程度,例如聚类任务中的类内距离、降维或生成任务中的重建误差等。无监督损失函数不依赖于人工标签,而是基于数据本身的统计特性或结构信息。
(4)Transformer解码器由多个相同层堆叠而成,每层包含三个子层:掩码自注意力机制(防止当前位置关注后续位置)、编码器-解码器交叉注意力机制(接收编码器输出)、前馈神经网络。每个子层后接残差连接与层归一化。解码器在训练时并行处理目标序列,在推理时自回归生成输出。
(5)梯度爆炸主要由反向传播中梯度连乘效应引起,具体原因包括:网络层数过深;激活函数选择不当(如使用 Sigmoid 或 Tanh 且权重初始化过大);学习率设置过高等。解决方法包括:使用梯度裁剪;改进权重初始化(如 Xavier、He 初始化);使用批量归一化;选用更稳定的激活函数(如 ReLU 及其变体);使用优化算法(如 Adam)等。
(6)在二分类问题中,阈值 t 增大意味着将样本预测为正类的标准更严格。因此:
精确率(Precision)通常会上升,因为被预测为正类的样本更有可能是真正的正类。
召回率(Recall)通常会下降,因为许多实际的正类样本因未达到更严格的阈值而被漏判。
(7)采用 Warm up 的主要原因是:在训练初期,模型参数通常随机初始化,直接使用较大的学习率可能导致训练不稳定(损失剧烈震荡或陷入局部最优)。Warm up 策略在训练开始的一小段时间内,使学习率从很小的值逐渐增加到预设值,这有助于:
让模型参数在初始阶段平稳地进入一个相对稳定的区域。
使优化器(特别是像 Adam 这样有动量的优化器)对梯度的估计更加准确。
通常能带来更好的最终性能和训练稳定性。
(8)K-means 和 KNN 是两种完全不同的算法,主要区别如下:
任务类型:
K-means是无监督的聚类算法,用于将数据分组为 K 个簇。
KNN是有监督的分类(或回归)算法,用于根据最近邻的标签来预测新样本的标签。
工作原理:
K-means通过迭代地更新簇中心,最小化簇内样本到其中心的距离。
KNN在预测时,查找训练集中距离新样本最近的 K 个邻居,并通过投票(分类)或平均(回归)得出结果。
“K”的含义:
在K-means中,K 是预定义的簇的数量。
在KNN中,K 是参与投票的最近邻居的数量。
是否需要标签:
K-means的训练过程完全不需要标签。
KNN的训练需要带标签的数据集(虽然它没有显式的“训练”过程,只是存储了数据)。
(9)KV缓存是大语言模型(LLM)在生成式推理(自回归生成)过程中用于加速计算的一种技术。在Transformer的解码器中,每个位置的自注意力机制需要计算键(Key)和值(Value)矩阵。当生成后续token时,之前所有token的KV可以被缓存并重复利用,避免重复计算,从而大幅减少计算量、提高生成速度。KV缓存显著降低了推理时的内存访问开销,但也会占用显存,其大小与序列长度、批大小、注意力头数等成正比。
(10)GPT/BERT模型与传统词向量的区别主要体现在:
表示方式:传统词向量(如Word2Vec、GloVe)是静态的,每个词有固定向量,无法根据上下文变化;GPT/BERT等基于Transformer的模型生成动态上下文相关的词表示,同一词在不同语境下向量不同。
模型架构:传统方法通常基于浅层神经网络或共现统计;GPT/BERT使用深层Transformer,能捕捉更复杂的语义和句法关系。
训练目标:词向量通常通过预测词或共现关系进行无监督训练;BERT通过掩码语言模型等预训练任务,GPT通过自回归语言建模,学习更通用的语言表示。
应用方式:词向量常作为下游任务的特征输入;GPT/BERT可通过微调或提示直接用于多种任务,实现端到端学习。
(11)隐马尔可夫模型(HMM)的两个基本假设:
齐次马尔可夫性假设:假设隐藏状态序列满足马尔可夫性质,即任意时刻的隐藏状态只依赖于前一时刻的隐藏状态,与其他时刻状态及观测无关。
观测独立性假设:假设任意时刻的观测值只依赖于该时刻的隐藏状态,与其他时刻的隐藏状态及观测无关。
(12)让LLM仅回答“是”或“否”的常见方法包括:
指令约束:在提示中明确要求模型只输出“是”或“否”,例如“请仅用‘是’或‘否’回答,不要添加任何解释。”
后处理:对模型生成的回答进行文本匹配或正则提取,仅保留“是”或“否”部分。
结构化输出引导:要求模型以特定格式(如JSON)输出,将答案字段限制为布尔值。
微调或提示工程:通过few-shot示例或指令微调,训练模型遵循二元回答格式。
然而,由于LLM的生成特性,完全“保证”仅输出指定内容较为困难,通常需要结合输出约束(如采样参数调整)和后处理来实现。
(13)减少LLM训练内存占用的方法包括:
使用混合精度训练:采用FP16/BF16等低精度格式,减少激活值和梯度的存储。
梯度累积:通过多次前向传播累积梯度再更新,等效增大批次大小但减少单步显存。
激活检查点(Gradient Checkpointing):只保存部分层的激活,需要时重新计算,以时间换空间。
模型并行/张量并行:将模型参数拆分到多个GPU上,分散显存压力。
优化器状态卸载:将优化器状态移至CPU内存或NVMe存储,GPU仅保留必要数据。
使用参数高效微调(PEFT):如LoRA、Adapter,仅训练少量参数,大幅减少训练时显存。
(14)GPT通常指OpenAI发布的GPT系列模型(如GPT-2、GPT-3),是通用的自回归语言模型,主要用于文本生成任务。ChatGPT则是基于GPT系列(如GPT-3.5/GPT-4)经过专门优化和调整的对话模型,特点包括:
通过指令微调(如基于人类反馈的强化学习,RLHF)对齐人类对话偏好。
具备更强的对话能力、安全性和对用户意图的理解。
设计上更注重交互性和多轮对话的连贯性。
简言之,GPT是基础语言模型,ChatGPT是在此基础上针对对话场景优化后的产品化应用。
(15)直方图均衡化是一种用于增强图像对比度的图像处理技术。
原理:将原始图像的灰度直方图从可能集中的某个区间,变换为在整个灰度范围内均匀分布,从而扩展像素值的动态范围,增强对比度。
步骤:
统计原始图像的灰度直方图。
计算累积分布函数(CDF)。
根据CDF将每个原始灰度值映射到新的灰度值(通常线性拉伸到整个灰度范围)。
用新灰度值替换原像素,生成均衡化后的图像。
(16)文生图模型的核心任务是根据给定的文本描述(提示词)生成符合语义且视觉上合理的图像。
常见架构:
扩散模型(如Stable Diffusion):通过在潜在空间中进行逐步去噪生成图像,常结合交叉注意力机制融入文本条件。
自回归模型(如DALL-E):将图像生成视为序列生成问题,使用Transformer对图像 tokens(通过VQ-VAE编码)进行自回归建模,并以文本编码为条件。
(17)在文生图模型中,文本嵌入的核心作用是将自然语言描述(提示词)转化为模型能够理解和利用的数值向量表示。它的具体作用包括:
语义编码:捕获文本描述的语义、对象、属性和关系信息。
条件控制:作为生成过程的条件信号,引导扩散模型或自回归模型在每一步生成或选择与文本描述相匹配的视觉特征,从而确保生成的图像内容与文本意图对齐。
跨模态对齐:在训练过程中,学习文本特征与图像特征在潜在空间中的对齐关系,是文生图模型能够实现“按文绘图”能力的基石。
(18)CNN(卷积神经网络)主要由以下部分组成,其作用如下:
卷积层:核心组件。使用卷积核在输入数据上进行滑动窗口计算,自动提取局部特征(如边缘、纹理)。
激活函数层(如ReLU):对卷积输出进行非线性变换,引入非线性表达能力,使网络能够拟合复杂函数。
池化层(如最大池化):对特征图进行下采样,降低空间维度,减少参数量和计算量,同时增强特征的平移不变性。
全连接层:通常位于网络末端。将提取到的全局特征进行整合,并映射到最终的输出空间(如分类类别)。
批归一化层(可选但常用):对每批数据进行标准化处理,加速训练过程,提升模型稳定性和性能。
Dropout层(可选):在训练时随机丢弃部分神经元,防止过拟合,增强模型泛化能力。
(19)Transformer在视觉任务中的适配策略核心在于将图像转化为序列。具体为:将输入图像分割成固定大小的图像块(Patches),然后将每个图像块线性投影为向量(类似NLP中的词嵌入),并加上可学习的位置编码以保留空间信息,从而形成一个可以被Transformer编码器处理的序列。
ViT(Vision Transformer)的模型架构主要分为三部分:
Patch Embedding:将图像分割并线性投影为序列。
Transformer Encoder:由多个相同的编码器层堆叠而成。每层包含多头自注意力机制(用于捕捉图像块间的全局依赖关系)和前馈神经网络,均带有残差连接和层归一化。
MLP Head:通常由一个层归一化层和一个多层感知机组成,用于将[CLS]标记(一个特殊的可学习分类令牌,其最终状态代表整个图像的全局表征)的输出映射为最终的分类结果。
(20)跨模态模型在内容检索与搜索推荐中的优点:
优点:能够直接理解并关联不同模态(如文本、图像、视频)的内容语义,实现跨模态的精准检索和匹配。它突破了传统基于关键词或标签匹配的局限性,即使在没有明确标注的情况下,也能根据内容的深层语义进行关联,极大地提升了搜索的相关性、召回率和用户体验。
具体应用案例:电商平台的“以图搜图”或“文本搜图”。例如,用户上传一张心仪的家具照片,或输入一段描述如“带有金属腿的米色布艺沙发”,跨模态模型(如CLIP)能够将查询的视觉或文本特征与海量商品库的图文特征进行相似度计算,直接返回视觉风格或语义描述最匹配的商品,实现高效、直观的购物搜索。