【Deep Dive:AI Webinar】我们是否能将开源许可用于机器学习和人工智能模型?

开源社翻译组 开源社KAIYUANSHE




  Stefano Maffulli


大家好,欢迎收看下一集,由开源促进会主办的深入探讨人工智能的网络研讨会系列。我是执行董事 Stefano Maffulli,今天我们将邀请到 Mary Hardy,她有一个非常大的问题要回答我们。我们是否应该将开源许可用于机器学习和人工智能模型? 希望大家喜欢,最后我们会回答大家的问题。 


  Mary Hardy


嗨,我是 Mary Hardy,一个开源律师来找你,不是来自加州圣地亚哥的现场直播。今天和我一起讨论的话题是我最近一直在想的:我们可以为机器学习和人工智能模型使用开源许可吗? 不,人工智能和机器学习已经存在了几十年。最近,我看到在开源许可下提供的机器学习组件呈爆炸式增长,还有公共源代码、源代码、可用、仅限研究、开放获取和其他自定义公共许可,有了这么多的用例,现在似乎是讨论哪些开源许可证适合机器学习元素的好时机。如果不适合,我们应该怎么做? 我不能告诉你该怎么处理你的模型,因为我不是你的律师,这也不是法律建议。事实上,我想我今天的问题比答案要多,但是我可以帮助大家排队讨论一些我认为与主题相关的问题,我们可以一起评估一些流行的开源许可证。


首先,为机器学习组件使用开源许可是否有意义。除了共享源代码的透明度和可修改性,我认为开源模式非常适合机器学习,如果我可以从一个部分训练的模型检查点开始我的模型训练,它可以节省我所有的时间和计算能量来让模型发展到那个点。因此,如果人们想在开源许可下自由分享交易模式,这对环境和经济都更好。


事实证明,它可以迅速加速模型的开发和多样化,希望你能在 GitHub 和 Hugging Face 这样的开源平台上亲眼看看。因此,假设这个问题的答案是肯定的,那么为机器学习组件使用开源许可当然是有意义的。哪个开放源码许可证最适合,歧义最少。首先,我想列出核心机器学习的组件,并确保我们使用相同的术语,出于本讨论的目的,公共组件包括模型和模型数据如权重和其他参数,我可能会把这些统称为脱离习惯的方式。


然后是用于训练和评估的数据集,尽管它们具有相同的性质,但我把它们分开了,这样我就可以引用电影——银翼杀手。此外,这种差异与本演示文稿中的一种许可有关。有一些代码用于进行初始训练或对已经存在的交易模型进行进一步微调,用于培训的编码器脚本符合典型的开源软件许可,这很好。因此,我将只在许可遵从性上下文中提到这一点。当我问开源许可证是否适合机器学习元素时,我的意思是什么,有什么问题吗,让我们来看看机器学习元素的特征,以及开源许可证对它们适用于哪些材料的说明,我想你会明白我的意思。开源许可证的作者不可能预见到未来,所以我并不是在批评任何许可证。


模型是由什么组成的,是软件吗?当然,有不同类型的模型,但一般来说,有算法或算法层用计算机语言编写并安排在特定的体系结构中。是的,模型是传统意义上的软件或计算机代码。那么模型数据呢?权重是模型用来乘以输入的值,因此它们是模型中的参数。模型中也可以有其他参数,比如偏差,它也是一个值。


您可能已经知道,在训练模型时,权重和其他参数值会作为训练的结果而被修改。我认为权重就像一个大而复杂的配置文件,但是它们真的是配置信息吗?权重是模型的另一个参数,是软件本身的一部分吗?有些人认为我们需要为模型权重创建一个特殊的许可,这可能是其他讨论的主题。难道数组的值不具有版权性,因此版权许可甚至可以适用吗?如果我们不具有版权,那么我就不需要版权许可来复制它们,对吗?我不是法院,所以我不是决定版权的人。此外,目前美国法院有一个案例,认为两个开源许可证是合同,所以我们可能会在不久的将来从合同的角度来看待开源许可证。


