写点什么

Learn to Reason _ The way of Baichuan-M1-ClinicReasoning

  • 2025-09-17
    北京
  • 本文字数:11749 字

    阅读完需:约 39 分钟

大小:5.67M时长:33:02
Learn to Reason _ The way of Baichuan-M1-ClinicReasoning

演讲嘉宾|阎栋

编辑 | Kitty

策划 |QCon 全球软件开发大会


自 2024 年 9 月以来,大语言模型在推理方面的展现出了惊人的进展。在代码、数学等结果可以被高效验证的领域,大语言模型已经走出实验室走向实践。医疗领域中的临床推理,要求模型基于强大推理能力,将艰深的医学知识灵活的应用到对病人病情的分析和检验检查结果的解读上,从而最终获得正确的诊断。在 InfoQ 举办的 QCon 全球软件开发大会(北京站)上,前百川智能研究小组负责人阎栋分享了“Learn to Reason : The way of Baichuan-M1-ClinicReasoning”,他从介绍合情推理开始,首先回顾了强化学习视角下的大语言模型训练的各类损失函数,然后以 Deepseek R1 为例,梳理了大语言模型推理技术的发展,并介绍了百川智能研究小组在训练大语言模型进行临床推理方面的实践,最后就「如何继续提升模型能力的可能方向」以及「大语言模型与人类在智能上的差异表现」做了思考和展望。


将于 10 月 23 - 25 召开的 QCon 上海站设计了「AI 搜索技术的深水区」专题,聚焦于 AI 搜索的基础技术、前沿探索、工业界落地等方向,为听众带来一场精彩的技术分享。通过本专题,期望听众能够拓宽技术视野,从实践案例中获得启发,并在自己的业务场景中实现更智能的搜索体验。敬请关注。


以下是演讲实录(经 InfoQ 进行不改变原意的编辑整理)。

推理:真实世界中的合情推理


我曾让 GPT-4 根据一本名为《概论沉思录》的书的开头内容绘制了一幅图。这幅图描绘了一个场景:一位警察在半夜巡逻时,看到一个人戴着头套从珠宝店破窗而出,背上满是珠宝。在这种情况下,警察能否仅凭此情景就判断这个人是贼,是他偷了珠宝呢?在 99% 的情况下,这样的推断可能是正确的。然而,书中提出了另一种可能性:这个人或许就是珠宝店的老板,他参加了一个晚上 8 点的化妆舞会,化妆成贼的模样。当他回来时,发现窗户被大风吹起的石头砸碎,于是为了保护自己的财产,他进去把珠宝拿走了。这种可能性虽小,但并非不存在。这说明在现实生活中,推理时我们往往无法像数学证明那样,通过确凿的演绎推理得出结论。正如麦克斯韦在 1850 年所说:“the true logic for this world is the calculus of probabilities”,即真正的推理大多是基于概率的合理推断,而非演绎推理。


之所以重提这个概念,是因为在如今的大模型领域,我们所做的推理工作本质上没有改变。在 Transformer 架构中,我们依然在做的是预测下一个 token,从 QKV 开始,最终计算出取 vocabulary 中每一项的概率。从条件概率的视角来看,预训练改变了条件概率本身的取值,即给定条件下各个事件发生的概率。而从去年 9 月开始到现在,我们在推理阶段所做的工作,实际上是在改变条件(即如何填充上下文),本质上依然是基于概率的合情推理。


以我们公司的一个案例为例。今年春节前,我们的第一个版本上线后,我们与内蒙古的一家医院进行了交流。他们提供了一个病例:一位 61 岁的男性退休干部,进行了多项检查,症状复杂。我们将这些几百上千字的描述输入我们的小程序,它诊断出了三种较为复杂的疾病,如韦尼克脑病、药物副作用以及代谢性疾病。这个诊断结果甚至比当时巴彦淖尔人民医院主任的诊断还要准确一些,因为主任认为主要诊断是脑梗,而脑梗在众多疑难杂症中,其概率只是整体中的一部分。最终,该患者前往协和医院进行了诊断。虽然协和医院的诊断结果并非绝对标准,但依过往经验来看是我们能获得的最接近真正答案的诊断。百川的 clinic reasoning 诊断出了三种可能的疾病,覆盖了协和医院四种可能性的 75%。这也说明了,即使有众多证据摆在面前,在面对复杂推理的情况时,我们无法确诊或确定某个结论,只能做出合理的推断。

序章:强化学习视角下的大语言模型训练


