Deepseek-v3/R1全量微调及Seg-Zero、R1-Searcher领域强化适配思路
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
今天是2025年3月11日,星期二,北京,天气霾。
今天说2件事儿。
一个是关于技术分享的事情。鉴于大家对KTransformers的关注,同时也为了更好地解决当前大家在使用中遇到的问题,“老刘说NLP”社区邀请了KTransformers的开发人员,在3月12日(周三)晚上19:30,在“老刘说NLP”视频号开始第一场直播,直播里将会详细讲解KTransformers的异构推理设计思路,从环境准备到运行成功的完整部署流程演示,以及后续KTransformers的开源计划,还会留一部分时间在线答疑,欢迎观看,这次是面向公众开放。
一个是继续看前沿进展,主要看Deepseek-v3/R1全量微调及多模态、RAG领域的适配思路【值得看看,信息量较大】,并且看看GraphRAG中的Graph都有哪些类型,这个可以增进理解。
抓住根本问题,做根因,专题化,体系化,会有更多深度思考。大家一起加油。
继续看最近的进展,分三个内容,重点看思路。分别是DeepSeek-V3/R1满血版671B全参数微调、Seg-Zero引入GRPO用于图像分割任务、R1-Searcher通过强化学习激励LLMS的搜索能力用在RAG。
1、DeepSeek-V3/R1满血版671B全参数微调
我们可以看到几个点。
一个是硬件配置。单台服务器配置如下表,集群中共32台相同配置的机器,共享100TB存储空间,机器之间使用IB网络进行通信,GPU之间通过NVLink通信。
训练过程中建议使用至少100TB的SSD大容量存储,因为单个pth中间结果大约占7.4TB硬盘空间。
这个项目给出的几组实验结论可以参考,包括在不同并行策略等配置下模型训练的可行性。训练数据~100k,训练上下文长度为32k。表中报告了每次实验使用的机器数量(nodes)、序列并行度(sp)、数据并行方式(dp)、单卡batchsize(bs)、迭代轮次(epoch)、学习率(lr)、单卡显存(mem)、实验记录和备注(notes)。
从DeepSeekV3对reasoning数据进行全参数微调时,起始loss通常在3.5左右,经过1epoch训练后,loss收敛到1.2左右。
2、Seg-Zero引入GRPO用于图像分割任务
再看多模态R1进展,依旧是那种套路,
使用用GRPO强化,使用formatandaccuracyrewards,如下:
实现推理链引导的分割,包含模型思考过程。
有趣的是,在域内和域外数据上均优监督微调方法,如下图。
2、R1-Searcher通过强化学习激励LLMS的搜索能力用在RAG
这个其实也是Deepresearch跟RAG的范畴,核心三个点。一个是两阶段RL,没SFT,核心是奖励函数设计。一个是基座用的是qwen2.5-7B–Base跟llama3.1-8B-instruct。一个是最大检索次数是8,这个是一个经验值,多次检索的模型都会涉及到这个参数。
根据官方github(https ://github.com/SsmallSong/R1-Searcher)的说明,从几个侧面来看。
算法侧。采用两个阶段的奖励引导式RL训练,第一阶段学习仅使用Format-Reward调用搜索。第二阶段学习通过使用格式-奖励和答案-奖励调用搜索来解决问题。但是,只使用结果监督的强化学习进行训练,看强化学习算法和奖励的设计。其中:
RL算法方面,使用Reinforce++作为我们的RL算法。对于每道题,平均得到的奖励是N示例,稳定了训练过程。对于解决方案格式,使用…标记用于思考,XXX用于搜索,以及…为了回答,…用于调用搜索工具和…对于退回的检索文件。
奖励设计方面,在第一阶段,使用检索-奖励,如果模型进行了检索,并且解决方案符合格式要求,则答案奖励加0.5分;第二阶段,取消检索要求,使用基于F1的答案奖励;如果解决方案不符合格式要求,则答案奖励减2分。
也给出了一些实验的观察经验,包括:
1)通过完全依靠结果监督强化学习,可以仅使用查询-回答对激活模型的内在搜索能力,而不管面对的是基础LLM还是聊天LLM。2)最近的强化学习算法,如GRPO和Reinforce++都可以有效地激活LLM的内部搜索能力。3)训练期间不要求进行复杂的快速工程或过程监督。4)基础LLM的能力在很大程度上影响着模型是否可以直接从零开始训练。5)与现有的基于树搜索的方法(如蒙特卡洛树搜索)相比,RL后的Longcot推理是一种更有效、更高效的测试时间缩放方法。6)通过使用本地检索进行RL训练,该模型可以很好地推广到其他数据集和在线搜索场景。
我们再回顾下传统RAG与GraphRAG的对比,通常,基于图的RAG方法由三个主要阶段组成:图构建阶段给定一个具有d个语块的大型语料库D,对于每个语块,大型语言模型提取节点和边,然后将其组合构建成一个图G;
检索阶段给定用户问题Q,使用索引从G中检索最相关的信息(例如,节点或子图);生成阶段通过将检索到的信息纳入提示中,与Q一起引导大型语言模型生成答案。
从实现流程上看,如下:
1)PassageGraph(PG)。每个块代表一个节点,边是通过实体链接工具构建的,如果两个块包含的相同实体的数量超过一个阈值,我们就为这两个节点链接一条边。
2)Tree。以渐进的方式构建,每个块代表树中的叶子节点。然后,使用大型语言模型来生成更高级别的节点。具体来说,在第i层,通过聚类尚未拥有父节点的第i层节点来创建第(i+1)层的节点。对于每个节点数超过两个的簇,LLM会生成一个虚拟父节点,其中包含对其子节点描述的概要总结。
3)KnowledgeGraph(KG)。通过从每个块中提取实体和关系来构建知识图谱(KG),其中每个实体代表一个对象,关系表示两个实体之间的语义关系。
4)TextualKnowledgeGraph(TKG)。一种专门的知识图谱(遵循与KG相同的构建步骤),其主要区别在于在TKG中,每个实体和关系都被赋予了一个简短的文本描述。
5)RichKnowledgeGraph(RKG)。RKG是TKG的扩展版本,包含更多信息,包括实体和关系的文本描述以及关系的关键词。
本文主要继续微调推理模型的技术前沿包括DeepSeek-V3/R1满血版671B全参数微调、Seg-Zero引入GRPO用于图像分割任务、R1-Searcher通过强化学习激励LLMS的搜索能力用在RAG等做了介绍,其中的思路都值得借鉴。
另外,目前新的概念越来越多,包括GraphRAG,很多人觉得Graph就是KG,这其实也是误区,所以对GraphRAG中的Graph类型做了区分,有哪些类型都给出了,可以多加思考。
1、https ://arxiv.org/pdf/2503.04338
2、https ://github.com/ScienceOne-AI/DeepSeek-671B-SFT-Guide
3、https ://github.com/Liuziyu77/Visual-RFT
4、https ://github.com/dvlab-research/Seg-Zero
5、https ://arxiv.org/pdf/2503.05592
老刘,NLP开源爱好者与践行者,主页:https ://liuhuanyong.github.io。
对大模型&知识图谱&RAG&文档理解感兴趣,并对每日早报、老刘说NLP历史线上分享、心得交流等感兴趣的,欢迎加入社区,社区持续纳新。
加入会员方式:关注公众号,在后台菜单栏中点击会员社区->会员入群加入