近来实现大规模应用的大型语言模型还让我们看到了新的可能性。
毫无疑问,我们正在进入一个大模型时代,各种开源或闭源的大模型不断涌现,解决一个又一个的应用,填补一个又一个的空白。而在此之前已经有了许多「足够好的」小模型。于是对于用户来说,要找到合适的模型就更加困难了。
(相关资料图)
南京大学周志华教授在 2016 年提出的学件思想或许能成为这一问题解决方案。通过「模型 + 规约」构建学件市场,用户选择模型有望变得像从应用商店下载软件一样简单,同时还能规避数据隐私等诸多问题。
近日,周志华团更新了一篇有关「学件」的新论文,进一步深化了该思想。
图片
论文链接:https://arxiv.org/abs/2210.03647
概括地说,计算机由硬件(hardware)和软件(software)构成。随着技术的发展,硬件和软件都在快速迭代演进,甚至让计算机具备了被称为「机器学习」的能力。这项能力能让计算机使用高速的硬件和精妙的软件有效发掘出大量数据中蕴藏的模式,从而帮助其「学习」世界的运作模式进而完成实际任务。
近些年机器学习已经取得了非常多堪称改变世界级的成就,比如颠覆性的图像生成 AI 和大型语言模型。现在市面上的机器学习模型已有很多,其中有商业公司提供的方便使用的产品,也有研究团队发布的开源模型,还有不同开发者和用户针对不同任务需求优化的专用模型。
这个纷繁复杂的模型生态却给用户造成了困扰:如果我有个任务,想使用机器学习模型来帮助解决,我又不是 AI 专业人士,我该怎么选择合适的模型?
实际上这个问题已经成为普通用户有效使用 AI 的最大阻碍 —— 要知道很多人都不知道该如何向 ChatGPT 等大型语言模型(LLM)提出正确的问题(甚至由此诞生了 prompt 工程师这一职业),更别说为自己的任务找到合适的模型了。
针对这一问题,南京大学周志华教授在 2016 年提出了一种名为「学件(learnware)」的新范式。类似于用户获取后便能直观学会使用的硬件和软件,用户也能通过学件的形式为自己的任务找到合适的机器学习模型。
做一个简单的类比,假如用户想要购买一把好用的切肉刀,她可以向市场提交自己的需求,市场会根据她的需求,匹配描述最一致的商品,然后推荐给她。但这个推荐可能与她的需求并不完全匹配,比如推荐的是一把适合切瓜的刀。但这把刀也不是不能用,她可以选择直接用来切肉或使用其它方法将其打磨一番,让其变得更加锋利,更适合切肉。
图 1:学件的类比
周志华提出的学件模式也是类似:用户向学件市场提交自己的需求,市场推荐合适的模型,然后用户使用自己的数据优化该模型,使之更适合自己的任务。
除了能帮助用户找到适合自己任务的模型,学件还有什么用?根据周志华团队最新发布的相关论文《Learnware: Small Models Do Big》,学件能够解决许多机器学习应用问题:
缺乏训练数据:如果模型是基于性能优良的学件构建的,那么即使任务仅有少量数据,也依然能获得强大的机器学习模型。大多数用例其实只需要少量数据来进行适应和精细化。
缺乏训练技能:如果用户能得到性能优良的学件的帮助,而不是自己从头开始打造模型,那么即使缺乏训练技能的普通用户也能获得强大的机器学习模型。
灾难性遗忘:一旦学件市场接受了一个学件,那么它就会被永远容纳在该市场中,除非其各方面功能都被其它学件替代。因此,学件市场中的旧知识始终会被保留。什么都不会被遗忘。
持续学习:由于开发者会不断提交用不同任务训练的表现良好的学件,因此学件市场能自然地实现持续学习和终身学习;学件市场中的知识会不断得到丰富。
数据隐私 / 专有权:开发者提交模型时无需共享数据,因此数据隐私 / 专有权可得到很好的保护。尽管不能完全排除对模型进行逆向工程的可能性,但与许多其它隐私保护方案相比,学件的风险非常小。
计划外的任务:学件市场向所有合法的开发者开放。因此,除非所有合法开发者都没做过该任务,否则市场中总是会存在有用的学件。此外,对于一些新任务,就算没有开发者专门为其构建模型,但可以通过选择和组装一些现有的学习器来解决。
碳排放:组装小型模型可能就足以为大多数应用提供足够好的性能;因此,人们可能不太有兴趣训练太多大模型。由于能复用其他开发者的模型,所以能有助于减少重复开发。此外,就算一个模型对某位用户来说不好用,但对另一位用户可能会很有用。不会浪费训练成本。
下面我们具体看看周志华团队提出的学件设计思路。首先我们可以直观地理解在机器学习应用方面,存在三个重要实体:开发者、用户和市场。
开发者通常是机器学习专家,他们所做的是生产出表现优良的已训练机器学习模型并将这些模型分享或销售出去。
用户需要机器学习服务,但通常仅有有限的数据并缺乏机器学习知识和技能。
学件市场则是从开发者那里获取或购买表现优良的已训练模型,让它们进入市场,再通过识别和复用学件来向用户提供或销售服务,从而帮助用户解决他们手头的任务。其基本操作可以分为两个阶段,如图 2 所示。
图 2:学件市场的两个阶段
在提交阶段,开发者可以自发地将训练好的模型提交到学件市场。市场可以通过一些机制(比如验证性能)来保证一定质量,从而决定是否可以接受已提交的模型。假如一个学件市场已经接纳了数以百万计的模型,那么新用户应当采用什么方法找到可能对自己有用的模型?
我们当然不能要求用户将自己的数据提交到市场来试验模型,因为这会很麻烦,而且成本很高,更严重的问题是这可能导致用户数据泄漏。比较用户数据和原始训练数据之间的相似度等简单直接的方法也是不可行的,因为学件的提议考虑到了这一事实:由于隐私或专有权等问题,不管是开发者还是用户,都不愿意泄漏自己的数据。因此,周志华团队的设计基于这样一个约束条件:学件市场既无法获取开发者的原始训练数据,也无法获取用户的原始数据。此外,他们还假设用户并不是很了解市场中已有的模型。
为了应对这一问题,周志华团队提出的解决方案的核心在于规约(specification)。一旦学件市场决定接受一个已提交模型,就会为该模型分配一个规约,其能以某种格式传递该模型的专长和用途,同时不会泄漏模型的原始训练数据。为了简单起见,下面我们会使用简单符号来表示模型的相关概念:假设模型对应于某种函数关系,其可将输入域 X 映射到输出域 Y,这期间考虑的目标为 obj;也就是说,这些模型在这个函数空间内:F : X→Y w.r.t. obj。每个模型都有一个规约。所有规约构成一个规约空间,其中有助于完成同一任务的模型的规约彼此相近。
学件市场中存在具有不同 X 和 / 或不同 Y 和 / 或不同 obj 的不同模型。如果我们把涵盖所有可能的函数空间中所有可能的模型的规约空间称为规约世界(specification world),那么就能把对应于一个可能函数空间的每个规约空间称为一个规约岛(specification island)。目前,研究者还很难设计出能覆盖全体规约世界的简洁优雅的规约格式,同时还能有效且充分地识别出所有可能的模型。周志华团队基于实际情况,采用了以下设计。每个学件的规约都由两部分构成,其中第一部分解释了该学件位于哪个规约岛,第二部分则会揭示其位于岛中哪个位置。
第一部分可以通过一个字符串实现,其中包含一组描述 / 标签,涉及任务、输入、输出和目标等情况。然后,根据用户要求中提供的描述 / 标签,可以有效又准确地定位相应的规约岛。一般来说,学件市场的设计者可以编写一个初始描述 / 标签集合;当市场接受一些无法归入现有函数空间的新模型时,该集合还能增大,创建出新的函数空间及对应的规约岛。
规约岛还能合并成更大的岛,如图 3 所示。原则上,如果 X 、Y 和 obj 中有共同成分,就可以合并规格岛。可以想象,当所有可能的任务都存在时,所有规约岛会连接成一个非碎片化的统一规约世界。
图 3:学件的规约世界
在部署阶段,用户向学件市场提交需求,然后市场会识别并返回一些有用的学件给用户。其中存在两个问题:1. 如何识别满足用户需求的学件,2. 如何复用返回的学件。
学件市场可容纳上百万个模型。不同于之前的与模型复用或领域适应有关的机器学习研究(其中假设所有预训练模型都会有用),可能只会有非常少部分学件对当前用户任务有用。不同于多任务学习(其中训练阶段能使用这些不同任务的数据)和与领域无关式学习(其中可以使用源域的有标注数据),学件市场并不假设能获得这些信息。实际上,有效辨别合适的学件是非常困难的,尤其考虑到学件市场无法获取原始训练数据和当前用户的原始数据。
通过规约设计,学件市场可以要求用户使用描述 / 标签集来描述自己的需求,这可以通过一个用户接口或某种有待未来设计的学件描述语言实现。基于这些信息,用户任务就可以简化成如何从规约岛中识别出某个有用的学件。学件市场可以在对应于规约岛的函数空间中提供一些锚学件,要求用户测试它们并返回一些信息,然后基于这些信息识别出可能有用的学习器。
一旦找到了有用的学件并交付给用户,用户就能以各种方式复用它们。对照前述的类比,用户可以直接使用这些模型,也可以用自己的数据进一步对它们进行优化,使之更贴合自己的任务。
理想情况下,学件规约应该表达 / 编码学件市场中每个模型的重要信息,以便将来的用户能够有效和充分地识别它们。如前所述,周志华团队目前的规约设计由两部分构成。第一部分是一个字符串,这是学件市场基于开发者提交的信息给出的描述 / 标签,其目标是定位模型所在的规约岛。不同的学件市场企业可能采用不同的描述 / 标签。
规约的第二部分则是为了在函数空间 F : X→Y w.r.t. obj 中定位模型的位置。针对这一部分,周志华团队提出的方法名为 RKME(Reduced Kernel Mean Embedding / 精简核均值嵌入),其基于 KME(核均值嵌入)的精简集。KME 是一种强大的技术,可将一个概率分布映射到 RKHS(再生核希尔伯特空间)中一个点,其中精简集在保留了表征能力的同时不会暴露原始数据。
假设开发者要提交一个基于数据集训练的模型。一旦模型训练完成,可将 x_i 馈送给模型得到对应的输出。注意,是模型的输出而非基本真值;因此数据集编码了模型的函数;也就是说其提供了该模型的函数表征。注意,也可以向模型馈送 x_i 之外的其它 x 以得到更透彻的表征。周志华团队之前使用这一思想学习过一个相对简单的模型,并且其性能表现与原始复杂模型相当。该团队表示之后 Geoffrey Hinton 等提出的知识蒸馏(knowledge distillation)思想与之类似。这一思想作为基础,构成了 RKME 规约的第一部分。为了简单起见,这里令 z_i 表示,并且该模型的函数编码在 z_i 的分布中。然后,市场会通过最小化根据 RKHS 范数测定的距离来生成精简集表征:其中 k (・,・) 是对应于 RKHS 的核函数,它们都由学件市场决定并会被交给开发者。解出的 (β, t) 可提供不同于原始数据z 的远远更为精简的表征;开发者将把它们提交用作模型规约的第二部分。
在部署阶段,如果用户有很多训练数据,市场可以帮助构建要提交的 RKME 需求。然后,通过匹配 RKME 规约与用户需求,市场可以识别并返回 RKHS 中范数距离最小的学件。如果有多个学件的 RKME 规约的加权组合与用户需求的距离最小,那么市场还可以识别出多个有用的学件。如果用户没有足够的训练数据来构建 RKME 需求,学件市场也可以向用户发送多个锚学件。用户可将自己的数据输入这些锚学件,从而生成一些信息(例如精确度和召回率或其它性能指标),这些信息会返回市场。这些信息可帮助市场识别出潜在有用的模型,例如,通过发现远离锚学件的模型表现差,靠近锚学件的模型表现好,可在规约岛中找到合适的模型。
为了验证这一思路的可行性,周志华团队设计了一种学件市场的原型,其用户界面如下图所示。
该市场包含 53 个使用不同数据集训练的不同类型的销售预测模型,但它们的输入空间、输出空间和目标是一样的。因此这些模型的规约位于同一规约岛。
实验过程是模拟一位新用户,其想要在学件市场的帮助下构建自己的销售预测模型。
实验结果如下所示,相比于用户使用自己的数据从头构建模型,借助学件市场能获得不错的性能提升,尤其是当用户数据较少时。
图 5:销售预测实验结果
自 2016 年学件(learnware)思想提出以来,AI 领域已经经历了巨大的变化,语音、图像、视频、文本、多模态等各式模型层出不穷,让人目不暇接。对于不专精于此领域的普通用户而言,想要为自己的特定任务找到合适的模型绝非易事,因为实际应用总是需要考虑多方面的问题,包括模型性能、使用成本、响应速度等等。
如果学件市场能够成功大规模地部署到实际应用环境中,那么可望开启 AI 的真正普及之门。届时,当为特定任务构建人工智能模型时,只需要查找学件市场即可,不再需要从头开始构建,就像现在的程序员在写软件时会在 GitHub 等代码库搜索有用的代码一样。
近来实现大规模应用的大型语言模型还让我们看到了新的可能性。设想一下,如果学件市场中的模型配备了优良的文档并整合了用户评论机制,那么用户甚至可以使用自然语言描述自己的任务需求。这样一来,可能即使完全没有相关经验的新用户也能为自己的任务找到合适的模型。