建立开源人工智能:一种呼吁

news2024/11/25 19:17:49

建立开源人工智能:一种呼吁

编译 李升伟

人工智能(AI)推动整个社会、经济和科学的创新。我们认为,必须根据开源原则建立人工智能技术,以促进人工智能技术的可访问性、协作性、责任性和互操作性。

计算机科学界有着接受开源原则的悠久传统。然而,公司越来越多地限制人们获得人工智能创新。OpenAI公司就是一个例子,它的成立是为了使科学研究公开化获取,但最终限制了人们获得研究成果。虽然这种战略反映了公司获得经济回报的合理动机,但这种保护增加了权力的集中,限制了对人工智能技术的获取利用。更进一步说,权力集中可能导致人工智能研究、教育和公共使用方面的不平等日益加剧。在这里,我们讨论为什么在构建人工智能技术的重要组件--数据集、源代码和模型--中,专有人工智能技术应该得到开源人工智能的补充。

为什么独家专有人工智能技术是个问题?

人工智能是推动社会、经济和科学创新的关键技术。例如,大语言模型如GPT-4,最近已成为许多领域如教育、娱乐、媒体和管理中的文本处理的主干。因此,当广泛使用人工智能受到限制时,包括新的商业模式、产品和服务在内的下游创新可能面临风险。不足为奇的是,权力集中在技术之上,众所周知会妨碍未来的创新、公平竞争、科技进步,从而妨碍人类福祉和未被限制的发展[1]。

专有人工智能技术也可能危及包容性和责任。当大语言模型等新的人工智能技术完全由少数公司开发时,这些公司还可能任意决定在其系统中支持哪些国家和语言,从而可能排除一些用户,例如来自小型市场的用户(例如全球南方和稀有语种)。人工智能技术的一定程度的开放性对于研究人员确定人工智能系统运行中固有的安全性、安全感和公平性是更加必要的。专有人工智能系统很难被公众所评价,因此很难识别和修正其中的错误。

开源原则在软件开发中的益处

开源软件(OSS)的基本思想是:一个组织不仅依靠其内部知识来源和资源进行创新,而且还利用多种外部技术来源,如软件包、缺陷报告、客户反馈、公布的专利或社区[2]。取决于所选择的许可证,开源软件可能不排除商业化:公司可以将开源软件与其他产品和服务结合起来,以创造收入(例如,RedHat免费提供Linux,但在高品质服务支持中收费,Amazon免费提供Apache服务,但为云托管服务收费,等等)。目前,开源模式保障了软件开发的有效性和效率。然而,这一模式花了几十年的时间才成熟,企业才实现并充分利用其潜力[3]。此外,开源软件的一个重要教训是,政府在促进采用开源软件方面发挥了重要作用[4]。这意味着许多促进开源人工智能的方法将受益于政府发挥的积极作用。

从可访问性、协作性、责任性和互操作性方面来看,开源软件在专有软件方面提供了若干好处[5]。首先,专有软件大多在支付许可费下提供使用。相比之下,开源软件是免费的,在使用、检查和修改方面没有任何的或有限的限制。第二,开源软件往往由一个社区开发和维护。开源软件社区的多样性促进软件质量的提高、更快的创新和开源软件开发相对于专有替代品的创造性的提高[6]。第三,观测系统中的错误是通过日常使用来检测和纠正的,而且比闭路软件中的错误快得多[7],从而使开源软件适用于关键和高度可靠的技术系统。第四,开源软件通常依靠开放标准和模块化,这使软件组件之间的依赖性脱钩,并导致更多的可重用性和互操作性[6]。

除了节省成本外,公司还以多种方式从开源软件中获益。公司可将低成本的开源软件作为其支柱,然后围绕互补性货物和服务建立业务模式[8]。此外,公司可以通过为开源软件作出贡献获得信任和声誉,开源软件吸引顶级人才,并促进其自身技术和产品的传播。通过参与开源软件活动,公司还可以指导创新的方向,并控制其所依赖的技术的进一步发展(例如,通过采用有助于公司更有效竞争的标准)。通过对开源软件作出贡献,公司还获得了关于其技术的宝贵反馈,并能够在产品的早期发现潜在问题。最后,开源软件的存在推动了商业解决方案的创新和竞争力。

推广开源人工智能技术

