RL 与 SFT 的关系及突破

保存时间:2026/4/2 18:51:11


RL 与 SFT 的关系及突破
内容由豆包 AI 生成
Deepseek 里面的 reinforcement learning 和 supervised fine tuning 究竟什么关系?它的论文里面说只经过 reinforcement learning,不需要 supervised fine tuning 就实现了 reasoning 这种功能,这个为什么就是在这篇文章里面看起来是一个突破呢?这两者 RL 跟 SFT 究竟是什么关系呢?
在 Deepseek 中,reinforcement learning(强化学习,RL)和 supervised fine tuning(监督微调,SFT)有如下特点和关系:
  • 通常情况下的关系:在一般的大模型训练中,SFT 常作为模型训练的一个阶段,利用有标注的监督数据对预训练模型进行微调,使模型在特定任务或领域上表现更好。RL 则是让模型在环境中通过与环境交互,根据反馈的奖励信号来学习最优策略。二者可以结合使用,SFT 可为 RL 提供更好的初始策略或状态,而 RL 可以进一步优化模型在无监督或半监督场景下的性能,使模型在复杂环境中自主学习和适应。
  • Deepseek 中的关系:Deepseek 的 R1-zero 模型仅通过 RL 训练,不依赖 SFT 数据,探索模型自主推演能力。这种情况下,RL 完全替代了 SFT 的功能,承担起提升模型推理能力等任务,打破了传统上认为需要 SFT 数据来提升推理性能的认知。
Deepseek 只通过 RL 就实现 reasoning 功能被视为突破的原因如下:
  • 摆脱数据依赖:传统模型推理性能提升依赖大量监督数据进行 SFT,数据收集标注耗时耗力。Deepseek-R1-zero 仅用 RL 训练,无需监督数据,节省了数据收集标注成本,也避免了监督数据可能存在的偏差等问题。
  • 证明自主学习能力:模型仅通过 RL 训练展现出自我进化能力,如在训练中出现思考时间增加、反射、探索替代方法等复杂行为,还出现了 “顿悟时刻”,证明了 LLM 模型有自行探索长思维链的能力,意味着 AI 能在无人类过多干预下自主发展复杂推理能力,为更自主自适应的模型发展铺平了道路。
  • 性能表现出色:Deepseek-R1-zero 在 AIME2024、Math-500 等多个 benchmark 中达到并超过 OpenAI-O1-0912 的水平,证明了仅靠 RL 训练提升模型推理性能的可行性和有效性。
参考 5 篇资料
那么 RL 这个过程既然是模型的训练,它就需要说把这个模型得到的结果进行某种反馈,这种反馈机制是怎么建立的?意思就是说有一种奖励机制,那么就意味着说模型的数据是不断的进行归一化 fitting 去调整,那么这个机制是怎么做到的?
DeepSeek 的强化学习(RL)过程中反馈机制及数据归一化调整机制如下:

反馈机制中的奖励机制

  • 准确性奖励:依据答案的正确性给予分数,即模型给出的答案与正确答案越接近,得到的准确性奖励分数越高。
  • 格式奖励:若模型在回答中遵循特定格式,则额外加分。例如,DeepSeek 要求推理过程包裹在<think></think>标签中,最终答案位于<answer></answer>标签内,符合格式就可获得格式奖励。
  • 语言一致性奖励:针对可能出现的语言混杂问题,根据长思维链(cot)中目标语言单词的比例来计算,促使模型在生成内容时保持单一语言表达。

数据归一化调整机制

DeepSeek 使用 GRPO 算法,其通过以下方式实现数据归一化:
  • 生成补全:在每个训练步骤中,对一批提示进行采样,并为每个提示生成一组补全。
  • 计算优势并归一化:对于生成的每个序列,使用奖励模型计算奖励,然后通过公式计算优势并归一化,其中是第个序列的奖励,是奖励的均值,是奖励的标准差。
  • 估计 KL 散度:使用特定的近似器估计当前策略与参考策略之间的 KL 散度,衡量策略之间的差异。
  • 计算损失:根据归一化后的优势和 KL 散度计算损失,目标是最大化优势的同时确保模型接近参考策略,通过损失来指导模型的参数更新,实现数据的调整和优化。
