Agent 系列之 LLM Compiler框架解析

An LLM Compiler for Parallel Function Calling论文详细介绍了一种名为LLMCompiler的新方法,用于在语言模型中并行执行多个函数调用,以提高效率和准确性。

论文摘要

【论文标题】:《An LLM Compiler for Parallel Function Calling》;

【发布时间】:2023.12.04;

【论文链接】:https://arxiv.org/abs/2312.04511;

【内容摘要】

这篇论文介绍了一种名为LLMCompiler的新方法,用于在语言模型中并行执行多个函数调用,以提高效率和准确性。该方法基于经典编译器的原则,包括规划、任务获取和执行三个组件。通过自动优化执行计划,LLMCompiler可以与开源和私有模型一起使用,并已在各种任务上进行了测试,取得了比现有方法更高的速度、成本节省和准确性的结果。

图片

主要内容

方法描述

图片

LLMCompiler,旨在通过自动识别任务之间的依赖关系来优化大规模多模态推理问题的执行效率。该方法包括三个组件:一个LLM规划器(LLM Planner),一个任务获取单元(Task Fetching Unit)和一个执行器(Executor)。其中,LLM规划器负责生成一系列任务及其依赖关系,并使用预定义的提示引导其创建依赖并确保正确的语法;任务获取单元根据策略将任务分配给执行器,同时替换变量为前一任务的实际输出;执行器异步地执行任务,并将结果传递给后续任务

此外,该方法还支持动态重新规划,即在未知中间结果的情况下适应执行流程。当出现复杂的分支结构时,执行器会将中间结果发送回LLM规划器,以便重新计划和分派任务。

解决的问题

LLMCompiler的目标是优化大规模多模态推理问题的执行效率。传统的工具增强型LLMs通常需要手动指定任务之间的依赖关系,这可能会导致计算效率低下。而LLMCompiler则可以自动识别任务之间的依赖关系,并将其转化为执行顺序,从而实现更高效的计算。此外,LLMCompiler还支持动态重新规划,可以在未知中间结果的情况下适应执行流程,进一步提高了计算效率。

图片

LangChain实现

图片

LLMCompiler 有以下主要组件:

        Planner:流式传输任务的 DAG。每个任务都包含一个工具、参数和依赖项列表。

        Task Fetching Unit:调度并执行任务。一旦满足任务的依赖性,该单元就会安排任务。由于许多工具涉及对搜索引擎或 LLM 的其他调用,因此额外的并行性可以显着提高速度(论文声称提高了 3.6 倍)。

        Joiner:由LLM根据整个历史记录(包括任务执行结果)动态重新计划或结束,决定是否响应最终答案或是否将进度传递回(重新)计划代理以继续工作。

代码不贴了,可参考github:https://github.com/langchain-ai/langgraph/blob/main/examples/llm-compiler/LLMCompiler.ipynb?ref=blog.langchain.dev

总结一下,LLM Compiler与AcWOO类似,都通过宏观的计划与执行减少了Prompt内容,但LLM Compiler通过支持任务并发执行实现效率的显著提升。


关于我:AI产品经理(目前在寻找新机会),主要关注AI Agent 应用。公众号:AI奋进者。如有好的想法欢迎一起沟通交流。

Agent系列文章已经逐步更新:

Agent 系列之 ReWOO框架解析icon-default.png?t=N7T8https://blog.csdn.net/letsgogo7/article/details/138259507

Agent系列之 Plan-and-Solve Prompting 论文解析icon-default.png?t=N7T8https://blog.csdn.net/letsgogo7/article/details/138259154

Agent系列之LangChain中ReAct的实现原理浅析icon-default.png?t=N7T8https://blog.csdn.net/letsgogo7/article/details/138197137

Agent系列之ReAct: Reasoning and Acting in LLM 论文解析icon-default.png?t=N7T8https://blog.csdn.net/letsgogo7/article/details/138259590Agent 系列之 LLM Compiler框架解析icon-default.png?t=N7T8https://blog.csdn.net/letsgogo7/article/details/138284351

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值