开源人工智能的发展与开源软件的发展有着若干相似之处。然而,也有一些重要的差异,需要有针对性的方法来构建开源人工智能。传统软件的编程有明确的规则来执行任务,而人工智能则被编程来学习执行任务。因此,人工智能技术有三个基本组成部分:用于培训的数据集、用于正式确定培训任务的源代码,以及最终存储经过培训的权重的模型。此外,培训人工智能模型需要大量的硬件资源,带来了很高的运行成本。此外,使用人工智能可能使社会面临巨大风险(例如恶意使用人工智能制造错误信息),这就要求对开源人工智能技术采取负责任的社会方法。下面我们讨论一个针对开源人工智能的定制方法,通过促进(1)可访问性,(2)协作性,(3)责任性和(4)互操作性来补充专有人工智能(见图1)。

图1 建立开源人工智能的关键方法:建议相关行动应促进可访问性、协作性、责任性和互操作性。

改善可访问性

为了促进可访问性,政策制定者应积极鼓励开发和采用开源人工智能。由于人工智能创新的资本密集程度远远高于常规软件开发,鉴于建立当代人工智能模型对数据和基础设施的需求,需要额外资源(如资金和获取大规模基础设施和数据)来启动和扩大开源人工智能技术。重要的是,现有的计算资源往往不够大,无法建立与营利性公司相当的最先进的人工智能技术。例如,据估计,发展大语言模型的工作费用在3亿至4亿欧元之间。另一个限制因素是,即使提供了资源,但这些资源往往与学术界有关,因此其他利益相关者,如寻求利用人工智能实现社会福利的机会的非营利组织,也无法利用这些资源。一个有前途的反例是美国路线图,它提供了更广泛的使用计算资源的机会,包括公私伙伴关系。由于缺乏资源,科学家目前往往无法复制从公司获得的人工智能技术,因此这些路线图有助于促进重复性(例如,通过机器学习重复性挑战)。

为了扩大获取数据和模型的渠道,政策制定者可以支持开发开放的数据仓库,以便在可信和负责任的治理模式下提供托管服务。重要的是,公共机构的开放数据集往往规模很大,来源多样,对实践有益。此外,公共机构可以积极鼓励数据共享伙伴关系,这种伙伴关系与联邦学习相结合,可以跨机构促进人工智能,同时保护数据隐私。例如,德国政府最近成立了一个《流动数据空间》,使汽车产业的不同利益相关者(例如公共交通公司、私人汽车共享提供商和汽车制造商)能够获得共享数据,甚至竞争对手的数据。

然而,数据共享带来了挑战。首先,开放数据集增加了侵犯隐私的可能性,并提出了与保密、数据虚假陈述和知情同意有关的道德问题。第二,组织公开数据,在分发权和确认捐助人方面保持公平,是一项挑战。幸运的是,最近在制定治理框架以应对这些挑战方面取得了进展,例如《FOT-Net数据共享框架》,根据《欧盟一般数据保护条例》、专为连接式自动驾驶而设计。这些框架可以成为在应对道德、法律和组织挑战的同时改善可访问性的有益起点。

最后,许多关于最先进的人工智能的教育材料由营利性公司(如Coursera和Udemy)管理,往往隐藏在付费墙后面。因此,为了促进采用开源人工智能,需要作出更大的努力,改善获得高质量教育材料的机会。由于上述原因,进入贡献和获取人工智能应用程序的障碍将大幅减少。

改进协作

人工智能技术可由开发者、用户和利益相关者组成的多元化和包容性社区共同开发和维护。这种协作方法可以大大降低开发成本,并有助于解决规模扩大问题。这将使利益相关者广泛参与,使人工智能的未来更具包容性和更公平。

为了促进开源人工智能技术的合作,应采取明确步骤,在学术界、非营利组织、公司和公共机构中建立社区。鉴于开发人工智能模型不太容易分解为较小的任务,而且任务划分比标准软件开发更困难,需要进一步努力开发合适的协作实践,以便能够进行更多的迭代和并行开发流程。在这里,《大科学项目(BigScience)》的经验教训[9]--在其中有超过一千名志愿科学家聚集在一起,开发一个名为“BLOOM”的大语言模型[10]--应该是有价值的。此外,政策制定者应资助大规模的科学计划项目,以生产开源的大语言模型,作为专有大数据模型的补充。

在大学、研究中心、政府和工业之间建立协同增效工作和网络,可能会在开源人工智能周围建立新的生态系统,成为未来创新的推动力。建立这种生态系统对初创公司和中小型企业特别重要[11],因为他们通常缺乏促进人工智能技术的专用基础设施和能力。

改进责任

必须对人工智能技术的滥用设置明确的障碍。为此目的,需要类似于开放数据的现有规范的访问控制,以强制在实践中负责任地使用开源人工智能。这方面的例子是MIMIC-III:一个大型、免费提供的与健康有关的数据集。鉴于医学数据的敏感性,只有在研究人员接受了强制性的道德培训之后,MIMIC-III才对他们开放。同样,开源人工智能的访问控制应包括一种分层的方法,在数据集、源代码和模型之间有适当的差异,以确保负责任的使用,同时将安全、安保和隐私考虑在内。

