0


ModelGPT——释放大型语言模型的潜力,实现定制化AI模型生成

人工智能咨询培训老师叶梓 欢迎转载 标明出处

大模型在满足用户多样化和特定需求方面还有很多有待探索的空间,浙江大学计算机科学与技术学院的研究团队提出了ModelGPT,这是一个新颖的框架,能够根据用户提供的数据或任务描述生成特别定制的AI模型。相较于传统LLMs,ModelGPT大幅减少了训练和部署所需的资源,提供高达270倍的速度提升。

方法

ModelGPT框架由两大核心模块构成:需求生成器(Requirement Generator)和模型定制器(Model Customizer)如图1所示。

图2展示了ModelGPT工作流程,并提供了来自主要实验的真实示例。在这个流程图中,可以观察到ModelGPT是如何从用户输入的需求出发,经过一系列的处理步骤,最终生成定制化的AI模型。工作流程的主要步骤包括:

  1. 用户输入:用户可以提供数据样本(User Data)或者对任务的描述(User Description),这两者可以单独提供,也可以同时提供。
  2. 需求生成器:输入的数据或描述被送入需求生成器,该生成器负责理解用户的需求,并将其转化为一个精炼的用户需求表述(User Requirement)。
  3. 模型定制器:接收到用户需求后,模型定制器开始工作。它由两个子模块构成:模型生成器和参数生成器。
  4. 模型生成器:根据用户需求,模型生成器决定最适合的模型架构。例如,对于图像分类任务,可能会选择一个特定的卷积神经网络架构。
  5. 参数生成器:确定模型架构后,参数生成器负责生成模型的参数。这包括使用文本编码器将用户需求编码为向量,然后通过转换模块和模块化参数生成器生成模型的具体参数。
  6. 模型生成:参数生成器输出的参数被用来构建最终的模型。如果需要,还可以对模型进行微调(Finetune),以进一步提升模型性能。
  7. 输出:最终,ModelGPT输出一个为特定任务定制的AI模型,用户可以直接使用这个模型进行预测或其他任务。

需求生成器主要职能是接收用户的输入信息,无论是具体的数据集还是对任务的描述,并据此生成精确的用户需求。这一过程的实现依赖于以下几个关键步骤:

首先,需求生成器构建提示(Construct Prompt),这是与大型语言模型(LLM)交互的桥梁。提示的构建旨在引导LLM正确理解所面临数据和任务的性质。例如,如果用户上传了一组标注了情感极性的文本数据,提示将帮助LLM识别这是一个情感分析任务。

紧接着,需求生成器利用LLM的API来进一步处理这些提示。通过LLM的能力,需求生成器能够总结任务的核心要求,分析数据中的模式,并将其精炼为一句描述用户需求的话。这一步骤的有效性取决于提示的设计质量,因此,设计有效的提示(Effective Prompt Design)对于从数据中准确提取模式至关重要。

在设计提示时,需求生成器必须确保最终的句子能够明确指出任务的类型,如图像分类或文本回归。此外,如果数据中存在特定的信息,需求生成器应专注于数据本身的特征,而不是仅仅依赖于数据附带的标签。例如,如果用户数据包含特定领域的术语或格式,需求生成器应识别并强调这些特点,以便为模型定制器提供准确的指导。

模型定制器扮演着将用户需求物质化为具体AI模型的角色。这一过程由两个紧密协作的子模块完成:模型生成器和参数生成器。

模型生成器的职责是根据用户需求确定最适合的模型架构。这一决策过程基于用户所提供的任务类型和数据特性。例如,面对一个31类图像分类任务,模型生成器可能会选择ResNet-50作为基础架构,并相应地配置分类器的输出维度以匹配类别数量。对于文本回归任务,模型生成器则可能倾向于选择Distil-BERT模型,这种模型的输出维度会设置为1,以适应回归任务的连续输出需求。

