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

18e6b4d328f6f8c1a64dbeec096b4038.jpeg

de4ddc06b59744653f7cb08b5d59cf38.png

【深入探讨人工智能】网络研讨系列总共有 17 个视频。我们按照视频内容,大致上分成了 3 个大类:

1. 人工智能的开放、风险与挑战(4 篇)

2. 人工智能的治理(总共 12 篇),其中分成了几个子类:

a. 人工智能的治理框架(3 篇)

b. 人工智能的数据治理(4 篇)

c. 人工智能的许可证(4 篇)

d. 人工智能的法案(1 篇)

3. 炉边对谈-谁在构建开源人工智能? 

今天发布的是第 13 个视频,亦即第二个大类别 “人工智能的治理” 里的第三个子类别 “人工智能的许可证” 的第二个视频:我们是否能将开源许可用于机器学习和人工智能模型?

我们期盼如此分类,对读者的易读性有帮助,也欢迎读者们的反馈和指正。

                   --- 开源社.国际接轨组 ---

95b930797ea6f238303a6764f82d7719.png

982ec1c4e1777f6a08a51e13069afb56.png

  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。无衍生部分听起来像是不想让别人分享进一步训练的权重文件,即使是非商业目的,我还没有查看所有的开源许可证,这是我估计的当今最受欢迎的五种机器学习元素。一个按名称列出机器学习组件的新开源许可证能解决所有问题吗?或者,随着事物的发展,它会带来比术语不再适用更多的问题吗?或者如果一个新的组件被开发出来,我们还不知道它,所以我们不知道要包含它。也许如果我们可以应用我们已经拥有的那些不会因为过于具体而绊倒自己的组件,就会减少流失。

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

32c9e1e0011635a47a877c2ee6e86caf.png

8c8a324508931dc4ade391abb91d18d2.png

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】数据合作和开源人工智能

开源社简介

开源社(英文名称为“KAIYUANSHE”)成立于 2014 年,是由志愿贡献于开源事业的个人志愿者,依 “贡献、共识、共治” 原则所组成的开源社区。开源社始终维持 “厂商中立、公益、非营利” 的理念,以 “立足中国、贡献全球,推动开源成为新时代的生活方式” 为愿景,以 “开源治理、国际接轨、社区发展、项目孵化” 为使命,旨在共创健康可持续发展的开源生态体系。

开源社积极与支持开源的社区、高校、企业以及政府相关单位紧密合作,同时也是全球开源协议认证组织 - OSI 在中国的首个成员。

自2016年起连续举办中国开源年会(COSCon),持续发布《中国开源年度报告》,联合发起了“中国开源先锋榜”、“中国开源码力榜”等,在海内外产生了广泛的影响力。

84aa5d8eb4f190594f0e4fab8d743c3b.gif

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

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

相关文章

用winsw将nodejs项目的exe程序安装为服务

winsw是一个开源项目&#xff0c;程序以及源码可以在Git Hub中下载&#xff1a; Releases winsw/winsw GitHub winsw是一个可以将任何应用程序注册成服务的软件 下载winse.exe winsw.xml配置如下&#xff1a; <service> <id>node-service/id> &…

IDEA创建Sping项目只能勾选17和21,却无法使用Java8

报错信息 The required java version 17 is not supported by the project SDK 1.8.The maximum supported Java version is 8. 想创建一个springboot项目&#xff0c;本地安装jdk版本为1.8&#xff0c;但是在使用 Spring Initializr创建项目时,版本只能选择21或17&#xff0c;…

MySQL面试题纯享版

基础内容 1、MySQL的架构分层 2、一条 SQL 查询语句的执行流程 3、如何查看 MySQL 服务被多少个客户端连接了&#xff1f; 4、 空闲连接会一直占用着吗&#xff1f; 5、MySQL 的连接数有限制吗&#xff1f; 6、 怎么解决长连接占用内存的问题&#xff1f; 7、执行器与存储引擎…

前端高频面试--查缺补漏篇

什么是进程和线程&#xff0c;有什么区别 进程&#xff1a;进程是程序的一次执行过程&#xff0c;是动态的过程&#xff0c;有自身产生、存在、消亡的过程。 线程&#xff1a;线程由进程创建&#xff0c;是进程的一个实体。一个进程可以拥有多个线程。 举个例子&#xff1a;…

rust学习(tokio future分析)

自己编写一个impl future来看一下Tokio的是如何实现的。 第一步&#xff1a; 代码&#xff1a; struct TExecuteTask {count:u32 }impl Future for TExecuteTask {type Output ();fn poll(self: Pin<&mut Self>, cx: &mut Context<_>) -> Poll<S…

「优选算法刷题」:字符串相乘

一、题目 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2", num2 &quo…

AI大预言模型——ChatGPT与AI绘图及论文高效写作

