项目简介
Octopus-V2-2B是由斯坦福大学Nexa AI开发的一种先进的开源大型语言模型,具有20亿参数,专为Android API的功能调用定制。
与需要详细描述潜在函数参数的检索增强生成(RAG)方法不同Octopus-V2-2B采用了一种独特的功能性标记(functionaltokens)策略,用于其训练和推理阶段。
这种方法不仅使其达到了与GPT-4相当的性能水平,还大幅提高了推理速度,超越了基于RAG的方法,特别适用于边缘计算设备。
它能够在设备上直接运行,支持广泛的应用场景,从而推动Android系统管理和设备间协同工作的新方式。其快速和高效的推理能力,特别适合需要高性能和精确功能调用的场景,如智能家居控制移动应用开发等。功能特点
1.高精度的功能调用:Octopus v2通过引入功能性标记(functionaltokens),能够准确地选择和调用正确的函数,提高了功能调用的准确性。
2.优化的延迟:相比传统的基于RAG的功能调用方法,Octopus v2大幅减少了延迟,提高了推理速度,适合实时应用。
3.上下文长度减少:通过其独特的设计,Octopus v2在进行功能调用时所需的上下文长度减少了95%,这意味着它能够更快地处理请求,同时减轻了设备的负担。
4.设备上运行:Octopus v2专为边缘设备设计,能够直接在设备上运行,无需依赖云计算资源这样既保护了用户隐私,也减少了使用成本。
性能
1.延迟:在基准测试中,Octopus-V2-2B展示了显著的推理速度,其速度是单个A100 GPU上。“Llama7B+RAG解决方案”的35倍。与依赖A100/H100 GPU集群的GPT-4-turbo(gpt-4-0125-preview)相比,Octopus-V2-2B快了168%。
2.准确性:Octopus v2在功能调用的准确性上超过了包括GPT-4等现有的解决方案,准确率在各类基准测试中接近100%。其功能调用准确率比“Llama7B+RAG解决方案”高出31%。在基准数据集中,其功能调用准确率与GPT-4和RAG+GPT-3.5相当,分数在98%到100%之间。
3.效率:通过有效减少所需的上下文长度和优化推理速度,Octopus v2在不牺牲准确性的前提下提供了高效的性能,特别适合在资源受限的设备上运行。
模型架构及技术原理
Octopus v2使用了Google Gemma-2B模型作为其预训练模型的基础。在此基础上,通过引入特殊的功能性标记(functional tokens)和进行细致的微调,Octopus v2能够理解和执行软件应用中的函数调用,从而实现了在设备上运行时更高的准确性和更低的延迟。这种方法有效地将Google Gemma 2B模型转化为一个更适合在边缘设备上使用的高性能语言模型,同时节省了上下文长度并优化了性能。1.预训练模型选择:Octopus v2选择了Google Gemma-2B模型作为预训练基础,这是因为Gemma-2B提供了强大的语言理解和生成能力,是构建高性能语言模型的理想起点。
2.功能性标记引入:为了提高模型在函数调用任务上的性能,Octopus v2引入了功能性标记(functional tokens)。这些标记代表了不同的软件操作或功能,使得模型能够通过识别这些标记来准确执行特定的函数调用。
3.模型微调:在预训练模型的基础上,通过对模型进行细致的微调来适应具体的函数调用任务这一步骤涉及将功能性标记及其对应的函数描述加入训练数据中,训练模型以理解和映射这些标记到相应的软件操作上。
4.减少上下文长度:通过优化模型的输入处理方式,Octopus v2能够在进行函数调用时显著减少所需的上下文长度。这是通过直接使用功能性标记来指代复杂的函数调用过程,从而减轻模型处理负担并加快响应速度。
5.提高执行效率:微调后的Octopus v2模型能够快速准确地识别功能性标记,并映射到正确的函数执行过程,无需处理兄长的自然语言指令。这不仅提高了函数调用的准确性,也大大缩短了执行时间,降低了设备上的运算需求。
6.边缘设备部署:优化后的模型特别适合在边缘设备上部署,如智能手机、汽车、智能家居设备等。这些设备通常资源有限,但通过Octopus v2,它们能够本地执行复杂的语言处理任务,实现快速响应和高度隐私保护。
7.实现多样化应用:凭借其在设备上执行的能力,Octopusv2可以支持多种应用场景,包括但不限于智能家居控制、车载系统交互、离线语音助手等。