我是从事强化学习研究的。接触大语言模型训练是在加入百川之后的工作内容。因此,我想从强化学习的视角为大家梳理一下整个 LLM 模型训练的过程。我们不会深入到过于琐碎的细节,而是着重从损失函数的角度,快速串联起整个技术脉络,让大家对 LLM 模型训练有一个初步的认识。


从强化学习的视角来看,Pre train 阶段和 SFT 阶段本质上属于模仿学习。为什么这么说呢?我们可以看一下相关的公式。LLM 模型是针对句子进行处理的,当有了前面的 token(s1、s2……s_n)之后,模型如何计算下一个 token 的概率呢?实际上,这是一个条件概率问题。在预训练阶段,模型通过预测下一个 token,其损失函数的目标就是尽量减小模型当前生成的下一个 token 的概率与实际训练语料库中下一个 token 的概率之间的差异。简单来说,就是模型通过学习语料库中的表达方式,像鹦鹉学舌一样模仿其语言风格。监督微调阶段也是如此,其损失函数与预训练阶段完全一致,唯一的区别在于 SFT 阶段会对提示(prompt)进行掩蔽,因此在这个阶段,我们将其称为模仿学习。


接下来是 RLHF 阶段,这属于偏好学习。在目前流行的三阶段训练流程中,RLHF 部分首先需要进行奖励模型训练。奖励模型训练的第一步是数据标注。具体来说,我们有输入 x(即 prompt),以及两种不同的响应 a1 和 a2。我们先由人类专家判断 a1 和 a2 哪个更好,建立一个偏序关系。然后,我们从这个偏序关系出发,训练奖励模型。具体来说,损失函数是要尽量拉大 a1 和 a2 的分差。因为我们认为 a1 比 a2 好,所以希望奖励模型给 a1 更高的分数,给 a2 更低的分数,从而最大化两者之间的分差。如果成功训练了奖励模型,那么在 PPO 阶段,我们的目标就是尽量最大化模型获得的分数,因为分数越高,代表生成好的回答的概率越大。


实际上,RLHF 本身并不是一个货架产品,它的训练包含大量需要调试的细节。整个社区在复现 RLHF 从而追赶 OpenAI 的过程中遇到了诸多困难。于是,大家开始寻找更容易实现的方法。从我的视角来看,这些方法就是所谓的示范学习。也就是说,直接给出一个偏好示例,而不是让模型从头开始学习。因为如果直接给出偏好,模型很难学到如何去做。但如果给出一些示例,模型就可以模仿这些示例进行学习,而不需要逐个 token 地学习。示范学习的代表就是 Direct Preference Optimization(DPO)。一开始,大家的想法很简单,就是拒绝采样。因为大家都知道大语言模型生成的回答具有随机性,所以我们可以每次采样 16 个回答,挑选出其中最好的回答,直接用 SFT 的方式对模型进行训练。这样,模型的水平就会从最低值稳定地向“16 个钟最好的那个”靠拢。然而,这种方法也带来了第一个问题,即只能学好,不能学坏。也就是说,你只能说这个回答很好,从而强化这个回答的概率,但无法直接降低差回答的概率,比如各种涉黄、涉政等不良回答。拒绝采样无法解决这个问题,它只能提升好回答的概率,把其他概率寄希望于均摊开。DPO 解决了这个问题。DPO 的损失函数中,a+ 部分代表好的响应,a- 部分代表坏的响应,与前面的奖励模型非常相似。DPO 的核心思想是提升好的回答 a+ 的概率,同时减小坏的回答 a- 的概率。


因为 DPO 所使用示例回答与模型自己产生的回答天然不同,所以应用 DPO 有一个前置条件,即在开始训练之前,必须先进行一次 SFT,用其 a+ 部分先对模型进行预热,将模型能够生成的响应分布与示范响应分布拉近。而在线 DPO(online DPO)就是不断重复这个拉近的过程。它希望将整个 DPO 过程从版本零开始,从版本零到版本一,再到版本二,随着数据的产生,标注也相应发生变化,从而实现在线更新。


后来,大家发现 DPO 中存在一些不足之处。由于 DPO 比较容易调整和改进,所以出现了许多变体,如 IPO、序列似然优化等。其中最值得一提的是 Reinforced Token Optimization(RTO)。它解决了 SFT 和 RLHF 之间最后一个重大差距。我们再回顾一下这三个重大差距:第一,只能学好不能学坏,DPO 解决了这个问题;第二,online DPO 解决了响应分布之间的差距;最后一个差距是,SFT 的损失函数是基于响应级别的。因为在数据标注时,标注人员只能告诉模型 a1 比 a2 好,但无法具体到 a1 中哪个 token 好、哪个 token 坏。然而,在解决复杂任务时,比如一道有 15 个步骤的数学题,可能只有第二、三个步骤是错的,其余的都是对的。如果只是简单地标注一个好一个坏,训练效率会比较低。RTO 解决了这个问题。它非常细致,h 表示 horizon,即在整个响应中,如果有 100 个 token 组成,h 就等于 100。RTO 会对每一个 token 进行评估,判断其好坏。