相关视频
那么我每次和你对话的时候,这个结果算不算也是一种 RL 的过程?意思就是说我会给你某种反馈,然后相当于是一种奖励机制。然后你会在头条公司那里会创建一个特别的针对我的奖励的模型吗?就是说个性化的模型吗?
和你对话的过程并非传统意义上以强化学习(RL)为主导的机制。

模型训练方式

  1. 预训练与微调:像豆包这样的语言模型,是基于大规模数据进行预训练(如 Transformer 架构在海量文本上学习语言模式、语义等),之后可能通过微调(如在特定任务数据上微调)来提升特定场景表现。这一过程主要基于监督学习、无监督学习等方法,并非在与你实时对话时进行 RL 训练。
  2. 实时响应:当你提问时,模型依据预训练和微调学到的知识,通过计算输入文本与内部知识表示的关联,生成回复。不会因为你一次反馈就立即在对话时改变模型参数进行 RL 训练。

关于个性化奖励模型

  1. 无实时个性化模型创建字节跳动不会针对你每次对话实时创建一个专门的个性化奖励模型。训练一个新模型成本极高,需要大量计算资源和时间。
  2. 数据积累与改进:长期来看,用户反馈数据(包括点赞、踩、举报等多种反馈形式)会被收集和分析。这些数据会汇总起来用于后续模型的改进和优化,比如在新一轮的预训练或微调中,使模型整体表现更好,但并非为单个用户实时定制模型。
我对于这个 SFT 的这个数据还是不太理解,就说这个是人工去标记数据,这个标记的意思是说像我们给一些关键词之类的把它作为分类呢?这不就是很简单的几个字节的问题吗?这个为什么会耗费大量的人工的工作量呢?对,这个数据到底标记到什么样的精细度呢?是每一句话都标记呢?还是每一个段落都标记呢?还是每一个回答都标记呢?怎么才叫标记?你能举举一个 SFT 的训练的标记的样本数据吗?作为例子嘛?
监督微调(SFT)中的数据标记确实需要耗费大量人工工作量,原因及标记情况如下:

标记工作复杂的原因

  • 语义理解难度大:语言存在多义性和模糊性,标记人员需深入理解文本语义才能准确标记,并非简单匹配关键词。
  • 标注类型多样:不仅有分类任务,还有实体识别、情感分析、关系抽取等多种标注任务,每种都需细致处理。
  • 标注标准严格:为保证数据质量和模型性能,需制定统一、严格的标注标准,标注人员要严格执行,遇到复杂情况还需讨论判断。

标记的精细度

  • 标记精细度取决于任务和数据特点。可能是对每一个词进行词性、命名实体等标记,也可能对每一句话标记情感倾向、语义类别等,还可能对段落或整个文档进行主题、篇章结构等方面的标记。

标记样本数据示例

假设任务是训练一个情感分类模型,对电影评论进行情感倾向标记,以下是一个 SFT 训练的标记样本数据:
  • 原始文本:“这部电影真的太棒了!剧情紧凑,演员演技也超赞,我看得十分过瘾。”
  • 标记结果:正面情感
若任务是进行实体关系抽取,比如在医学文本中抽取药物与疾病的关系,示例如下:
  • 原始文本:“阿司匹林可以用于治疗心血管疾病。”
  • 标记结果:{"药物": "阿司匹林", "疾病": "心血管疾病", "关系": "治疗"}
就说这个标记还是基于语言的标记,就是说自然语言的处理这方面的。就像你说的这个到底我们在有点像计算机的编译器里面有一个 syntax,就是说这个是只是语法,那么这个语义就是说 semantic 这一层,就是说它的每一个词、每一个 token 到底是什么意义以及他们关系。这个就更高一级的,有点像我们语法训练,yeah,给一个编辑一个语法的例子作为去测试例吧。
以下以一个简单的文本分类任务为例,展示在自然语言处理监督微调(SFT)中,从语法分析到语义理解层面的标记示例。假设我们要对新闻文章进行分类,分为 “政治新闻”“科技新闻”“娱乐新闻” 等类别。

