深度学习基础知识总结
...
自然语言处理知识点
自然语言处理(NLP) 词嵌入(Word2Vec、GloVe、FastText) 文本分类与序列标注(BiLSTM-CRF) 预训练语言模型微调技巧
深度学习进阶
三、深度学习进阶 模型压缩与加速 知识蒸馏(Knowledge Distillation) 剪枝(Pruning)、量化(Quantization) 模型部署(ONNX、TensorRT)
分布式训练:DeepSpeed的ZeRO1/2/3
6.3.1 混合精度训练 6.3.2 ZeRO 零冗余优化器 简介 DeepSpeed是微软推出的大模型分布式训练的工具,主要实现了ZeRO并行训练算法。 ZeRO(零冗余优化器,Zero Redundancy Optimizer)主要从模型参数(Parameters)、优化器状态(Optimizer States)和梯度(Gradients)三个方面对模型进行拆分,从而降低大模型训练占用的显存。 ZeRO的三个级别 ZeRO被分为了三个级别: ZeRO1:对优化器状态进行拆分; ZeRO2:在ZeRO1的基础上,对梯度进行拆分。 ZeRO3:在ZeRO2的基础上,对模型参数进行拆分。 ZeRO1 在模型训练中,正向传播和反向传播并不会用到优化器状态,只有在梯度更新的时候才会使用梯度和优化器状态计算新参数。 假设有NdN_dNd个并行的进程,ZeRO1会将完整优化器的状态等分成NdN_dNd份并存储在各个进程中。当反向传播完成之后,每个进程的优化器会对自己储存的优化器状态(包括Momentum、Variance 与 FP32 Master...
LoRA原理解析和实践
LoRA简介 LoRA的核心思想是,在冻结预训练模型权重后,将可训练的低秩分解矩阵注入到的Transformer架构的每一层中,从而大大减少了在下游任务上的可训练参数量。 具体做法 在原模型旁边增加一个旁路,通过低秩分解来模拟参数的更新量ΔW\Delta{W}ΔW; 训练时,原模型固定,只训练矩阵A、B; 推理时,可将BA加到原参数上,不引入额外的推理延迟; 初始化,A采用高斯函数初始化,B初始化为全0,保证训练开始时旁路为0矩阵; 优势 存储与计算效率:通过低秩适应(LoRA),可以显著减少所需存储的参数数量,并减少计算需求。 适应性与灵活性: LoRA方法允许模型通过只替换少量特定的矩阵A和B来快速适应新任务,显著提高任务切换的效率。当前任务W0+B1A1W_0+B_1A_1W0+B1A1,将lora部分换成B2A2B_2A_2B2A2,即可实现任务切换。 训练与部署效率:LoRA的简单线性设计允许在不引入推理延迟的情况下,与冻结的权重结合使用,从而提高部署时的操作效率。 QLoRA QLoRA 同时结合了模型量化和 LoRA 参数微调两种方法。QLoRA...
BERT面试经验
4.1.1 BERT 4.1.2 BART 4.1.3 T5 4.1.4 ROBERTa 4.1.5 DeBERTa 为什么BERT要采用Encoder-Only模式 1. 核心目标:捕获双向上下文信息,适应自然语言理解任务 BERT 的核心目标是 基于双向上下文的信息进行预训练,以捕获输入文本中更丰富的语义关系。 相较于传统单向语言模型(如基于 RNN 或 Transformer Decoder 的语言模型)只能从左到右或从右到左处理上下文,BERT 的 Encoder 模式通过自注意力机制能够实现双向上下文编码,捕获更丰富的语义关联。 2. 架构特点:Encoder 模式具有全局自注意力机制,能更好地建模词语的上下文关系 全局自注意力机制是 Transformer Encoder 的核心特性。它允许每个词与输入序列中的所有其他词进行关联,而不是像 RNN 那样只能逐步传递信息或像卷积网络那样局部化建模。 Encoder 的自注意力机制能够对句子中的长距离依赖进行精确建模。例如,在长句中,主语和谓语可能相隔较远,Encoder...
GPT面试经验
4.2.1 GPT1 4.2.2 GPT2 4.2.3 GPT3 4.2.4 GPT4 为什么GPT等LLM采用Only-Decoder模式 GPT(Generative Pre-trained Transformer)采用only-decoder(仅decoder)模式的主要原因与其设计目标和使用场景密切相关,以下是几个核心原因: 1. 专注于生成任务 任务特点:GPT的核心目标是生成连续的文本(例如回答问题、写作、总结等)。只需要基于输入的上下文生成输出,而不需要像encoder那样提取复杂的特征。 只用decoder:decoder具有自回归的特性(autoregressive),即它通过逐词预测下一步的输出,非常适合生成文本。 2. 自回归生成方式 decoder的工作方式:GPT的decoder通过掩码机制(masked...
ChatGLM系列模型
4.4.1 GLM1 4.4.2 GLM2 4.4.3 GLM3 ChatGLM是属于哪个类型 ChatGLM属于Prefix Decoder类型。LLM中的三大主流框架:Causal Decoder、Prefix Decoder及Encoder-Decoder。 Causal Decoder 结构特点 Causal Decoder,又称因果语言模型,其典型代表为GPT系列模型。该框架采用从左到右的单向注意力机制,确保每个输入token只能注意到过去的token和它本身。这种自回归(Auto Regressive)的方式使得模型能够根据历史信息逐步生成文本。 优点 训练效率高:Causal Decoder在所有token上计算损失,充分利用了训练数据,提高了训练效率。 Zero-shot能力强:由于遵循严格的单向注意力规则,模型在零样本学习(Zero-shot Learning)任务中表现出色。 涌现能力:随着模型规模的增大,Causal Decoder能够展现出一些令人惊讶的涌现能力(Emergent...
AWQ归纳总结
GPTQ简介 GPTQ 的思想最初来源于 Yann LeCun 在 1990 年提出的 OBD 算法,随后 OBS、OBC(OBQ) 等方法不断进行改进,而 GPTQ 是 OBQ 方法的加速版。在介绍 GPTQ 算法之前,需要先介绍 OBD -> OBS -> OBQ 的演进过程。 OBD: Optimal Brain Damage OBD 实际上是一种剪枝方法,用于降低模型复杂度,提高泛化能力。 如果要在模型中去除一些参数(即剪枝),直觉上,我们希望去除对目标函数 $ E $ 影响小的参数。于是我们可以对目标函数 E\mathbf EE 做泰勒展开: ΔE=∑igiΔwi+12∑ihiiΔwi2+12∑i≠jhijΔwiΔwj+O(Δw3)\Delta E = \sum_i g_i \Delta w_i + \frac{1}{2} \sum_i h_{ii} \Delta w_i^2 + \frac{1}{2} \sum_{i \neq j} h_{ij} \Delta w_i \Delta w_j + O(\Delta...
AWQ归纳总结
介绍一下smoothquant 介绍一下AWQ量化 AWQ是一种对大模型仅权重量化方法。通过保护更“重要”的权重不进行量化,从而在不进行训练的情况下提高准确率。AWQ 发现,并非所有 LLM 权重都同等重要,仅保护 1% 的显著权重便能大幅减少量化误差。而要识别显著权重通道,应参考的是激活分布而非权重分布。尽管保留显著权重为 FP16 可以提升量化性能,且不会显著增加模型的总位数,但混合精度的数据类型会使推理系统实现复杂化。 为了避免硬件效率低下的混合精度量化,经过公式推导后,AWQ 采用等效变换来放大显著权重通道,权重W乘以缩放因子s,激活值X除以s,可以减少显著权重的量化误差。但是随着s的增大,非显著通道的相对误差将会增加,这可能会损害模型的整体精度。因此,在保护显著通道的同时还需要考虑非显著通道的误差,找到权重矩阵每一个通道的最佳缩放系数s,使得量化误差最小。 AWQ...