接下来是数据集,数据可以是很多不同类型的东西,实际上是任何你想要应用机器学习的数据。那么数据集可以被认为是代码吗?数据集可以由代码样本组成,如果是这样的数据集,它们可以是文本、声音、图像和许多版权形式的数据的集合。那么,如何将开源许可证轻松地应用于数据集呢?数据集许可本身就是一个研究课题,也是其他讲座的主题。我肯定,它不仅仅是在机器学习的背景下。几十年来,科学家们一直试图适当地授权和共享数据。一些司法管辖区承认数据库权利是与版权分开的权利,我没有时间深入讨论所有这些考虑,但我会提到数据。在特定的许可环境中,软件许可有时会提到版权、专利和商标。这是完全正常的,而且它们通常伴随着大量的免责声明,但有时开源许可证会指定它们打算应用的内容。


我将向您展示一些目前应用于机器学习元素的流行开源许可证的文本,我选择了我所看到的五个最受欢迎的应用于公开可用的模型。抱歉,如果我错过了你最喜欢的许可证。您确实有一个最喜欢的开源许可证,不是吗?是的你有。好的,让我们从一个在这个领域非常流行的开始:一个补丁 2 到 0,发表于 2000 年 1 月。2004 年,我无法显示所有的文本,但如果您愿意,请随意使用您自己的许可证副本。一个小的 2 而不是 0,表示它适用于什么,它讨论了作品的许可授予以及源或对象形式的驱动作品,所有这些大写的词的定义是:作品是指作者的作品符合本许可证的规定。


哇,这个范围很广,似乎和美国版权法一样宽泛。它说它适用于,通过许多作品的原创作品,应该意味着任何作品,无论是来源还是对象形式, 以本作品为基础或衍生自本作品的,注明大写 W 的源和对象。源形式是指进行修改的首选形式。并给出了一些实例软件源代码文档、源文件和配置文件。对象、目标形式是指对源形式进行机械变换或翻译而产生的任何形式,并给出了一些编译目标代码。生成文档转换为其他媒体类型的例子,这个许可证如何适用于机器学习的核心要素。由于模型是用计算机语言编写的,并被编译成二进制代码或目标代码进行操作,因此我认为它非常适合具有大写 W 定义的版权风格的工作。


Apache 2.0 是最受欢迎的开源许可证。当我最近检查的时候,权重呢? 这就是事情开始变得有点奇怪的地方。如果权重像一个配置文件,它本身可能不受版权的约束,但至少它在 source 的定义中用大写的 S 表示出来。还有例子,不好意思,那么,对模型进行修改的首选形式是什么呢?是模型源代码本身吗?嗯,通常我们人类喜欢修改源代码,我们喜欢修改代码和源代码格式。因为我们可以阅读和理解文本字符开放源码许可证,根据定义,需要修改的能力。如果我想修改一个模型的算法,例如,源代码格式是有意义的。但在机器学习领域,我经常想要通过进一步的训练来修改模型,这就是分享的价值。就像我们说过的,是最强大的,您还可以在开源许可下的公共仓库中找到许多开源模型。这些模型仅以可执行格式存在,所以在这种情况下,我更倾向于修改模型的对象形式,加上它的权重、岗位培训。


源代码的定义大写 S 使得 Apache 似乎很好地应用于共享训练模型。事实证明,Apache 许可证花了一些时间来区分源和对象形式,并提供了这些形式的示例。但是该许可证说它适用于在该许可证下以源或对象形式提供的作者作品。我们是否认为它有潜力通过讨论修改的首选形式来具体应用于权重。它调用配置文件,如果模型开发人员希望在 Apache 许可下提供权重,这可能会很有帮助,我们刚刚确定了语言和我们可以尝试应用于该许可的许可。版权能力的幽灵会在整个演讲中一直困扰着我。只要记住它一直都在那里,如果我每次都不提。别忘了那个正在进行的合同案件。


那么数据集呢?我提到了数据许可的复杂性,但也许它符合 Apache 许可对大写 W 的定义。Apache 2.0 是第二流行的数据集许可证。关于 Hugging Face。我最近查过,好吧,来个简短的、简单的怎么样?根据我读到的一篇文章,非常流行的 MIT 许可,传说说它写于 1983 年,也可能是 1987 年,我猜它是很久以前的事了,所以它的出版日期不确定。不管怎样,这是八十年代的海军,我相信这是 OSI 批准的最古老的开源许可证,所以记住,在小知识之夜,MIT 说它适用于大写 S 的软件,它被定义为这个软件和相关的文档文件。