此外,还需要新的许可证--这是受开源软件的启发而设计的,但却是针对开源人工智能精心设计的[12]。这种许可证必须确保广泛的用户访问,同时执行禁止恶意做法的准则(例如通过自动开展宣传运动滥用大语言模型)。此外,这类开源人工智能的许可证应包括界定许可和限制性使用以及技术如何能够或不能被重新使用的分条款。最显著的例子是RAIL许可证,为了防止人工智能技术的不负责任和有害的应用,它只对某些用例给予许可。随着时间的推移,可以开发开源人工智能许可证的定制变体,从而更加限制人工智能技术的高风险应用。

与开源软件类似,根据开源原则开发和使用人工智能技术将特别有效地解决人工智能系统中的偏见,并引导创新朝着公平、符合道德和值得信赖的方向发展。首先,由于世界各地利益相关者投入的多样性,将更加重视消除偏见。在管理数据集时,消除偏见与培训模型时一样重要。其次,一个共同的担忧是,开源人工智能可能没有与专有解决方案一样的质量控制和测试水平,导致其开发人员意外引入潜在的错误。为此,协作非常重要,因为它会自然导致广泛的测试。

此外,在开放社区发展人工智能可能会引入分权组织(即没有基于雇用合同的权力等级体系)。许多开放社区已经建立了有效的组织结构,其基础是能力、努力和专门知识,能够有效地解决协调与合作问题,包括如何管理冲突。例如,Debian社区构成了决定捐助者的决策权、以及社区在发生冲突或责任问题时可以参考的一套规则。可以将Debian等社区的经验教训纳入开源人工智能社区的职能组织结构和有效治理。同样,鉴于通常没有指定机构来维持对法律框架的遵守,而且有关问责的问题往往不明确,因此可能存在来自于遵守监管的法律挑战。尽管如此,开源人工智能技术带来了重要的原则,超出了现有的监管框架,以负责任和值得信赖的方式使用人工智能。

还值得注意的是,与使用开源人工智能有关的隐私和安全威胁。例如,恶意行为者可以执行后门攻击,其中他们操纵一小部分培训数据,使人工智能模型学习额外的隐藏功能[13]。一般而言,开源人工智能中的漏洞往往是公共知识,这使得不仅容易攻击,也更容易识别攻击。此外,如果开源人工智能被用于邪恶目的,社会也会面临风险。这方面的例子包括利用公开来源的人工智能技术发展武器和人工智能制造的宣传运动[14]。尽管如此,其好处很可能超过开源人工智能的缺点,特别是如果如上文所述,采取负责任的开源方法,对滥用设置明确的障碍。

提高互操作性

随着时间的推移,人工智能技术将需要建立在软件库中更标准化和模块化的构建模块(例如提示词模板和大语言模型情况下的标准化提示词优化器)之上,以便能够在下游应用程序中更容易地采用和客户化定制。预培训模型跨平台的互操作性也将大大减少重新培训大模型的必要性。结果将是人工智能技术有更大的可重用性,从而减少了在开发过程中“重新发明车轮”和促进更快迭代的必要性。互操作性不仅对快速构建人工智能应用程序非常重要,而且还可以使高质量的源代码和模型能够以一种负责任和稳健的方式被重用。

在标准化方面,国际标准化组织等各种监管机构正在起草若干旨在使人工智能技术统一协调的标准。当前的举措涵盖生命周期管理、数据质量、风险管理和审计等各个方面。这种标准化路线图有助于在高风险应用中开发可靠的人工智能系统(例如,通过标准化一致性检查)。至关重要的是,必须通过开发人工智能技术的软件库实现标准化。在这方面,可能需要公共资金支持发展开放源代码库,以及相应的教育资源和长期维护。

由于与日俱增的协调化,对特定人工智能技术的依赖将会减少,从而使最终用户能够避免“锁定”效应,并从减少的转换成本中获益(例如,从A公司的大语言模型改为B公司的大语言模型)。对开发人员而言,互操作性最终有助于消除在开发、获取和使用人工智能技术方面日益严重的不平等现象,同时促进有效的竞争。在这方面,从企业的角度来看,一个令人关切的问题可能是,如果人工智能研究被迫开放,那么公司就可能看不到投资于研究和开发的价值,因为它们本来会这样做。例如,公司开发新的人工智能技术的动机可能会在有开源替代品的情况下降低,这可能会阻碍更广泛的创新,并最终导致老牌公司的守门行为。然而,我们认为,开源人工智能对专有替代品的补充可能增加健康的竞争,还能带来更好的商业产品。

