Octopus v4:多个细分领域LLM协同工作,实现多LLM能力融合

Octopus v4: Graph of language models

目前已经又数量庞大的LLM可供大家使用,通常每个LLM有各自精通的领域,针对特定的领域需要选择对应的LLM,当需要面向多领域应用时,无法自动选择合适的模型。

本文提出了一种新的解决方法,Octopus v4能够使用功能令牌来同时集成多个开源模型,通过结合图结构,实现模型的自动选择。

论文地址:https://arxiv.org/pdf/2404.19296

Github地址:https://github.com/NexaAI/octopus-v4

摘要

Octopus v4是一种新的模型集成方案,利用功能标记来整合多个开源模型,每个模型都针对特定任务进行了优化。Octopus v4模型利用功能标记智能地将用户查询引导到最合适的垂直模型,并重新格式化查询以实现最佳性能。此外,本文还探讨了使用图作为一种多功能数据结构,通过利用Octopus模型和功能标记的能力来协调多个开源模型。通过激活约10亿参数的模型,我们在相同级别的模型中实现了74.8的SOTA MMLU得分。

简介

自Llama发布以来,开源大型语言模型(LLM)的数量显著的增长,这些模型适用于不同的领域,用户可以根据用例选择最佳模型。

图数据结构可以用于表示各个领域中复杂的关系和依赖关系,图具有几个优势,包括高效的遍历、模式发现和模拟现实世界网络的能力。我们认为可以使用图结构来表示不同模型之间的关系、它们的能力和最佳用例。通过将每个语言模型视为图中的一个节点,并根据它们的兼容性、互补特性或任务特定性能建立边,我们可以创建一个强大的框架,实现无缝模型集成、智能查询路由和优化性能。

本文提出了云端和设备AI模型的协作框架,通过连接物联网设备实现资源的高效分配和数据交换,从而实现更高的性能、可扩展性和灵活性。同时还介绍了一种使用Octopus v2模型作为协调器的多节点推理框架。

相关工作

功能性令牌增强AI代理能力

本文通过使用功能性令牌来增强AI代理的能力,并将所有开源模型进行整合。研究表明,功能性令牌不仅可以提高分类任务的准确性,还可以选择适合处理查询的函数或模型。此外,功能性令牌还可以增强Octopus模型在解释和重塑用户查询方面的能力,从而提高性能。在图结构中,增强的Octopus模型可以有效地选择最佳邻居,重构当前节点的信息,并将优化后的信息传递给后续节点。

多智能体LLMs

多智能体LLMs是AI领域的重要进展,通过整合多个专门代理实现协同问题解决,提供更全面的解决方案。多智能体LLMs在提供领域专业知识、增强问题解决能力和提供鲁棒性、可靠性和适应性方面表现出色。部署多智能体LLMs面临集成困难、数据共享问题和代理之间的协调问题等挑战。

LLM的扩展规律

LLM的扩展规律表明,更大的模型、更大的数据集和更多的计算资源通常会带来更好的性能。LLM的扩展面临服务器容量和功耗的限制,我们的架构通过分布式计算和节点扩展技术解决了这些可扩展性问题。

方法

Octopus v2中用于分类的语言模型

Octopus v2论文介绍了一种名为“functional token”的方法,用于在固定池中进行分类。该模型适用于选择最佳选择并重构查询以传递信息到后续节点的类似场景。Octopus v2模型适用于处理预定义图中的语言模型推理问题,具有快速执行和高准确性。

语言模型作为图中的节点

考虑一个有向异构图,定义为:

在这里插入图片描述

其中N表示图中的各个节点,E表示连接这些节点的边。节点分为两种类型:主节点(Nm),它通过将查询引导到合适的工作节点(Nw)来协调查询,并传递执行任务所需的信息。工作节点从主节点接收信息并执行所需的任务,使用Octopus模型来促进进一步的协调。对于处理用户查询q并生成响应y,我们将概率建模为:

对于只涉及一个工作节点的单步任务,过程可以定义如下:

这里,P使用Octopus v2模型为N m选择最佳邻近工作节点,并将查询重新格式化为qh,即重新格式化的查询。该表达式是典型的可以用Octopus模型求解的问题。似然P由位于工作节点的语言模型计算。

对于多步骤任务,即典型的多智能体工作流,该过程涉及多个节点之间的几个顺序交互:

在这里插入图片描述

该公式将单步任务扩展为多个步骤,每个步骤可能由不同的工作节点处理,并由各自的主节点进行协调。每个步骤处理查询的一部分,并对最终结果有贡献,其中k表示多代理过程中的步骤或交互的数量。该方法举例说明了分布式人工智能系统中的协调和执行模式,利用了基于图的框架内多个专门代理的功能。

对于图,它将是基于可用语言模型的预定义图。每个工作模型也可以是一个可以执行操作的Octopus模型。如果我们要进行并行函数调用,主节点将多次将查询定向到相同的节点以执行并行函数调用。

