人工智能和开源软件:出生就分开了?
在本文中,Luis 与读者分享了他对开源软件和机器学习的交集以及未来可能带来的想法。许多文章涵盖了机器学习社区如何使用开源软件,但这篇文章侧重于这两个实践领域之间的相似之处,以及机器学习可以从开源软件中学习和不可以学习的东西。
自去年年底以来,我一直在阅读、写作和演讲开源软件和机器学习的交叉点,试图了解未来可能带来什么。
当我开始的时候,我预计我会主要谈论机器学习社区如何使用开源软件。但是我探索得越多,我就越意识到这两个实践领域之间有很多相似之处。在本文中,我将讨论其中的一些相似之处,以及机器学习可以从开源软件中学到什么,不能从开源软件中学到什么。
建筑,从一开始
简单而明显的相似之处是,现代机器学习和现代软件几乎完全是用开源软件构建的。对于软件,即编译器和代码编辑器;对于机器学习,它是像PyTorch和TensorFlow这样的训练和推理框架。这些领域由开源软件主导,似乎没有什么准备好改变这一点。
有一个值得注意的、明显的例外:所有这些框架都依赖于非常专有的 Nvidia 硬件和软件堆栈。这实际上比最初看起来更平行。长期以来,开源软件主要运行在专有的Unix操作系统上,由专有硬件供应商销售。只有在Linux出现之后,我们才开始理所当然地认为堆栈的开放“底部”甚至是可能的,并且现在在MacOS和Windows上进行了许多开放开发。目前还不清楚这将如何在机器学习中发挥作用。亚马逊(AWS)、谷歌(云和Android)和苹果都在投资竞争芯片和堆栈,其中一个或多个可能会遵循Linus(和英特尔)铺设的释放整个堆栈的道路。
训练数据:新的意外供应链?
开源软件的构建方式与机器学习的构建方式之间更关键的相似之处是构建数据的复杂性和公共可用性。
正如我与人合著的这篇预印本论文“数据来源项目”中所详述的那样,现代机器学习建立在数千个数据源之上,就像现代开源软件建立在数十万个库之上一样。就像每个开放库都带来法律、安全和维护挑战一样,每个公共数据集也带来了完全相同的困难。
在我的组织中,我们已经将开源软件对这一挑战的版本称为“意外供应链”。软件行业开始构建东西,因为开源库令人难以置信的构建块意味着我们可以。这意味着该行业开始将开源软件视为供应链,这让许多“供应商”感到惊讶。
为了缓解这些挑战,开源软件开发了许多复杂(尽管不完美)的技术,例如用于识别正在使用的内容的扫描仪,以及用于在部署后跟踪事物的元数据。我们也开始投资于人类,试图解决工业需求与志愿者动机之间的不匹配。
不幸的是,机器学习社区似乎已经准备好陷入完全相同的“意外”供应链错误——做很多事情,因为它可以,而没有停下来思考一旦整个经济基于这些数据集的长期影响。
打开扩展以填充许多壁龛
最后一个重要的相似之处是,我强烈怀疑机器学习将扩展到填补许多利基市场,就像开源软件一样。目前,(当之无愧的)炒作是关于大型生成模型的,但也有许多小型模型,以及对大型模型的调整。事实上,托管网站HuggingFace,机器学习的主要托管平台,报告说他们网站上的模型数量呈指数级增长。
这些模型可能会很丰富,并且可以改进,就像小块开源软件一样。这将使它们变得非常灵活和强大。例如,我正在使用一种基于机器学习的小型工具在我的街道上进行廉价的、隐私敏感的流量测量,这是一个用例,除非几年前在昂贵的设备上,否则不可能实现。
但这种激增意味着它们需要被跟踪——模型可能变得不像大型机,而更像开源软件或SaaS,由于低成本和易于部署,它们随处可见。
元数据不是万能的,但它是第一步
因此,如果存在这些重要的相似之处(特别是复杂的供应链和激增的分销),机器学习可以从开源软件中学到什么?
我们可以得出的第一个平行教训是,要理解它的许多挑战,机器学习将需要元数据和工具。开源软件通过版权和许可合规性偶然进入元数据工作,但随着软件的意外供应链成熟,元数据已被证明在各个方面都非常有用。
在机器学习中,元数据跟踪是一项正在进行的工作。举几个例子:
2019年一篇在业内被广泛引用的重要论文敦促模型开发人员用“模型卡”记录他们的工作。不幸的是,最近的研究表明,它们在野外的实施仍然很弱。SPDX和CycloneDX软件物料清单(SBOM)规范都在研究AI物料清单(AI BOM),以帮助跟踪机器学习数据和模型,其方式比模型卡更结构化(如果这真的是并行开源软件,则适合人们所期望的复杂性)。HuggingFace创建了各种规范和工具,允许模型和数据集作者记录其来源。上面引用的麻省理工学院数据来源论文试图理解数据许可的“基本事实”,以帮助用真实世界的数据充实规范。有趣的是,许多从事机器学习培训工作的公司似乎与数据跟踪有着某种随意的关系,以“越多越好”为借口将数据铲入料斗,而不一定能很好地跟踪它。如果我们从开放中学到了什么,那就是获得正确的元数据(首先是规范,然后是实际数据)将是一个多年的项目,可能需要政府干预。机器学习应该尽早采取元数据暴跌。
安全将是一个真正的问题
安全性一直是开源软件元数据需求的另一个主要驱动因素——如果你不知道自己在运行什么,你就无法知道你是否容易受到看似无穷无尽的攻击。
机器学习不受大多数类型的传统软件攻击,但这并不意味着它们是无懈可击的。(我最喜欢的例子是,有可能毒害图像训练集,因为它们经常从死域中提取。这一领域的研究足够热,我们已经超越了“概念验证”,进入了“有足够的攻击来列出和分类”。
不幸的是,开源软件不能为机器学习提供任何安全灵丹妙药——如果我们有它们,我们就会使用它们。但是,开源软件如何传播到如此多的利基市场的历史表明,机器学习必须认真对待这一挑战,从跟踪使用情况和部署元数据开始,正是因为它可能会以超出当前部署方式的多种方式应用。
监管和责任将扩大
推动开源元数据(许可,然后是安全)的动机指向下一个重要的平行线:随着一个部门的重要性的增长,必须衡量和跟踪的事情的范围将会扩大,因为监管和责任将会扩大。
在开源软件中,多年来政府的主要“监管”是版权法,因此开发了元数据来支持这一点。但是开源软件现在面临着各种安全和产品责任规则,我们必须完善我们的供应链以满足这些新要求。
随着人工智能变得越来越重要,它同样将以越来越多的方式受到监管。监管的来源将极其多样化,包括内容(投入和产出)、歧视和产品责任。这将需要有时称为“可追溯性”的东西,即了解模型是如何构建的,以及这些选择(包括数据源)如何影响模型的结果。
这个核心要求——我们有什么?它是如何走到这一步的?——现在对于企业开源软件开发人员来说非常熟悉。然而,对于机器学习开发人员来说,这可能是一个根本性的变化,需要被接受。
“长期”比人们想象的要长
机器学习可以从开源软件(实际上从它之前的许多软件浪潮中,至少可以追溯到大型机)中吸取的另一个平行教训是,它的使用寿命将非常非常长。一旦一项技术“足够好”,它就会被部署,因此必须维护很长时间。这意味着我们必须尽早考虑维护该软件,并考虑该软件可能存活数十年意味着什么。“几十年”并不夸张;我遇到的许多客户都在使用足够老的软件来投票。许多开源软件公司和一些项目现在都有所谓的“长期支持”版本,用于这些用例。
相比之下,OpenAI将他们的Codex工具保留了不到两年的时间,这引起了很多愤怒,尤其是在学术界。鉴于机器学习的快速变化,以及大多数采用者可能对使用非常前沿的技术感兴趣,这可能并非不合理 - 但有一天会到来,比行业想象的要早,它需要为这种“长期”进行规划 - 包括它如何与责任和安全互动。
财务激励不一定一致
最后,很明显,就像开源软件一样,将会有大量资金流入机器学习,但大部分资金将集中在一位作者所说的“处理器丰富”公司上。如果与开源软件的相似之处发挥作用,这些公司的
我们的公司Tidelift一直在考虑开源软件中的激励问题,像世界上最大的软件购买者美国政府这样的实体也在研究这个问题。
机器学习公司,尤其是那些寻求创建创作者社区的公司,应该认真思考这一挑战。如果他们依赖于数以千计的数据集,他们将如何确保这些数据集在数十年内用于维护、法律合规性和安全性?如果大公司最终在公司周围部署了数十个或数百个模型,他们将如何确保那些拥有最佳专业知识的人 - 那些创建模型的人 - 在发现新问题时仍然在处理它们?
与安全性一样,这一挑战没有简单的答案。但是,机器学习越早认真对待这个问题——不是作为一种慈善行为,而是作为长期增长的关键组成部分——整个行业和整个世界都会变得更好。
结论
机器学习深深植根于学术界的实验主义文化和硅谷的快速迭代文化,这很好地为它服务,导致了惊人的创新爆炸,这在不到十年前看起来很神奇。开源软件在过去十年中的历程可能不那么迷人,但在此期间,它已成为所有企业软件的基础,并在此过程中吸取了很多教训。希望机器学习不会重新发明这些轮子。Luis Villa是Tidelift的联合创始人兼总法律顾问。此前,他是一名顶级开源律师,为从财富 50 强公司到领先初创公司的客户提供产品开发和开源许可方面的建议。
原文标题:AI and Open Source Software: Separated at Birth?
原文链接:https://www.kdnuggets.com/ai-and-open-source-software-separated-at-birth
编译:LCR
- 免责声明
- 本文所包含的观点仅代表作者个人看法,不代表新火种的观点。在新火种上获取的所有信息均不应被视为投资建议。新火种对本文可能提及或链接的任何项目不表示认可。 交易和投资涉及高风险,读者在采取与本文内容相关的任何行动之前,请务必进行充分的尽职调查。最终的决策应该基于您自己的独立判断。新火种不对因依赖本文观点而产生的任何金钱损失负任何责任。