当这三个部分都完成后,我们最终从 SFT 开始,整个技术脉络走向了 RTO,最终走向了 PPO。从强化学习的视角来看,我们可以将其分为三个阶段:模仿学习、示范学习和偏好学习。虽然整个技术路线的发展脉络是这样的,但它们出现的时间顺序却有所不同。首先是模仿学习,然后是偏好学习,因为 OpenAI 率先提出了这个范式。而示范学习则是由于社区中没有那么多天才和计算资源,但大家仍然需要进行调优,所以才逐渐发展起来的。


从 2022 年 11 月底到 2024 年年初,国内的大语言模型从业者逐渐跑通了整个过程。在 2024 年年初,我们基本调通并稳定了整个流程。在 2023 年年底,我们进行了一系列实验。在这些实验中,每个主分支代表了奖励模型的一个版本变化,每个从分支的分叉代表了一个 PPO 超参数调试的变化。我们总共进行了大约 300 到 500 个消融研究(ablation study),以确定整个训练过程中的超参数,如学习率、Critic 预热、Critic 窗口等。这些实验总计花费了大概两三千万元的等值算力,最终获得了比较稳定的训练框架。


使用大模型进行创作,我印象比较深刻的一个案例是关于蔡国强老师的。蔡国强老师是我国乃至世界上最好的烟花艺术家之一。他在去年访问了我们百川之后,我们直接用我们的百川来描述蔡国强老师对当代世界艺术的贡献。我们使用搜索功能获取了蔡国强老师的生平信息,然后希望为他写一首诗。这首诗的开头四个字“火药丹青”写得非常好。我特意在古诗词库中搜索了一下,这四个字在中国文学史上从未出现过。这四个字完美地描述了蔡老师的事业,即他用火药进行绘画创作。通过强化学习对模型进行训练后,模型自己的作品在宋词的历史上留下自己的印记。


我直接让它参考毛主席的《贺新郎·读史》,然后让它写一首宋词。结果它写出了“《贺新郎•上线成功》:代码如相揖。只数行宇符流转,编程时节。虛拟空间翻波浪,为问何时突破?不过几番昼夜。梦想难逢真实现,闯江湖彼此争锋锐。拼尽了,心血泪。一系统成头飞雪,但记得点点滴滴,几多痕迹。二进制中藏奥秘,骗了无边目光。有多少英才俊杰?李彦宏们流芳后,更马云奋起挥金戟。歌未尽,曙光现。”有趣的是,我在提示中并没有提及任何互联网或互联网大佬的提示,但“上线”这两个字只有在互联网语境下才是一个高频词汇,所以模型自动联想到了这个。这是我们在训练过程中发现的一个非常有趣的现象,即 RLHF 过程有能力将模型在预训练阶段已经具备的知识激发出来,使其成为一种可使用的能力。


我们回到 DPO。在没有 OpenAI 那样的财力和人才的情况下,大家都非常喜欢 DPO 算法。但实际上,DPO 算法只解决了从 SFT 到强化的三个重要挑战中的第一个。后面两个挑战它并没有很好地解决。我们在文章中仔细分析了 DPO。虽然 DPO 确实可以将差的回答的概率压下去,但它的问题是压得太快了,很快就会将差的回答的概率压成 0,然后将其均摊到其他所有的 token 中。因此,如果大家在 DPO 上进行过实践,会发现 DPO 其实很不稳定,很容易训练崩溃。只要稍微调整一下,它就会崩溃。

脉络:大语言模型的推理技术的发展,以 Deepseek R1 为例


从去年到现在,我们把这段时间内发生的一系列事情称为“DeepSeek 狂潮”。DeepSeek 给国内包括我们在内的“六小龙”以及巨头都带来了巨大的冲击,甚至连 OpenAI 也受到了影响。在这里,我回顾了 DeepSeek 在 2024 年期间发表的大约 15 篇文章。这些文章主要涉及高效架构、注意力优化、强化学习、动态训练优化等多个方向。