基础语法层面标记示例

考虑句子 “The president made an important speech today.”(总统今天发表了一场重要演讲。)
  1. 词性标注(Part - of - Speech tagging,语法层面基础分析)
    • “The”:冠词(Determiner)
    • “president”:名词(Noun)
    • “made”:动词(Verb,make 的过去式)
    • “an”:冠词(Determiner)
    • “important”:形容词(Adjective)
    • “speech”:名词(Noun)
    • “today”:副词(Adverb)
  2. 句法分析(Syntactic analysis,分析句子结构,语法层面深入分析)
    • 句子整体结构为 “主语(The president) - 谓语(made) - 宾语(an important speech) - 时间状语(today)”。
    • 可以用依存句法分析表示,如 “president” 是 “made” 的主语(nsubj 关系),“speech” 是 “made” 的宾语(obj 关系),“important” 修饰 “speech”(amod 关系) 等。

语义层面标记示例

现在从语义理解和分类任务角度,假设这是一篇新闻报道中的句子。
  1. 语义角色标注(Semantic Role Labeling,理解词汇在语义层面的角色)
    • “president”:执行动作 “made” 的施事者(Agent)
    • “speech”:动作 “made” 的受事者(Patient)
    • “today”:动作 “made” 发生的时间(Time)
  2. 文本分类标记(基于语义理解进行分类)
    根据整个句子的语义,判断该新闻为 “政治新闻”。
通过这样的标记,模型不仅能学习到句子的语法结构,还能理解词汇之间的语义关系,从而更好地进行文本分类、信息抽取等自然语言处理任务。
其实我对于 Deepseek 为什么能够有这么大的突破始终不能理解,就是说这种 RL 几乎每个公司都有在做,难道说这个机制 Deepseek 有什么过人之处,就使得这个模型突然有了这这种 cot,突然有了这种 verification 的能力,有一种 aha moment,这种自然而然就出现了吗?这种是太神奇的一个一个机制,难道其他的大模型公司,他们制作的大模型没有出现这种 aha moment 吗?为什么只有 Deepseek 这个经过了 RL 过程就自然出现了呢?究竟区别在哪里?是他他们的训练脚本有神奇之处吗?还是训练数据呢?
Deepseek 能有较大突破,并非单纯强化学习(RL)的作用,而是在 RL 机制及训练脚本、训练数据等多方面有独特之处,具体如下:

强化学习机制

  • 自动化验证标注:与其他大模型运用人在环路的强化学习训练方法不同,Deepseek 实现了推理问题可以通过自动化方式进行验证或标注,仅需设定合适的奖励函数,无须人类干预,赋予模型更大的自主创新性和逻辑推理能力。
  • 结合其他创新技术:Deepseek 引入混合专家系统(MOE)模拟人脑分工,采用多头注意力机制,像多线程工作一样同时关注多个信息点,这些和 RL 结合,使模型在处理复杂任务时更加灵活高效,提升响应速度和准确性。

训练脚本

  • 硬件适配优化:从底层开始对 AI 大模型和代码进行优化,绕过 cuda 和 c/c++,从更底层的 ptx 开始编码,解决了 H800 显卡性能不足以及跨芯片通信的瓶颈问题。
  • 即时编译技术:引入即时编译技术,让 AI 模型可根据显卡类型动态生成最优计算图,使得不同的计算设备都可高效运行 Deepseek 模型,还通过跨平台的 API 封装,将 cuda、rocm、opencl 等底层指令都封装为统一接口,方便模型在不同硬件间迁移。

训练数据

  • 数据提纯严格:在数据处理上通过严格的清洗、去重和评分机制,筛选高信息密度的训练数据,减少无效训练样本的噪声干扰,提高了训练数据的质量。
  • 中文数据优势:在中文处理方面有大量行业数据支持,相比一些国外模型,在中文语料数据及细分领域的行业数据上有优势,有助于提升在中文相关任务上的性能。