在模型架构确定之后,参数生成器接管任务,开始生成模型所需的参数。这个过程开始于文本编码器,它将用户需求转换为一个向量形式,这个向量捕捉了需求的关键特征。随后,转换模块将这个向量进一步转换成模型可以理解的潜在变量。

接下来,模块化参数生成器利用这个潜在变量生成模型的参数。这些参数是构建模型的关键组件,它们决定了模型的行为和性能。参数生成器将这些参数整合到模型中,完成模型的构建。

然而,直接为大规模模型生成所有参数可能会遇到收敛性问题。为了解决这一挑战,ModelGPT采用了LoRA适配器。LoRA适配器是一种低秩的适配技术,它允许模型在保持核心结构不变的情况下,通过调整少量参数来适应新的任务。参数生成器生成适配器的参数,并将它们融合到目标模型中,从而在不牺牲模型性能的前提下,解决了收敛性问题。

通过这种精心设计的两步流程,模型定制器不仅能够确保模型架构与用户需求的一致性,还能够高效地生成模型参数,为用户提供一个即插即用的AI模型。这种方法显著提高了模型定制的效率,并降低了技术门槛,使得广泛的用户都能够根据自己的需求快速获得定制化的AI模型。

与传统训练不同ModelGPT的训练过程是给定特定需求,使用上述过程获得目标模型的参数,然后根据数据计算损失函数。传统训练只更新参数,而ModelGPT进一步计算每个参数的差异,使用这些差异来计算参数生成器的梯度,并更新模型。目标是使所有任务-需求对的平均损失最小化。

由于不同任务的数据样本数量不同,可能会导致生成的任务-需求对数量不均衡,从而影响模型的整体性能。为了解决这个问题,在构建任务-需求对时,研究者手动调整了每个任务的比例。

实验

为了测试ModelGPT框架的效率,研究团队在三种不同的设置下进行了全面的实验:自然语言处理(NLP)、计算机视觉(CV)和表格数据。

NLP:使用了GLUE基准测试,包含九种句子或句子对的语言理解任务,这些任务建立在现有的数据集上,覆盖了不同的数据集大小、文本类型和难度级别。模型生成器选择了Distil-BERT作为目标模型。

CV:使用了Office-31数据集,这是一个在领域自适应领域常用的数据集,包含31个类别的对象,在三个领域中有不同背景、视角、颜色等。模型生成器选择了ResNet-50作为目标模型。实验中还测试了零样本学习能力。

表格数据:选择了10个著名的表格分类任务,如Iris、Heart Disease等,这些任务来自UCI机器学习库。模型生成器选择了多层感知器(MLP)作为目标模型。

由于这是该领域的首次工作,研究团队将ModelGPT与两个基线进行了比较:Finetune(全参数微调)和LoRA(低秩适配)。在Finetune中,每个任务的目标模型通过训练数据进行微调。ModelGPT使用LoRA来减少超网络的复杂性,因此在每个任务中使用LoRA适配器微调目标模型作为LoRA基线。

研究团队引入了ModelGPT的一个变体,称为ModelGPT-F。这个变体在ModelGPT生成目标模型后,进行了一轮所有参数的微调,使用一致的超参数设置。

实验结果可以从表1到表3中看到,凸显了ModelGPT框架的效率和卓越性能。

效率:ModelGPT在生成定制模型方面的效率随着目标模型大小的增加而显著提高。利用超网络的能力,ModelGPT在单次前向传播中生成定制模型权重,消除了资源密集和专业依赖型的训练过程的需要。

性能提升:ModelGPT在所有实验中都超过了LoRA,甚至在CV和表格数据任务中超过了Finetune。这种性能提升主要归功于ModelGPT通过跨任务知识学习到的洞见。

零样本能力:在Webcam任务中,ModelGPT展示了其零样本能力,即使没有直接访问Webcam的数据,仅依赖用户需求也能超越LoRA。