对开源人工智能技术的一种呼吁

我们认为,公司和社会可以从发展开源人工智能技术来补充专有替代物中获得巨大的利益。在数据集、模型和源代码之间广泛采用开源原则,将促进人工智能技术的可访问性、协作性、责任性和互操作性,并将有助于扭转人工智能研究中日益严重的不平等现象,从而降低今后创新的困难度。

文献引用:Shrestha, Y.R., von Krogh, G. & Feuerriegel, S. Building open-source AI. Nat Comput Sci 3, 908–911 (2023). Building open-source AI | Nature Computational Science

参考文献

  1. Aghion, P., Harris, C., Howitt, P. & Vickers, J. Rev. Econ. Stud. 68, 467–492 (2001).

[2]Chesbrough, H. W. Open Innovation: the New Imperative for Creating and Profiting from Technology (Harvard Business Press, 2003).

[3]Fitzgerald, B. MIS Q. 30, 587–598 (2006).

[4]Lerner, J. & Schankerman, M. The Comingled Code: Open Source and Economic Development (MIT Press, 2013).

[5]Haefliger, S., Von Krogh, G. & Spaeth, S. Manage. Sci. 54, 180–193 (2008).

[6]Von Krogh, G. & Von Hippel, E. Manage. Sci. 52, 975–983 (2006).

[7]Paulson, J. W., Succi, G. & Eberlein, A. IEEE Trans. Softw. Eng. 30, 246–256 (2004).

[8]Golden, B. Succeeding with Open-Source (Addison-Wesley Professional, 2005).

[9]Akiki, C. et al. BigScience: a case study in the social construction of a multilingual large language model. In NeurIPS Worksh. on Broadening Research Collaborations in ML (NeurIPS, 2022).

[10]BigScience Workshop (Scao, T. L. et al.) BLOOM: A 176B-parameter open-access multilingual language model. Preprint at https://arxiv.org/abs/2211.05100 (2022).

[11]Jacobides, M. G., Brusoni, S. & Candelon, F. Strat. Sci. 6, 412–435 (2021).

[12]Contractor, D. et al. Behavioral use licensing for responsible AI. In ACM Conf. on Fairness, Accountability, and Transparency (FAccT) (ACM, 2022).

[13]Saha, A., Subramanya, A. & Pirsiavash, H. Hidden trigger backdoor attacks. In AAAI Conf. on Artificial Intelligence (AAAI, 2020).

[14]Feuerriegel, S. et al. Nat. Human Behav. (in the press).

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1709235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++算术运算和自增自减运算

一 引言 表示运算的符号称为运算符。 算术运算; 比较运算; 逻辑运算; 位运算; 1 算术运算 算术运算包括加、减、乘、除、乘方、指数、对数、三角函数、求余函数,这些都是算术运算。 C中用、-、*、/、%分别表示加、减…

【项目教程】FFmpeg+SDL2实现视频播放器

一、前言 学习ffmpeg和sdl,并编写一个视频播放器,是一个很好的音视频开发项目。 虽然关于视频播放器的原理已经有很多人在博客中进行了讲解,但是很多人不提供视频和代码,这也是我写这篇博客的主要原因。 二、在视频播放器中&am…

『哈哥赠书 - 53期』-『深入浅出 Spring Boot 3.x』

⭐️ 《深入浅出 Spring Boot 3.x》 ⭐️ 学习Spring Boot的必读之书 在 Java 后端开发领域,功能强大的 Spring 开源框架不仅是首选,也是事实上的标准。但由于 Spring 存在配置烦琐、部署不易、依赖管理困难等问题,因此基于 Spring 的快速开…

进程互斥经典问题(读写者问题、理发店问题)

目录 读写者问题 问题描述 问题分析 进程互斥问题三部曲 读者写者算法实现 一、找进程——确定进程关系 二、找主营业务 三、找同步约束 a.互斥 b.资源 c.配额 理发店问题 问题描述 问题分析 进程互斥问题三部曲 理发店问题算法实现 一、找进程——确定进程…

微信小程序毕业设计-校车购票系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…

高中生是否需要上电子阅览室

高中生是否需要上电子阅览室,取决于学生的学习需求和个人喜好。以下是一些考虑因素: 1. 便利性:电子阅览室通常提供电脑设备和网络连接,方便学生在线获取学习资源。对于家中没有电脑或者网络不稳定的学生,上电子阅览室…

“一带一路”六国国际拳王冠军赛特克斯站新闻发布会顺利举行