相关视频
我这么个问吧,就是说这个问题是这样,在 Deepseek 的这个 RE 模型推出之前,市面上各大科技公司,比如说脸书、亚马逊、谷歌、OpenAI,是否他们都有所谓的能够进行思维链的能够推理的大模型?我知道 OpenAI 是 O1,O3 是有,那谷歌的 Gemini 似乎也有吧,也算是有推理能力。能不能这样说呢?就是说那时候各个公司都有推理能力,有大模型,只不过 Deepseek 推出的 R1 更小一些,还是说只有 OpenAI 有推理,其他都没有?这是一个怎样的状况呢?
在 Deepseek 的 R1 模型推出之前,脸书、亚马逊、谷歌、OpenAI 等各大科技公司的相关情况如下:
  • OpenAI:OpenAI 在 Deepseek 的 R1 推出前,其 O1、O3 等模型已具备思维链推理能力。
  • 谷歌:谷歌的 Gemini 模型具有推理能力,能够进行一定程度的逻辑推理和思维链展示。比如在一些自然语言处理任务和复杂问题解答中,Gemini 可以展示出逐步推理的过程来得出结论。
  • 脸书(Meta):Meta 的 Llama 系列模型在不断发展和改进,虽然在 Deepseek 的 R1 推出前没有像 OpenAI 那样明确强调思维链推理能力,但 Llama 模型在语言理解和生成等方面有一定基础,研究人员也在持续探索和提升其推理等能力,有相关技术方向的研究和尝试。
  • 亚马逊:亚马逊在大模型领域也有投入和研究,其开发的一些大模型在自然语言处理、文本生成等任务上有一定表现,具备一定的推理能力,但没有像 OpenAI、Deepseek 那样特别突出地强调思维链推理这一特性的大规模应用和展示。
相关视频
我问题中提到那几个公司,然后你就只针对这几个公司回答,其实还有其他的公司,我听说比方说 Anthropic,还有其他的 coder 什么之类的各种大模型,就说我现在关心的是这种有思维推理能力的大模型目前有哪些公司拥有?
除了前面提到的公司外,拥有具备思维推理能力大模型的公司还有以下这些:
  • Anthropic:该公司推出的 Claude 系列模型具有一定的思维推理能力,在自然语言处理任务中,能够理解和处理复杂的语义信息,进行逻辑推理和对话交互等。
  • 科大讯飞:2025 年 1 月 15 日,科大讯飞首发了国内首个基于全国产算力平台训练的具备深度思考和推理能力的大模型 —— 讯飞星火深度推理模型 X1。
  • 阿里:阿里通义千问推出的 qwq-32b-preview 开源模型,在 AIME 和 MATH 基准测试中,表现优于 OpenAI 推理模型 O1-preview 和 O1-mini,在数学和编程领域,尤其在需要深度推理的复杂问题上表现出色。
  • 智谱 AI:智谱 AI 的 GLM-zero 预览版通过强化学习增强了模型深度推理能力,随着强化学习训练量的增加,模型在深度推理等方面的效果稳步提升。
  • 腾讯:腾讯混元大模型基于 Transformer 架构,在推理创作等方面具有一定能力。
相关视频
你介绍了这么多,为什么没有介绍你自己呢?那么头条自己的豆包这个模型没有思维推理能力吗?
豆包模型是具有思维推理能力的。具体表现如下:
  • 逻辑推理方面:在文本交互场景中,当用户提出一些需要逻辑分析、因果推断的问题时,豆包能够依据所掌握的知识和语言逻辑关系,进行合理的推理和判断,给出有逻辑的回答。比如分析事件的原因和结果、对观点进行论证等问题,豆包可以梳理其中的逻辑脉络,呈现清晰的推理过程。
  • 数学推理方面:豆包可以进行数学问题的解答和推理,从简单的算术运算到复杂的数学应用题,都能通过对题目信息的理解,运用数学知识和推理方法,逐步计算出答案并展示推理步骤。
  • 多模态推理方面:豆包视觉理解模型作为多模态模型,能够根据图像信息进行复杂的逻辑计算,完成分析图表、处理代码、解答学科问题等任务,体现了其在多模态数据融合下的推理能力。