这个许可证是否适合某个模型吗?模型是计算机软件,所以它似乎完全符合麻省理工学院的描述。权重呢?是否可以将权重视为描述模型节点之间或不同策略之间发生的事情的文档文件?这个模型,加上它的权重和其他参数一起工作,可以被认为是一个大写的软件吗?这里没有定义小写 s 的软件。那么它的一般含义是什么呢?最新版的剑桥在线词典将其定义为:控制计算机行为的指令。计算机程序,权重控制着模型对输入的处理。当然,和模型一起,我认为把整个描述成一个计算机程序是合乎逻辑的。如果模型开发人员希望将 MIT 应用于权重,特别是模型加权重的组合,麻省理工学院的意图应用于带有大写 S 的软件似乎有助于潜力。


当我从这个特殊的角度看待这些开源许可时,我看到了一个有趣的主题。我开始怀疑,许可证中更少的定义和描述是否允许更灵活地应用于新技术?对于专利代理人来说,这种专用性灵活性的斗争是众所周知的,但是许可并不是专利申请,那么他们需要有多专用性才能实现他们的知识产权目标呢?在开放源码许可的情况下,特别是允许自由共享和修改,也许这是我们在理解时需要记住的。好吧,那么数据呢?麻省理工学院对它适用于您的定义不像 apache 的工作那样广泛,在数据集不是由软件样本或数字文件组成的情况下,例如,模型开发人员是否希望使用麻省理工学院许可将数据放入麻省理工学院的文档文件中? 我不确定,数据集软件是小写的吗?除非数据是软件样本,否则我觉得这听起来不对。小写字母 s 的数据集是软件的一部分吗?因为它和训练代码一起,通过权重塑造了模型的功能。玛丽的问题比答案多吗?有时吗?是的。MIT 是 Hugging Face 上最受欢迎的数据集许可,也是第二受欢迎的模型许可,仅次于 Apache 2.0。


好了,让我们来看看一个传奇,GPL 2.0 许可证第二版于 1991 年 6 月发布。所以在 MIT 之后,在 Apache 之前,如果你在家里留意的话,它有很多东西要做,它并不以简洁著称,但我会尽我最大的努力使它美观易懂。GPL 说它适用于什么?任何程序或其他作品,如果包含版权所有者发布的声明,说明它可以在本通用公共许可协议的条款下发布。然后它把大写 P 的程序定义为这样的程序或功,所以大写的 P 程序是版权所有者试图应用 GPL 的东西。它是一个小写的程序或小写的作品,这怎么适合一个模型呢?程序或作品的模型是否与其他许可证类似?我认为这种供应在软件程序上是没有争议的,虽然工作是一个版权术语,但它并没有定义。所以我没有看到任何尴尬的地方,重量呢?程序的权值是大写 P 吗?权重加上模型 A 的程序是大写 P 吗?GPL 在后面的章节中提供了一些可能相关的定义。


工作的源代码意味着对工作进行修改的首选形式。这听起来很熟悉,因为我们刚刚在后来发布的 Apache 许可证中看到了这一点。与 Apache 不同,它不提供示例,因此没有限制或帮助区分,这是否取代了源代码的简单语言含义?它没有大写,这对读者来说是一个信号,表明这个术语在许可证中有一个特殊的定义。但在我看来,这些词确实打算定义它。这就剩下,对于我的修改、解释、模型的首选形式来说,权重加上它们都是由开放源代码许可管理的,因为这通常是修改的首选形式。


如果模型开发人员希望在 GPL 2.0 下提供他们的模型加权重,我们可以称它为大写 P 的程序吗? 我不确定,数据集呢?数据集可以是一个大写 P 的程序吗?项目,小写吗?似乎不符合我以前见过的数据集,那么作品呢?我想我之前关于 Apache 的评论 在这里它可能是一个报价,其他未报价的工作,或者它可能会变成一个合同,并将在某一天检查这个角度。


在根据 GPL 重新发布材料时,该许可证有一些有趣的含义需要考虑,它要求分发者在相同的许可证下还包括他们自己的修改 并且目标代码格式要求他们引用相应的完整的机器可读源代码 或者为此提供书面报价 请记住,源代码在本许可中被特别定义为进行修改的首选形式,因此它可能奇怪地适用于模型加权重。我正在想办法解决 嗯,这里说,我们必须附带一个可执行文件和首选的修改形式。因此,模型加上预训练的权重是完整的源代码 许可证将其定义为它包含的所有模块的所有源代码,加上任何相关的接口定义文件,加上用于控制可执行文件的编译和安装的脚本。理想的文件是一个特定的东西,我看不出适用于核心机器学习组件的编译和安装,脚本是相当直接的。当我考虑将源代码定义应用于 GPL 2.0 下的后续火车模型分发时,与完整的源代码需求相比,源代码定义产生了问题。


