- 博客(230)
- 资源 (3)
- 收藏
- 关注
原创 通用统计归一化结构
Adam 使用该步骤,为的是得到 unbiased estimator。泛归一化算子(General Normalizer Operator)所有归一化方法实际上都是某个角度的“统计量平滑 + 归一化”范式的实例。下面展示常见算法如何被上面的模板归一化。我们对某个向量(或标量)序列。任何归一化方法都可表达为。
2025-12-12 16:29:01
692
原创 Adam算法
Adam算法是在2014年提出的一种基于一阶梯度的优化算法,它结合了动量(Momentum)和 RMSprop(Root Mean Square Propagation)的思想,自适应地调整每个参数的学习率。这使得Adam特别适合处理大规模数据及参数的优化问题,例如深度神经网络。
2025-12-12 12:49:20
925
原创 大模型强化学习算法概览
问题:训练不稳定和样本效率低举例:REINFORCE关键挑战:步长(step size)的选择解释:步长太小会导致学习缓慢,步长太大则可能导致策略更新过大,破坏已学到的知识,使训练发散。目的:解决传统的策略梯度方法训练不稳定的问题举例:信任区域策略优化(TRPO)TRPO通过在每次更新时求解一个受约束的优化问题,确保新策略与旧策略之间的KL散度(Kullback-Leibler Divergence)不超过一个预设阈值,保证了更新的稳健性。maxθE^t[πθ(at∣st)πθold(at∣st)A^t]
2025-11-15 09:26:19
63
原创 softmax函数的上溢出(overflow)和下溢出(underflow)
溢出即数值超过了二进制的精度,上溢出值为inf,下溢出值为0。实数在计算机内用二进制表示,所以不是一个精确值,当数值过小的时候, 被四舍五入为0,这就是下溢出。此时如果对这个数再做某些运算(例如除以它)就会出问题。反之,当数值过大的时候,情况就变成了上溢出。
2025-10-29 12:25:29
198
原创 大模型面试之手写RMSNorm
RMSNorm 是 LayerNorm 的轻量级替代方案,只基于平方均值进行归一化,不减去均值。它计算更快、内存更省,在现代大语言模型中被广泛采用。实现上只需计算xEx2ϵE[(x2)]ϵx,再乘以可学习的 gamma。是理解现代 Transformer 架构优化的重要组件之一。
2025-10-26 10:58:11
80
原创 强化学习面试题(一)
大模型的强化学习依赖一个前提:模型的“动作空间”和“语言能力”已经基本可用。因此,需要先通过 SFT 冷启,让模型先具备“基本对齐”的行为,再通过 RL 做“细粒度对齐”或“偏好优化”。
2025-10-24 11:22:20
66
原创 PPO论文阅读
我们提出了一类新的强化学习策略梯度方法,该方法在与环境交互采样数据与使用随机梯度上升法优化一个“代理(surrogate)目标函数”之间交替进行。传统的策略梯度方法通常对每个采样的数据样本仅执行一次梯度更新,而我们提出了一种新的目标函数,使得算法能够对同一批数据进行多轮(多 epoch)小批量(minibatch)更新。这种新方法被称为 近端策略优化(Proximal Policy Optimization,PPO)。
2025-10-15 19:53:35
123
原创 GAE 广义优势函数
论文链接GAE主要借鉴了 λ\lambdaλ-return 的思想,将其运用到了优势函数的估计中。策略梯度的表达形式有很多,如下:g=E[∑t=0∞Ψt∇θlogπθ(at∣st)]g = \mathbb{E} \left[ \sum_{t=0}^{\infty} \Psi_t \nabla_{\theta} \log \pi_{\theta}(a_t \mid s_t) \right]g=E[t=0∑∞Ψt∇θlogπθ(at∣st)]其中,Ψt\Psi_tΨt 有六种表现形式:其中
2025-10-15 13:07:50
159
原创 GSPO论文阅读
论文:Group Sequence Policy Optimization本文提出了一种稳定、高效且性能优异的强化学习算法——Group Sequence Policy Optimization(GSPO),用于训练大语言模型。与以往基于token 级重要性采样的方法不同,GSPO 将重要性采样定义在序列似然层面,并在序列级别进行裁剪、奖励和优化。我们证明了 GSPO 相较于 GRPO 算法在训练效率和性能上具有显著优势,尤其能够稳定Mixture-of-Experts(MoE)的强化学习训练,并有潜力简化
2025-09-29 14:56:30
224
原创 LLM推理的时候为什么不用right padding
从图 4 的计算过程可以看到,使用 padding_side=‘left’ 的方式,attention score after masked 矩阵的最后一行和 V 的第一列进行内积后得到的值为正确且符合期望的值,即最后一个 token 所对应的 logit 的计算没有受 padding 的影响,该 logit 的计算过程正确。假设 bsz=2, total_len=5,则 tokens 为 [[-1, -1, -1, -1, -1], [-1, -1, -1, -1]]。
2025-09-28 10:22:08
31
原创 旋转位置编码的论文阅读
位置编码(Position encoding)在 Transformer 架构中近期表现出了良好的效果。它能够为建模序列中不同位置元素之间的依赖关系提供有价值的监督。本文首先研究了将位置信息融入基于 Transformer 的语言模型学习过程的多种方法。接着,我们提出了一种新的方法——旋转位置嵌入(Rotary Position Embedding,RoPE),用于更有效地利用位置信息。具体来说,RoPE 通过旋转矩阵对绝对位置进行编码,同时在自注意力机制的公式中引入了显式的相对位置信息。值得注意的是,Ro
2025-09-12 15:02:39
152
原创 阅读Qwen2-Audio技术报告
我们介绍了 Qwen-Audio 的最新进展 —— 一个名为 Qwen2-Audio 的大规模音频-语言模型。该模型能够接受多种音频信号输入,并执行音频分析,或针对语音指令直接生成文本回应。与复杂的分层标签体系相比,我们简化了预训练流程,采用自然语言提示来覆盖不同的数据和任务,并进一步扩大了数据规模。我们增强了 Qwen2-Audio 的指令跟随能力,并实现了两种不同的音频交互模式:语音聊天模式和音频分析模式。在语音聊天模式下,用户可以在无需输入文本的情况下自由地与 Qwen2-Audio 进行语音互动;
2025-09-10 15:58:57
426
原创 大模型的长度外推
在 Transformer 结构的大模型里(GPT、LLaMA、Qwen 等),输入是通过 位置编码(positional encoding/embedding) 来表示 token 在序列中的位置的。
2025-08-19 11:01:44
348
原创 moe并行
本文简要介绍了目前业界的一些 MOE 并行方案。如果说Transformer结构使得模型突破到上亿参数量,那么稀疏 MoE 结构可以在不显著增加计算成本的情况下,使模型参数量进一步突破,达到上千亿、万亿规模。虽然,1990年左右 MOE 的概念就已经出现了;但是可以预见,MOE 将在通往AGI的道路上扮演越来越重要的角色。
2025-08-18 19:35:58
101
原创 大模型分布式训练常用通信算子
作用:将多个设备上的张量执行一个归约操作(如加法、最大值、平均值),并将结果存储在一个目标设备上。操作: 所有 GPU 进行加法归约(reduce, 如 sum),然后 同步每人一份(all)。All-Reduce 的反操作:先将数据加和(reduce),然后将总结果切分发给各 GPU。作用:将一个大张量(或张量列表)从一个设备分发到多个设备上,每个设备拿到一部分。操作: 先将所有 GPU 的对应位置的数据加和,然后均匀分发切片给各 GPU。像小组每人写了一部分论文,然后大家交换收集后各自合并出完整稿。
2025-07-30 10:58:21
157
原创 为什么加速LLM推断有KV Cache而没有Q Cache?
KV Cache 一般用在做推理的时候,只有在加入Causal Mask时才能使用。比如训练出来的是一个翻译模型,输入为“我很好”,经过text embedding和position embedding之后变成。看作是输入“我很好”经过embedding之后的结果,然后经过线性变换分别生成。从式子上看答案很简单,因为在逐个 token 计算输出的时候当前轮的。KV-Cache减少计算量减少的就是重新计算线性变化的计算量。那么 KV-Cache 节省的计算量是从哪里节省出来的呢?开始进行多头自注意力的计算。
2025-07-05 17:38:54
89
原创 FlexDuo论文阅读
微信公众号、知乎号(同名):李歪理,欢迎大家关注(论文最近更新:2025.5.29)FlexDuo是一种可插拔系统,用于为语音对话系统赋予全双工能力。全双工语音对话系统(Full-Duplex SDS)通过实现实时双向通信,显著提升了人机交互的自然性。然而,现有方法仍面临一系列挑战,例如:由于架构设计高度耦合、状态建模过于简单(仅采用二元状态模型),导致模块无法独立优化,以及上下文噪声干扰问题严重。
2025-06-27 11:09:01
749
1
原创 基于大语言模型(LLM)增强的全双工语音对话系统的对话管理
实现语音对话系统(SDS)中的全双工通信,需要在听、说、思考之间进行实时协调。本文提出了一种语义语音活动检测(VAD)模块,作为对话管理器(DM),以高效管理全双工SDS中的轮次切换。该语义VAD模块是一个轻量级(5亿参数)的大语言模型(LLM),在全双工对话数据上进行微调,能够预测四种控制标记以调节轮次切换和保持状态,区分有意和无意的插话,同时检测查询完成,以处理用户的暂停和犹豫。通过在短时间间隔内处理输入语音,语义VAD实现了实时决策,而核心对话引擎(CDE)仅在生成回复时被激活,从而降低了计算开销。
2025-06-27 10:40:54
1593
原创 全双工口语对话模型综述
全双工语音对话是指系统具备在接收用户语音的同时生成语音输出的能力。这种设计将电信领域的“全双工”概念——即双向、同时通信——扩展应用于对话式人工智能,消除了人工设定的轮流对话限制,支持更自然的对话形式,如语音重叠、插话和中断。一个全双工对话模型的关键特性包括:同时听与说:模型在并行通道中实时处理输入并生成输出。灵活的轮流发言机制:系统能够处理用户的“打断发言”、提供及时的回应反馈(如“嗯”、“我懂了”),并可动态地让出或掌控对话控制权。
2025-06-25 17:28:30
994
1
原创 SALMONN-omni论文阅读
为了实现流畅自然的人机语音交互,目前的全双工对话系统通常采用模块化架构,例如语音活动检测器、中断检测、对话状态预测器或多个 LLM,但这些方案存在误差累积问题,难以处理上下文依赖的“插话”(barge‑in)和回声消除等关键挑战。虽然像 Moshi 这样的系统通过将音频编解码器编码注入单一 LLM 的 token 空间,从而简化了流程,但它们在处理语音输入而非文本时仍导致显著性能退化。
2025-06-17 19:26:26
1354
1
原创 强化学习(十五)Actor-Critic算法
微信公众号、知乎号(同名):李歪理,欢迎大家关注在强化学习(九)策略梯度中,我们讲到了基于策略(Policy Based)的强化学习方法的基本思路,并讨论了蒙特卡罗策略梯度reinforce算法。但是由于该算法需要完整的状态序列,这种采样方式的方差比较大,学习效率也比较低,同时单独对策略函数进行迭代更新,不太容易收敛。我们可以借鉴时序差分学习的思想,使用动态规划方法来提高采样效率,即从状态s开始的总回报可以通过当前动作的即时奖励rsas′和下一个状态s′的值函数来近似估计。
2025-05-30 19:01:27
1101
原创 强化学习(十三)DQN
传统的强化学习算法会使用表格的形式存储状态价值函数Vs或动作价值函数Qs,但是这样的方法存在很大的局限性。例如,现实中的强化学习任务所面临的状态空间往往是连续的,存在无穷多个状态,在这种情况下,就不能再使用表格对价值函数进行存储。价值函数近似利用函数直接拟合状态价值函数或动作价值函数,降低了对存储空间的要求,有效地解决了这个问题。为了在连续的状态和动作空间中计算值函数Qπsa,我们可以用一个函数Qϕsa。
2025-05-29 17:20:20
838
原创 强化学习(十二)PPO
在介绍近端策略优化(proximal policy optimization,PPO) 之前,我们先回顾同策略(On-policy)和异策略(Off-policy)这两种训练方法的区别。在强化学习里面,要学习的是一个智能体。如果要学习的智能体和与环境交互的智能体是相同的,我们称之为同策略。如果要学习的智能体和与环境交互的智能体不是相同的,我们称之为异策略。为什么我们会想要考虑异策略?让我们回忆一下策略梯度。
2025-05-28 14:30:04
1303
原创 强化学习(十一)探索与利用
利用是做出当前信息下的最佳决定,探索则是尝试不同的行为继而收集更多的信息。最好的长期战略通常包含一些牺牲短期利益举措。通过搜集更多或者说足够多的信息使得个体能够达到宏观上的最佳策略。因此探索和利用是一对矛盾。几个基本的探索方法:朴素探索(Naive Exploration): 在贪婪搜索的基础上增加一个Ɛ以实现朴素探索;在贪婪搜索的基础上增加一个Ɛ以实现朴素探索;优先选择当前被认为是最高价值的行为,除非新信息的获取推翻了该行为具有最高价值这一认知;根据当前估计的概率分布采样行为;
2025-05-26 14:33:27
749
原创 强化学习(十)整合学习与规划
本篇主要讲解如何从经历中直接学习模型,如何构建一个模型,如何基于模型来进行“规划”,在此基础上将“学习”和“规划”整合起来形成Dyna算法,详细解释了Dyna算法的流程和特点。依赖于模型,个体可以通过模拟产生一系列虚拟的Episodes,通过使用基于模拟的搜索方法,特别是蒙特卡罗树搜索方法,找到了一条解决诸如围棋等大规模MDP问题的有效可行的算法。
2025-05-23 11:15:30
858
原创 强化学习(九)策略梯度
微信公众号、知乎号(同名):李歪理,欢迎大家关注前一篇主要讲解的是价值函数的近似,然后根据价值函数来制定策略。本篇中策略P(a|s)将从一个概率集合变成策略函数本身π(s,a),通过借助策略相关的目标函数梯度的引导,寻找与目标函数的极值,进而得到最优策略。上一篇主要内容是如何对价值函数进行近似的参数化表达,包括状态价值函数和动作价值函数:Vθ(s)∼Vπ(s)V_{\theta}(s)\sim V^{\pi}(s)Vθ(s)∼Vπ(s)Qθ(s,a)∼Qπ(s,a)Q_{\theta}(s,a)\sim
2025-05-22 10:49:20
1196
原创 强化学习(八)价值函数的近似表示
微信公众号、知乎号(同名):李歪理,欢迎大家关注通过强化学习的基础理论,只能解决一些中小规模的问题,很多价值函数需要用一张大表来存储,获取某一状态或行为价值的时候通常需要一个查表操作(Table Lookup),这对于那些状态空间或行为空间很大的问题几乎无法求解,而许多实际问题都是这些拥有大量状态和行为空间的问题,因此只掌握强化学习的基础理论,是无法较好的解决实际问题的。在实际应用中,对于状态和行为空间都比较大的情况下,精确获得各种 v(s)v(s)v(s) 和 q(s,a)q(s,a)q(s,a) 几乎是
2025-05-19 21:09:25
873
原创 强化学习(七)时序差分离线控制算法Q-Learning
Q-Learning算法的拓扑图以及价值函数的更新公式如下图所示:首先我们基于状态SSS,用ϵ\epsilonϵ−贪婪法选择到动作AAA,然后执行动作AAA,得到奖励RRR,并进入状态S′S'S′,此时,如果是SARSA,会继续基于状态S′S'S′,用ϵ\epsilonϵ−贪婪法选择A′A'A′,然后来更新价值函数。但是Q-Learning则不同。对于Q-Learning,它基于状态S′S'S′,没有使用ϵ\epsilonϵ−贪婪法选择A′。
2025-05-15 12:43:28
806
原创 强化学习(六)时序差分在线控制算法SARSA
作为SARSA算法的名字本身来说,它实际上是由S,A,R,S,A几个字母组成的。而S,A,R分别代表状态(State),动作(Action),奖励(Reward),这也是我们前面一直在使用的符号。这个流程以及价值函数的更新公式体现在下图:在迭代的时候,我们首先基于ϵ\epsilonϵ-贪婪法在当前状态SSS选择一个动作AAA,这样系统会转到一个新的状态S′S'S′,同时给我们一个即时奖励RRR,在新的状态S′S'S′,我们会基于ϵ\epsilonϵ-贪婪法在状态S′。
2025-05-14 13:33:44
930
原创 强化学习(五)用时序差分法(TD)求解
时序差分法和蒙特卡罗法类似,都是不基于模型的强化学习问题求解方法。所以在上一篇定义的不基于模型的强化学习控制问题和预测问题的定义,在这里仍然适用。预测问题:即给定强化学习的5个要素:状态集SSS, 动作集AAA, 即时奖励RRR,衰减因子γ\gammaγ, 给定策略π\piπ,求解该策略的状态价值函数vπv(\pi)vπ控制问题,也就是求解最优的价值函数和策略。给定强化学习的5个要素:状态集SSS, 动作集AAA, 即时奖励RRR,衰减因子γ\gammaγ。
2025-05-12 11:18:44
871
原创 强化学习(四)用蒙特卡罗法(MC)求解
在动态规划法中,强化学习的两个问题是这样定义的:预测问题,即给定强化学习的6个要素:状态集SSS,动作集AAA, 模型状态转化概率矩阵PPP,即时奖励RRR,衰减因子γ\gammaγ, 给定策略π\piπ,求解该策略的状态价值函数vπv(\pi)vπ控制问题,也就是求解最优的价值函数和策略。给定强化学习的5个要素:状态集SSS, 动作集AAA,模型状态转化概率矩阵PPP,即时奖励RRR,衰减因子γ\gammaγ,求解最优的状态价值函数v∗。
2025-05-09 19:40:14
999
原创 强化学习(三)用动态规划(DP)求解
上一章我们讨论了用马尔科夫假设来简化强化学习模型的复杂度,这一篇我们在马尔科夫假设和贝尔曼方程的基础上讨论使用动态规划(Dynamic Programming, DP)来求解强化学习的问题。
2025-05-08 12:31:52
1223
原创 强化学习(一)模型基础
如果为0,则是贪婪法,即价值只由当前延时奖励决定,如果是1,则所有的后续状态奖励和当前奖励一视同仁。因此我们的价值要综合考虑当前的延时奖励和后续的延时奖励。,这个比率主要用在强化学习训练迭代过程中,由于我们一般会选择使当前轮迭代价值最大的动作,但是这会导致一些较好的但我们没有执行过的动作被错过。当然,在不同的强化学习模型中,会考虑一些其他的模型要素,或者不考虑上述要素的某几个,但是这8个是大多数强化学习模型的基本要素。然后个体可以继续选择下一个合适的动作,然后环境的状态又会变,又有新的奖励值。
2025-04-18 11:20:22
1019
原创 分布式训练之序列并行
总的来说,Colossal-AI 的序列并行是为了打破单设备上序列长度的限制。而 Megatron-LM 的序列并行是在显存上面下了功夫,可以用更少的设备去运行大模型。除此之外,从文章细节里面可以看到,部分的计算的冗余被消除了,且重叠了一部分的通信,使得设备可以花更多的时间用于计算上面。虽然,Colossal-AI 和 Megatron-LM 都有序列并行,但是两者解决的问题、方法都不一样。除此之外,在Pytorch中,也已经支持序列并行了。
2025-04-08 10:46:38
184
原创 大模型显存如何估算?
一般会分成两种情况:推理和训练。推理时,我们主要考虑模型权重、KV 缓存和激活显存。而训练相比推理,还需要额外存储优化器状态和梯度,显存需求会更高。
2025-03-12 21:28:27
332
time_series_anomaly_detection.zip
2021-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