2021年,上海,一次青少年人工智能与编程实践活动。澎湃新闻记者 周平浪 图
“开源”,总有一天会到来?
在刚开幕的2023世界人工智能大会上,2018年图灵奖得主、Meta AI基础人工智能研究院团队首席人工智能科学家杨立昆(Yann LeCun)远程连线,参与了圆桌对谈。对话中,他认为:严格监管人工智能并不能使人工智能平台安全、良善、实用,而“长远来看”,达到这一目的的唯一方法就是开源。
“开源”体现了对人工智能技术细节加以公开的诉求。事实上,2022年,国家网信办等四单位联合公布了《互联网信息服务算法推荐管理规定》,标志中国成为最早在法律层面上要求公开人工智能技术细节的国家之一。《规定》要求,相关服务提供者公开算法推荐服务相关规则,并设立了互联网信息服务算法备案系统,向公众公示。
但在首批公示的30个“算法”中,一般公众并不能如预期般从可浏览的信息里找到关于数据如何得到处理的具体说明(如不同类型数据的评估权重排序),而只有颇为笼统的信息收集类项与最终结果的描述。这些内容在依照相关法规订立的“隐私条款”和软件的用户界面上,本来就有明确说明并直观显现。从算法作为确定的数据处理方式这一基本意义来看,这些公示的描述,离“算法”可谓南辕北辙。
与公示相比,“开源”的要求无疑更进一步。2023年4月,推特公司声称,在互联网上公开了其推荐算法的代码。马斯克强调,这是为了“提升平台的透明度、增强用户、客户和媒体的信任”。不过,研究人员细加研判后指出,其中的代码并不详尽,尤其是省略了至关重要的底层模型。推特公司回应称,这是为了“确保用户的安全和隐私得到保护”,尽管描述底层模型结构的代码并不会包含任何用户数据。
另一方面,正如微软没有开源其语音合成模型VALL-E,OpenAI没有开源ChatGPT一样,杨立昆作为一名主攻视觉的科学家,同样没有公开其最新力作“SAM”(Segment Anything Model,意即“分割一切”)的训练方法。或许,杨立昆所使用的“长远来看”一语,正是在暗示“开源”之路的遥遥无期。
谈论“开源”无法离开现实语境
作为一个“极客范”的术语,“开源”一词正在不同领域流行起来。而塑造这一潮流的中坚人物,仍然当属Richard Stallman和他的自由软件基金会。围绕二者的争议不可谓不多,但其在倡导开源运动上的贡献,仍然是不可否定的。
但当我们将目光稍加放宽,从计算机技术的发展史看,不难发现,“开源”本是天经地义之事。在计算机系统硬件架构“百家争鸣”的阶段,各个机构所拥有的计算机系统,都存在不同程度的差别。为使程序能够在不同系统上运行,源代码就成为交付软件产品的必经之路:只有提供了源代码,身为专家的用户才能解决他们在自己系统上所遇到的问题。
但自上世纪70年代之后,硬件的标准化、个人电脑的普及,使得计算机产业发生了巨大变化。用户不再是技术专家,而软件产品则成为一门蓬勃兴旺的生意。巨量的利益空间需要法律的庇护。1974-1981年间,美国确立了一系列与软件相关的法律,确认了软件作品受著作权保护,同时规定了适用专利的情形。在此背景下,1983年,IBM提出了“仅目标代码”(即只提供在计算机上可运行的代码,而非源代码)的交付策略。自此,几乎所有软件公司都不再在交付软件产品时提供源代码。
截图自Word的“关于”窗口
“开源”运动的展开,某种程度上是对这一变化的抗议。同样在1983年,Stallman开始专职从事自由软件基金会的工作。基于保护软件著作权的法律条文,自由软件基金会创造性地提出了GPL许可协议,意图使源代码重新成为软件交付中不可或缺的一部分。
如此看来,“开源”是在特定的技术和法律语境中产生的,并和这一语境息息相关。一旦脱离这段历史事实,将“开源”直接移置到其他领域,其结果或者是平凡无奇的,或者将意义不明。
同时,仅仅倡导“开源”的理想,也不能自动导向问题的解决。实际上,为使“开源”落地生根,开源项目普遍需要良好的组织管理。而如何维持一个团队的可持续运作,向来也是一项困难重重的事业。一些过去作为大公司“恩惠”的开源项目,因为利益的需求而转为闭源,往往带来巨大的连锁反应。
人工智能模型面临类似的境况。它们通常只是软件的一部分,模型的开源并没有强力的要求,并且可以说,这一美好理想与研发机构的利益从根本上相背离。很难想象,仅仅依靠一种“向善”的愿望,就能驱动追逐回报的研发企业主动选择“开源”——或许,能使之走上开源之路的,恰恰是杨立昆所预先排除的监管。
封闭的代码,公开的思想
在杨立昆描绘人工智能“开源”前景的同时,也有批评意见认为,开源并不能真正解决人工智能技术所面临的信任危机。打一个或有失恰当的比方:放射性的危险并不能因为它“开源”就会消失,如果一个社会中每个人都能使用放射性,这种危险只会放大。这个比方并非天方夜谭——20世纪50年代,X射线的使用范围从患者自己治疗头痛到用来为顾客挑选合适的鞋子。X射线在日常生活中的不当应用带来了广泛恶果,方才促使人们采取防护措施并制定操作规范。
杨立昆把“开源”作为一个解决方式加以提出,更加需要关注的是它背后所要回答的问题。“开源”之所以会有意义,是因为它提供了一种表达方式,为人们在构建某种“向善”的人工智能模型过程中,提供了对于实际发生的技术过程的洞见。
但是,为了获取这种洞见,源代码或许并非不可替代。事实上,“开源”所强调的源代码,本身只是一种传达思想的手段。另一方面,对软件代码的保护并不延及表达方式(程序代码)之上的思想、处理过程、操作方法或数学概念。
近年来,在一些关于“平台经济”的研究中,出现了运用算法描述解释个体感知与系统行为的尝试,有理有据地具体阐述了平台方的价值诉求,是如何一步步嵌入程序的自动控制之中的。这为理解人工智能技术在社会中的作用,提供了可取的途径。对于公开算法细节的呼吁,则让我们看到,推广此类基于设计思想的批评,仍然是有所希望的。
要真正达到类似层面对人工智能技术的理解,人们需要的既不是“遗漏”关键内容的大量代码,也不是笼统到只涉及输入与输出两端的“描述”。相比出于种种原因而保持封闭的代码,思想的公开,实际是更为重要的:对技术细节的理解主要不是面向代码,而不外乎是“过程、方法和概念”。
当然,这里所说的理解,并没有涉及更深层面人工智能技术本身的可解释性问题。不过,从公众利益的角度,这一位于技术深处的可解释性,或许也只是一种障眼法:毕竟,人们无需知道开枪时发生的一切物理过程,就能理解枪击的危险,而枪支本身的设计也不构成豁免的理由。同样,如果人工智能模型给他人带来了损害,关键仍然在于如何追究那些决定了它如何设计的人。如此,人工智能模型、算法、代码等层出不穷的技术要素,才不至于成为一种又一种制造信息壁垒、逃避应负责任的障眼法,而杨立昆借“开源”描绘的未来,才有可能真的到来。
(朱恬骅,上海社会科学院文学研究所助理研究员;
陈涵洋,独立软件开发者)