请记住,我不是在责怪许可证作者。因为据我所知,修改的首选形式一直是人类可读的文本字符。更具体,也许是为了创造更多的清晰度,而不是更少。通过浏览,我看到许多 GPL 许可模型仅作为可执行文件公开提供,而没有附带源代码。因此 如果我想进一步分发或训练它并进一步分发我的新权值,我如何与我从未有过的源代码一起分发它?这些只共享二进制格式的模型开发者真的打算在使用 GPL 许可时禁止修改和共享吗?他们为什么要选择开源许可证呢?如果是这样,对我来说没有意义。大多数下游接收者需要源代码吗?在这些情况下,我们打算扩展首选形式以进行修改,定义并忽略分发目标代码形式的条件。我还有更多的问题和答案吗?再一次,是的,好吧。


GPL 3.0 比 2007 年 6 月发布的 GPL 2 更适合机器学习组件吗? 它是我今天谈论的最新的开源许可。它应用于“拥抱脸”上的模型和数据集的频率是 2.0 的十倍。让我们立即深入了解其中的差异。它将带有大写 P 的程序定义为与根据本许可证许可的任何可受版权保护的作品不同,所以这是明确针对有版权的材料,这是正常和广泛的。与 GPL 2.0 一样,它将源代码定义为对其进行修改的首选作品形式。所以我可以尝试在这里提出我的旧权重论点,除了 GPL 3.0 将修改定义为以需要版权许可的方式引用的东西。这对我喜欢的修改角度有影响吗?


换句话说,如果我进一步训练 GPL 版本 3 模型修改其权重,这甚至不是 GPL 3 定义下的修改吗? 那么,这是否意味着我可以以可执行格式加上修改过的权重来分发模型,但我没有义务将我的参数修改置于 GPL 3 之下? 这违背了 GPL 分享改进的理念。在相同的许可下,所以这看起来不像是一个逻辑模型。开发人员意图并选择此许可。如果我想以修改模型的首选形式分发目标代码,那么我必须,引用,还必须在条款下传递机器可读的相应源代码。这个许可证。与大写 S 对应的源,被定义为生成、安装和可执行工作所需的所有源,运行目标代码和修改工作,包括控制这些活动的脚本。


有趣,GPL 3 也有同样的问题,首选的,不好意思,首选的修改形式。矛盾,不幸的是,但是请注意,对应源的定义与 GPL 第二版有很大的不同。后者讨论了所有模块的源等等。它需要为下游接收者生成所需的所有源代码,以便能够生成列车模型。它们需要具有与最初使用的相同或非常相似的训练数据集和训练代码。对吧,但是开源模型开发人员希望下游接收者只能重新创建相同的模型。这有意义吗?这是为了透明起见,还是他们真的意味着在相同的许可下共享进一步的改进?GPL 3 并没有神奇地回答我在 GPL Version 2 中遇到的问题。


我注意到学术免费许可证 3.0 已经应用于 Hugging  Face 上的几千个公开可用的模型,总共有超过 150 万的模型下载。它是在 2005 年编写的,所以在 GPL 3 和 Apache 2.0 之前,我对它的流行感到有点惊讶,不是因为它有什么问题,而是因为它在我的开源生活中没有发挥很大的作用。到目前为止,我不知道我以前是否使用过这个许可版本。为什么这么多模型都选择了这个许可证?我没有采访模型开发人员,所以这不是一项科学研究,但让我们仔细看看它,并试着猜测许可证说它适用于什么?有原创作品吗?所以引用美国版权代码,其所有者在其上放置了以下许可声明。在美国版权法允许的范围内,好的,开了个好头。它继续将源代码定义为进行修改的首选形式,就像其他常用的开放源代码许可证一样,除了 MITBummer。这是我对模型修改参数的首选形式。


