Type something to search...
从rnn到llms:5个关键训练策略提升deepseek-r1的性能

从rnn到llms:5个关键训练策略提升deepseek-r1的性能

从递归神经网络到大语言模型,训练方案如何变化的全面概述。

推理模型 #1 — 训练概述

您可能已经了解推理模型的潜力。使用 O1 或 DeepSeek-R1 进行实验向我们展示了这些模型的巨大前景。作为爱好者,我们都渴望构建类似于这些模型的东西。

我们也都是从这条路开始的。然而,面对庞大的规模,我们常常感到不知从何入手。可以说,在大约 6-7 年前,我们只需要输入和输出就可以训练一个模块。作为构建这些模型的人,我们知道将这两件事做好是很困难的。然而,如今的事情要复杂得多。我们需要为每个任务提供额外的特定任务数据。

作为一个爱好者,我想深入挖掘这些“推理”模型,了解它们是什么以及它们是如何工作的。作为这个过程的一部分,我还计划将我所学到的所有内容分享为一系列文章。

不再耽搁,我想深入今天的话题 — 训练机制。

这些推理模型中的“推理”是什么?

一切是如何开始的。

让我们回到ChatGPT首次发布并运行GPT-3.5-Turbo的时候。还记得那个时候吗?那时不是很平静吗?……人们对其能力感到非常兴奋,但发现响应不准确且范围奇怪地有限。

为了尝试获得更好的输出,人们开始在提示的末尾添加一个短语。这个短语有很多版本,但“逐步思考”是最常见的短语。

它产生了与用户提示相关的更多标记。但一些神奇的事情开始发生。答案的准确性提高了。这就是推理模型的开始。人们意识到添加这些“思考步骤”会有更高的机会获得期望的输出。所以,他们就是这样做的。(顺便说一下,人们现在在技术上称之为“推理时间缩放。”)

为什么这有效?

好吧,从本质上讲,一切仍然是一个语言模型。它只是根据前一个标记预测一个新的标记。假设前一个标记是一个银行术语(如支票、现金、信用等)。在这种情况下,新的标记成为医学术语(如麻醉、注射、糖浆等)的概率非常低。

“思维步骤”本质上生成与用户输入相关的更多标记,减少后续标记的随机性。当然,随着模型的发展,还有一些其他内容被添加到这个解释中,但归根结底,这就是基本逻辑。

这些“推理”步骤最终推动模型选择更接近用户输入的标记。

这些是如何训练的。

经典

在最早的应用中,生活非常简单。我们有一个数据集,我们将几个层混合成一个网络。我们只是对这个网络在数据集上进行训练。简单易行。

然而,事情并没有顺利进行。除了某些简单的分类任务,这些方法需要大规模的数据集(不是现在“庞大”的指的是几TB,而是旧时的“庞大”)。而且很难为每个任务提供这些数据集。那么人们是怎么做的呢?

我们开始构建大型的、通用的数据集,以掌握上下文。然后,我们使用这些数据集来训练基础模型,并对其进行微调以适应相关任务。我们慢慢意识到,小模型现在无法从这些大型数据集中学习。因此,我们开始增加复杂架构的开发以解决这些问题。

Image 2

转移学习过程的示意图和示例。该图像来自BERT论文、T5论文以及这篇来自Deep (learning) Focus的博客。

最终,现在我们面临着拥有数十亿参数和TB级数据的模型来解决我们的任务。在这一过程的早期阶段,分类、回归、检索等区分任务迅速改善。然而,输出对于生成任务来说并不够流畅,无法称之为“自然”。我们看到太多重复的句子、荒谬的文本内容等。这导致人们开发了一种新的训练方式。

RLHF的时代

我们从未通过监督训练达到“人类水平”的自然主义。我们需要一种方法来推动模型尽可能接近这种行为。为此,我们要么需要极大、经过过滤的自然数据集,要么需要一种新的训练这些模型的方法,这导致了收益递减。

或者我们必须使用不同的方法来训练模型。这种不同的方法最终被证明是强化学习。强化学习是一种通过一系列惩罚和奖励来训练模型行为的学习方式。在我们的案例中,我们首先定义了一个奖励度量,并调整模型以最大化该度量。

那么,我们如何确定奖励哪些响应呢?好吧,我们会坐下来对模型的多个响应进行排名。这是一项耗时的任务,但最终,它已经完成。利用这些排名,我们训练一个简单的模块,根据生成的输出预测排名。

奖励模型训练。图片来源于InstructGPT论文

使用这个模块和原始模型,我们使用一种叫做近端策略优化(PPO)的算法进行调整。类似于我们如何使用梯度下降来减少损失,我们使用梯度上升的方法来增加模型输出的奖励。

大语言模型训练的高级概述。(1)大语言模型的监督训练。(2)训练奖励模型和(3)使用PPO更新大语言模型。图片来源于InstructGPT论文

当然,这只是基于第一篇讨论RLHF的论文。对此方法有多种变体。例如,在训练Llama模型时开发了两个奖励模型,而不是一个。一个侧重于输出的安全性,而另一个侧重于“有用性”。

