随笔分类 -  LLM

摘要:并行计算/分布式 充分运用多机、多卡的算力,来组织大模型权重的加载,模型的训练、数据的分配、梯度的更新等 核心思想:抓准资源瓶颈,进行合适的调度 NCCL与通信原语 NCCL是nvidia同机多卡间通信的协议,包含几个基本的操作,称为原语 Broadcast:将一份数据复制到所有显卡上 reduce 阅读全文
posted @ 2025-05-23 19:26 Phile-matology 阅读(31) 评论(0) 推荐(0)
摘要:强化学习在LLM上的部分应用 偏好学习:向人类的对齐 LLM需要学习到人类的偏好,提供人类更喜欢的输出 没有一个明确的指标可以用于计算“一段输出是否足够好” 人类现场标注不可能跟得上LLM的优化节奏 奖励模型Reward Model 收集人类的偏好对 根据偏好对输入同一个网络的分差与实际分差作为lo 阅读全文
posted @ 2025-05-22 01:04 Phile-matology 阅读(27) 评论(0) 推荐(0)
摘要:模型量化 将精度高的模型参数舍入精度较低的参数 按照映射方式,有线性量化和非线性量化 按照过程是否沿零点对称,分为对称量化和非对称量化 反量化:在记录了映射关系时,可以一定程度上还原量化之前的权重值 分位数量化 信息论认为,最高效的编码形式是,每一个编码被使用的概率相等 单纯的使用round进行量化 阅读全文
posted @ 2025-05-20 21:23 Phile-matology 阅读(70) 评论(0) 推荐(0)
摘要:微调(Finetuning) 用比训练时小得多的数据量,试图通过较短的训练,提高模型在某个特定场景或者任务上的能力。 最基础的思路是全参数微调,空间开销和预训练完全相同,只是由于数据量等原因,耗时更短 为了降低要求,扩大使用范围(消费级硬件),省空间的微调方法不断被提出 PEFT:Parameter 阅读全文
posted @ 2025-05-20 18:41 Phile-matology 阅读(44) 评论(0) 推荐(0)
摘要:LoRA:low rank adaptation低秩分解 启发点:越大的模型参数矩阵,越可能具有很小的Intrinsic dimension,即只需要调整其一部分参数就能有效影响其在特定输入上的输出 \(W_0 = W + AB\),假设W的维度是d * k,则A是dr,B是rk,r可以远小于d和k 阅读全文
posted @ 2025-05-20 01:18 Phile-matology 阅读(25) 评论(0) 推荐(0)
摘要:MoE:专门的人做专门的事 MoE总体来说是一种设计理念,即用一组“小而准确的模块”+“可训练的专家路由”来替代“大而全的模块” 在Transformer中,往往替代的是多个全连接层FFN 门控网络 最简单的门控网络是一个FFN,输出维度等于专家数目,接一个softmax来输出“选择某个专家的概率” 阅读全文
posted @ 2025-05-20 00:51 Phile-matology 阅读(24) 评论(0) 推荐(0)
摘要:MHA:多头注意力机制 在MHA中,我们假设最初输入X乘上QKV的权重矩阵之后,得到了尺寸为[s, d]的QKV矩阵(seq_len, dimension) 假设多头的数目为head,则QKV都被切片为head个[s, d/head]子矩阵 这里,如果每一轮都全部计算的话,QKV内存占用非常大 KV 阅读全文
posted @ 2025-05-18 19:35 Phile-matology 阅读(83) 评论(0) 推荐(0)
摘要:背景:反向传播与链式求导 神经网络参数的更新依赖于链式求导法则:求损失函数关于待更新参数的偏导 该偏导来源于该层及更深层逐层偏导数的累乘 理想来说,我们希望每层偏导数都在1附近,或者至少大部分在1附近 否则,过多小于1或者过度接近于0的偏导,会导致传递到上层的梯度非常接近0,参数更新幅度微小,这就是 阅读全文
posted @ 2025-05-18 16:38 Phile-matology 阅读(90) 评论(0) 推荐(0)
摘要:初始化的出发点:希望初始化的参数在一个性能比较好的区间上 如果参数较为极端,例如出现了输入与输出的分布相差很远,那么在深层的神经网络中,就可能带来梯度爆炸(分布在目标函数陡峭的区间)/梯度消失(例如数值过大进入了softmax的平缓区间) 理想状态是,Normalization方法将输入控制在一个N 阅读全文
posted @ 2025-05-18 15:31 Phile-matology 阅读(24) 评论(0) 推荐(0)
摘要:Batch Normalization 在batch size维度上归一化 抹除了特征之间的大小关系、保留了样本之间的大小关系 Layer Normalization 在hidden size维度上归一化 抹除了样本之间的大小关系,保留了样本之间的大小关系 RMSNorm:(llama2) 就是不进 阅读全文
posted @ 2025-05-18 00:51 Phile-matology 阅读(12) 评论(0) 推荐(0)
摘要:SGD:随机梯度下降 每次随机一个样本 计算梯度 新参数 = 旧参数 - 学习率 * 梯度 改进——动量(解决局部最优问题): SGD-M:加入一阶动量来替代梯度,其中一阶动量公式:新动量 = (1-beta)*旧动量 + beta * 梯度,beta经验为0.1 SGD with Nesterov 阅读全文
posted @ 2025-05-17 22:56 Phile-matology 阅读(38) 评论(0) 推荐(0)
摘要:背景:Transformer自身无法学到任何相对位置关系 Transformer原作:位置编码,按照在序列中的位置和在编码中的位置,计算一个当前位置的编码,直接加到embedding上 在高维空间中,两个向量大概率是正交的 相加比直接concate更省空间和时间 旋转位置编码:RoPE(LLaMa, 阅读全文
posted @ 2025-05-16 18:20 Phile-matology 阅读(22) 评论(0) 推荐(0)
摘要:Tokenizer:输入文本,输出分词结果,该分词结果可以进行text embedding(即,在已知词表的情况下,输入的input_ids) 1. 切分方式:基于字、词和subword 字粒度太细、序列太长 基于词的无法学到词缀含义,且词表太大 subword保留高频词,低频词切分为子词 2. 切 阅读全文
posted @ 2025-05-16 16:26 Phile-matology 阅读(23) 评论(0) 推荐(0)
摘要:Transformer模型结构: 示例:输入“我爱你”,输出“I love you”第一步:分词,将序列变为一个个token组成的向量,形状:[seq_len,]。本步涉及tokenizer相关技术 第二步:input embedding,将分词结果中的每一个token,编码成一个固定维数的embe 阅读全文
posted @ 2025-05-16 01:59 Phile-matology 阅读(95) 评论(0) 推荐(0)