2024 年 1 月 5 日,DeepSeek 发布了 DeepSeek v1。在这篇文章中,DeepSeek 明确表示他们只进行了 SFT 和 DPO,并没有进行强化学习。当时我们看到这篇文章后,觉得 DeepSeek 的在 RLHF 上的认知是落后于百川的,他们似乎还没有调通。而我们内部的 RLHF 框架在那时已经基本调通,一旦调通之后,PPO 几乎在任何情况下都比 DPO 要好。因此,DeepSeek 的这篇文章并没有引起我们的重视,我们当时觉得他们的工作并不出色,没有什么值得特别关注的地方。


到了 2024 年 1 月 26 日,我们仍然没有把 Deepseek 当做是一个强劲的竞争对手。但当我们今天回头来看时,从这篇文章开始,DeepSeek 走上了与“六小龙”以及所有大厂不同的道路,至少与国内的大厂不同。他们敢于把预训练语料中源代码的占比提高到 87%,剩下的 10% 是与代码相关的文本,如 Stack Overflow 等,只有 3% 是正常的语料。与此同时,据我所知,国内其他“六小龙”的主体仍然是自然语料,如因特网上的各种网页 ,以及专利、PDF 书籍等,其中代码的占比应该不超过 5%。我们不敢冒这样的险,不敢剑走偏锋去尝试这样的方法。但在 2024 年 1 月,尽管 DeepSeek 当时做得也不怎么样,但他们敢于走出一条少有人走的路,这是他们成功的第一步。


有了代码模型之后,去做数学相关的事情就变得非常自然。在 2024 年 4 月 27 日的 DeepSeek Math 这篇文章中,他们首次提出了 GRPO。从强化学习社区的研究者角度来看,这并没有什么了不起的,因为它只是 PPO 的众多变种中并不起眼的一个。原因在于 GRPO 付出了一些代价,它移除了 Critic 模型。我们回顾一下刚才提到的从 SFT 到 PPO 的三个重大挑战中的最后一个挑战,即如何将奖励从响应级别变为 token 级别,这个功能的具体实现是由 PPO 中的 Critic 模型完成的。然而,GRPO 移除了这个模型之后,它每次必须 sample 多个响应并计算他们的 advantage,然后对其进行求和,减去均值后再除以标准差来估算每个响应的 advantage 是多少。即使经过这样的估算,你得到的仍然是响应级别的优势。因此,在这种情况下,移除 critic 模型导致了训练效率的下降。这是我们当时认为 GRPO 不过是一个蹩脚的 PPO 变种的最重要原因。


但我们没有料到的是,也许在 DeepSeek 之外的其他公司,比如我们百川,如果使用这种方法的话,将是得不偿失的,因为我们没有在推理 Infra 上进行大量的优化。然而,DeepSeek 内部对推理 Infra 的优化做得非常好,使得他们在 GRPO 的采样过程中,推理耗时进行了大量优化之后,把这个成本压了下去。压下去之后,他们就不需要再训练 Critic 模型了,从而减少了训练 + 推理的整体时间。而这种做法的基础在其他公司是不存在的。因此,今天回过头来看,GRPO 的成功是有道理的,因为 DeepSeek 内部很好地完成了基础设施团队与算法团队的整合,所以只有他们才能拿到这个优势,而我们拿不到。


然后是第二个重大更新,在 DeepSeek v2 里面,今天被大家津津乐道的基本上所有 DeepSeek 在基础设施上的优化都已经完成,比如多缓存注意力(Multi-cache Attention)等。DeepSeek 用一个 236B 的模型就达到了一个比较好的效果,这些技术基本上在 v2 时候就已经准备好了。后面只是说他们把模型大小从 236B 扩展到 671B 之后带来的量变引起质变的效果。接着就是 DeepSeek Code v2,这时候我们可以看到 Code v2 里面的预训练语料发生了变化,源代码部分减小到了 60%,然后加入了 10% 的数学内容以及 30% 的自然语言语料。这代表什么呢?今天我们回过头来看,实际上是在说 DeepSeek 对预训练有了自己的见解,不需要那么激进地去把预训练语料的比例全放到代码上。Code v2 不仅具备写代码的能力,而且具备一定的与人类交互对话的能力,这个能力使得他后面可以很好地去做这些事情。


