Interviews News Research Teams

好奇心驱动的研究员:产学之间,第三部分

Read this post in other languages:

欢迎来到我们对 JetBrains 软件工程机器学习方法研究实验室负责人 Timofey Bryksin 的采访的第三部分。 这次我们将谈论基础与应用研究前沿、行业竞争以及最新的 AI 趋势。 第二部分位于此处

Timofey Bryksin,JetBrains 软件工程机器学习方法研究实验室负责人
Timofey Bryksin,JetBrains 软件工程机器学习方法研究实验室负责人

像你们这样的实验室和专注于纯科学的研究小组有什么区别?

差异相当大,主要在于我们如何看待工作成果。 我们从实际的角度出发,思考我们的工作能否应用于现实世界。 学术研究的主要目标通常是产生新知识和推动某个领域的发展。  只要有详细记录并且可以重现,现有知识的任何改进都是值得发表的好结果。 有时,虽然能得到新知识,但在应用上并不实际。 比方说,在一个软件开发会议上(人们通常会解决一些非常实际的问题),有一整个环节讨论自动修正,所有演讲都是类似的剧本:“我们采用了这个庞大的神经网络,在这个特定数据集上进行了训练,处理了一些数字,然后指标变得更好了!” 这是新知识吗? 当然,因为它改进了一个具体问题的解决方案。 但这里有什么创新吗? 毕竟使用的是既有模型,在已知数据上训练,最后应用到常见的问题。 

所以当我们拿到新模型时,我们希望它能发挥实际作用。 这意味着构建配套工具,与真实用户开展研究,并确保问题得到实际解决。 在纯学术环境中,人们通常不会采取这些额外的步骤。 但我们积极与那些愿意付出额外努力的人士合作。 

基础研究并不总能在“此时此地”产生实际结果,但在未来的某个时刻,它可能会非常有用。 你们从事这类研究吗?也许偶尔会涉足?

尽管我们主要关注实际结果,但点子经常从一个项目跳到另一个项目,你永远不知道它们何时何地会派上用场。 不可预测性是科学的一个特点。

我们有些研究项目产生了意外收获。 例如,有一次我们纯粹出于好奇启动了一个项目,这个项目最终成为我们产品中的一个实用功能。

我们想知道 GitHub 用户在无视许可的情况下复制 Java 代码的频率。 因此,我们从 GitHub 下载了很多仓库,找出重复项并比较时间戳,观察早期版本和后续版本中许可之间的关系。 最后,我们弄清楚了开源许可的运作方式,并开发了有关其兼容性的有用分析。 整个冒险最终为 IDE 工具激发了灵感。 它帮助用户了解项目中的依赖项、不同代码区块如何组合,以及如果项目使用不同的库需要什么许可。 在这个过程中,我们还改进了克隆检测算法。 但这都是在我们的研究过程中形成的,很难从一开始就预测出来。

这样的结果值得发表吗?

在科学界,有一个流传很广的笑话:任何结果都值得发表。 

我相信这没有严格的标准。 只要结果可以对其领域做出贡献,同时还包含一些有趣的内容,那么它就值得发表。

这里的“有趣”意味着什么?

对我来说,趣味与创新密切相关。 不过,不同的人会对事物的不同基础方面感兴趣。 有些人喜欢钻研事物和探索模式,取得新发现。 有些人喜欢创造新知识,还有一些人倾向于对现有知识进行分类。 结构良好的方式也可以是创新,这就是它的有趣之处。 

这如何应用于软件工程?

即使在这个领域,对于有趣的看法也可能有所不同。 是编写新程序或尝试新方法或算法的时候吗? 在我看来,这些都是写论文的充分理由。  

在软件工程机器学习的狭窄领域中,创新的标准更加严格:你需要引入新模型、收集数据集或提出新问题。 还有一类出版物旨在使学术研究人员创建的工具合法化,我认为这是一个非常有效的目标。

我来从不同的角度谈一下:我们认为,如果文章不能激发讨论、不能贡献新知识、不能给你自豪感或者文章内容你不想展示,那就没有必要去写。 它不能只是“新”的,还必须有更多东西。

你们有出版物和引用数量的 KPI 吗?

我们的目标并不是专门发表大量论文和提高引用率。 事实上,实现这一目标相对简单,只需要创建一堆对广泛的人群有用的工具和数据集。 我们被引用最多的文章恰好是关于我们的一个工具。 另一方面,我们关于找出代码更改模式的文章对现实世界产生了相当大的影响,但只得到了四次引用。 因此,对我们来说真正重要的是我们的工作在更大的社区中的知名度。 我们热衷于与学术界分享我们公司内部取得的进展。

