是时候聊聊AI开源的问题了。
显然,这是搞开发的人不得不面对的问题。基本从2006年开始,开不开源就已经成为了头等问题之一。
Matt Asay在MongoDB负责市场营销这一块。在此之前,他曾是亚马逊网络服务的负责人和Adobe的开发者生态系统负责人。
而在加入Adobe之前,Asay在开源公司担任过一系列职务。MongoDB的业务发展、营销和社区副总裁、实时分析公司Nodeable(后来被Appcelerator收购)的业务发展副总裁、移动HTML5初创公司Strobe(后来被Facebook收购)的业务发展副总裁和临时CEO,以及Ubuntu Linux公司Canonical的COO和内容管理初创公司Alfresco的美洲区负责人。
最终,Asay成为了开放源码倡议(OSI)的荣誉董事,并获得了斯坦福大学的法学博士学位。
之前,Matt Asay曾指责谷歌和雅虎两家公司在开源代码上有所保留,然后他被骂了。
现在想来,是有道理的。
Tim O'Reilly表示,在开源的云时代,开发者分享代码的动机,是让别人跑自己的程序,从而提供一份源代码。而这件事的必要性已经慢慢消失了。
Reilly继续指出,不仅没必要,而且就最大的App来看,这也不再可能了。
在过去的十年里,这种分享的不可能推翻了原先开源的定义。如今,新的定义正在影响我们思考人工智能的方式。
正像Mike Loukides指出的那样,在AI方面的合作从未像现在这么重要,也从未像现在这么困难。
就像2006年的云计算一样,在人工智能领域做最有趣的工作的公司可能会努力用传统的方式开源。
但即便他们开源的方式是传统的,也并不意味着他们不能用更有意义的方式开放。
开放基础设施
Loukides认为:「虽然现在很多公司都说自己在搞AI,但真正推动这个行业向前发展的只有三家公司——Meta、OpenAI和谷歌。」
他们仨有着一个共同点:都拥有可以大规模运行大型模型的能力。这种能力背后,需要强大的基础设施和技术手段,而这往往是很多个人和企业不具备的。
的确,你可以从Meta那里下载OPT-175B的源代码,但你手头的硬件却无法对其进行训练。甚至是对于大学或其他的研究机构来说,OPT-175B都过于庞大了。
另一方面,即便是有足够计算资源的谷歌和OpenAI,也无法轻易复刻OPT-175B。
原因也很简单:OPT-175B与Meta自己的基础设施(包括定制硬件)联系过于紧密,很难被移植到其他地方。
也就是说,Meta并没有想要隐瞒有关OPT-175B的什么,而是建造一个差不多基础设施真的很难。即便是对于那些有资金和技术的人来说,最终搞出来的也会是个不大一样的版本。
而这正是雅虎的Jeremy Zawodny和谷歌的Chris DiBona在2006年的OSCON上提出的观点。
但话又说回来,如果你不了解机器内部的科学原理,就很难去相信一个AI。
所以,我们需要去寻找某种方法,从而让基础设施能被开放使用。
Loukides认为,应该向外部研究人员和早期使用者提供免费访问。不过,并不是说给他们一个可以访问Meta,谷歌或OpenAI的数据中心的万能钥匙,而是通过一个公共API。
这可能并不是大多数人所期待的「开源」,但其实还是可以接受的。
换一种方式看待开源
现在,Matt Asay曾经对谷歌和雅虎指责如今没什么意义了。
自从2006年以来,谷歌在满足战略需要的前提下,打包并开源了关键基础设施。
在Matt Asay看来,TensorFlow 是开源的入口,Kubernetes是开源的出口。这些开源的机器学习行业标准有望提升Google Cloud的工作负载,或者确保谷歌云之间的可移植性,从而为Google Cloud赢得更多的工作负载。
想出这些的人很聪明,但是在Pollyanna 的意义上,它并不是开源的。
不是只有谷歌这样。它只是在开源上做得比其他公司好。开源本质上是自私的,公司和个人总是会开放有利于自己或客户的代码。
一直如此,而且永远如此。
Loukides认为应该有意义地开放AI(尽管三大AI巨头与其他公司之间存在差异),但他指的开源并不是我们一般意义上理解的开源。为什么呢?
原因在于,虽然传统的开源很不错,但无论是对于软件的创建者和消费者,它都从未成功解决DiBona和Zawodny于2006年在OSCON上提出的云开源难题。
现在已经过去了十几年了,我们依然没有离答案更近一步。
话又说回来,我们确实近了一点。
Matt Asay认为,我们需要以一种新的方式来看待开源。
他与Loukides的想法很接近:关键在于为研究人员提供足够的访问权限,使他们能够重现一个特定的AI模型是如何成功或失败的。
「他们并不需要完全访问所有的代码和基础设施来运行这些模型」。正如他所言,只有在开发人员可以在笔记本电脑上运行开源程序、进行衍生创作的前提下,完全访问该代码才是有意义的。
鉴于如今谷歌或微软运行代码的规模和独特的复杂性,这已经毫无意义了——我们不可能完全访问大规模的云代码。
我们需要明白:开源并不是用于观察开源世界的一个镜头。而且考虑到我们如今所处的云时代,开源也用得越来越少。
无论是作为公司还是作为个人,我们的目标应该是以有利于客户和第三方开发人员的方式开放对软件的访问,让软件更易理解,而不是试图将几十年前的开源概念改造成云。它不适用于开源,就像它不适用于AI一样。
是时候换个思路了。