到 2024 年 8 月 15 号时候,正好他们放出来这个 DeepSeek Cover 的 1.5 的东西,然后我就仔细的看了一下这篇文章,这篇文章写的仍然不是特别好,里面有不少 Typo。而且它的主要性能提升来自于 SFT 而非强化,强化只有 25% 的性能提升。所以从这个时间来看的话,我们仍然觉得 DeepSeek 在这个时期,我当时判断是关于强化方面,所有 DeepSeek 知道的东西我们都知道,然后我们还知道很多他们不知道的。而且这个工作是一个回应式的工作,因为这个回应是 DeepMind 在 7 月 25 号的时候放了一个已经达到了奥林匹克银牌水平的工作,而 DeepSeek 这个工作大概是半个月之后的,我们可以看出来,因为大家都在公司里呆着,身上都压着 KPI,我当时就把这理解成一个 KPI 的应激行动,因为他们的效果远远落后于 DeepMind 的结果,如果他们这个时候再不放一个这样的文章出来的话,他们后面等于这小组这些工作,整个半年多一年的工作就白干了,所以他们就很急匆匆地把这个东西放出来。


V3 出来后的事情大家就基本上都知道了,到这个 r1 出来,整个性能曲线拉起来,就毋庸多言了。然后那从这个时候开始我们就在复盘,为什么我们在这个历史上没有做好这件事情?其实我们在 2024 年 1 月份的时候,当时 DeepSeek 那边跑 SFT 跟跑 DPO 跑得比较猛的时候,我们其实强化已经基本上跑通了,而且我们在诗词这件事情上面,其实在这个时候我们已经见到了一次性能上的质的飞跃,而且我们内部对这个飞跃也非常重视,因为我们把模型写宋词的可用性从 3% 拉到了 80%。我们觉得这件事非常有意思,然后我们就在内部提了一个口号,说我们要把强化学习的步数拉到 10 万去,因为当时宋词这个部分拉了总共三个版本,每个版本 800 个 step,大概在 2400 个左右可用性基本已经到头了。所以我们说那是不是以后在另外的一些更困难的领域,如果我们能够把它拉到一万步,是不是会有一些更有意思的结果出现?我们在内部这个指标已经提出来了,但是这个出于公司竞争方面的考虑,很快我们就去打榜了,跟其他的“六小龙”的这些小公司各种榜上面比拼,去搞那些今天看起来可能不是那么本质的东西,当时来说还是觉得打榜更重要,就把把强化学习拉到一万步这件事放下去了。


为什么我们没有做到这件事呢?有好几个关键的因素。一个是我们当时的模型已经非常强了,我们这个模型当时已经接近 200B 了,在 Benchmark 效果非常好,所以小模型增长的很多 trick 被我们忽略掉了。但从另外一个方面去讲的话,我们的模型不够强,为了打榜导致它的可塑性很差。今天已经有很多实验在说了 MoE 的整套 DeepSeek 这些在 V3 上面做的这些效果,DeepSeek 的基座模型拥有如此之强的泛化性是有决定性意义的。


2024 年 1 月份我们试图把 RLHF 的训练步数拉到一万的时候,起点不是 Pre-Train model,而是 SFT model,因为我们是为了达到百川内部的上线标准,一上线之后就要给终端的用户去用,所以我们没有去做 DeepSeek v1 Zero 这样的工作,因为你无法忍受它的中间的过程是不可读、不可理解的,这个你不能给用户去用的,所以我们虽然想过从 Pre Train 开始也做了一些实验,但是发现其实效果差不多,没有拉那么大的资源上去,没有敢拉 8000 个 step。再就是因为当时是为了上线,始终没有敢把奖励模型抛掉,只有在诗词训练中敢把奖励模型抛掉,去做基于规则的方法。但是一旦回到文本创作,信息处理这些没有办法写一个规则系统的去打分的领域,就不能抛掉奖励模型,那么始终需要面临奖励模型 Hacking 的问题。


当时的实验也没有把数学单独拎出来,而是跟通用混在一起。还有一点是数学性能拉起来时候其实重复了很多遍,比如说 11 个 epoch 过 15 遍。这就就相当于同一道题,学 15 遍。但是当时我们为了上线其实选了非常多的中小学的题库,因为有大量的大模型的用户,就是中小学的学生他来做题,你这个时候甚至你不用去拉出来什么很好的能力,只要能把这个题帮他做对的,就他就觉得很好,他就过来用你的模型。

临床:医疗的内生复杂性,推理能力 + 领域知识的临床推理范式


在百川涉及医疗领域的工作中,我们有了一些初步的思考。我们认识到,数学推理、通用推理与医学推理在本质上存在显著差异。这种差异主要体现在推理范式上。我们认为,推理能力需要结合领域知识,但推理范式并非仅仅是两者的简单结合。在现有的技术条件下,推理范式难以在不同领域之间实现低成本的迁移。这一结论是在 2024 年九、十月份得出的。当时,我们对内部各种规模的模型进行了全面测试,并且也研究了外部开源的模型。由于当时市场上缺乏出色的 MoE 模型,我们才得出了这样的判断。随着 DeepSeek 的出现,这一结论实际上已经被推翻了。当 MoE 模型做得足够好,且规模达到 600B 以上时,模型确实能够实现泛化。当然,大家可能还记得,2024 年 11 月时,许多友商推出了他们的模型,但我们在内部评估中发现,这些模型的泛化性并不理想。


