Ollama Minions: 本地与云端 LLM 混合协作

斯坦福大学 Hazy Research 的研究人员与其他专家合作,开发了一种将大部分 LLM 工作负载从云端转移到消费级设备的方法。通过使小型端侧模型(例如通过 Ollama 运行的 Llama 3.2)能够与大型云端模型(例如 GPT-4o)协作,该框架在对输出质量影响极小的情况下,降低了远程操作成本。

Hybrid LLM Protocols: Minion 与 MinionS 协议

该框架引入了两种不同的协议配置,旨在优化成本降低与性能维持之间的平衡。

Minion 协议

Minion 协议允许云端模型与一个拥有数据访问权限的单一本地模型进行自由对话。这种迭代式通信会持续进行,直到两个模型达成解决方案。

  • 成本效率:实现了 30.4 倍的远程成本降低。
  • 性能:维持了云端模型原始性能的 87%。

MinionS 协议

在 MinionS 协议中,云端模型将复杂任务分解为细小的子任务。随后,这些子任务由在上下文分块上运行的小型 LLM 并行执行。

  • 成本效率:实现了 5.7 倍的远程成本降低。
  • 性能:维持了云端模型性能的 97.9%。

技术实现与设置

Minions 框架作为一个开源项目提供。实现该框架需要一个本地 LLM 运行器 (Ollama) 和一个云端 LLM API (OpenAI)。

安装

要设置环境,用户可以克隆仓库并安装依赖项:

git clone https://github.com/HazyResearch/minions.git 
cd minions
pip install -e .

本地与云端要求

  • 本地模型:必须安装 Ollama 并本地拉取模型,例如 llama3.2 (ollama pull llama3.2)。
  • 云端模型:需要一个 OpenAI API key 以连接到 gpt-4o 等模型。

程序化使用

minions Python 包允许对两种协议进行程序化执行。

对于 Minion 协议,使用 OllamaClientOpenAIClient 实例化 Minion 类。该过程涉及将任务和上下文传递给 minion 对象,并指定最大通信轮数。

对于 MinionS 协议,使用 Minions 类。此配置支持通过 Pydantic 模型进行结构化输出(例如,定义 explanationcitationanswer 模式),允许云端模型在本地模型上编排并行子任务。

Sources

相关

  • Dispatch
  • Dispatch
  • 项目
  • Dispatch
  • Dispatch