智能体的函数魔法:FunReason如何提升LLM的函数调用能力

智能体的函数魔法:FunReason如何提升LLM的函数调用能力
f(x)

智能体的函数魔法:FunReason如何提升LLM的函数调用能力

FunReason是AWorld团队提出的创新框架,通过自精炼多尺度损失(SRML)和自动化数据精炼(FCDR),增强大型语言模型(LLM)的函数调用能力

FunReason的起源

传统函数调用训练方法的问题

大型语言模型(LLMs)在文本理解、生成和推理方面表现卓越,但将其应用于动态交互场景(如调用外部函数)仍面临挑战:

  • 推理与执行失衡:模型要么过于注重冗长的推理过程,要么牺牲函数调用的准确性
  • 数据集质量不足:现有函数调用数据集缺乏丰富的推理过程,难以训练模型同时理解用户意图和生成精准函数调用

自动化数据精炼(FCDR)

利用LLM的推理能力生成高质量训练样本,聚焦查询可解析性、推理连贯性和函数调用精度

自精炼多尺度损失(SRML)

动态平衡推理过程和函数调用准确性的损失函数,优化模型性能

FunReason的架构

自动化数据精炼(FCDR)五阶段流水线

1
函数调用分类
2
查询与工具识别
3
CoT识别
4
函数与参数识别
5
格式识别

通过FCDR,FunReason生成了包含60,000个样本的FunReason-SFT数据集,基于开源xLAM数据集

自精炼多尺度损失(SRML)

Ltotal = minM [ wt · Lthink + wf · Lresult ]

其中,wt = Nt/Nall,wf = Nf/Nall,Nt和Nf分别是推理和函数调用的token数

LMSL = α · Lthink + β · Lresult

通过调整α和β(α + β = 1),模型可根据任务需求灵活优化推理深度和函数调用精度

实验成果

性能媲美GPT-4o

FunReason在BFCL基准测试中达到与GPT-4o相当的性能,证明了其在函数调用任务中的卓越能力

缓解灾难性遗忘

SRML有效平衡推理和函数调用,避免微调过程中丢失原有能力,保持模型综合性能

数据集质量

FunReason-SFT(60,000样本)在多个主流模型上表现出色,验证了FCDR的高效性

快速上手

1

克隆仓库

git clone https://github.com/BingguangHao/FunReason
cd FunReason
2

配置环境

安装必要的依赖(如StarCoder和xLAM数据集)

3

运行实验

使用提供的脚本运行FCDR和SRML训练,测试函数调用性能

应用场景

智能助手

通过精准函数调用,实时响应用户需求,如查询API或执行自动化任务

软件开发

自动生成和调用代码函数,提升开发效率

数据处理

支持复杂的数据管道操作,如文件管理和数据分析

教育与研究

辅助数学和编程教学,提供高质量的解题思路和代码示例

成就解锁

性能领先

在BFCL基准测试中媲美GPT-4o,展现FunReason在函数调用领域的卓越能力

数据创新

FCDR生成60,000个高质量样本,适用于多模型训练,为函数调用领域提供宝贵资源

训练优化

SRML有效平衡推理和函数调用,缓解灾难性遗忘,为模型微调提供新思路

未来展望

FunReason通过FCDR和SRML,为LLM的函数调用能力提供了创新解决方案,为智能体与现实世界的交互开辟了新天地

发表评论

人生梦想 - 关注前沿的计算机技术 acejoy.com 🐾 步子哥の博客 🐾 背多分论坛 🐾 知差(chai)网 🐾 DeepracticeX 社区 🐾 老薛主机 🐾