当患者就医时,从医生的角度来看,他们会将患者的信息分为几个部分。首先是患者的主诉,即患者感到最痛苦、最不舒服的地方,这是患者就医的主要原因。医生还会考虑患者的既往病史、家族史、个人史、婚育史等。基于医生的思维方式,我们对患者的信息进行了聚类和因果分析,然而实际效果并不理想。因此,我们回过头来研究具体的病例。举个例子,张某的主诉是关节痛,经过一系列检查后,发现这是一个疑难杂症。患者已经为此困扰了两年,多次就医却未能确诊。在这个过程中,医生对整个诊断过程进行了三阶段提炼。最初,医生分析病例时认为患者最有可能患的是系统性红斑狼疮。但一项名为抗 u1RP 的辅助检查呈阳性,这一结果直接排除了系统性红斑狼疮的可能性,而混合性结缔组织病这种较为罕见的疾病的发病概率立刻上升到第一位。随后,医生又进行了一系列检查。整个诊断过程非常像侦探破案,医生需要关注那些最关键的线索,并将这些线索串联起来,最终确定患者的疾病。


从医生的角度来看,大模型在进行临床推理时究竟在做什么呢?我们观察到,在医疗推理中,某些行动会导致概率急剧上升。例如,提问“世界上第二高峰是谁”时,正确答案是乔戈里峰,而不是珠穆朗玛峰。然而,一旦说出“珠穆朗玛”的“珠”字,接下来“穆朗玛峰”这几个字的概率几乎达到 100%,模型很难反思纠正自己。我们将这种熵急剧下降 token 的前一个 token 定义为 Vital Point(穆之前的珠字),并对其进行了可视化。但这种定义仅限于 token 级别。后来,我们发现有其他学者发表了很好的文章,将 token 级别扩展到语义级别,并进行了进一步的聚类。因此,在整个诊断过程中,我们使用 Vital Point 来定义 COT 的结构。如果大家看过 r1 的论文,会发现 r1 论文提出类似了一个概念,即 Reasoning Pattern(推理模式)。


有了 Vital Point 和模型生成的初始响应之后,该如何生成数据呢?我们定义了一个三阶干预策略,包括重采样、引导注意力和直接具体化。首先是重采样,因为大模型本身具有一定的随机性,例如,每次模型出现错误时,我们给予它三次机会重新生成。如果它能够自己生成正确的答案,我们就不会对其进行干预。其次是引导注意力,我们会给它一些提示。例如,在一个病例中,患者提到腰部及腹部疼痛,左大腿、右大腿和躯干疼痛。在这种情况下,膀胱破裂的可能性更大,我们就会在上下文中插入“请注意这些症状”。这就是我们的二阶干预,即提醒模型注意侦探破案中最重要的线索是什么,希望它自己能够得出结论。这一干预措施的效果比前面的重采样要好得多,大约有 30% 到 40% 的概率能够纠正模型的错误。但仍然有一些部分无法纠正。在这种情况下,我们只能直接干预。尽管我们给模型提示,但它仍然倾向于诊断为尿道断裂。这时,我们直接告诉它,不是尿道断裂,而是膀胱破裂。这里有一个有趣的观察:一旦模型说出了“尿道断裂”这四个字,它以后就很难再纠正过来。现在有很多人说 Reflection(反思)是有效的,但实际上大家可以自己体验一下,无论你们使用 o3 还是 r1,模型基本没有反思。因为反思效果并不明显,真正有效的是 Planning(规划)。


最终,我们的模型大概达到了三甲医院主治医生的水平,但与协和等顶尖医院相比,仍存在较大差距。我们的儿科医生模型也做得不错。有兴趣的朋友可以搜索小程序《百方医生》,其中的专家模式是由我们团队开发的临床推理模型。

展望


大语言模型不是一个典型的互联网产品,它的训练需要强大的资金支持。你需要一个 GPU 集群来完成这些复杂的计算任务。要么像阿里巴巴本身就为这类项目提供了大量的资金支持;要么像梁文峰那样,拥有幻方量化这样的资金后盾,能够持续不断地提供资金。对于我们这样的小公司来说,就不得不面对外部的竞争压力,无法进行长期的探索。因为目标对象也发生了巨大的变化。


