今天的发布会OpenAI推出了强化微调研究计划(Reinforcement Fine-Tuning Research Program),个人感觉今天的内容的其实含金量很高,对专业领域尤其是科研工作者来说却极具价值。通过强化微调,从泛化能力到领域专精,这一技术可能会深刻改变人工智能在专业领域的表现方式,你可以赋予 o1 在特定领域超强的推理能力,将你的数据与 o1 的推理能力深度融合,释放出更大的潜力
鉴于以上原因,所以分享一下今天发布会的文字稿,值得一看

OpenAI 12天发布会 Day 2 文字稿:
大家好,我是 Mark,OpenAI 的研究主管。昨天,我们将 o1 推出了预览版,并在 ChatGPT 中发布。很快我们还将在 API 中发布它。如果你还没听说过 o1,这是我们最新的模型改进系列,可以让模型在返回响应之前思考一段时间。
今天,我们非常高兴地预告模型定制计划的最新进展:用户将能够在自己的数据集上微调 o1。这可不是标准的微调,而是强化微调,它真正利用了强化学习算法,将模型的水平从优秀高中生提升到专业博士水平,以适应你自己的使用场景。我想再次强调,这只是一个预览版,我们将在明年公开发布。如果你是一所大学、一位研究人员或一家企业,我们稍后会提供一些信息,说明如何访问我们的输出程序。
那么,你为什么需要它呢?因为它允许你将你的黄金数据集转化为独特的产品,这将为你自己的用户和客户提供与我们一样的魔力。接下来,让 John、Julie 和 Justin 再详细介绍一下。
大家好,我是 OpenAI 的工程师 John Ellard。大家好,我是 OpenAI 的研究员 Julie Wong。我是伯克利实验室的计算生物学家 Justin Reese。今天,我们非常高兴地介绍 o1 系列模型定制的新方法——强化微调,简称 RFT。开发人员、研究人员和机器学习工程师将首次能够使用强化学习来创建专家模型,这些模型能够在各自领域的特定任务中表现出色。我们相信,任何在其 AI 模型中需要深厚专业知识的领域都将从中受益。因此,如果你从事法律、金融、工程、保险等领域的工作,那么它正适合你。例如,我们最近与汤森路透合作,使用强化微调将 o1 Mini 微调为他们 CoCounsel AI 中的法律助手。该工具可协助其法律专业人员完成一些最具分析性的工作流程。
John:你们中的一些人可能熟悉我们去年年初推出的监督微调 API。监督微调非常强大,它的作用是让模型复制它在输入的文本或图像中发现的特征。如果你想改变模型的语气、风格或响应格式,这就非常有用。而使用强化微调,情况实际上有所不同。你不仅仅是在教模型模仿其输入,而是在教它学习以全新的方式在自定义领域进行推理。其工作原理是,当模型遇到问题时,我们给它空间来思考问题,然后我们对模型的最终答案进行评分。然后,利用强化学习的力量,我们强化那些导致正确答案的思路,并弱化那些导致错误答案的思路。你会发现,只需几十个示例,模型就能学会以新的有效方式在自定义领域进行推理。
Julie:只用 12 个例子就能做到这一点,太不可思议了,这在常规的微调中是做不到的。
John:是的,在大语言模型和大型机器学习领域,几十个例子基本上不算什么。
Julie:因此,我们的模型定制平台将首次支持强化学习。值得注意的是,这与 OpenAI 内部用于训练我们的前沿模型(如 GPT 4o 和 o1 系列)的技术相同。科学研究是一个有着许多令人兴奋的应用的领域。但不要只听我们的一面之词,这就是为什么今天伯克利实验室的研究员 Justin Rees 也加入了我们。Justin 的研究领域之一是使用计算方法来了解罕见疾病的遗传原因。Justin,非常感谢你的到来。你介意再介绍一下你的研究以及强化微调如何提供帮助吗?
Justin:当然,很高兴来到这里。我的研究领域之一是罕见遗传病。与名称相反,罕见遗传病实际上并不罕见。任何一种罕见疾病都是罕见的,但如果你把它们放在一起,它们实际上很常见。全球有 3 亿人患有罕见疾病。而且,这些人通常要经历几个月到几年的漫长诊断过程才能了解自己的病情。
Julie:这就像美国的人口总数一样。
Justin:是的,这不是一个小数目。因此,我们正在研究更好的计算工具和方法,以真正研究重要的内容,并帮助我们了解和治疗这些疾病。我们在学术环境中开展工作,并更多地了解罕见疾病及其病因。我们希望将来能够改善这些患者的医疗保健。现在评估你的疾病有点困难,因为你必须具备两件事。你必须具备关于医学方面的专业领域知识,还必须对生物医学数据进行系统推理。这是我们认为 o1 模型可以真正帮助我们的领域,因为它的推理能力。
Julie:这很有道理。我们的大型语言模型具有领域知识,而我们的 o1 模型是真正的系统推理器。因此,现在似乎有一种相当不错的计算方法来解决其中一些问题。
Justin:没错。
Julie:你能再介绍一下你正在使用的数据集吗?
Justin:当然。这是我们小组与德国夏里特医院、Peter Robinson 实验室和 Monarch Initiative 之间的合作成果。我们所做的实际上是从数百篇关于罕见疾病的病例报告的科学出版物中提取疾病信息。因此,我们整理了患者身上存在和不存在的体征和症状列表中的信息,当然还有他们所患的疾病。对本次讨论而言,重要的是导致这些患者出现问题的致病基因突变。
Julie:我明白了。所以你和一些医生正在尝试根据患者的症状,找出可能导致这些症状的基因突变?
Justin:是的,没错。因此,我们一直在与 OpenAI 团队合作,训练 o1 模型更有效地推理疾病的原因。
Julie:难以置信。谢谢你,Justin。现在我们将向你展示强化微调的实际应用。我不想抢风头,但我们要让 o1 mini 在这项任务上的表现超过 o1。
John:就是我们昨天刚刚发布的 o1。
Julie:这一点非常重要,因为 o1 mini 比 o1 更小、更快、更便宜。
John:是的,使用 Justin 的数据集,我们将向你展示如何大幅提高 o1 mini 在这项任务上的性能,即给定症状列表,预测哪个基因可能导致遗传疾病。为了概述这个过程,我们将首先查看用于训练模型的数据集和用于评估模型的评分器。然后,我们将在 OpenAI 的训练基础设施上启动一个训练作业。最后,我们将评估生成的微调模型,以便我们可以看到它比我们开始使用的基础模型改进了多少。
John:首先,我们将跳转到 OpenAI 开发平台。然后,我们将创建一个新模型。我们已经进行了一年多的监督微调,现在我们要选择强化微调。我们将训练 o1,所以我们将其选为基础模型。现在我们需要上传一个训练数据集。训练数据集只是 JSON-L 文件,也就是文件中的每一行都是你希望模型在其上进行训练的示例。在这种情况下,Justin 和他的同事们收集了一个包含大约 1,100 个示例的数据集。我们将上传该数据集。为了让我们更好地了解这个数据集是如何工作的以及这个任务是什么,我们将快速放大单个数据点。
John:这就是单个数据点的样子。这里有三个重要的事情。首先是病例报告,这是对患者和患者症状的描述。我们看到患者是一位 51 岁的女性,疾病发作时间未指定,我们有一系列症状,如眶距增宽症、甲状旁腺功能亢进症等。正如 Justin 之前所说,我们还有缺失的症状,这些症状是不存在的。这一点很重要,因为它可以帮助模型排除它可能认为会导致所存在症状的基因。接下来,我们有说明。我相信如果你正在观看此直播训练,你对提示很熟悉。因此,我们在这里所做的只是提示模型我们希望它为此任务做什么。我们所说的是,给定症状列表和病例报告,你能列出所有你认为可能导致你认为存在的遗传疾病的基因吗?然后我们还要求它提供一个解释,说明为什么它认为这些基因可能是致病的。最后,我们还有正确答案。这是我们知道的致病基因。但重要的是,我们在训练过程中不会向模型展示这一点,那将是作弊。但我们在训练过程中内部使用它来对模型的输出进行评分,或者检查模型是否正确。
Julie:这是一个相当艰巨的任务,我绝对没有希望回答这个问题。
John:是的,你可以看出我们已经从仅仅尝试计算“草莓”一词中 R 的数量走了很远。
John:现在,当我们向模型提供这个提示、这个病例报告和这些说明时,模型将输出类似这样的内容,这是一个它认为可能致病的基因列表。重要的是,基因是按顺序列出的,其中列表中的第一个基因是它认为最有可能致病的基因,第二个基因是它认为第二有可能的基因,以此类推。
John:我们将跳回。接下来,我们需要上传一些验证数据。验证数据的格式将与训练数据完全相同。但重要的是,验证数据集和训练数据集之间在正确基因方面没有重叠。这意味着模型不能作弊,或者它不能学会仅仅记住症状列表并将其与基因关联起来。它必须实际上从训练数据集泛化到验证数据集。
Julie:明白了。那么,强化部分体现在哪里?我们谈到了评分,这是这个过程的一部分吗?
John:是的,这是一个非常好的问题。评分是通过我们在这里介绍的评分器这个概念来完成的。评分器非常简单,它的作用是获取模型的输出,获取正确答案,比较它们,并返回一个介于 0 和 1 之间的分数。因此,0 表示模型根本没有得到正确答案,1 表示模型得到了正确答案。你也可以获得部分分数,因此它可以是该范围内的任何值。对于这个特定任务,我们有一个如下所示的评分器:它获取我们碰巧知道的正确答案,获取模型的输出(即基因列表),并产生一个分数。在这种情况下,Foxy 3 是正确答案,它在基因列表中排名第二,因此它的得分为 0.7。
Julie:我明白了。因此,如果它说 Foxy 3 排在第一位,我会得到 1 分?
John:是的,完全正确。然后随着它在列表中越来越靠后,分数逐渐衰减到 0。
Julie:不错,有道理。但是如果我的任务不是对排名列表进行评分怎么办?我们是否有其他更通用的评分器?
John:是的,我们提供了一系列评分器,我们认为它们相当有效地涵盖了你在进行强化微调时可能具有的各种意图,而且我们一直在添加更多评分器。
Julie:是的,最终,我们希望让你定义自己的评分器。
John:是的,也许可以上传一个 Python 文件或进行一些自定义评分。好的。我们已经定义了我们的训练数据集,我们已经分配它来定义我们的验证数据集。让我快速复制评分器。现在 OpenAI 允许你设置——我们允许你通过设置超参数来自定义这些微调运行,但我们设置了一些相当不错的默认值。因此,我将继续单击“创建”。
John:现在,我们所做的就是启动了一个训练作业。非常酷的事情是,你带来了数据集和评分器,这些是你真正拥有领域专业知识并且可以真正为这个问题做出贡献的地方。然后,你可以利用 OpenAI 强化学习算法的全部功能和我们的全分布式模型训练堆栈来为你的用例定制前沿模型。
Julie:因此,作为用户,我只需要带上我的数据集和评分器,OpenAI 会处理其他一切。
John:是的,完全正确。强化微调作业可能需要几个小时到几天的时间才能运行。因此,我们将跳转到我在本周早些时候在相同数据集上运行的一个作业,以便我们可以查看结果。我将跳转到这里。这是我本周早些时候运行的作业,它已成功完成,它为我们生成了一个微调模型。有一件事我想看看,那就是验证奖励分数。这是评分器在验证数据集上的平均分数,以及它在微调运行过程中的变化情况。我们可以看到分数正在上升。正如我们之前所说,由于训练数据集和验证数据集之间在基因方面没有重叠,这意味着模型确实学会了在我们的任务上进行泛化。它不仅仅是记住阿丽莎的症状并将这些症状映射到基因。虽然这很酷,图表向上和向右,这是我们希望看到的,但如果我们能更好地了解模型在微调过程中实际上发生了怎样的变化,那就太好了。因此,我们现在将仔细研究一下。
John:我们将跳转到评估仪表板,这是我们今年早些时候在我们的开发者平台中推出的一个产品。这里有很多数字,但别担心,我们将一一介绍。我在这里设置了三个不同的运行。第一个是针对我们昨天发布的 o1 模型运行的,第二个是针对 o1 mini 运行的,这是我们微调作业的起点。最后是强化微调后的 o1 mini。我们看到奖励向上和向右,但这对这项任务实际上意味着什么?我设置了三个不同的评估来评估这一点。第一个是 top at 1,即正确答案在列表中的第一个项目的频率;top at 5,即正确答案在列表的前五个元素中的频率。最后,top at max,即我们是否将正确答案放在了我们的列表中?
John:看看 top at 1,我们可以看到我们的起点 o1 mini 在我们大约 200 个数据集上获得了 17% 的得分,o1 获得了 25%,所以它做得更好。但我们的微调后的 o1 mini 获得了 31% 的得分。我截了一张图,把它放进 ChatGPT 里,让它给我做一个图表,一个圣诞主题的图表。这是我们之前看到的九个数字的一个很好的可视化。因此,你可以看到我们的起点 o1 mini 在 top at 1、top at 5 和 top at max 上的表现,我们的 o1 模型,以及最后我们表现最好的模型,也就是这里用红色虚线表示的 o1 mini 微调模型。
John:看看这些结果,你怎么看,Justin?
Justin:嗯,我认为这非常令人印象深刻,尤其是验证数据的增加,因为这意味着模型正在学习一些关于如何对这些数据进行推理的一般性知识,这非常令人兴奋。你可能会问的一个显而易见的问题是,与现有的生物信息学工具相比,它的表现如何?我没有一个可以进行同类比较的基准,因为通常在这种实验中,你会提供基因组测序数据,而我们在这里没有包含这些数据。但是,对不完整症状列表进行模型的开放式查询是新的且令人兴奋的,我认为。
John:太棒了。这些是汇总统计数据,但让我们看看实际的模型响应。我将跳转到这个数据选项卡。让我们按通过次数进行筛选。这是我们提供给模型的输入。正如 John 之前所描述的,问题是识别可能导致一组观察到的症状的基因。我们要求模型输出一个字典,其中包含一个解释我为什么选择这些基因的字符串,当然还有基因本身(按排名顺序)。最后,我们还有症状列表。因此,这位患者出现了室管膜下结节、癫痫发作,还有其他一些症状。然后我们运行我们的模型。这是我们的 o1 模型,这是我们微调后的 o1 mini 模型,我们给它提供了输入。现在的输出是我们之前描述的字典。因此,推理:室管膜下结节、癫痫发作、皮质结节的组合表明存在这种复合征,这种复合征通常由这些基因的突变引起。它列出了其他几个潜在的基因。然后它说 TSC2 是最有可能的候选基因。如果我们滚动回我们的答案,我们会发现 TSC2 实际上是正确答案。因此,这使我们能够在 top at 1、top at 5 和 top at max 上都通过。
John:看看这个输出,Justin,这对模型来说是一个有用的输出吗?
Justin:是的,绝对有用。看到模型的推理过程特别有用,这是一个很大的贡献。而且,显然,答案的排名列表也很有用。因此,即使正确答案不是第一个,你也可以查看所有可能性。而且很高兴看到微调提高了可能答案的排名列表的性能,以便正确答案越来越接近 1。所以这很令人欣慰。
Julie:Justin,稍微放大一点。强化学习如何影响你的领域?你能谈谈生物学的一些趋势吗?
Justin:当然。因此,我认为研究界对将这些模型用于此类任务非常感兴趣。因此,对于这个特定的用例,感觉在短期内最好的解决方案可能是现有生物信息学工具和 o1 等模型之间的混合解决方案。因此,我认为,这是在描述这些模型的优势方面取得的巨大进展,以及我们如何使用微调等工具来提高性能。正如我所说,没有真正可比较的基准来比较两者。但这绝对是我们如何使用这些模型来了解疾病的进展。从更广泛的意义上说,这关系到我们如何将这些模型纳入最终将改善这些患者的医疗保健的工作流程中。
Julie:太棒了。谢谢你,Justin。虽然我们刚刚向你展示了强化微调在科学研究中的一个令人兴奋的应用,但这是一项通用技术。我们在生物化学、人工智能安全、法律和医疗保健等领域的数据集中看到了有希望的结果。我们可以想到数百个可以使用此模型的示例或任务,但我们知道你可能还能想到更多。这就是为什么我们今天如此兴奋地扩展我们的 alpha 计划,以使更多人能够在对他们最重要的任务上突破我们 o1 模型的能力边界。
Julie:我们一直与一小群值得信赖的合作伙伴合作,以真正测试强化微调。今天,我们将通过我们称之为强化微调研究计划的项目来扩展 alpha 访问权限。对于目前正在与专家团队一起处理非常复杂的任务并且认为他们可能会从这些任务的人工智能协助中受益的组织来说,该计划非常理想。如果你有兴趣申请这些有限的名额之一,你可以在此直播的描述中找到申请链接。正如 Mark 之前所说,我们计划在明年初公开发布此产品——强化微调。
Julie:我们都非常高兴看到你使用强化微调做什么。作为一名研究人员,没有什么比看到我们的模型被采用并用于推进现实世界的科学知识更让我们高兴的了。
Julie:你今天有笑话要讲吗?
John:嗯,碰巧,我确实有一个。按照惯例,我有一个圣诞主题的笑话。我们住在旧金山,自动驾驶汽车风靡一时。实际上,圣诞老人也一直试图参与其中。他正试图制造一辆自动驾驶雪橇。但出于某种原因,他的模型总是无法识别树木。雪橇撞到了左右两侧的树木。你们猜猜为什么吗?
Julie:不知道。
John:他没有“微调”(pine-tune,与 fine-tune 发音相近,有“松树”的意思)他的模型。
Julie:哦,天哪。好吧。请下周继续关注我们,我们将分享更多内容。谢谢。
OpenAI 12天发布解读已开设专栏OA1 12,关注AI寒武纪,点菜单栏OAI 12 第一时间了解所有信息
⭐
(文:AI寒武纪)