为什么一家公司要寻求科学界的认可?

我们表明 JetBrains 积极参与科学追求并为行业做出贡献。 我们公开分享我们的研究成果,并积极寻求与世界各地的科学团体合作,特别是那些不仅发表论文而且致力于将成果付诸实践的科学团体。

当前基础领域和应用领域的前沿在哪里?

许多最精彩的进展都发生在 NLP(自然语言处理)领域,投资高达数十亿美元。 OpenAI 的 ChatGPT、Meta 的 LLaMA 或 Google 的 Bard 等最新突破都来自自然语言处理领域。 这渗透到代码处理和分析生物数据以及图形模型等相关领域。 人们正在积极探索对话系统、能够进行语音合成的模型,并研究用于合成视觉信息的扩散模型。

但有这样一个情况:“前沿”的概念具有相当大的可塑性。 我们可能永远无法真正知道商业公司在某个时间在追逐什么。 与学术研究团体不同,公司可以将成果保密,有时不会透露其服务运作的全部细节。

尽管 OpenAI 声称自己是透明的?

这其实挺有意思的。 Google 开发并公开了 Transformer 模型架构,OpenAI 在此基础上构建了 ChatGPT 和 GPT-4。 然后,OpenAI 逐渐从一个非营利组织转变为一个更加商业化的实体,信息的开放程度也越来越低。 

商业公司通常更愿意将其开发项目保密,这非常正常。 例如,Meta 开发了自己的编程语言和所有相关工具,包括 IDE。 每个主要竞争者都倾向于拥有自己的版本控制系统,这在很久之前就成为了标准。

但在研究界,情况就不一样了。 OpenAI 开创了一个有趣的先例,发布了一篇关于 GPT-4 的论文,但没有透露有关模型或训练数据的任何细节。 论文直接写着:“我们在数据上训练了模型”,然后用 70 页说明如何在各种场景中安全使用模型。 也许是由于竞争,也许是存在伦理担忧,也许两种顾虑都有。 但 OpenAI 的决定产生了意外后果:许多人会试图复制这一成就,消耗大量电力并排放大量二氧化碳。 如果模型不公开共享,相同的资源将被再次消耗。 环保人士对此持相当消极的看法。 在这方面,Meta 的方式对研究更为友好:Meta 发布了 LLaMA 模型供社区构建,并且已经孕育了许多有趣的成果。 

这种低透明度是否是行业竞争的新要求?

竞争将在多个前沿展开。 首先,投入大量资金的大公司将取得成果,开放社区会想办法复制这些实验并取得进一步的进展。 

此外,其他竞争还包括增加模型大小和提出构建模型集成的新方式来改善最终结果。

最重要的是,人们正在转向使用更好的数据集进行更智能的训练。  例如,Meta AI 正在训练更小的模型,其性能与具有数千亿参数的模型相当。 这个想法是更好的数据可以带来更好的训练,从而无需显著增加模型大小。 在我看来,采用这种方式比单纯增加模型参数的数量更明智。 毕竟,利用更系统的方式从数据中提取信息,可以使模型更加强大,例如各种本体和知识图。

同时,每个人都热切期待着量子计算机带来的算力飞跃,这将使计算量在很大程度上变得无关紧要。 如果我们学会正确使用和扩缩量子计算机,讨论就会大为不同。

但现在,算力就是一切,不是吗?

当然。 首先,没人知道当前的结果将如何扩展到整个人类。 我非常确定,如果所有人都同时开始使用,GPT-4 必然崩溃。 高效的模型推理与模型大小、训练周期和训练质量一样,有自己的研究领域。 其次,虽然我们正在处理数学,理论上只要一支笔和一张纸就可以得到结果,但实际验证需要训练非常大的模型。 因此,有两种选择:要么有合适的数据中心,要么没有。 如果没有,你仍然受到限制,因为虽然可以租借,但价格昂贵。 即使租借,你掌握的算力也远不及 Google 和 Microsoft。

单人或者小型研究团队还有突破的空间吗?

我相信总有可能出现一些颠覆性的想法。 例如,如果有人能弄清楚如何将像 GPT-3 或 GPT-4 这样庞大的模型压缩几个数量级,而不会对质量造成太大影响,那就太棒了。 实现这一目标并不一定需要一个大团队。 事实上,较小的团队进行快速试验和转向的能力可能非常有价值。

