查看原文
其他

卡内基梅隆 && 清华 | Prompt2Model:利用大模型Prompt,实现专有NLP模型生成!

ShuYini AINLPer 2024-04-23

点击上方AINLPer,设为星标

更多干货,第一时间送达

引言

 随着大型语言模型 (LLM) 的应用,只需使用自然语言描述任务并提供一些示例,人们就能够方便的通过Prompt创建NLP系统。然而,相比传统的专用NLP模型,大型语言模型仍然存在计算资源紧张等问题。为此,本文提出了Prompt2Model平台架构,采用自然语言描述任务,并用它来「训练有利于部署的专用模型」。实验结果显示:Prompt2Model训练的模型的「性能比ChatGPT的结果平均高出20%,同时尺寸最多缩小700倍」

Paper:https://arxiv.org/pdf/2308.12261v1.pdf

Code:https://github.com/neulab/prompt2model

背景介绍

 对于传统的NLP任务,从头开始构建NLP模型是一项特别艰难的任务。NLP研究人员一般都需要做以下几个步骤:定义NLP任务的工作范围、查询或标注目标NLP模型的数据、选择合适模型架构、训练模型参数、调节模型参数、通过验证集评估系统性能、实现NLP模型的部署。

 随着大型语言模型(LLM)的发展,像ChatGPT、GPT-4等大模型提供了一种轻量级范式,让人们通过Prompt就能实现NLP系统的创建。NLP研究人员可以编写一个Prompt明确出目标系统的功能,并要求大型语言模型(LLM)通过文本完成目标输出。这种概念模式使得无需编写一行代码即可快速为各种应用程序构建NLP系统。

 然而,通过Prompt让LLM实现特定任务目标的模式与实际模型部署仍然存在一定的差距。因为Prompt LLM的成本可能会非常的高,模型需要大量的计算或者访问商业API,除此之外,LLM往往比较依赖输入Prompt的质量,这与经过训练的模型相比不稳定。同时,由于NLP研究人员当面不同应用场景时,往往会缺少对应的标注数据来对模型效果进行验证,所以说在实现NLP模型的部署之前,系统效果的调试就存在一定的挑战性。此外,基于Prompt的LLM系统,存在可用性的风险。因为该类系统服务成本高,并且模型预测时间比较长;由于涉及隐私问题,很多高风险领域工作的人不能依赖商业 LLM API。例如,对于美国的许多应用程序来说,与 LLM 服务提供商共享用户数据是非法的。

Prompt2Model

 基于以上背景,本文提出了 Prompt2Model,该系统保留了通过Prompt以轻量级方式指定系统行为的能力,同时仍然可以生成可部署的专用模型,保留了其所有优点。「Prompt2Model被设计为一个自动化管道,从用户的Prompt中提取必要的任务信息,然后通过三个渠道(数据集检索、数据集生成、模型检索)自动收集和合成特定于任务的知识,最后实现模型评估与部署」。下图为Prompt2Model的自动化流程。 Prompt2Model的核心是自动数据收集系统,它利用数据集检索和基于 LLM 的数据集生成来获取与用户需求相关的标记数据。然后,检索预训练的模型,并根据收集的数据集的训练分割进行微调。最后,在相同数据集的测试分割上评估训练的模型,并选择创建一个可用于与模型交互的 Web UI。

 本文方法被设计为模块化和可扩展的;每个组件都可以由从业者以不同的方式实现或禁用。其中:

「数据集检索器」 基于提示,首先尝试检索可以支持用户任务的现有标注数据。这里的数据集检索器有几个设计决策:

  • 1.要搜索哪些数据集?
  • 2.如何为数据集建立索引以进行搜索?
  • 3.用户的任务需要哪些数据集列,哪些列应该被忽略?

「数据集生成器」 并非所有的NLP任务都会存在标注数据集。为此本文引入了数据集生成器,根据Prompt解析器解析的用户特定要求生成合成训练数据。该组件在成本效率、生成速度、示例多样性和质量控制等方面存在一些列的挑战。

「模型检索器」 除了训练数据之外,还必须选择合适的模型来进行微调。本文将其视为一个检索问题,其中每个模型都由用户生成的描述和元数据(例如受欢迎程度或支持的任务)表示。本文模型检索器的参考实现在Hugging Face 上搜索预训练模型,但这可以覆盖其他模型存储库,例如 Model Zoo。

「训练」 给定检索和生成的数据集以及预训练模型,我们使用模型训练器在数据子集上微调模型。通过将所有任务视为文本到文本生成来训练模型,除此之外该组件将来可以扩展以支持新方法。

「评估」 在对检索和生成的数据集的一部分训练模型后,将剩余的数据提供给模型评估器模块。目标是支持各种任务,为任意任务选择正确的特定于任务的指标是一个难题。

「Web应用创建」 为了使开发人员能够向用户公开模型,Prompt2Model包含一个名为Demo Creator的可选组件,用于创建与模型交互的图形界面。

实验结果

 对涵盖传统NLP基准和新颖应用程序的三个任务进行评估,Prompt2Model可以使用自然语言指令生成高质量的数据集和小型模型,这些模型「在特定任务上的性能优于大型语言模型」。Prompt2Model训练的模型的性能比强大的LLM gpt-3.5-turbo的结果平均高出20%,同时尺寸最多缩小700倍。 对于生成数据集验证,可以发现使用检索或生成的数据会因域转移而导致性能下降,但这两种方法的组合可「实现与使用真实数据集类似的性能」

推荐阅读

[1]干货!Prompt链式方法总结,驾驭各种大模型!

[2]货!最全Prompt工程方法总结(超全)

[3]最新学术进展!2023年7月份,爆款论文总结!

[4]ACL2023|知识图谱(KG)检索新框架--DiFaR

[5]实验结果表明:代码自修复能力仅存在GPT-4!

点击下方链接🔗关注我们

「资料整理不易,点个再看吧」
继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存