这篇论文介绍了AppBench,一个评估大型语言模型在复杂用户指令下规划和执行来自多个应用的多项API的新基准。
这篇论文介绍了AppBench,一个评估大型语言模型在复杂用户指令下规划和执行来自多个应用的多项API的新基准。
论文标题:
AppBench: Planning of Multiple APIs from Various APPs for Complex User Instruction
论文链接:
https://arxiv.org/pdf/2410.19743
项目主页:
https://rulegreen.github.io
一、研究背景
研究问题:这篇文章要解决的问题是如何评估大型语言模型(LLMs)在复杂用户指令下规划和执行来自不同来源的多个API的能力。具体来说,研究了两个主要挑战:图结构和权限约束。
研究难点:该问题的研究难点包括:
图结构:一些API可以独立执行,而另一些则需要依次执行,形成类似图的执行顺序。
权限约束:需要确定每个API调用的授权来源。
相关工作:该问题的研究相关工作有:
API调用评估:如API-Bank和ToolBench等,主要关注单次或有限参数的API调用。
语言代理框架:如Chameleon和WebShop等,主要关注与外部工具的交互。
二、研究方法
任务定义:给定用户指令和虚拟移动环境中的APP家族,meta代理需要决定一个可执行路径,调用不同APP中的不同API来完成任务。任务的形式为列表,每个列表项表示一个APP及其对应的API调用。
数据分类:根据每个用户指令中使用的APP和API数量,数据分为四种类型:
单APP单API(SS)
单APP多API(SM)
多APP单API(MS)
多APP多API(MM)
数据收集:利用现有的任务导向对话数据集(如SGD),通过LLM和Python脚本生成所需的输入和输出。具体步骤包括:
指令获取:从对话中提取用户和系统的发言,输入到LLM中总结用户需求。
规划路径:编写Python脚本解析多轮对话中的API调用,形成规划路径。
质量评估:使用GPT-4o评分每个指令的流畅性和多样性,确保数据质量。
评估指标:设计了两个F1分数(APP和API)和一个整体成功率,考虑任务的复杂性。公式如下:
APP的F1分数:
API的F1分数:
成功率(Succ):评估LLMs是否能完全执行用户指令,公式为:
三、实验设计
模型选择:选择了多个开源和闭源的LLMs,包括Mistral-7B、LLaMa3系列、Qwen系列、GPT3.5和GPT-4o。
实现细节:设置了温度和top-p参数为0.1以减少随机性。开源模型的实验在NVIDIA A100 GPU上进行,闭源模型的实验通过OpenAI的API进行。采用分层提示方法,先提示LLMs识别相关APP,再提供特定APP的API描述。
数据收集:从SGD数据集中收集了约1000个样本,每种类型200个,总共4000个样本。使用这些混合数据集对LLaMA3-8B模型进行了微调。
四、结果与分析
整体结果:GPT-4o在整体性能上表现最佳,LLaMA3-70B在某些单APP场景中表现优于GPT-3.5。其他模型在所有类型的指令中显著落后于GPT-4o。
依赖结构的影响:随着并行和顺序依赖规模的增加,模型性能下降。MM场景最复杂,其次是MS和SM,SS最简单。
不同提示的影响:分层提示对GPT-3.5的性能有负面影响,而GPT-4o在使用平坦提示时表现更好,表明其长上下文理解能力更强。
错误分析:错误主要集中在时间和空间相关的键值上,模型难以准确识别或处理这些值。
微调和上下文学习的影响:微调在一定程度上提高了APP和API的F1分数,但对成功率的提升不大。上下文学习在简单场景中有一定效果,但在复杂场景中效果不明显。
五、总体结论
扫码观看!
“AI技术流”原创投稿计划
TechBeat是由将门创投建立的AI学习社区(www.techbeat.net)。社区上线500+期talk视频,3000+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。
投稿内容
// 最新技术解读/系统性知识分享 //
// 前沿资讯解说/心得经历讲述 //
投稿须知
稿件需要为原创文章,并标明作者信息。
我们会选择部分在深度技术解析及科研心得方向,对用户启发更大的文章,做原创性内容奖励
投稿方式
发送邮件到
melodybai@thejiangmen.com
或添加工作人员微信(yellowsubbj)投稿,沟通投稿详情;还可以关注“将门创投”公众号,后台回复“投稿”二字,获得投稿说明。