13本七月在线内部电子书在文末,自取~
公众号福利
回复【100题】领取《名企AI面试100题》PDF
回复【干货资料】领取NLP、CV、ML、大模型等方向干货资料
问题1、Lora为什么在工业界这么吃香?原因是什么?
参数高效微调:在微调大模型时,Lora只需要修改部分权重,而不是微调整个预训练模型,因此可以大幅减少存储成本和计算需求。
低资源需求:相比全参数微调,Lora需要的显存更少,非常适合工业场景下的资源受限环境。
模型可复用性强:Lora通过引入一个瓶颈层(低秩矩阵),只需在层间插入Adapter矩阵即可完成定制化,提高了模块化复用的效率。
适应性强:尤其在换任务或者添加新功能时,只需调整Adapter矩阵即可,避免重新训练大型模型。
开源生态支持完善:Huggingface等工具已经支持Lora微调,降低了学习与开发成本,促进了其广泛使用。
问题2、LLM的分布式训练方式了解过吗?展开讲一下它们的优缺点?
数据并行(Data Parallelism)
原理:多个设备加载模型副本,处理不同数据子集,梯度同步。
优点:易实现,训练效率高,资源利用率好。
缺点:每个设备需存储整个模型;参数同步通信量大,尤其对超大模型。
流水并行(Pipeline Parallelism)
原理:将模型的不同层分配到不同设备,分阶段处理输入张量形成流水线。
优点:进一步降低设备显存需求。
缺点:设备间需排队等待,效率受设备慢速拖累。
张量并行(Tensor Parallelism)
原理:将张量按维度分割,分配到多设备并行计算(如矩阵乘法拆解)。
优点:更细粒度分割,显存分配灵活。
缺点:实现复杂,通信量高。
序列并行(Sequence Parallelism)
原理:将输入序列按长度维度切分,每部分分配到不同设备计算,减少显存占用。
优点: 显著降低长序列训练的显存需求,设备并行处理序列,提高训练效率,可与张量并行、模型并行等结合使用。
缺点: 设备间通信复杂,通信成本高,实现难度大,需要修改 Transformer 的注意力机制,仅适用于长序列任务,对短序列收益不明显。
问题3、大模型的训练的完整流程是什么样子的?为什么要先经过SFT微调,在RL?
基础预训练:
通过海量无标签的文本(或多模态数据)进行自监督学习,让模型学习语言结构知识和基本推理能力。
常见目标:语言模型(Causal LM 或 Masked LM)。
监督微调(SFT) :
用特定任务的标注数据(如问答、摘要等)对大模型进行有监督的微调,提升模型在下游任务上的性能和指令跟随能力。
作用:让模型初步学会指令执行,具备良好的行为能力。
强化学习 (RLHF) :
使用反馈信号(如人类反馈或模仿人类打分)进一步优化模型输出。
首先训练出一个奖励模型,并通过强化学习让大模型对高奖励的输出更倾向。
作用:提升生成内容符合用户偏好,同时加强生成内容的安全性和有用性。
后置微调/蒸馏:
针对客户场景需求,可能进一步用高质量对话数据进行调节优化。
SFT是必备的“基础调优”步骤,它帮助模型从基础能力跨入指令跟随的阶段。
RLHF优化信号通常比较稀疏,直接应用在未SFT的模型上效果较差。
RLHF更倾向于解决安全性、表现偏好类的更高抽象问题,而不是纠正基础回答能力。
问题4、DPO和PPO有什么区别?你更喜欢使用哪种?
PPO:
是一种强化学习算法,通过约束策略更新,避免策略更新幅度过大(即KL散度约束)。
适用于通过奖励信号训练关键任务。
弱点:训练复杂,难以稳定调优。
DPO:
提出为强化学习的替代方法,在训练中使用人类偏好直接优化,而无需单独训练奖励模型。
更加直接而稳定,能克服PPO中的许多问题。
在偏好学习中常表现得更有效率。
问题5、DPO的公式写一下或者口述一下?
对给定的两段对比样本
,即偏好评分来源于模型的log概率。
(y+) 是被标注的好答案, (y-) 是较差答案
问题6、DPO跟对比学习有哪些相同点和不同点?
相同点:
都基于对比的方法,将样本间的优劣关系显式建模。
都会用到相对的排序偏好作为训练优化依据。
不同点:
DPO更多用于生成模型优化,偏好是基于概率分布进行调整。
对比学习通常用于编码模型的特征空间构造,优化的是样本的嵌入向量。
问题7、跨模态对齐如何做的,你都了解那些对齐方式?
对比学习:
使用正负对样的方法(如文本-图像对),通过相似性度量对齐编码空间。
例子:CLIP。
共享语义空间:
通过设计共享的嵌入空间,将各模态投射到相同的空间。
例子:联合的Transformer架构(如BLIP、ALIGN)。
预训练策略:
如Masked Image Modeling结合语言理解,利用自监督学习进行对齐。
问题8、模型的幻觉问题是什么?以及RAG的好处?如何利用RAG去缓解模型幻觉?
幻觉问题:
LLM可能生成“看起来正确但错误”的信息,主要原因是
模型依赖训练数据,在缺乏事实基础时会“编造答案”。
没有明确的验证机制。
RAG(检索增强生成)的好处:
借助检索器实时访问文档,能够获取最新、准确的信息作为生成条件。
减少了模型胡编乱造的倾向。
缓解幻觉的方法:
利用RAG选择高质量文档。
优化检索器和查询生成。
问题9、ROPE给我介绍一下?代码能写下吗?
ROPE 不像传统位置编码那样直接加到输入嵌入上,而是通过旋转操作让向量本身与位置信息绑定:
将特征向量按奇数/偶数组分,通过旋转函数 (cos, sin) 对向量的不同位置进行变换。
这种方式允许位置编码在多维空间上自然耦合,并保持在相对位置上的平稳关系。
结果:ROPE 可以很好地编码 相对位置关系,而不仅仅是绝对位置。
import torch
import math
def rope(x, seq_len, dim):
# 生成旋转角度
theta = torch.arange(0, dim // 2, dtype=torch.float32) / (dim // 2)
theta = 1.0 / (10000 ** theta) # 正弦函数频率
pos = torch.arange(0, seq_len, dtype=torch.float32).unsqueeze(1) # [seq_len, 1]
freq_matrix = pos * theta # [seq_len, dim // 2]
# 计算 cos 和 sin
cos_part = torch.cos(freq_matrix)
sin_part = torch.sin(freq_matrix)
# 假设 x 是 [batch_size, seq_len, dim]
x1, x2 = x[..., ::2], x[..., 1::2] # 将特征维度一分为二
x_rotated = torch.cat([x1 * cos_part - x2 * sin_part, x1 * sin_part + x2 * cos_part], dim=-1)
return x_rotated问题10、你了解哪些多模态encoder?
CLIP (Contrastive Language–Image Pretraining)
特点:对比学习,将图像-文本对齐到同一嵌入空间。支持图像生成或检索任务。
应用:图文匹配、图像分类、增强表现迁移任务。
ALIGN (Efficient Large-Scale Image-Text Pretraining)
特点:类似CLIP,但处理规模更大,使用噪声较高的Web数据对图像和文本的联合学习。
应用:主要用于图像-文本任务,如检索、生成。
BLIP (Bootstrapped Learning from Image-Text Pretraining)
特点:引入文本生成能力,采用多任务训练(对比学习+生成预训练+分类)。
应用:视觉问答、多模态生成。
Flamingo
特点:适合视频和图像跨模态大模型,对比学习和自监督推理结合,适应复杂的时间序列任务。
应用:视频-文本对齐任务、视觉问答、多模态推理。
BEiT-3 (Bidirectional Encoder representation)
特点:同时支持文本与图像表示,多模态Transformer,支持通用任务统一表示。
应用:机器翻译、图文生成与分类。
↓以下13本书电子版免费领,直接送↓
扫码回复【999】免费领13本电子书
(或找七月在线其他老师领取)
热门跟贴