直播预告 | 1月17日晚7点,「多模态大模型线上闭门会」正式开讲!阿里巴巴通义实验室 NLP 高级算法专家严明参与出品,携手刘兆洋、李彦玮、文束三位青年学者,共同探讨多模态大模型的发展与应用,欢迎报名。
以GPT-4为代表的大语言模型(LLM)对话能力和文字能力已经足够出色,但我们认为,也许LLM能做的远不止对话聊天,它也可以作为多模态大模型的控制中枢。但由于用户提示不明确、工具选择和参数设置的不精确,以及工具调度低效,它们仍然面临工具调用的挑战。一些方法目前基于的假设是每个子任务最多只有一个前置任务,这在现实应用中不够灵活。
ControlLLM推出了基于图搜索和任务分解的能够精确控制工具使用的多模态交互框架。能够将LLM为主要控制器,整合具有不同功能的工具作为插件,使用自研的图上搜索(Thoughts on Graph,ToG)算法进行合理的任务分解、工具选择以及高效的工具执行调度,使得模型可以更高效、更准确的理解用户需求。未来,用户可以使用ControlLLM,为大语言模型赋予自己需要的工具,轻松定制自己的多模态模型!
论文:
开源代码:
试用Demo:
ControlLLM通过其丰富的多模态的对话和生成能力,将人机交互提升到了新的高度,降低了各个模态任务之间的壁障,和相对于现有方法具有更高的准确性、效率和多功能性,能在涉及图像、音频和视频处理的各种任务中展现出卓越的性能。出了基于图搜索和任务分解的能够精确控制工具使用的
01
亮点速览
图上搜索算法Thoughts-on-Graph (ToG)
ToG 突破了思维链(Chain of Thoughts)、思维树(Tree of Thoughts)等现有大语言模型的任务规划范式,具有以下步骤:
ToG 的优点:
02
功能亮点
亮点1.跨模态交互
先来看一项复杂的跨模态任务,现在要求模型创造一个描绘宁静美丽、平静湖面反射蓝天的图像,再创造一个也符合该氛围的音频,最后将图像和音乐结合成展示自然之美的视频。该问题中设计到图像、音频、视频多个模态,我们将该问题交给ControlLLM。
模型首先使用text_to_image工具,将分解后的图像任务作为输入,得到了符合要求的美景图片。接着模型调用image_captioning工具,将该图片进行描述,将描述的结果送入text_to_music工具,得到音频文件。调用image_to_ideo工具,得到视频文件,最后调用dub_video工具将视频和音频进行组合,形成符合条件的视频。
亮点2.视觉理解
当用户放入多张图片,且需要根据所有图片内容,对图片进行分析理解后回答问题时,ControlLLM表现出其极其强大的视觉理解。现在向模型传入三张含有不同马匹数量的照片,要求模型帮我们数清楚图片中马匹的数量。
ControlLLM对每张图片分别调用object_detection、select_bbox、count_objects去进行数目的确定,最后调用语言模型进行回复,可以从3张图分别数出马匹的数量!
亮点3.视觉生成
想要各种各样风格的照片怎么办?上传图片,输入自己的要求,让ControlLLM为你生成所想要的图片。
模型调用了image_to_edge、image_caption、edge_text_to_image等工具,对问题进行拆分,然后调用这些工具生成相似的图片,完美完成要求!
ControlLLM也可以仅根据文字信息,生成创作一张具有高度相关的图片。
这幅图像不仅展示了北京当天的气候情况,也体现了ControlLLM在根据文字信息调度图片生成、天气查询等工具,精确完成用户指令。
03
特征对比
通过和HuggingGPT、Visual ChatGPT、InternGPT、GPT4Tools进行对比,可以看出ControlLLM能够支持更多的特性,促进多模态交互的用户体验,也侧面反映了ControlLLM具有更好的拓展性。
除了有基本的图像感知、图像编辑、图像生成、视频感知、视频编辑、视频生成等特征外,ControlLLM具有了其他几个模型所不具备的音频感知、多解决方案、资源类型感知功能。可以提供多个可行解,授予用户更多选项,同时可以识别交互中使用的资源类型,确保更多的上下文感知响应,证明了其适应性和可拓展性,使其成为各种多模态交互场景的高度通用框架。
04
性能对比
利用ControlLLM提供了三种实现,分别将其与HuggingGPT、Visual ChatGPT、InternGPT、GPT4Tools进行对比,可以看出其在工具选择,参数推理和整体解决方案的有效性方面均表现出卓越的性能,优于该领域的最先进方法。
05
方法介绍
如下图所示,该框架主要由三个关键组件构成:任务分解器、基于图的思考范式和执行引擎。方法共分为三个阶段:
第一阶段:任务分解
ControlLLM以任务分解为基础,将用户的输入分解成一系列并行子任务,利用语言模型自动分解用户输入,同时将任务分解的结果以JSON格式呈现,为下个阶段做准备,各阶段每个字段如下图所示
这个阶段完成三个任务:
第二阶段:使用ToG 进行任务规划
该阶段为整个框架的核心阶段,根据上个阶段任务分解的结果,设计Thoughts-on-Graph(ToG)范式,启发式地再图上搜索到最佳解决方案。首先,作者观察到不同工具的输入输出之间存在明显拓扑结构,因此作者提提出基于邻接矩阵构建工具图,在工具图中,资源节点和工具节点为主要元素。资源节点代表资源的具体类型,工具节点包含描述、参数、返回值等信息,同时以两种节点为基础,定义了工具-资源边和资源-工具边。建立工具图后,基于图寻找问题的解决方案,以深度优先搜索(DFS)为基础,得到一系列工具作为解决方案,将输入资源作为输入返回输出资源。具体的算法如下图所示:
为了均衡好时间复杂度和空间复杂度,作者还开发了一个工具评估模块,利用语言模型对每个搜索步骤中的工具进行打分,对于一些分数较低(即不相关)的工具进行过滤。通过工具评估模块,设计出四种搜索策略,包括贪婪策略、束搜索策略、自适应策略、穷尽策略。
在这个阶段,作者还引入了“解决方案专家”和“资源专家”,解决方案专家能够在简化选择最佳方案的过程,可以将解决方案系统转化为字符串描述,根据评估分数做出合适的决策。资源专家源于算法会出现遇到多个相同资源类型的情况,该模块可以制定任务描述和可用资源列表将任务进行转化。
第三阶段:执行引擎
在经历前两个阶段后,我们生成了任务解决方案,它们会被传递到工具引擎去执行。执行引擎将解决方案解析为一系列行为,每一个行为和特定的工具服务相对应,工具服务由制作的映射表或自动调度器来实现。同时通过解释器去维护一个状态内存,将中间结果进行存储,使参数在运行时可以进行自动纠正。
在执行结果完成后,为了提高回复的完整性和准确性,作者额外的引入一个阶段,通过将上述的用户提问、操作列表和执行结果给到LLM,通过LLM来智能性地总结答案。同时作者比较了多个语言模型,包括现有的不需要从头训练的LLM,如ChatGPT 和 Llama 2,但是作者发现其没有针对要求进行训练,反而可能会导致性能下降;使用 Self-Instruct的方法微调语言模型时,虽然可以适应任务实现高性能,但需要大量的计算资源。
06
结语
ControlLLM是一次创新性的尝试,研究人员希望更好的利用工具,提高LLM的性能,可以完成用户使用各种模态数据的各种复杂问题!
END
线上闭门会预告
1月17日晚7点,「多模态大模型线上闭门会」正式开讲!本次闭门会由阿里巴巴通义实验室 NLP 高级算法专家严明参与出品,聚焦于大语言模型工具调用 ControlLLM、长视频理解视觉语言模型 LLaMA-VID 和多模态文档理解大模型 mPLUG-DocOwl,欢迎报名
你的每一个“在看”,我都当成了喜欢
▼