作者 & 采访 | 王启隆 Eric Wang
出品丨GOSIM 开源创新汇
2021 年 1 月,当 OpenAI 的 DALL-E 模型用一串文本便能生成“精彩绝伦的图像”时,整个科技界为之震动。
然而,在这片赞叹声中,一种更复杂的情绪正在一群科学家、工程师和爱好者心中悄然发酵——那是一种混杂着敬畏与深刻挫败感的“绝望”。
,一位拥有近三十年行业经验的资深工程师,他负责构建和维护 LAION 赖以生存的技术基础设施。此前,我们在 Open AGI Forum 也和他进行过对话。
Robert Kaczmarczyk,一位医生和流行病学研究者,他为项目注入了宝贵的伦理视角和社会责任感。
还有 、 这样的深度学习专家,以及像 一样充满热情的程序员……
LAION 的诞生源于对“黑箱”的绝望
从神经科学到“苦涩的教训”
大脑无疑是这方面的高手。我之所以对神经科学感兴趣,就是因为大脑是一个活生生的、已经成功实现了学习的系统。我当时的研究方向,就是理解大脑神经回路里的学习机制和可塑性是如何相互配合的。
但在某个阶段我意识到,如果能把这个问题再往上抽象一层,进入核心的机器学习领域,剥离掉生物学那些错综复杂的细节,或许能取得更快的进展。生物系统太复杂了,一部分复杂性可能跟信息处理有关,但另一大部分可能只是为了维持生命体征,和学习关系不大。要把这些东西完全理清楚,需要极长的时间,我感觉凭我一己之力很难搞定。所以,我选择了一条更简洁的路,尝试在更纯粹、更抽象的层面上理解学习。
后来,整个领域都发生了变化。我们当时研究的一些相当简单的方法,比如所谓的“赢者通吃”式电路(Winner-take-all-like circuits),人们发现只要把它们层层叠加、不断扩大规模,就能产生强大的学习系统。我也很自然地转向了深度学习,这个方向正是在我博士快毕业、思考未来的时候兴起的。
那段时间,我仍然做了一些偏生物学的研究,比如大脑基底节里由多巴胺调节的、基于奖励的学习机制。但与此同时,我的重心越来越偏向经典的计算机视觉和机器学习,最终来到了于利希超级计算中心。这里有大型计算机,为我提供了绝佳的“土壤”,让我能用更大规模的数据集,去“喂养”那些结构更简单但规模远超以往的网络。这很自然地,就把我引向了“基础模型”这个新兴领域,我把它们看作是“可迁移学习”的最终产物。
我一直以来的核心兴趣点从未改变:要实现真正意义上的“学习”——那种能够迁移到各种不同场景和任务中的学习——到底需要什么条件?基础模型,是第一批向我们展示了这条路该如何走的产物。所以,我开始一头扎进去,试图弄清楚它们为什么能成功,它们依然存在哪些重大的开放性问题和弱点,以及它们的泛化能力究竟能达到什么程度——因为我们已经看到,它们的泛化能力,远没有我们想象中那么强大。
一个明确的变化是,大家开始明白,要构建一个好的数据集,就必须让它的数据分布尽可能通用,并且在收集时,要尽可能少地加入人为的先验知识和偏好。于是,“网络规模”的数据集应运而生。你只需要尽可能多地从网上抓取数据,数据本身的多样性就足够了,你根本不需要过多地去预设什么是“好”数据。因为事后证明,人类在判断什么样的数据对算法(甚至是对人类自己)学习有益或有害这方面,其实做得很糟糕。
在算法层面,也发生了类似的变化。人们开始理解,算法的“可扩展性”和“通用性”才是王道。这很像强化学习之父理查德·萨顿提出的“苦涩的教训”(The Bitter Lesson)的精神:如果你能让一个程序,在“投入的计算资源越多,效果就越好”这个维度上持续扩展,那你就走在正确的路上了。
你不需要为解决某个特定问题去费尽心思地设计精巧的规则,而是应该去思考最通用的学习范式,让它能处理任何你投喂给它的数据。
大家也明白了“简单”的重要性——但实现这种简单,本身却很难。最终胜出的,并非最简单的东西,而是那个最具有可扩展性的、简单的东西。你必须同时追求数据集和算法两方面的可扩展性。你会发现,即使是像多层感知器(MLP)这样简单的结构,它也是可扩展的。但如果你去推导它的扩展定律,就会发现它的扩展效率远不如 Transformer 架构。
Transformer 本身仍然是一个相对简单的架构,但它就是比 MLP 更具可扩展性。你必须找到这种精妙的平衡点:既要保持核心机制的简单,又要让它具备极强的可扩展性和通用性。正是数据集和算法层面上的这两个关键转变,才让我们能够创造出今天这些在可迁移学习上如此成功的模型。
这实际上是回归了最标准的科学方法。如果我们想研究一个领域里最重要的现象——而“可迁移学习”以及作为其产物的“基础模型”,无疑是当下最重要的现象之一——那么相关的工具和材料就必须对所有人开放。只有这样,我们才能更快地取得进展,并且是以一种经过反复验证的方式,而不是像现在这样,某个公司发布一个模型,冒出来一些神奇的说法,但谁也无法验证真伪,只能花上一年半载的时间,靠着各种流言蜚语和坊间传闻去猜测真相。
所以,对我们这些来自研究领域的人来说,最主要的催化剂,就是创造一个能进行真正科学研究的环境。我想,其他更多来自产业界的朋友,他们更担心的可能是另一件事:如果只有少数几家公司垄断了这些关键的“构建模块”,那行业的其他所有参与者,就只能被动地等待那一两个巨头下一次发布点什么,然后眼巴巴地用别人给的东西,甚至连这东西是怎么来的都不知道。
对他们来说,消除这种产业格局中的权力集中,是更紧迫的议题。我认为 LAION 在这方面也确实起到了作用。但对我们研究人员而言,动机非常纯粹:我们必须以可复现的方式来研究事物。既然它现在不可复现,那我们就亲手让它变得可复现。
当然,我们也非常感谢那些封闭的实验室——OpenAI、DeepMind、Meta、Anthropic——因为它们无疑为整个领域指明了重要的方向。做研究就是这样,你看到一些线索,就应该顺着去探索。但到了某个阶段,我们必须确保这些研究对于开放的学术界是可复现的,这正是我们投入大量努力的地方。
当然,OpenAI、DeepMind 这些公司也汇集了世界上最顶尖的研究者,对吧?但问题在于,一旦你身处一个商业实体中,你就必须对投资者负责,他们会问你:“你的下一个利润增长点是什么?”
于是,研究方向就不可避免地会向那些更容易向投资者汇报成果的方向倾斜。这对于基础研究来说,可能是一个大问题。你可能会因为要满足一些紧迫的商业需求,而被迫忽略掉一些非常有趣、但短期内看不到商业价值的研究方向。OpenAI 的情况可能特殊一些,作为非营利组织,他们或许能摆脱一些这种压力,也确实有过为了追求重要的研究而长期亏损的阶段。但即便如此,当你开始和像微软这样有巨大影响力的大公司合作时,你同样会感受到压力,让你无法去探索那些你认为当下最有价值的方向。
所以,我再强调一下,我所说的“自私”是指:我个人认为,有些在研究层面最值得探索的方向,与商业化路径并不那么兼容。
如果我知道怎么让它们完美兼容,我完全不介意去封闭实验室工作。但我看到的现实是,开源的模式,能以一种更高效的方式,来推动那些真正重要的研究方向。也许短期来看,在封闭实验室里,你可以用更猛烈的炮火集中推进。但我相信,从中长期来看,一个拥有海量顶尖人才的、更广泛的社区,会在研究效率上获得更大的动力。这本质上是一个效率问题。当然,也许我是错的。
我想我们算是运气很好。我们最初其实预期,用我们收集的数据训练出来的模型会非常平庸,和顶尖水平差距很大。但结果比预想的好,那真是一个幸运的时刻。当然,麻烦也随之而来。因为我们的数据是开放的,所以很快就有人在里面发现了一些不该存在的非法样本。
这恰恰凸显了开放的一大优势:透明。 一旦问题被发现,你就可以说:“好的,我们来修复它。”我们后来和互联网观察基金会(IWF)以及加拿大的一个组织合作,他们提供了大量不良数据的哈希列表。这对我来说是个很大的触动:原来公共互联网上还有这么多不良内容没有被服务商移除,这很奇怪,因为他们按理说是被要求这么做的。利用这些哈希值,我们才得以发布了 LAION 数据集的修复版本。
总而言之,要让扩展定律可复现,光是在数据集上,就要投入巨大的工作量。我认为这需要更多人团结起来,因为让单个组织独自承担所有这些工作,是不健康的。
当然还有其他挑战。你需要非常熟悉超级计算机的操作,需要懂得如何设计科学的实验,来获得足够好的测量数据,从而绘制图表、拟合有意义的曲线,并准确预测模型在更大规模下的表现。这纯粹是科学专业知识,我们也必须从头学起。还有计算时间本身,以及申请这些资源所要付出的努力。你需要定期写项目申请去争取算力,这也是一个相当繁琐的过程。所以说,可复现性的成本是相当高的。
我认为很重要的一点是,开源社区内部应该加强交流,探讨如何让这些流程变得更容易。比如,大家可以联合申请经费,有经验的人可以分享计算时间,互相帮一把。这样,这些繁琐的流程才不至于把我们这样小规模的非营利组织给“压垮”。要实现可复现性,你必须同时应对技术、组织和科学这三个层面的挑战。我希望我们正在这三方面不断学习和进步,让所有参与者在做这类研究时,过程能不那么痛苦。
但一旦用了“爱丽丝”,就很容易让人产生联想。因为我们观察到,这些声称自己拥有强大泛化能力的模型,在一些极其简单的任务上,表现得如此奇怪,这让我觉得非常怪诞。
我当时脑海里甚至浮现出原著书中的一幅插画,我想应该是《爱丽-丝镜中奇遇记》里的场景,就是那个叫 Humpty Dumpty(矮胖墩)的蛋形人。他坐在墙上,态度非常权威、自视甚高,小女孩爱丽丝向他伸出手,结果他摇摇晃晃地,最后就摔得粉碎。这个画面在我脑海里成了一个绝佳的隐喻。
虽然我平时不太喜欢我们领域里那些故弄玄虚的标题,但这次我实在忍不住,所以就用了这个名字。
我们的问题和那个有些关联,但又不太一样。我们一开始测试的,只是一个固定的、静态的问题。但我们发现,即使在这种最简单的情况下,像 GPT-4 这样强大的前沿模型,有时候给出的正确率也低得奇怪。我想,就是在我们不断探索,想找到底是哪种问法能让模型“翻车”的时候,我们偶然发现了这一点,然后意识到:你其实根本不需要对问题做太多改变,你只需要改变几个数字,它就崩溃了。 那一刻,确实就是我们的“顿悟时刻”。
我们发现,导致模型崩溃的,并不是问题中某个特定的、刁钻的特征,而是某种更普遍的东西。这说明,模型的泛化能力确实出了大问题。对于一个固定的、简单的逻辑模板,你填进去一组数字,它能解决;然后你换一组稍微不同的数字,它就彻底失败了。为什么它的表现会受到如此剧烈的影响,我们至今仍在努力理解。
从那以后,我们的研究路径就非常清晰了。我们生成了大量的变体,尝试了不同的问题模板,不断地替换里面的变量,结果总是看到同样一致的现象。直到后来新一代的推理模型(比如 O1、O3)出现,我们才第一次看到有模型能在处理这类问题时,表现出一定的稳定性。但如果你把问题的结构再改得稍微复杂一点——远没有到它们声称能解决的奥林匹克竞赛或研究生级别任务的难度——它们同样会很快崩溃。
在推理模型出现之前,你可以用任何市面上最强的模型,比如 Anthropic 的 Claude、GPT系列、Mistral、Cohere 的 DBRX、Command R+,它们无一例外,都会在这种简单问题上彻底“翻车”。
而这背后真正的问题在于,几乎所有这些公司,都在它们的官网上写着:“我们的模型旨在帮助您解决严肃的、现实世界中的商业问题。” 如果你看到,一个如此简单的、符合常理的逻辑变体就能让模型严重崩溃,你就应该明白,这不仅仅是“爱丽丝”这一个问题的结构有缺陷。你可以想象任何你想用AI解决的问题,你用某个模型测试了一下,发现效果很好,于是你开始信任它。然后,你可能只是对输入做了一点微小的、你认为完全合乎逻辑的修改,结果它就在你毫无察觉的情况下,给出了一个完全错误的答案。
这种情况尤其危险,特别是当你自己也不知道正确答案,纯粹指望模型帮你解决问题的时候。对于“爱丽丝”问题,我们很容易发现模型错了,因为我们自己知道答案。但对于一个你不知道答案的复杂问题,模型不仅会给出一个错误的回应,还会用一种我们称之为“虚构”(Confabulations)的方式,非常自信地为它的错误答案辩护,告诉你:“是的,我仔细检查了我的解决方案,一切都很好。”
特别是像 DBRX 和 Cohere 的模型,它们的回应方式,总能给用户一种“一切尽在掌握”的信心,但实际上可能错得离谱。这样一来,用户根本就意识不到自己被误导了。
对于传统的大语言模型来说,这绝对是一个巨大的麻烦。对于新的推理模型,我们还需要继续观察。我们仍然能看到强烈的表现波动,但情况确实比传统LLM好得多。一个好的迹象是,我们不怎么看到它们给出那种奇怪的、过度自信的错误回答了。实际上,当你看到一个推理模型开始“吃力”的时候,它的表现会开始波动,但它同时会告诉你:“哦,等等。哦不,我不确定。嗯……这个很难。”
这说明它具备了更好的反思能力,或者说,它对自己“不知道”这件事的校准能力更强了。这让我们对“推理模型”这条路,抱有了一丝希望。
我们现在也在用自己的 OpenThoughts 数据集做这方面的实验,这个数据集最初只有十一万多条“推理轨迹”(reasoning traces),现在我们已经把它扩展到了一百万条。也许,只要我们持续扩大这类数据的规模,就真的能解决这个问题。可能到了某个临界点,模型就会突然涌现出稳健的泛化能力,至少对于特定复杂度的问题是这样。
举个例子,像 DeepSeek-V2-Coder 这个模型,它是在一个基础模型之上,额外用了几十万条推理样本进行微调的。这个量,也许还不足以让模型完全、稳健地建立起核心的推理能力。
但你确实看到了明显的改进,情况在变好。所以,最符合直觉的做法,就是像以前所有被证明有效的学习过程一样,直接扩大规模。你看,之前斯坦福有一个叫 LIMA 的研究,他们只用了大概 800 到 1000 条高质量的推理轨迹,在一个传统的大语言模型(Qwen-32B)上进行微调,性能就出现了巨大的飞跃。
这就让你很自然地会去想:既然少量高质量数据就能带来巨大提升,那如果我把这个数据量扩大到两百万、五百万条,会不会在某个时刻发生质变,从而彻底解决这个问题?
当然,这里面也要小心。幸运的是,现在有了像 OpenThoughts 这样的开放数据集,还有 Hugging Face 社区也在做的 Open-Mistral-v0.2 等等努力,这让验证上述猜想成为可能。我们处在一个非常有利的位置:我们可以清晰地看到后训练数据(post-training data)是什么样的。比如,我们知道 Qwen-32B 这个基础模型解决不了“爱丽丝”问题,它在这上面表现很差,而且我们可以很确定,它的预训练数据里,没有泄露过类似的问题。然后,你拿到了完全开放的、用于后训练的推理数据,把它应用上去。你同样可以检查这批数据里有没有“爱-丝”问题——没有,不存在数据泄露。那么,模型所有的性能提升,就都归功于接触了这些通用的推理轨迹。
所以,我认为,在我们去探索更复杂的解决方案之前,首先必须把这条最直接的路验证清楚。当然,你可以想到很多种修复这个问题的方法。但是,扩大推理数据的规模——这件事现在是完全可行的,因为现在的推理模型已经足够好,可以用来生成海量的、合成的推理轨迹数据,你甚至不太需要费力地去挖掘真实数据了。
让我们先尝试把这件事做到极致,看看单靠扩大数据规模,是否足以让那些奇怪的性能波动消失。如果可以,那我们就再次证明了,这归根结底还是一个数据问题。那就太酷了。
展望:开放社区的未来与挑战
至于 GOSIM 欧洲站的举办地……我必须说,巴黎其实是最好的选择。
欢迎大家持续关注 GOSIM 在 X、YouTube、Bilibili 等平台的官方账号,获取前沿的 AI 研究动态与精彩对话。