实习记者:喀兰姆罕 5月24日,“一带一路”六国国际拳王冠军赛特克斯站新闻发布会在特克斯县阿克塔斯姑娘峰景区举行。这次拳王冠军赛事由新疆广播电视台、特克斯镇人民政府,特克斯县文化体育广播电视和旅游局主办,将于6月15日在特…

mysql 01 linux 上安装mysql服务端

01.linux安装 MySQL的大部分安装包都包含了服务器程序和客户端程序,不过在Linux下使用RPM包时会有单独的服 务器RPM包和客户端RPM包,需要分别安装。 1.查看是否已经安装了MySQL rpm -qa | grep mysql如果什么都没有,就是还没有装过MySQL …

分支机构多,如何确保文件跨域传输安全可控?

随着企业全球化发展,分支机构的分布越来越广泛,跨域文件传输需求也随之增加。然而,跨域文件传输面临的数据安全和传输效率问题,使得构建一个安全、可控的文件交换系统成为迫切需求。FileLink跨网文件交换系统通过综合的技术手段和…

Jenkins常用插件与应用详解

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Jenkins是一个平台我们通过安装插件来解决我们想要完成的任务 1、Jenkins常用插件 Allure&#…

香橙派 AIpro初体验

香橙派(Orange Pi)AI Pro开发板是一款高性能的AI开发板,由香橙派联合华为精心打造。香橙派(Orange Pi),作为深圳市迅龙软件有限公司倾力打造的开源产品品牌,致力于向全球个人及企业用户提供卓越…

QT学习(20):QStyle和自定义样式

QStyle 样式(继承自QStyle类)代表控件的绘制并封装GUI的外观。QStyle是一个封装了GUI外观的抽象基类。Qt使用QStyle去执行几乎所有的内置控件的绘制,确保控件外观和原生控件风格风格相同。 class Q_WIDGETS_EXPORT QStyle : public QObject{…

HBase分布式数据库入门到精通

文章目录 HBase分布式数据库入门到精通 一、简单介绍 二、HBase数据模型 三、HBase的架构 四、HBase写操作流程 五、HBase读操作流程 六、HBase minor小合并和major大合并 七、HBase目标表meta表 八、HBase特点 九、HBase的使用场景 HBase分布式数据库入门到精通 一、…

stream-流的效率

背景 使用流批量处理数据的时候,我们最关注的肯定是效率问题数据批量处理分为4类 原始的for循环处理基本类型基本类型包装流原始的for循环处理包装类型原始的依稀那个流Stream.of(1,2,3,4) 对比(单线程) 任何是时候,原始的for循环…

go select

select 是与 switch 相似的控制结构,与 switch 不同的是,select 中虽然也有多个 case,但是这些 case 中的表达式必须都是 channel 的收发操作。 select 能够让 goroutine 同时等待多个 channel 可读或者可写,在多个 channel 状态改…

Swift 属性

属性 一、存储属性1、常量结构体实例的存储属性2、延时加载存储属性3、存储属性和实例变量 二、计算属性1、简化 Setter 声明2、简化 Getter 声明3、只读计算属性 三、属性观察器四、属性包装器1、设置被包装属性的初始值2、从属性包装器中呈现一个值 五、全局变量和局部变量六…

离大模型落地应用最近的工程化技术(RAG)

虽然大规模语言模型(LLM)在自然语言处理(NLP)方面表现出了其强大的文本生成和理解能力,但是它们在实际应用中仍然面临一些挑战,如处理大规模知识库和实时获取最新信息的能力,并且会产生幻觉。为…

新书速览|Golang+Vue.js商城项目实战

架构师一步一步教你做项目,从架构设计到技术实现完整解析 本书内容 《GolangVue.js商城项目实战》以Gin和Vue.js为核心框架,以全栈商城项目开发为主线,详尽介绍前后端分离架构开发Web网站项目的关键阶段和技术细节。全书共9章,第…

四川景源畅信:新人做抖店的成本很高吗?

随着社交媒体的兴起,抖音成为了一个新兴的电商平台——抖店。不少创业者和商家看中了其庞大的用户基础,想要通过开设抖店来拓展销路。然而,对于刚入行的新手来说,成本问题总是让人犹豫不决。究竟新人做抖店的成本高不高?本文将围…

Qt项目使用pato mqtt C

一,下载pato mqtt C 源码 git 地址:https://github.com/eclipse/paho.mqtt.c.git git 地址可能下载不下来,提供我的gitee地址 gitee地址:https://gitee.com/chaojidahuaidan2021/paho.mqtt.c.git 二,编译共享库 clone下来后,将项目导入到Qt工程中,此时这是一个cmke工程…