过去,软件公司的主要产出是代码,工程师讨论的焦点是如何编写代码、如何写出高质量的代码以及如何避免代码中的错误。然而,如今在大模型调优的过程中,工作对象根本不是代码,你编写的代码量很少。你的调整对象是权重(weights),而权重本身的训练与编写代码不同。我以前在大学时参加 ACM 竞赛,我们甚至不用计算机,直接在纸上编写代码,然后拿着纸上的代码去提交。因为我非常清楚地知道,我编写的代码运行后的结果是什么。然而,今天谁敢说自己训练一个模型,无论是大模型还是小模型,训练完成后它会是什么结果?你根本无法预测。大模型训练就像炼钢一样,在出炉之前,你根本不知道这炉钢是否会成功,只能依赖一些经验公式。


在大模型时代,如果你的计算资源不足,你很难触及真正的问题。这里举个例子,Google 的两位创始人 Larry 和 Sergey 在车库中写下 Google 第一行代码。车库中写的代码与 Google 总部中写的代码,两者的运行结果不会有丝毫差异。再一个例子,如果你想制造一架能以 5 马赫速度飞行的飞机,你必须建造 5 马赫的风洞,否则你根本无法了解实际情况。只进行过 1 马赫的风洞试验,你根本无法制造出高速飞机。这就是说,虽然代码是相同的,但如果你没有在如此大规模的集群、运行大的模型,你的代码表现的效果是完全不同的。因此,在许多情况下,小模型根本无法触及真正的问题。


2023 年,极客公园采访杨植麟时,他说 AGI 时代最重要的是场景的摩尔定律。然而,到了 2025 年 1 月 17 日,闫俊杰的在采访中的一个说法是:更好的模型会带来更多的用户,但更多的用户并不一定会带来更好的模型。这似乎暗示了一点,即更多的用户似乎意味着你的场景更多了,模型的水平会提高吗?并不会。如今,ChatGPT 的日活跃用户是 Claude 的 50 到 100 倍,但他们的模型水平却差不多。这与互联网时代的情况不同。如果你是抖音,拥有 10 亿用户,与一个只有 1000 万用户的小平台相比,你能想象两者是一致的吗?不可能的,推荐系统一定会存在很大差距。然而,今天我们看到 Claude 3.7,甚至比 OpenAI 最好的模型还要厉害。


我们回顾一下柏拉图著名的“洞穴隐喻”。柏拉图认为,作为人类,我们并没有真正观察到世界的本源。外面世界的本源阳光太过刺眼,我们没有能力去观察到世界的本源。我们对世界的观察仅限于一面墙背后的流动的木马投影在世界上的这些影子。柏拉图非常天才地在 2000 多年前就提出了这个观点,它背后其实有非常深厚的生物学证据。这里列出了一种生物——皮皮虾。皮皮虾的眼睛里有 20 多个光锥,而我们人类只有三个光锥。皮皮虾能看到 20 多种原色。也就是说,即使我们最强的感官——眼睛,与其他生物相比也有很大的差距。就好比我们看到的只不过是黑白影像,而皮皮虾看到的才是外面真实的世界,因为我们没有长着它们那样的眼睛。


为什么要提到这个呢?是因为去年我最喜欢的一篇文章,名为 The Platonic Representation Hypothesis。这篇文章认为大模型就像皮皮虾,我们人类看到的东西比它少。这篇文章指出,大模型可以同意图像和文本这两个模态。文章中还有许多非常有趣的实验,最终得出的结论是:大模型比人类更接近柏拉图所描述的那个彼岸世界。这个结论其实非常惊人,因为这意味着大模型可能比你更聪明。那么,当一个比你更聪明的智能体告诉你如何解决当今人类面临的重大问题时,你敢不敢相信它呢?


我们再举一个例子。洪武八年,刚刚经历了元末的战乱,朱元璋想进行很多基础设施建设,但他面临一个两难的境地:如果他去收税,下面的人会受不了;如果不收税,他就无法完成这些基础设施建设。于是,有人告诉他可以发行大明通行宝钞,这样既不用收税,又有钱可以做这些事情。当时是洪武八年,200 多年后《国富论》才发表。在明初,整个精英集团,人类最顶级的水平,没有人知道任何现代经济学的原理。他们认为发行宝钞这件事没有任何问题,凭空变出了钱。然而,这实际上引起了巨大的通货膨胀,明朝财政在初期就差点崩溃。但幸运的是,西班牙人发现了白银,然后白银大量流入中国,重塑了国家的运行机制,挽救了大明。这是一个非常有趣的历史事件。但今天,我们回顾一下,如果今天我们面临贸易战,然后我们训练出了一个聪明的大模型,它告诉我们有一个办法可以解决这些问题,你敢不敢用?因为解释这些操作底层机理的理论可能 200 年后才会出现。所以这是一个非常现实的威胁。


