Octopus v4:八爪鱼来袭,整合各开源大模型一起玩耍,取长补短!
大语言模型在多种应用中展现出强大效力,但顶尖模型往往价格昂贵且能耗高,如GPT-4、Anthropic。开源社区则以Llama3为例,提供了节能且成本效益高的替代方案,并且定制化小型语言模型在特定领域如法律、医疗或金融中,已超越了大型专有模型,显示出更高的效率和精准度。
Octopus v4新型语言模型框架,通过构建一个包含不同垂直领域语言模型的图(graph)来使用各种开源语言模型。
从使用万亿参数模型的单一模型推理,转变为由章鱼模型协调的多节点协作。该框架通过根据用户的查询选择最合适的专业化模型,优化推理过程,仅激活两个每个模型少于100亿参数的模型进行一步推理。只展示了一个小图,但该框架可以支持一个大图。请查看图的演示(https://graph.nexa4ai.com/)。
Octopus v4模型利用功能标记(functional tokens)智能地将用户查询定向到最合适的垂直模型,并重新格式化查询以实现最佳性能。该模型是Octopus v1、v2和v3模型的进化版,在选择、参数理解和重新格式化方面表现出色。
Octopus v4的核心是使用功能性标记(functional tokens)来激活特定的模型功能,简化了语言模型的功能设计,使其只需要单一输入和输出。通过构建一个有向的异构图,其中包含主节点和工作节点,可以有效地处理用户查询并生成响应。主节点负责协调查询并将其导向合适的工作节点,而工作节点则执行任务并使用Octopus模型进行进一步协调 。
章鱼模型被用来确定最优的邻近节点并生成适当的信息以供传输。设想一个场景,章鱼模型的邻居包括MathGPT、LawGPT、HealthCareGPT、CodeGPT和RoomGPT。章鱼模型能够识别出最相关的GPT,并将初始查询转换为最适合所选GPT的格式。
规划多步骤任务架构由两个抽象层组成。第一层使用功能标记来表示Octopus v2模型可以执行的操作。这一层包括三个不同的Octopus v2模型,每个模型都由不同的功能标记标识,有效地将它们区分为独立的AI代理。第二层抽象涉及Octopus v4模型,其中内部的功能标记映射到各种v2模型。为了简单起见,只包括了三个v2模型,但在实际使用案例中,可以映射到多个v2模型。
语言模型图系统设计:其中主节点部署在中心设备上,工作节点分布在各种设备上。采用Kubernetes(k8s)对每个单独的工作语言模型进行无服务器部署。为了高效的数据共享,利用了由Redis支持的分布式缓存机制。对于每个工作节点,都附加了一个小的章鱼v4 Lora,以指导多代理用例中的下一个邻居节点。
在10B参数规模的模型中,Octopus v4实现了74.8的SOTA MMLU得分。
Octopus v4与其他模型在MMLU得分上的比较。在Octopus v4与的推理过程中,仅激活了两个小型语言模型,每个模型的参数少于100亿。Octopus v4与在MMLU得分上取得了显著提升,由于利用了功能标记,仅需要少量的标记牺牲。
https://arxiv.org/pdf/2404.19296
Octopus v4: Graph of language models
https://github.com/NexaAI/octopus-v4
https://hf-mirror.com/NexaAIDev/Octopus-v4
本文转载自 PaperAgent,作者: PaperAgent