算法打工人阿旺 level
获赞
41
粉丝
40
关注
0
看过 TA
244
中山大学
2026
算法工程师
IP属地:山东
阿里高级算法工程师,多模态/大模型/搜广推方向辅导
私信
关注
✴️算法面试中遇到一道实战场景题:在大模型训练中使用GRPO,训到一半 reward 就很容易突然掉下来的原因?GRPO 出现这个问题,需要详细了解强化学习(RL)的基本迭代架构,即 Actor-Critic 架构。知行互动(AC)架构为什么要有 Critic 呢?这就涉及强化学习的算法稳定性问题。与监督学习(SL)相比,RL 实际上是很难稳定的一类训练机制。💣大致的原因如下:RL 本身是处理动态系统的最优控制问题,而 SL 是处理一个静态优化问题。动,就比静更难处理。加上 RL 的数据非稳态,Env-agent 交互机制的数据采集量少,这使得梯度计算的方差更大,方差一大就容易偏离预期目标,算法就容易跑飞了。主流的强化学习算法是怎么解决这一问题的呢?加上 Critic,使用 State-value function 或者 Action-value function 稳定策略梯度的计算过程。更高级一些的算法是采用 Advantage Function,也就是加上了 Baseline,增加梯度计算的稳定性。这是 AC 算法总是优于 REINFORCE 算法的原因之一。✅然而 GRPO 并没有 Critic 部分,原因比较简单,因为 GRPO 是用于训练大模型(1000 亿级别的参数规模),若是使用“知行互动”架构的话,等于需要存储两个大模型。Critic Network和 Actor Network,对存储要求极高。怎么节约存储呢?把 Critic Network 去掉,替换为在线估计 Advantage function 的算法,采用了“时间(算力)”换“空间(存储)”的做法。这就是 GRPO 的设计思想。与之对比,OpenAI 提出的 PPO 算法(也是 GRPO 的基础算法),它的值函数通常是一个与策略模型大小相当的模型,这带来了显著的内存和计算负担。考虑到 OpenAI 并不缺算力资源,不缺存储资源,即使 PPO 算法设计的如此糟糕,照样用的风生水起。🤳回到最初的话题,从原理上看 GRPO 并非完美,与 PPO 相比实际上处于是半斤八两的水平,算法设计存在“稳定性”缺陷,但是为什么 DeepSeek 还能用的比较好呢?因为 DeepSeek 的数据足够多,多到可以“完美”地避开 GRPO 的稳定性缺陷。每次的 Policy Gradient 计算,只要 Batch 数据足够多,就能有效降低 Policy Gradient 的方差,就能获得比较稳定的迭代。当每次使用的数据批量比较小的时候,它的稳定性缺陷将是致命的。这类规模的策略训练,建议优先选择带有 Critic 的强化学习算法。🌟如果大家想了解高质量的项目辅导以及提升面试能力,欢迎后台咨询。    
0 点赞 评论 收藏
分享
查看9道真题和解析 简历中的项目经历要怎么写
0 点赞 评论 收藏
分享
投递上海得物信息集团有限公司等公司10个岗位
0 点赞 评论 收藏
分享
0 点赞 评论 收藏
分享
今天老师给大家整理了部分搜索推荐算法工程师(实习)面经。供各位同学参考。✅一面1.自我介绍2.先问如果面试通过了,什么时候可以来实习,实习可以线下不3.问有实习过吗?4.简单了解下简历上的两个项目除了这个课程设计,对于推荐还了解哪些5.介绍下推荐系统的流程6.召回和排序比较大的差异点7.为啥排序会比召回的结果要准呢?8.项目中 DIN 模型里面的 attention 是怎么做的?score 是怎么得到的?知道原文里是怎么做的吗?9.现在主要研究是 NLP 吗?10.简历上的在投论文是一作吗?结果咋样?11.未来是希望做 NLP 还是 做推荐12.毕业论文开始写了吗?13.实验有做推荐的吗?14.大数据相关的技术了解如何?15.用户意图理解、用户兴趣、画像建模,应用到推荐上16.编程题:本科是计算系的,平时刷过 leetcode 吗?回答说:没有刻意刷过,不知道该如何回答。17.判断二叉树是否是镜像二叉树,就是判断是否对称。leetcode 原题回答说这个题可以用递归和迭代来做,写了递归实现。✅二面1.自我介绍2.先问了在投的论文,接受了吗?介绍下这篇 paper3.主观性很强的场景,如何做量化等等4.结果 f1 提升的 1% 怎么保证有效性,如何保证置信呢?5.固定随机种子后,多次实验结果相同吗?6.介绍下第二个项目,跟推荐系统相关的7.结合这个项目,说说自己对推荐系统的了解8.多目标混排算法有哪些9.召回主流的做法10.召回的目的是什么,推荐系统一定需要召回吗?11.介绍下 embedding 召回12.推荐系统冷启动问题,怎么解决13.怎么解决排序结果都是之前电影相似电影的结果14.编程题:最长无重复子数组,leetcode 原题,用滑动窗口来做。📳***************************************
0 点赞 评论 收藏
分享
今天老师给大家分享推荐算法3轮面经,供各位同学参考。1️⃣第一轮1、先自我介绍,我的习惯是经历简单介绍一下,然后自然转向准备最充分的一个项目开始详细讲,面试官感兴趣的话最好,不感兴趣的话会直接打断的。主要介绍了项目的背景,难点和解决方案,面试官关心的点主要集中在问题抽象和损失函数,讲清楚为什么这么做,项目大概聊了半小时左右2、机器学习基础:推导 lr,写出loss和梯度(比起推导svm来说简直就是送分题,要是写不出来的话估计会直接挂,基础还是要好好准备)3、算法 链表对折 1 2 3 4 5 变成 1 5 2 4 3拆解一下题目,(灵活)找到链表的中点 牛客题霸: 链表中倒数第k个节点 是找中点的复杂版,都是双指针解法翻转后半段链表 牛客题霸: 翻转链表合并两个链表 牛客题霸: 合并两个有序链表 是复杂版2️⃣第二轮1、先介绍项目,主要聊了项目背景和收益,收益具体怎么衡量,项目如何上线生效2、算法题 m*n的二维数组,只能往右或者往下,找最短路径,n空间 牛客题霸: 矩阵的最小路径和3、有了解过设计模式吗?(答了常见的工厂模式和单例模式,对应的应用场景,简单扯了一下装饰器模式,也是看xgb源码看到的,其实不会用)4、系统设计需要注意什么,如何设计一个系统,系统性能如何评估,需要考虑哪些指标(考察点应该是线上的系统了,指标比如内存使用率,qps,99 39 49时间之类的)5、之前帮阿里云录制过一些深度学习的入门课程,简单聊了一下相关的内容3️⃣第三轮1、先介绍项目,主要聊了项目背景和收益,收益具体怎么衡量,项目如何上线生效2、介绍xgbgbdt和xgb的区别(居然没有问lgb)怎么选最优分裂节点,怎么加速,预排序有什么作用,怎么分箱,等宽还是等深怎么处理缺失值的,预测时候缺失值怎么办3、为什么离职,希望一份什么样的工作4、有没有什么问题想要了解的(问了业务场景 工作内容)📳对于想求职算法岗的同学,如果想参加高质量项目辅导,提升面试能力,欢迎后台联系。    
查看10道真题和解析 简历中的项目经历要怎么写
0 点赞 评论 收藏
分享
翻遍各种大模型的实现,虽然结构上可能保留了 dropout 的实现,但是采样概率都设置为 0 了。唯一一个比较新的,还用 Dropout 的模型是 Meta 训练的 Galactica 模型。那为什么现在不用了呢?核心还是要弄清楚 Dropout 的使用场景。Dropout 之前在深度学习当中是一个特别好用的方法,可以防止过拟合,提高泛化。所以说,当模型较大,数据较少的时候,使用 Dropout 是比较合适的。现在大模型处在什么状态呢?✅预训练在预训练阶段,目前可能还是处于欠拟合的状态。之所以说可能,是基于目前公开的一些论文的出的结论。但是现在闭源的公司在采用大量数据合成的情况下,已经训练足够充分或者接近充分也说不定。以 llama 一系列论文为例,训练 llama 1 的时候,龙猫 Scaling law 里面提到 GPT3 是一个训练很不充分的模型。然后给出的数据配比的建议是,10B 的模型要采用 200B 的 token 来训练。但是 llama 1 采用了 7B 的模型,训练量 1T 的 token 发现性能依然有提升。而且预训练所有的语料一般只过一个 epoch,某些特定的领域可能过 2个 epoch,可以认为样本的重复率很低。所以,在数据足够多,多样性足够而且没有太多重复的情况下,大模型在预训练阶段仍然没有过拟合的风险。也就完全不需要采用 dropout。✅Dropout 就完全不需要了么?如果上面的条件不能满足,Dropout 还是有用武之地的。比如前面提到的 Galactica 模型。这个模型和其他大模型不太一样的地方是训练了 4.25 个 epoch,因为他们认为高质量的数据更重要一些,但是又没有那么多,所以就 repeat 数据了。在论文《To Repeat or Not To Repeat: Insights from Scaling LLM under Token-Crisis》 中,详细列举了数据 Repeat 对训练 LLM 的影响,并且证明了 Dropout 可以缓解数据重复带来的性能损失。在文章《Can LLMs learn from a single example?》中,也提到了在 SFT 的时候,少量的重复数据就会降低模型的性能。这也符合常理,SFT 的数据分布和预训练的通常是不太一样的,重复的数据会让模型拟合新的分布,从而忘掉旧的分布。文中同样也提到 Dropout 可以缓解数据重复带来的影响。所以 Dropout 在数据量较少,多样性不高,需要 repeat 的场景下,依然是一个减少过拟合的很方便的手段。比如现在已经有一些在 LoRA 微调的时候采用 Dropout 的研究了。
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务