基于单个开源小模型的工具调用Agent,由于模型容量和预训练能力获取的限制,无法在推理和规划、工具调用、回复生成等任务上同时获得比肩大模型等性能。
为了解决这个问题,中山大学、阿里通义实验室联合提出了一种基于开源小模型的多模型协作Agent框架:α-UMi,通过微调多个开源小模型,实现协同作战,在工具调用等数据集效果比肩GPT-4
相比于基于单个模型的agent系统,α-UMi的优势在于:
- 基于α-UMi多模型协同框架,通过三个小模型:planner、caller和summarizer分别负责路径规划、工具调用和总结回复,对小模型进行工作负荷的卸载。
- 相比单模型agent支持更灵活的prompt设计。其在ToolBench,ToolAlpaca corpus等多个benchmark上超过单模型agent框架,获得比肩GPT-4的性能。同时也能泛化地支持更多的用户定制api。
- 提出了一种“全局-局部”的多阶段微调范式(GLPFT),该范式成功在开源小模型上训练了多模型协作框架,实验结果表明这种两阶段范式为目前探索出的最佳训练多模型协作agent范式,可以被广泛应用。
如今,α-UMi正式集成到了Modelscope-Agent中,为开发者和用户提供了基于ModelScope的即插即用体验代码。
1. 多模型协作框架α-UMi
α-UMi 包含三个小模型planner、caller和summarizer,其中planner模型为系统的核心大脑,负责在某一agent执行步骤内激活caller或summarizer,并给予对应的推理(rationale)指导,而caller和summarizer则分别负责接收planner的指导完成该步后续工作,caller负责生成于工具交互的指令,summarizer负责总结最终的回复反馈给用户。而这三个模型都是基于开源小模型进行不同类型数据微调实现的
2. 能力展示
下面让我们来看几个系统执行的记录,首先是一个简单的case,用户在指令中指定了可用的一些工具,让工具调用流程变得更简单,α-UMi框架也在planner,caller和summarizer的协作中在两步之内完成了工作。
当然,现实中更复杂的情况是:用户没有指定工具,需要系统自己选择工具,并且由于工具状态变化,经常会出现工具被下架或工具所需参数定义变化等情况。
在下面这个case中,α-UMi在第0步试图使用video_for_simple_youtube_search来获取视频详细信息,但发现这个api已经被破坏,无法调用,因此planner转换思路,告诉caller需要尝试另外一个api,并最终通过尝试新的api发现了详细信息,最终解决了用户的任务
3. 基于ModelScope-Agent的α-UMi实践
目前,α-UMi已经正式集成到了Modelscope中,用户可以快速依靠已经训练好的模型进行定制化工具的agent部署和运行。
1、首先拉取ModelScope-Agent代码并安装相关依赖
2、在本地设备基于vllm部署planner、caller和summarizer模型服务
3、填写相应的工具API KEY
4、构建Agent,基于先前部署的planner、caller和summarizer模型,并提供相应的工具list
5、开始运行agent
6、Agent会执行指令,自动利用给的工具进行推理,并最终回复给用户答案。
4. 未来展望
模型协作是未来AI智能体发展的重要趋势,而如何训练提升开源小模型的多模型体协作能力,是实际落地很关键的一环。α-UMi框架为AI领域带来了新的思考和启示,多模型协作框架将在未来发挥更加重要的作用,推动AI技术的持续发展和进步。
未来,α-UMi将会增强planner的泛化性,使其适用于更广泛的agent任务场景,进行caller模型的本地私有化,使其专注于本地工具调用任务,以及云端大模型结合本地小模型的“大-小”模型协同框架。同时,modelscope-agent框架也会有更好的升级来支持multi-agent多模型协同的研究以及有趣的应用。