当时的情况是,各位,每个人都担心源代码会发生根本性的变化,所以他们不得不用今天给我带来麻烦的术语来描述它。我不确定,它也像 MIT 一样包含文档。但是它指定了引用描述如何修改工作的可用文档。好吧,AFL 是如何适应一种模式的,一种与其他许可方式相同的作者身份作品呢?重量呢?一个模型加上砝码是一个原创的工作与资本猫头鹰。如果我对它进行进一步的训练,它会成为一个不同的原创作品吗?我不确定,它如何像其他许可证一样符合数据,也许它可以适用于广义的原始工作定义。


注意,当有人进一步分发目标代码时,他们必须提供源代码。对于那些喜欢通过进一步培训来修改模型的人,我们再次看到了这个问题。源代码的定义及其可用的文档要求是否意味着也必须包括培训脚本?这是本次演示中唯一一个具有网络分布角度的许可证 这是使用机器学习模型的一种流行方式,也许这就是模型开发人员选择它的原因。我最不想说的一件事。许可证有很多免责声明,但我觉得这个很有趣 使用权。您可以在不受本许可,法律和许可或不干涉或不为您的使用负责的承诺的限制或条件下使用原始作品。我不用为你的行为负责,我保证。也许这对选择该许可的模型开发人员来说是一个有吸引力的原因。所以我很抱歉,我不能明确地找出为什么这些所有的开发人员选择了 A-F-L, 因为它有相同的问题。大多数其他在我的特定分析,除了 MIT。


是否有足够多的现有开源许可证,其条款合理地适用于 AI 元素,以便模型开发人员有足够的选择? 我们真的需要更多的许可证吗?意味着更多的律师自以为是。哦不, 还有更多的许可兼容性机会,更多的解释新许可的尝试,更多的不确定性,可能还有更多的诉讼。出于这些原因,有些人不鼓励许可证扩散。然而,批评通常是关于创造新的但重复的内容。许可证,那么, 我们所拥有的众多开源许可证是否都不适合创建一个新许可证呢?我告诉过你,我看到 AI 组件出现了各种各样的开放授权。


这里有一个有趣的例子,一个名为 Falcon 的模型在 Apache 2.0 许可上提供了它的前两个模型。但他们最新的一架是有执照的,他们叫猎鹰一号 A-D-B-T-I-I-i 许可证。第一版,它是 Apache2 许可证。文字经过大量修改,下面是一些添加的文本,用下划线和绿色标出。注意,他们将训练数据集添加到源的定义中,并将训练模型添加到对象的定义中,有趣。不幸的是,它不再是一个基于使用限制的开源许可证,并且这些限制可以在不通知的情况下更改。这对于遵守许可证来说很有趣,并且他们将源代码作为修改的首选形式。


让我疯狂的是,我只是想向你展示一些例子,这些例子明确承认一些核心 AI 和所有组件。这是一个未开放源代码的流行开源许可证,这里有一个例子,我经常看到开源许可下的机器学习组件,但是在非开源许可下的权重或者非许可、非开放许可,甚至这个例子也特别极端。有一个模型是在麻省理工学院许可下发布的,但权重文件是在知识共享署名下发布的,非商业性,禁止衍生,4.0。无衍生部分听起来像是不想让别人分享进一步训练的权重文件,即使是非商业目的,我还没有查看所有的开源许可证,这是我估计的当今最受欢迎的五种机器学习元素。一个按名称列出机器学习组件的新开源许可证能解决所有问题吗?或者,随着事物的发展,它会带来比术语不再适用更多的问题吗?或者如果一个新的组件被开发出来,我们还不知道它,所以我们不知道要包含它。也许如果我们可以应用我们已经拥有的那些不会因为过于具体而绊倒自己的组件,就会减少流失。


我很想听听你在问题和评论部分的想法,谢谢你! 



Mary Hardy

Senior Corporate Counsel in Open Source, Standards, and Open Machine Learning at Microsoft



作者丨Mary Hardy

翻译丨刘文涛

审校丨刘文涛

视频丨陈玄

策划丨李思颖、罗蕊艳

编辑丨王军   


相关阅读 | Related Reading

【Deep Dive: Al Webinar】人工智能数据隐私

【Deep Dive:AI Webinar】联邦学习-数据安金性和隐私性分析的思维转换

【Deep Dive: AI Webinar】基于共享的数据治理

【Deep Dive: AI Webinar】数据合作和开源人工智能