原文链接&#xff1a;AI大预言模型——ChatGPT与AI绘图及论文高效写作 2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网…

03:大数据与Hadoop|分布式文件系统|分布式Hadoop集群

大数据与Hadoop&#xff5c;分布式文件系统&#xff5c;分布式Hadoop集群 Hadoop部署Hadoop HDFS分布式文件系统HDFS部署步骤一&#xff1a;环境准备HDFS配置文件 查官方手册配置Hadoop集群 日志与排错 mapreduce 分布式离线计算框架YARN集群资源管理系统步骤一&#xff1a;安装…

Java已死?大学生还有必要学习Java吗【底部明信片,添加可进大学生求职社群】

目录 1. Java的历史与底蕴 2. 企业级应用的稳定性 3. Android应用开发 4. 大数据和云计算 5. 补充现代技术栈 6. Java生态系统的完备性 在技术的迅速演进中&#xff0c;有人开始质疑传统编程语言的地位&#xff0c;其中Java也未能幸免。然而&#xff0c;尽管一些人宣称“…

安卓开发:计时器

一、新建模块 二、填写应用名称和模块名称 三、选择模块&#xff0c;Next 四、可以保持不变&#xff0c;Finish 五、相关目录文件 六、相关知识 七、&#xff1f;

基本设计模式

单例模式 ES5 function Duck1(name:string){this.namenamethis.instancenull }Duck1.prototype.getNamefunction(){console.log(this.name) }Duck1.getInstancefunction(name:string){if(!this.instance){this.instance new Duck1(name)} } const aDuck1.getInstance(a) const…

PyTorch深度学习实战(38)——StyleGAN详解与实现

PyTorch深度学习实战&#xff08;38&#xff09;——StyleGAN详解与实现 0. 前言1. StyleGAN1.1 模型介绍1.2 模型策略分析 2. 实现 StyleGAN2.1 生成图像2.2 风格迁移 小结系列链接 0. 前言 StyleGAN (Style-Generative Adversarial Networks) 是生成对抗网络 (Generative Ad…

电商运营神器:如何利用数据API进行市场分析

在电子商务领域&#xff0c;市场分析是至关重要的一环。利用数据API进行市场分析可以帮助电商运营者洞察市场趋势、优化营销策略、提高用户满意度&#xff0c;并最终增加销售额。以下是如何利用数据API进行市场分析的一些关键步骤和策略&#xff1a; 获取市场数据 首先&#…

手搓反激电源 | 五、反激高频变压器的设计与计算

手搓反激电源 | 五、反激高频变压器的设计与计算 先上干货&#xff0c;变压器设计规格书 千里之行,积于跬步,万里之船,成于罗盘 A journey of thousands of miles accumulates in steps, and the ship of thousands of miles becomes a compass 反激式变换操作 反激式变换器的…

Java并发编程—final关键字

基本使用 修饰类 当某个类被修饰为 final&#xff0c;就表明此类不能被继承。 注意&#xff1a;final 中所有方法都隐式为 final&#xff0c;所以给 final 类中任何方法前加 final 都是没意义的 补充&#xff1a;如果想拓展一个 final 类怎么办&#xff1f;比如我们想写个 My…

基于springboot的教师工作量管理系统论文

教师工作量管理系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了教师工作量管理系统的开发全过程。通过分析教师工作量管理系统管理的不足&#xff0c;创建了一个计算机管理教师工作量管理系统的方案。文章…

Ambari动态给YARN分配计算节点

1.前言 YARN可用的计算节点数量并不总是等于 Hadoop集群节点数量&#xff0c;可以根据业务需求分配 YARN计算节点数量。 这里首先介绍一些前置知识&#xff1a; YARN中 ResourceManager 和 NodeManager是两个核心组件&#xff0c;其中 ResourceManager负责集群资源的统一管理…

C语言指针详解进阶2

函数指针数组 数组是一个存放相同类型数据的存储空间&#xff0c;那我们已经学习了指针数组&#xff0c; 比如&#xff1a; int *arr[10]; //数组的每个元素是int 那要把函数的地址存到一个数组中&#xff0c;那这个数组就叫 函数指针数组 &#xff0c;那函数指针的数组如何定…

C++模拟揭秘刘谦魔术,领略数学的魅力

新的一年又开始了&#xff0c;大家新年好呀~。在这我想问大家一个问题&#xff0c;有没有同学看了联欢晚会上刘谦的魔术呢&#xff1f; 这个节目还挺有意思的&#xff0c;它最出彩的不是魔术本身&#xff0c;而是小尼老师“念错咒语”而导致他手里的排没有拼在一起&#xff0c;…

BUUCTF------[HCTF 2018]WarmUp

开局一个表情&#xff0c;源代码发现source.php <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["source">"source.php","hint">"hint.php"];if (! isset($page) |…