嘉宾介绍


阎栋,前百川智能研究小组负责人。博士毕业于清华大学计算机系。主要从事决策算法 / 系统和大语言模型对齐 / 推理方面的研究。在 ICLR、ICML、IJCAI、AAAI、JMLR、Pattern Recognition 等会议 / 期刊发表论文数十篇。带领团队基于 RLHF 增强的大语言模型 Baichuan3,在 2024 年 4 月份的 Superclue 评测中荣获国内第一。开发的深度诊断模型 Baichuan-M1-ClinicReasoning,已上线百小应 APP 和百方医生小程序。以小于 Deepseek R1 一个数量级的模型大小,在临床推理场景下达到与 R1 相当的性能。


2025-09-17 20:3030

评论

发布
暂无评论

深度解析Java程序员从入行到被裁全过程

Java全栈架构师

程序人生 后端 架构师 java程序员 java面试

瓴羊Quick BI新增多项可视化分析的模块,为数据驱动决策带来更多可能

流量猫猫头

第十一届“创业江苏”科技创业大赛正式启动

科兴未来News

FreeRTOS使用 — 合理使用内存 “ 任务中创建任务 ”

矜辰所致

内存管理 FreeRTOS 任务创建 6 月 优质更文活动

tidb变更大小写敏感问题的总结

TiDB 社区干货传送门

集群管理 故障排查/诊断

v7.1 LTS Resource Control 试用

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

MobPush 消息重弹

MobTech袤博科技

海外直播源码技术文字聊天功能的配置

山东布谷科技

软件开发、 区块链二维码溯源系统开发 源码搭建 直播源码 海外直播源码

软件测试/测试开发丨Allure2报告中添加附件-html、视频

测试人

程序员 软件测试 自动化测试 测试开发 Allure

定时任务原理方案综述 | 京东云技术团队

京东科技开发者

定时任务 线程 中间件 分布式定时任务 企业号 6 月 PK 榜

SAP ABAP SM50 事务码的另类用途 - ABAP工作进程对数据库表读取操作的检测

汪子熙

SAP abap Netweaver 思爱普 6 月 优质更文活动

企业级低代码平台:企业IT部门的得力助手

优秀

低代码 快速开发 企业级低代码

软件测试/测试开发丨Allure2报告中添加附件-日志

测试人

程序员 软件测试 测试开发 Allure

文件管理开发指南全新登场,快来了解如何访问各类文件

HarmonyOS开发者

HarmonyOS

# 文盘Rust -- tokio绑定cpu实践

TiDB 社区干货传送门

开发语言

v7.1.0 Resource Control 功能测试

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

活动预告|6月15 日 Apache Paimon Meetup,深入解读 Apache Paimon 0.4.0 !

Apache Flink

大数据 flink 社区活动

对线面试官-为什么要使用MQ

派大星

Java 面试题

全球LED租赁屏市场

Dylan

LED 市场 规模化 全球 技术指南

【架构设计】【问题分析】记一次调用内部es服务超时问题

如果晴天

架构设计 问题定位 问题分析 日志平台 失败策略

想给业务松松绑,又怕数据泄漏隐患? 动态脱敏了解一下!

极盾科技

数据安全

科兴未来|第四届中国·盐城创新创业大赛

科兴未来News

为什么 Serverless 能提升资源利用率?

阿里巴巴云原生

阿里云 Serverless 云原生

【TiDB Future App Hackathon 2023 】TiDB 首届全球黑客马拉松,开发者的狂欢夏日盛会!快来一起 Coding 吧!

TiDB 社区干货传送门

FinClip | 来看看5月的成绩单吧

FinClip

5分钟了解Kubernetes Ingress和Gateway API

俞凡

架构 云原生 网络

华秋干货铺 | HDMI接口需注意的PCB可制造性设计问题

华秋电子

见“芯”知著,浅析北斗芯片关键技术

江湖老铁

专访泛境科技:如何借助3DCAT实时云渲染打造元宇宙解决方案

3DCAT实时渲染

元宇宙 元宇宙解决方案 元宇宙实时云渲染

Testng和Junit5多线程并发测试对比

javalover123

Java 单元测试 JUnit testNG junit5

图数据库在通信行业有哪些应用?

悦数图数据库

Learn to Reason _ The way of Baichuan-M1-ClinicReasoning_AI&大模型_Kitty_InfoQ精选文章