与像GPT-4这样的大型语言模型相比,这种设计还有另一个优点,即回答用户的一个查询,我们只需要激活两个小的语言模型,而不是一个具有万亿参数的大型语言模型。这意味着我们可以期待更快的速度和更少的能源成本,以及更少的硬件需求。在Octopus v2中,我们演示了可以使用函数令牌来摆脱RAG方法,以实现函数的准确选择,并快速生成。

使用图形进行多步骤操作的任务规划

在多步骤任务计划中,整合许多步骤是必不可少的。本文提供了一个解决方案,通过映射各个节点(语言模型/代理)之间相关性构建成一个图。这种基于图的方法确保只考虑与特定节点相关的相邻节点,与函数描述的总数相比,显著降低了选择的复杂性。通过利用Octopus v2模型的功能,该策略提高了效率,支持快速查询重定向和重新格式化。我们实际上有两个抽象层。首先,对于每个语言模型,我们可以应用功能令牌使其成为单个AI代理,可以进行单个函数调用。或者,单节点/语言模型可以是一个普通的语言模型,如Llama3或Phi3,可以做问答、写作等。另一层抽象是,我们还可以创建另一个Octopus v3模型,以便从不同的节点中进行选择。

功能标记和数据集集合

Octopus v2中的功能令牌架构将每个模型都概念化为一个独立的函数,利用功能令牌来激活特定的模型使用。这种方法简化了语言模型的函数设计,只需要一个输入参数和输出结果。此外,对于特定的模型,我们可以在函数的文档字符串中详细说明所需的提示模板。这使得Octopus v4模型能够重组原始查询以匹配预期的格式。

在这里插入图片描述

在这里插入图片描述

此外,我们使用类似Octopus v2论文中的策略构建数据集。按照Octopus v2论文中概述的方法,我们可以训练与各种自定义语言模型相对应的多个功能令牌。与Octopus v2论文一样,数据集收集过程涉及使用合成数据来训练功能令牌。为了更好地适应多样化的查询,增加温度在数据生成过程中可能是有益的。这种调整有助于捕捉用户查询中的变异性和潜在的格式不一致性,这在某些用例中很常见。

语言模型图系统设计

本文设计了一个基于图形的系统架构,其中每个节点代表一个语言模型,利用多个Octopus模型进行协调。为了有效地管理系统需求,需要集成一个负载均衡器。系统被分为几个可管理的组件,工作节点采用无服务器架构,建议使用Kubernetes进行自动缩放。主节点应使用少于10B参数的基础模型,与每个工作节点接口,使用Lora模型进行增强协调。工作节点和主节点分布在各种设备上,因此需要互联网连接来传输数据。建议使用Redis进行数据缓存。

实验

使用MMLU基准测试来评估框架的效果,并应用了17个不同的模型。Octopus v4模型将用户查询发送到相关的专门模型,并进行适当的格式转换。

专业模型

多任务多语言理解(MMLU)包括57个独特的任务,进一步分为17个整合组。任务如下分为以下几类:

  • STEM:物理学、化学、生物学、计算机科学、数学、工程学;

  • 人文学科:历史、哲学、法律;

  • 社会科学:政治、文化、经济学、地理学、心理学;

  • 其他:杂项、商业、健康。

根据基准分数、流行度和用户认可,从Hugging Face中精选出专门的模型。并非所有专门的任务都有相应的模型,但是经过定制的系统提示,Llama3模型可作为基础模型来模拟专门的能力,而无需直接进行微调。

以下17个模型要么经过专门微调,要么通过提示进行定制:

  • 物理学:Weyaxi/Einstein-v6.1-Llama3-8B,根据物理学数据集进行微调;

  • 生物学:jondurbin/bagel-8b-v1.0,根据生物学数据集进行微调;

  • 计算机科学:Llama-3-Smaug-8B,针对各种计算机科学论坛进行定制;

  • 数学:Open-Orca/Mistral-7B-OpenOrca,针对数学进行优化;

  • 工程学:phi-2-electrical-engineering,根据电气工程数据集进行微调,因其与MMLU的相关性而被选中;

  • 法律:AdaptLLM/law-chat,根据法律数据集进行微调;

  • 健康:AdaptLLM/medicine-chat,针对医学数据进行优化;

  • 心理学、历史学、哲学、政治学、文化学、地理学、商业学、化学、经济学:目前这些领域没有专门的模型可用。使用定制的系统提示和CoT技术与Llama3一起模拟专门的模型;

  • 其他:对于剩余的任务,使用Phi3模型作为通用模型。

MMLU基准评估

使用MMLU基准测试将Octopus v4与其他知名模型进行比较,以证明我们的模型的有效性。在推理系统中,使用了两个紧凑的语言模型:3B参数的Octopus v4模型和另一个不超过8B参数的工作语言模型。

讨论和未来工作

如何训练垂直模型

为了有效地为特定领域的专业知识微调大型语言模型,需要收集大量高质量、与领域相关的数据,并进行预处理。选择适合需求的预训练大型语言模型,并使用预处理后的领域特定数据进行微调,以嵌入必要的专业知识。可以考虑使用知识蒸馏将更大模型的API中的见解转移到更小、更高效的模型中。推荐使用Hugging Face提供的SFT Trainer进行微调,建议先进行监督微调,然后进行直接偏好优化。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值