开源人工智能:建立共同基础

当前开源人工智能定义的 0.0.3 版本草案借鉴了 GNU 通用公共许可证的黄金法则,声明:

如果我喜欢一个程序,我必须能够与同样喜欢它的人分享。

GNU 通用公共许可证

GNU 通用公共许可证指的是“程序”(而不是“人工智能系统”),而无需对其进行定义。当它在 1985 年发布时,程序的定义非常明确。今天围绕人工智能的场景并不那么清晰,并且存在人工智能系统的多种定义。

寻找开源人工智能共同定义的过程仍处于起步阶段。我完全意识到,对于我们这里的许多人来说,这很简单,并且这个阶段几乎是无聊的。

但四次研讨会表明,房间里有相当多的人不知道 4 项自由,也不知道 OSI 有正式的开源定义。这种情况也发生在两次以开源为重点的活动中!

采用哪种人工智能系统定义

我认为开源社区不应该编写自己的人工智能系统定义,因为这样做存在太多危险。最重要的是,采用人工智能领域陌生的词汇会增加不被理解或接受的风险。使用广泛采用的定义会更有效,也更容易被接受。

经合组织对人工智能系统的定义

经济合作与发展组织(OECD)在 2019 年发布了一个定义,并在 2023 年 11 月对其进行了更新。经合组织的定义已被联合国、NIST 采用,人工智能法案也可能使用它。

人工智能系统是一种基于机器的系统,出于明确或隐含的目标,它从接收到的输入中推断出如何生成输出,例如预测、内容、建议或可能影响物理或虚拟环境的决策。不同的人工智能系统在部署后的自主性和适应性水平上有所不同

关于人工智能的理事会建议 通过日期:2019 年 5 月 22 日;修订日期:2023 年 11 月 8 日

 我发现了一份经合组织 2022 年的文件,其中对 2019 年的定义进行了略微修改。《2022 年经合组织人工智能系统分类框架》从之前的定义中删除了“或决策”一词,并在注释 5 中说

专家工作组决定此处应排除“[或决策]”,以澄清人工智能系统不会做出实际决策,实际决策是人类创造者的职责,并且超出人工智能系统的范围 

2022 年经合组织人工智能系统分类框架

专家工作组使用的更新定义是

人工智能系统是一种基于机器的系统,它能够通过为给定的目标集生成建议、预测或其他结果来影响环境。它使用机器和/或人为的输入/数据来

  1. 感知环境;
  2. 将这些感知抽象成模型;以及
  3. 使用模型来制定结果选项。

人工智能系统旨在以不同程度的自主性运行(OECD,2019f[2])。”

2022 年经合组织人工智能系统分类框架
2022 OECD Framework for the Classification of AI systems

令人惊讶的是,经合组织在 2023 年 11 月修订的版本仍然使用“或决策”一词。

美国国家标准与技术研究院 (NIST) 对人工智能系统的定义

NIST 人工智能风险管理框架略微修改了经合组织的定义,其中包括“输出”一词

人工智能风险管理框架将人工智能系统定义为一种工程化或基于机器的系统,该系统可以针对给定的目标集生成输出,例如影响真实或虚拟环境的预测、建议或决策。人工智能系统旨在以不同程度的自主性运行(改编自:经合组织关于人工智能的建议:2019;ISO/IEC 22989:2022)

人工智能风险管理框架

欧洲人工智能系统的定义

为了完善情况,我还研究了欧盟。在 2019 年的文件中,在立法过程的早期,人工智能专家组建议:https://digital-strategy.ec.europa.eu/en/policies/european-approach-artificial-intelligence

人工智能 (AI) 系统是由人类设计的软件(也可能是硬件)系统,给定一个复杂的目标,通过数据采集感知其环境,解释收集的结构化或非结构化数据,推理知识,或处理从此数据中获取的信息,并在物理或数字维度中采取行动,并决定为实现给定目标而采取的最佳行动。人工智能系统可以使用符号规则或学习数值模型,并且它们还可以通过分析环境如何受到其先前操作的影响来调整其行为。

作为一门科学学科,人工智能包括多种方法和技术,例如机器学习(其中深度学习和强化学习是具体的例子)、机器推理(包括计划、调度、知识表示和推理、搜索和优化)以及机器人技术(包括控制、感知、传感器和执行器,以及将所有其他技术集成到网络物理系统中)。

人工智能高级别专家组:《值得信赖的人工智能伦理准则》

值得注意的是,人工智能法案中未使用此定义。《欧盟理事会文本》建议使用以下定义:

“人工智能系统”(AI 系统)是指满足以下条件的系统

  1. 接收机器和/或人为的数据和输入,
  2. 推断如何使用附件一中列出的技术和方法实施的学习、推理或建模来实现给定的一组人为定义的目标,并且
  3. 生成内容(生成式人工智能系统)、预测、建议或决策形式的输出,这些输出会影响其交互的环境;

这似乎与经合组织的文本非常相似。

为什么我们需要采用人工智能系统的定义

人们一致认为,开源人工智能定义需要涵盖所有人工智能实现,而不是特定于机器学习、深度学习、计算机视觉或其他分支。这需要使用通用术语。对于软件,“程序”一词涵盖一切,从汇编语言、解释型语言到编译型语言。“人工智能系统”是人工智能背景下的等效术语。

“程序”之于软件,正如“人工智能系统”之于人工智能。

在《什么是自由软件》文档中,GNU 项目描述了“程序”必须向其用户提供的四项基本自由。0.0.3 版本草案也类似地描述了人工智能系统需要向其用户提供的四项自由。

在 0.0.3 版本草案中,关于自由 3 - 修改自由的措辞存在争议。对于软件,这是修改程序以更好地满足用户需求、修复错误等的自由。0.0.3 版本草案指出

修改系统以更改其建议、预测或决策,以适应您的需求。

0.0.3 版本草案

指定更改对象的意图是为了确立任何人都有权修改整个人工智能系统行为的原则。“建议、预测或决策”等词语来自人工智能系统的定义: “系统”做什么?我想修改什么?

这就是为什么说清楚我们期望拥有修改权的内容很重要。将其与就人工智能系统做什么的约定定义联系起来,是确保所有读者理解一致的一种方式。

我们可以更改该要点的措辞,但我认为“修改”一词应指整个系统,而不是单个组件。

我们正在尝试采用一个被广泛理解和接受的人工智能系统定义,即使它在科学上并不完全正确。开源人工智能定义应与其他政策文件保持一致,因为许多社区(法律、政策制定者甚至学术界)也必须保持一致。

经合组织最新的人工智能系统定义是最佳候选,但不包含“或决策”一词。

下一步

11 月 14 日,我在亚的斯亚贝巴会见了数字公共产品联盟。我预计会遇到与迄今为止遇到的能力不同的组合,事实证明确实如此。在发布 0.0.4 版本草案并进入下一阶段的公开对话之前,我正在思考我们在基本原则上达成共识还有多远。对于 2024 年,我们计划定期举行会议(线上和线下)并制定发布路线图,目标是在年底前发布 1.0 版本。敬请期待。