甚至还有PPO的替代方案,例如对比偏好学习(CPL)、直接偏好优化(DPO)等,这些方法更高效。

那么……这对推理模型有什么意义呢?

我们不会使用人类来评分提示以训练模型。然而,我们仍然遵循在推理数据集上调整模型的基本方法。这个推理数据集最好有三列:提示、思维链(CoT)和完成。我们在这个数据集上对模型进行微调,然后使用强化学习进一步改善推理步骤。

我计划很快讨论思维链构建和奖励模型决策!

DeepSeek革命

现在,DeepSeek模型之所以引起如此关注,是因为它的成本。整个训练迭代的费用极其低廉。当然,仍然有人声称定价可能不准确。然而,这并不是我们目前担心的问题。

DeepSeek-R1的整体训练过程。

然而,让我们担心的是他们训练模型的方式。基本上,DeepSeek-R1有三个不同的训练阶段。

  1. 基于RL的推理训练
  2. 监督微调 + 带验证的RL
  3. 蒸馏。

我们目前关心的是前两个阶段。蒸馏阶段用于训练较小的1.5B、8B、32B和70B模型,这些是以后要讨论的话题。

1. 训练 DeepSeek-R1-Zero

与常见的监督微调 + 强化学习方法不同,DeepSeek-R1-Zero 在没有任何监督数据集的情况下进行训练。相反,团队直接使用强化学习对 DeepSeek-V3 进行了调优。

使用强化学习的结果很有趣,因为它突显了推理作为纯强化学习而非监督微调中的行为的出现。但更令人惊讶的是,这与模型训练所关注的奖励有关。

基于推理进行奖励是我们用来提高模型推理能力的直接方法之一。然而,直接将这个想法转化为数字是非常困难的。因此,我们通常使用一些代理来近似这个结果。因此,奖励的选择方式间接地作为模型推理的指南。这些包括:

  1. 输出准确性
  2. 输出格式准确性

有趣的是,关于格式和输出的反馈足以让模型学习基本的推理技能。

当然,这并不意味着 R1-Zero 是最好的推理模型。它只是证明了通过纯强化学习实现推理是可能的。然而,它在开发更大和更具泛化能力的模型中扮演着更重要的角色。

2. 训练 DeepSeek-R1

我在阅读论文时最感兴趣的部分不是 DeepSeek-V3 如何微调成 DeepSeek-R1,而是用于微调 DeepSeek-V3 的数据生成步骤让我感到好奇。

团队首先使用 R1-Zero 模型生成了一组 Chain-Of-Thought 文本,并创建了一个数据集。在这个设置下,他们训练了一个版本的 DeepSeek-V3。我们暂且称之为 meta-R1。这次基于强化学习的调优引入了一个新的“一致性奖励模型”,以及两个早期的奖励模型。这防止了输出生成多种语言的标记,而是坚持使用单一语言。

使用这个 meta-R1,他们生成了一组新的 CoT 数据,大约有 600k 个样本。他们用大约 200k 个使用 DeepSeek-V3 生成的样本增强了这个数据集。利用这些新生成的数据,一个基础的 DeepSeek-V3 通过监督微调和随后进行的强化学习进行了调优。这个新调优的模型是托管在 DeepSeek 网站上的 671B 参数模型。

与 DeepSeek-R1-Zero 和 DeepSeek-R1 在不同数学和代码基准上的结果比较可以在下面的表格中看到。

Image 6

微调您的推理模型

现在我们了解了事物是如何发展的,是时候提出最重要的问题了:我们如何才能使其对我们的应用有用?

在这次讨论中,我仍然会保持讨论在一个全面的层面。我们需要的第一件也是最重要的事情是数据集。幸运的是,我们不需要追随DeepSeek-R1的脚步。我们可以使用最终模型生成一组链式思维提示,并用它们来调整我们的模型。当然,这有点昂贵(使用DeepSeek API需要大约$650来获取50k样本)。然而,还有一个意外更好的选择。人们已经在HuggingFace库上研究并发布了他们的推理数据集。

我们可以使用该数据集来做DeepSeek-R1所做的事情:直接使用纯SFT训练一个较小的模型。然而,您可以使用HuggingFace的trl库采用传统的SFT+RL方法。

深入代码并生成数据集或使用HuggingFace数据集,选择适合数据集的模型并进行调整和评估是我们将详细讨论的主题。

在这方面,我想让您自行探索。是时候自己去探索并了解它了!不过,我提供了一些我认为对这个过程非常有帮助的资源。我相信它们是一个好的起点。

我希望您能在这次讨论中找到一些价值。

参考文献:

  1. 理解推理大语言模型 — Sebastian Raschka
  2. RLHF的故事 — Cameron R. Wolfe
  3. 从人类反馈中阐释强化学习 — HuggingFace
  4. 插图版DeepSeek-R1 — Jay Alammar
  5. 大语言模型训练:RLHF及其替代方案 — Sebastian Raschka
  6. 训练语言模型以遵循人类反馈的指令 — OpenAI
  7. 教大语言模型通过强化学习进行推理 — Meta

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...