用魔法打败魔法 Prompt2Model:大模型辅助小模型

689c18cf34a2a9ba71af5819e7201d79.png

知乎:养生的控制人(已授权)
深度学习自然语言处理 分享
链接:https://zhuanlan.zhihu.com/p/653647768

大模型在各方面的表现都还可以,但是在很多垂直领域反而是一种浪费,因为很多时候我们并不需要它是个通才,只需要专注于特定任务。今天分享一篇文章,主要思想就是借助LLM来辅助训练一个特定任务的小模型。

论文:PROMPT2MODEL: Generating Deployable Models from Natural Language Instructions
地址:https://arxiv.org/abs/2308.12261

进NLP群—>加入NLP交流群

本文提出了一种名为Prompt2Model的框架,它可以接受自然语言任务描述,然后训练一个特定目的且便于部署的模型。该方法结合了检索现有数据集、预训练模型、使用LLM生成数据集,并在这些数据上进行微调。实验结果显示,与gpt-3.5-turbo相比,Prompt2Model训练的模型性能提高了20%,但模型大小减少了700倍。

Prompt2Model框架

  • 数据集检索:根据任务相关性收集训练数据

  • 数据集生成:利用LLM(称为“教师模型”)生成伪标签数据集,进而训练一个“学生”模型来模仿教师模型

  • 模型检索:根据提示选择一个预训练的语言模型,进一步微调和评估

607a5552c004446983c973657f9abbe7.png

详细步骤

23cc73239e3f720170244520ef9d4881.png

1. 提示解析

  • 目的:将用户提供的提示分为“指令”和“示范”两部分。

  • 方法:使用LLM(在实验中为gpt-3.5-turbo-0613)进行上下文学习,对用户提示进行分段。如果指令是非英语的,将其使用DeepL API翻译成英语。

2. 数据集检索器

  • 目的:为给定的提示找到相关的数据集。

  • 方法:采用Viswanathan等人(2023)引入的DataFinder系统。通过提取Hugging Face Datasets中的用户生成的数据集描述,使用DataFinder的双编码器检索器对数据集进行排序。用户可以从前k个数据集中选择最相关的数据集或指定没有合适的数据集,并指定数据集模式中的输入和输出列。

3. 数据集生成器

  • 目的:快速、低成本地生成高质量的样本。

  • 方法

    • 高多样性的少量提示:使用自动提示工程生成多样的数据集,增加用户提供的示例与随机样本,以增加多样性并避免重复。

    • 温度退火:根据已生成的示例数量,从低到高调整采样温度,以鼓励多样性。

    • 自洽解码:使用自洽过滤来选择伪标签,为每个独特的输入创建一个共识输出。

    • 异步批处理:使用zeno-build并行化API请求,并使用动态批处理大小和节流机制优化API使用。

4. 模型检索器

  • 目的:选择一个适当的预训练模型进行微调。

  • 方法:将选择预训练模型的问题框架为搜索问题。使用用户的指令作为查询,搜索Hugging Face上的所有模型文本描述。使用gpt-3.5-turbo创建一个假设的模型描述,然后应用BM25算法计算查询-模型相似度分数。

657a30f0bf490ccda3820246d57bf4a0.png

5. 训练

  • 目的:训练模型。

  • 方法:将检索和生成的数据集合并,然后进行混洗,使用AdamW优化器进行训练。

6. 评估

  • 目的:评估模型的性能。

  • 方法:使用Exact Match、ChrF++和BERTScore三种指标自动评估模型。其中,BERTScore使用XLM-R作为编码器,支持多语言评估。

7. Web应用创建

  • 目的:为用户提供一个与模型互动的界面。

  • 方法:使用Gradio自动创建一个图形用户界面,然后可以轻松地在服务器上公开部署。

有意义讨论部分

f048b5a42d332b6b06c5b71fe9364f36.pnge540d506062ce5f039fd2c99347f7879.pnge50f909bf80d8d6fbba0ef54d9cbf2c8.png


进NLP群—>加入NLP交流群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值