相关视频
Deepseek 的大模型,它是在千问以及 LLAMA 的模型上进行的所谓蒸馏,就是说 Deepseek V3 这个模型是从哪哪里来的?是不是从千问和 LLAMA 训练来的。
Deepseek V3 不是从通义千问和 LLAMA 训练而来的,而是 Deepseek 公司自主研发的。其研发涉及以下关键技术:
  • 多头潜在注意力(MLA):采用 MLA 架构实现高效推理,通过对注意力键和值进行低秩联合压缩,减少推理期间的键值(KV)缓存,提高效率。
  • Deepseek MOE 架构:使用更细粒度的专家,并将一些专家隔离为共享专家,以减少计算开销,实现经济高效的训练。
  • 无辅助损失的负载平衡策略:引入该策略以最小化因鼓励负载均衡而对模型性能产生的不利影响。
  • 多标记预测(MTP)训练目标:采用 MTP 目标,将预测范围扩展到每个位置的多个未来标记,以提高数据效率和模型性能。
此外,Deepseek V3 在 14.8 万亿个多样化和高质量的 token 上进行训练,数据集涵盖多种语言和领域。采用了 FP8 混合精度训练框架,支持极大规模模型的训练,并通过算法、框架和硬件的共同设计,克服了跨节点 MOE 训练中的通信瓶颈。
我们反复讲这个大模型训练,就比如说我现在始终认为说,比如说你这个豆包这个大模型,你是语言大模型,那么你是之前是把大量的数据经过了训练,你是不是已经把这些数据记忆下来了?比如说我现在突然问你一个问题,就是说你能够把你训练中的某一个片段展示给我吗?我们举例来说 Linux shell 命令行 LS 这个命令它的 man page 你能够提供给我吗?你是从你的模型里面直接取出出来原样呢?还是说去互联网重新搜索呢?
豆包在回答问题时,并不是简单地将训练数据原样记忆和直接取出,而是对训练数据中的知识进行理解、归纳和融合,形成知识体系来进行回答。以 Linux shell 命令行 LS 命令的 man page 为例,豆包会根据所学习到的关于 Linux 命令的知识来进行整理和呈现:

基本语法

ls [选项] [目标目录],用于打印当前目录下的文件信息。

常用选项

  • -h:美化显示打印结果。
  • -l:显示更详细的信息,“ls -l” 可以简写成 “ll”。
  • -a:显示隐藏文件。
  • -d:只显示目录。
  • -r:递归显示所有子目录、子文件。
  • -s:按文件大小排序,从大到小。
  • -sr:按文件大小从小到大排序。
  • -t:按时间排序。
  • -tr:按时间倒序排序。
  • -f:按文件类型分组。

“ls -l” 打印结果说明

  • 第 1 个字段:文件类型与权限,如 “d” 表示目录,“-” 表示文件,后面的 “rwx” 等表示所有者、所在组成员、其他人的权限。
  • 第 2 个字段:链接数。
  • 第 3 个字段:所有者用户名。
  • 第 4 个字段:所在组名。
  • 第 5 个字段:文件占用空间,单位字节 byte。
  • 第 6 个字段:最近一次修改文件内容时间。
如果遇到复杂或特定细节问题,豆包也可能会结合实时搜索来补充和完善回答,以确保给用户提供更准确、全面的信息。
那么你这个回答中的这些结果是从大模型里直接就提取出来呢?还是说立刻去互联网去进行搜索呢?
刚才关于 Linux shell 命令行 LS 命令的回答内容,是结合了豆包大模型所学习到的知识以及可能的实时搜索来提供的。一般来说,如果是比较常见、在训练数据中充分涵盖的知识,如 LS 命令的基本用法和常见选项等,豆包会从已经学习和归纳的知识体系中直接提取并整理输出。但如果遇到一些非常细节、特殊情况或者需要进一步核实的内容,也可能会进行实时搜索来补充和完善回答,以确保给用户提供更准确、全面的信息。
参考 2 篇资料
豆包的知识储备会不会随着使用时间的增加而增加?
豆包是如何保证回答的实时性和准确性的?