LWN:Fedora打包机器学习模型的疑问!
关注了就能看到更多这么棒的文章哦~
Questions about machine-learning models for Fedora
By Joe Brockmeier
March 13, 2024
ChatGLM translation
https://lwn.net/Articles/964739/
Kaitlyn Abdo,来自 Fedora 的 AI/ML SIG,最近向 Fedora 工程指导委员会 (FESCo) 提出了一个问题,涉及将机器学习 (ML) 模型打包到 Fedora 中的一些棘手问题。具体来说,该 SIG 想要了解预训练的 PyTorch 权重是否构成代码或内容。而且,如果这些模型是在 Open Source Initiative (OSI) 批准的许可下发布的,模型的训练数据是否重要?该问题很快就被转到了 Fedora 的 法律邮件列表,引发了关于如何处理这些问题以及暂时的解决方案的讨论。
确定术语定义
如今,AI/ML 已经成为几乎无所不在的存在,或者至少人们是如此感觉的。然而,对于那些处于该领域之外的人来说,术语可能会令人困惑,因此 Tim Flink 在将讨论从 FESCo 的问题转移到 Fedora 法律列表来讨论时,提供了一些术语的定义。
总结 Flink 的定义如下,一个模型(model)描述了一个人工神经网络 (ANN),它是结构化数据,"由神经元(包含某些值的节点)组成,这些神经元以各种连接方式组织成层". 一个模型描述了一个特定的 ANN,它的层如何配置,数据的结构如何以及模型在对数据进行训练时将使用的学习算法来为其节点分配值(权重)。
模型本身并不是很有用,直到它经过数据训练并且分配了权重,才能提供 "确定连接如何影响网络流动的确切值". 例如,人们可能想要使用 PyTorch 的 torchvision 库,该库提供了用于图像分类和目标检测等任务的模型,以确定图片中是否有猫。其中一个 torchvision 模型可能适用于此任务,但需要在数据上进行训练(使用有和没有猫的图片),然后才能发挥其作用。
用户可以自己进行训练,但正如 Flink 所指出的,进行训练以创建权重 "是一个非常昂贵且耗时的过程". 因此,像 PyTorch 这样的项目提供了预先训练好的权重—也就是已经用训练数据填充的模型—以便用户可以不必进行训练就直接使用模型,甚至无需访问用于训练模型的数据。例如,PyTorch 项目分别提供了具有和没有权重的 torchvision 模型。
这里存在的看法问题是:尽管权重和模型可能是在 Fedora 批准的许可下提供的,但对于用于训练的数据存在不确定性。版权持有者已经因为在模型训练中使用其数据而提起诉讼,AI/ML SIG 对于打包权重很犹豫并且对于输入数据有疑问—即使模型是根据 Fedora 批准的许可发布的。
在该讨论的第一条消息中,Flink 问权重是否是普通的非代码内容,或者即使上游供应商将模型提供给 Fedora 时,是否 "需要特殊处理"。换句话说,打包者是否有责任审查训练数据,还是上游供应商所选择的许可 license 足够用来做出决定?到目前为止,该 SIG 偏向于谨慎行事,并且避免打包权重,但这也有其缺点。
提供像 PyTorch 这样的软件而不包括权重,就好比提供了一个没有所需字典的拼写检查器作为单词列表。如果用户不必单独寻找权重,而是可以从安装软件中获取,那将更方便—但 SIG 希望在这样做之前从 FESCo(然后是 Fedora 法律)获得公开的指导。
AI/ML 权重是否特殊?
Richard Fontana,一位为 Fedora 提供法律咨询的红帽公司法律团队成员,写道,他建议将问题提交给 FESCo,因为他认为 FESCo 可能会判定权重是 "类似于目标代码",用户必须能够修改的内容。 Fontana 暗示了 OSI 就 "开源 AI" 定义进行的 讨论,并表示其中 "在该努力中参与者中肯定存在一些情绪" 认为 训练数据必须开放,因为 "这对用户行使修改权利是必要的"。然而,似乎 FESCo 已经满意了 认为权重是内容,除非 Fedora 法律部门另有规定。
Fontana 表示,他 "很难找到理由" 不将权重视为内容。然而,他指出 Fedora 应该谨慎行事,至少在最初阶段,应该 "具体问题具体分析",直到 Fedora 对这类内容有了更多的经验为止。 Fontana 表示,在某些情况下,Fedora 可能不想打包权重,因为 "有关模型训练方式的已披露信息或未披露信息"。他说,这是 "不太可能,但并非完全不可能"。
在后续的 讨论 中,Fontana 对此进行了详细阐述,并表示希望对 "任何实际包含在 Fedora 软件包中的特定预训练权重进行进一步审查,至少初期先这样",因为期望打包人员或软件包审核人员进行此类审查是 "非常不切实际的"。Fontana 表示,如果存在技术问题,比如 "是否应该有关于上游预训练权重打包的标准",他将无法提供指导 "超出我最初的将此主题与似乎未能成功的 FESCo 提出的建议"。
FESCo 成员 Neal Gompa 回复道:
作为 FESCo 的一员,主要问题是回答我们如何对其进行分类和识别,以供软件包审查使用,这在很大程度上是 Fedora 法律部门的问题。就个人而言,对我来说它基本上是内容,我们可能需要一些明确的文档来为 AI/ML SIG 编写的打包指南提供指导,以供 Fedora 打包委员会 [Fedora Packaging Committee] 进行审查。
构建时下载怎么样?
Flink 还询问了为 Fedora 打包的软件在第一次使用时可能会下载权重的情况。他 提到 torchvision 作为一个已经为 Fedora 打包的库的示例,其中权重已经被移除。如果用户在使用 torchvision 库时调用其中的模型,比如 vit_b_16 模型,那么权重将在第一次使用时从第三方网站下载。Flink 指出,一些权重是根据 Fedora 可接受的内容许可,一些是根据创作共用许可(Creative Commons licenses),对于 Fedora 打包的内容是不可接受的,而另一些则没有明确的许可证。
针对这些情景,Gompa 建议,与 Python 的 pip=、Ruby 的 =gem
以及其他具有包管理器功能的软件处于 "同一类别",这些软件会从 Fedora 存储库之外的来源下载软件。Fontana 同意,但 Flink 写道,"功能确实有重叠,但在我看来,预期的用途是不同的,这可能值得注意"。他还解释说,下载发生时 "对用户是透明的,在首次下载权重时除了日志消息外没有任何警告"。这与使用 pip
安装 Python 软件有些不同,因为用户必须明确运行 pip install
命令来下载软件。Flink 表示,他并不反对拥有这种功能,但希望确保它被正确解释。
Fontana 回复道,他觉得 Flink 提出的是一个更普遍的问题,与预训练模型无关。他指出,任何 Fedora 软件包都可以在没有警告用户的情况下下载内容,并且他不知道有任何 Fedora 技术或打包指南解决了这个问题。此时,Gompa 似乎对讨论感到不耐烦,指出许多 Fedora 软件包都具有类似的功能,并建议如果包装者担心该功能,"调整 pytorch 以要求配置或在第一次触发时做出提示,或者其他方式"。
下一步
迄今为止,尚未提交包含预训练权重的软件包进行审查。我通过电子邮件询问了 Flink,他确认计划打包 torchvision 的权重,以便 Fedora 软件包可以与上游 PyTorch 与视觉相关的教程一起使用。我们将拭目以待逐案审查的结果,以及由于对训练数据的担忧可能有哪些软件包会被留在 Fedora 之外的情况。
全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。
长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~