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