- 博客(19)
- 收藏
- 关注
原创 为什么LLM中KL散度需要近似计算
摘要:在LLM训练中,严格计算token级KL散度需要遍历整个词表,计算成本极高。为解决该问题,可采用蒙特卡洛方法进行近似估计,仅需采样token的概率比值即可无偏估计KL散度($\frac{q}{p}-\log\frac{q}{p}-1$)。对于序列级算法如GSPO,同样通过序列生成概率比值进行估计,并引入长度归一化($\frac{1}{|y_i|}$)来消除序列长度影响。这种方法显著降低了计算复杂度,相关证明可参考文中的技术博客链接。
2025-10-16 20:36:59
803
原创 GRPO与GSPO算法训练对比
本文对比了GRPO和GSPO两种强化学习算法在数学推理任务(GSM8K)上的表现。实验使用qwen2.5-1.5B-Instruct模型,结果显示GSPO训练速度更快,约50步达到峰值(答案准确率0.6,格式准确率0.99),而GRPO需要120步。两种算法最终效果相近,表明达到模型极限。GRPO采用token级别的目标函数,而GSPO使用序列级别的优化,计算差异体现在重要性采样和KL散度项的处理上。代码实现显示GSPO通过序列平均简化计算,可能是其收敛更快的原因。两种方法都保持了良好的格式一致性。
2025-10-12 22:09:50
921
原创 GSPO如何消除高方差且不依赖routing replay
本文提出GSPO算法,通过将GRPO算法的token级重要性采样改进为序列级采样,有效解决了GRPO存在的两个关键问题:1) 将重要性采样提升为序列级别,通过几何平均方式降低方差,提高稳定性;2) 在MoE架构中无需依赖routing replay,通过序列概率隐式边缘化路由变量。GSPO使用几何平均计算序列重要性采样比,既修正了GRPO中reward与采样级别不匹配的问题,又简化了MoE架构下的实现。实验表明该方法能显著降低方差,提升训练稳定性。
2025-10-10 13:30:00
344
原创 DPO(Direct Preference Optimization)直接偏好优化
本文介绍了DPO(直接偏好优化)方法,该方法通过简化传统的RLHF(基于人类反馈的强化学习)流程,直接利用人类偏好数据进行模型优化。DPO的核心思想是跳过奖励模型训练和强化学习交互步骤,通过数学推导将优化目标转化为仅与策略概率分布相关的形式。推导表明最优策略与奖励模型之间存在显式关系,从而可以构建直接优化策略的损失函数。与RLHF相比,DPO简化了训练流程,提高了工程实现稳定性,同时保持了同等效果。
2025-10-09 15:00:00
1790
原创 transformer详解(位置编码+attention+残差连接+全连接网络)
Transformer架构核心组件解析:1) 残差连接和层归一化防止梯度爆炸/消失;2) 前馈网络引入非线性变换增强表达能力;3) 自注意力机制通过QKV矩阵计算token关联权重,多头设计捕获不同特征维度;4) 因果掩码实现训练并行化。该架构通过模块化设计有效解决了传统RNN的长距离依赖问题,成为NLP领域的基础模型。
2025-10-08 14:41:35
1054
原创 GRPO算法复现
GRPO算法在qwen2.5-1.5B-Instruct模型上的复现,包含全量和LoRA微调两种方式,并通过deepspeed分布式训练框架实现
2025-09-18 21:44:29
1094
原创 快速入门RLHF-TRPO/PPO/GRPO
设计算法同写代码类似,即使是写if-else解决了某个case,也是一种优化。对于算法重要的是了解设计思想,解决了什么问题,思路是怎样的,提出了什么方法解决。本篇记录TRPO/PPO/GRPO方法的设计思想,以及在策略梯度基础上的改进点,适合需要2~3天内快速掌握RLHF算法逻辑的同学,要求有一定的数学基础、RL基础和算法开发能力。策略梯度的具体推导参考。
2025-09-08 16:26:07
983
原创 快速入门RLHF-策略梯度
本篇记录策略梯度方法的推导过程,适合需要2~3天内快速掌握RLHF算法逻辑的同学,要求有一定的数学基础、RL基础和算法开发能力。TRPO、PPO、GRPO等算法都是策略梯度系列,在策略梯度的基础上改进,掌握策略梯度方法的推导逻辑后,该系列算法的变种仅需了解优化思想即可。RL的目标是训练一个Policy策略网络π\piπ, 使得在所有Trajectory轨迹τ\tauτ(包含所有的状态S和动作A), 得到奖励Reward的期望最大目标函数用公式来描述为:J(θ)=E(R(τ))τ∼Pθ(π)=∑τR(τ)P
2025-09-07 23:53:13
842
原创 卡尔曼滤波
卡尔曼滤波数据融合例子卡尔曼滤波是一个数据融合的过程,先验数据和后验数据融合,即找到一个合适的权重,取两个数据的加权和。举一个简单的例子直观理解(来源):用两个秤去称同一个物体,得到同一个物体的两个重量和标准差(符合正态分布)为:z1=30gσ1=2gz2=32gσ2=4gz_1 = 30g \quad \sigma_1 = 2g\\z_2 = 32g \quad \sigma_2 = 4gz1=30gσ1=2gz2=32gσ2=4g 图1
2024-07-15 22:50:08
1313
原创 PID轨迹跟踪|python实现
关于PID的基本概念网上有很多,简单来说就是用P项(比例项)实现负反馈效果,用I项(积分项)消除稳态误差,用D项(微分项)提供误差信号微分的预测效果。utKpetTt1∫0tetdtTDdtdet式中,ut表示PID控制器的输出,系统的控制输入;etref−feedback表示误差;Kp表示比例增益系数;Tt表示积分时间常数,KiTtKp表示积分增益系数;TD。
2024-07-03 13:05:54
1575
原创 基于几何模型的控制方法pure pursuit和stanley
图1 纯跟踪控制方法纯跟踪方法的思想就是在参考轨迹上找一个点Prxryr,通过调整前轮转向角δf让车辆后轴中心通过画圆弧轨迹能够经过点Pr。⎩⎨⎧δfarctanRLR2sinαldαarctanxr−xhyr−yh−ψ式中,δf表示前轮转向角,为车辆模型的输入,L表示车辆的轴距,R表示以后轴中心的转弯半径,ld。
2024-07-01 12:51:18
936
原创 MPC理论推导
MPC是工程中常用到的控制器,其核心思想是以优化的方法求解最优控制器,其中优化方法大多时候采用二次规划QP(Quadratic Programming)求解。MPC与LQR的区别是LQR需要线性模型,MPC可以是线性或者非线性的模型。
2024-06-22 19:58:14
3115
1
原创 LQR轨迹跟踪|python实现
离散LQR求解公式推导看,这里直接给出结果。PkQATPk−1A−ATPBBTPk−1BR−1BTPk−1AKBTPBR−1BTPAu∗k−Kxk式中Pk表示LQR求解过程中的黎卡提矩阵迭代值,P表示收敛后的黎卡提矩阵;K表示反馈增益;AB表示离散的系统矩阵;QR表示系统状态和输入的权重矩阵;xu分别表示系统状态和系统输入,u∗表示最优系统输入。
2024-06-22 19:46:52
1268
原创 后轴中心为原点的车辆运动学模型
车辆的运动学模型有好几种,以质心为原点、前轴中心为原点、后轴中心为原点。单独把以后轴中心为原点的模型拎出来讲是因为这个模型在做轨迹跟踪时比较好线性化,像其它两种模型里有三角关系的嵌套耦合,线性化的时候实在太麻烦了,不利于控制。而且在好几个地方都看到过这个模型,包括apollo里轨迹拼接时预测未来状态用的也是以后轴中心为原点的模型。
2024-06-22 19:43:28
2150
原创 常用矩阵求导
在工程中经常涉及到矩阵求导、求偏导,特别是做控制进行优化的时候。矩阵A对矩阵B求导,本质上就是AB。这里引入了分子布局、分母布局来统一矩阵求导结果的维度。分子布局是让求导结果的维度以分子为主,分母布局是让求导结果的维度以分母为主。以下面这个为例∂B∂A分子布局就是让求导的结果以A为主,分子不急就是让结果以B为主。
2024-06-21 12:57:48
1060
原创 离散LQR理论推导
工程中用的大部分控制分为两种,无模型和基于模型的。无模型的主要是PID,基于模型的主要是LQR和MPC。PID的思想很直观不涉及推导,而LQR和MPC设计到一些具体数学公式的推导。这篇博客记录一下LQR的原理和推导过程,之后学到MPC了再详细展开记录。首先限定讨论的范围,LQR(Linear Quadratic Regulation,线性二次调节器),针对的是线性时不变系统,本质上是一种状态反馈控制,最终目的是求反馈增益K。此外,工程中应用中计算机控制是离散的,因此本篇博客讨论离散系统的LQR。
2024-06-04 19:15:49
1188
原创 车辆侧向运动学和动力学
刚刚开始学习做自动驾驶路径规划,前辈推荐我先去了解汽车的结构,最近看到《车辆动力学及其控制》这本书上对车辆的运动学和动力学模型讲解非常到位。打算分享一下其中的内容,并对它省略的一些过程进行补充推导。最近越来越感觉到对初学者来说数学真是一切的基石,虽然现在已经有各种各样的库,不用自己搞清楚具体是怎么算的,但是对于一名算法工程师我觉得还是很有必要去了解底层的数学原理。
2024-05-28 18:49:30
2634
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