权重初始化能力:ModelGPT不仅能生成表现良好的模型,还提供了高效的初始权重。在主要实验中,引入了ModelGPT的一个变体,在生成后对所有参数进行了一轮微调,这种方法在只增加了一倍的总时间消耗的情况下,平均性能提高了0.8。

表1展示了在GLUE基准测试中Distil-BERT作为目标模型的详细结果。表2展示了在10个表格分类任务中使用准确率作为评估指标的各种方法的详细结果。表3展示了在Office-31(31类分类)中各种方法的详细结果,包括准确率、top-3准确率和top-5准确率。

研究者为了进一步证实ModelGPT框架的有效性,提供了对ModelGPT提示设计和权重初始化能力的详细分析。

研究者指出,鉴于ModelGPT直接使用大型语言模型(LLM)的API来总结用户需求,为它们设计适当的提示至关重要。提示应简洁地说明任务类型和隐藏在数据中的数据特定信息。

在计算机视觉(CV)实验中,研究者提供了一个清晰的案例研究,其中所有领域都是31类分类任务,但每个领域都有其数据特定信息。例如,在Amazon领域,图像来自亚马逊网站,以白色背景呈现。在DSLR和Webcam领域,图像是由DSLR相机或网络摄像头拍摄的产品。

如图3所示,第一行是研究者使用的提示的基础,包含要求、一个更好的推理示例,以及填写真实数据的位置(最后两行)。在要求部分,研究者强调LLM应该简洁地识别图像处理任务的类型(例如,分类、检测),并指出数据特定信息。为了避免输出可以直接从标签推断出的常见模式,研究者在图3中加粗的下一句中重申了请求。

研究者指出ModelGPT不仅生成表现良好的模型,还提供了高效的初始权重。为了进一步证实这一观点,研究者使用ModelGPT在Webcam上的零样本输出作为权重初始化,对目标模型(ResNet-50)进行了微调,所有参数都使用与Finetune相同的超参数设置。

这两种方法的主要区别在于权重初始化。Finetune使用在ImageNet上预训练的权重,而研究者使用的是由ModelGPT输出的权重,这是在没有访问Webcam数据的情况下仅根据Webcam的任务描述生成的。

研究者保存了评估中的最佳检查点,并在Webcam的测试数据上进行了测试。表4中详细列出的结果揭示了一个显著的方面:尽管与Finetune相比大约有10%的性能差距,但研究者的框架在用Webcam的训练数据进行微调时展现出了显著的收敛速度,使用了与Finetune相同的超参数。具体来说,当Finetune需要108个周期才能达到最佳评估结果时,研究者的框架在仅16个周期内就实现了相当的表现,速度提高了6.75倍。

研究者还追踪了训练和评估损失的进展,以及相应的准确率,如图4所示,使用了五个不同的种子。图中显示的曲线代表平均值,而阴影区域表示一个标准差范围内。所有图表都证明了ModelGPT的输出作为权重初始化的优越性。如图4b所示,ModelGPT的初始化在整个过程中的表现优于基线。值得注意的是,在图4b中基线在初始周期的显著标准差可以归因于训练开始时经常遇到的不稳定性。虽然基线在图4c中的训练后期阶段显示了略微改善的性能,但研究者的方法在图4d中的评估数据上展示了更好的性能,表明了更好的泛化能力和鲁棒性。

ModelGPT的研究展示了利用LLMs在创建定制模型方面的潜力,为AI技术的普及和应用开辟了新的可能性。尽管这项研究还处于初期阶段,但其成果已经显示出在个性化和高效模型创建方面的变革潜力。ModelGPT的代码已经开源,可以通过以下链接访问和使用:https://github.com/zju-selab/ModelGPT

论文链接:https://arxiv.org/abs/2402.12408


本文转载自: https://blog.csdn.net/weixin_44292902/article/details/141035368
版权归原作者 人工智能大模型讲师培训咨询叶梓 所有, 如有侵权,请联系我们删除。

“ModelGPT——释放大型语言模型的潜力,实现定制化AI模型生成”的评论:

还没有评论