提醒一下,Midjourney 团队仍然只有 11 个人。 另外,我建议小型研究小组仔细研究其他媒体,例如语音、视频和图像。 这些领域竞争少得多的原因之一是,目前大型科技公司的重点和预算主要锁定在文本上,也就是 NLP。 文本受到如此关注的原因也可以理解,因为哪里有文本,哪里就有搜索,而搜索意味着广告、提供帮助等。 不过,我们已经在图像、计算机视觉和视频生成等领域看到一些出色的进步。 

为什么 ChatGPT、Midjourney 和 Stable Diffusion 几乎同时流行起来? 

抛开阴谋论不谈,更有可能是大量研究工作的积累为这些成果铺平了道路。 扩散模型领域受到了广泛关注,得益于一些惊人的数学发展,大量的工作最终演变成高质量的成果。 

主要科技公司收集了大量数据集并获得价格合理但功能强大的计算硬件来处理这些数据,这使神经模型收获了大量关注。 我感觉,这主要是学术界和硬件领域的各种因素的混合。

有没有哪些领域被不公平地忽视了?

如果人类只是朝着一个方向前进,那么没错。但事实是,我们同时朝着不同的方向前进。 即使在 OpenAI 和 Google 内部,也有人在探索完全不同的路径。 例如,他们正在深入研究扩散模型,其工作原理与 GPT 完全不同,但仍然有可能在所处领域产生有趣的结果。 不过,在这种情况下,成功的定义可能会有点模糊。 如果我们谈论大型科技公司及其成就,例如,Google 推出了一些具有独特架构的出色模型,在我看来,这些模型比 GPT 模型更有趣。 然而,它们并没有立即得到那么多关注。 这就引出另一个问题:这些结果如何呈现给公众? 以 GitHub Copilot 为例, 它大约一年半前问世,营销相当出色。 ChatGPT 也引起了轰动,尽管它是基于一篇已经发表的研究论文。 以前也有过能够生成代码的工具,但它们为什么没有那么流行呢? 很难说谁的质量更好。 我的建议是,不要低估营销在展示成果方面的作用。

潜在实现是否决定了研究重点?

一方面,很明显,公司渴望复制任何的内部重大成功。 另一方面,他们也在寻找现有创新的独特和意想不到的应用。 目前,显然大多数大型科技公司都在探索类似的领域。 例如,Microsoft 用 ChatGPT 复活了 Bing,一个月后,Google 紧接着推出了 Bard。 当然,每家公司都有自己独特的重点。 Microsoft 在我们的领域更加活跃, 他们已经收购了 GitHub,正在积极开发 Copilot 及其生态系统。 Google 正在开发 Project IDX,这是一个基于 Web 的 IDE,包含对其 LLM 的全面支持。  他们还有很多很多应用机器学习的内部工具。

因此,只要查看一家公司的产品阵容,就可以发现他们计划将创新重点放在哪里。 当然,全新的产品将会出现,但实践经验表明,并非所有产品都同样有用。 密切关注 AR、VR 或元宇宙中的产品,基于 ML 的功能不能保证在那里也会畅销。

AI 泡沫是不是有一种越来越大的感觉?

是有一点。 显然,ChatGPT 的流行,尤其是为构建自定义应用提供的 API,已经引发了巨大的趋势,我们将看到无数创业公司在这个领域涌现。 最近甚至有一篇文章列出了 126 家独角兽 AI 创业公司,每家公司估值都超过 10 亿美元。 一个项目能值十亿吗? 绝对能。 但每一个都能吗? 我表示怀疑。

AI 还面临另一个挑战:产生新知识的能力。 OpenAI 经常吹嘘 GPT-4 模型可以胜过 90% 通过律师资格考试的人。 这就说明它是一个出色的模型了吗? 也许吧, 但这也突出了测试程序中的问题。 我们知道,人类参与的大多数测试主要都是在考察对信息的记忆程度。 OpenAI 声称其模型可以解决竞争性编程问题,但前提是你向它提出 2021 年之前的问题。 任何新的东西都会让它彻底失败。 有些任务确实需要基于扎实知识的响应。 例如,在 ChatGPT-4 获得计算税费的分步指南后,它可以清晰解释支付什么以及如何支付。 不过,很明显,这本质上就是读取说明再吐出来,一次一条。 所以,模型能在这些测试中表现出色,主要是因为它已经在这些测试上进行过训练。 这违反了一条基础规则:你不应该在训练过的数据上进行测试。 但如果你的训练数据集是整个互联网呢? 对我们来说,AI 看起来正在创造新信息,特别是因为我们人类无法记住整个互联网。 这就是为什么 AI 似乎正在产生新知识, 但实际上,也许它只是记性特别好?

本博文英文原作者:

Discover more