Repolode
b4rtaz

b4rtaz/distributed-llama

一个 C++ 工具,通过以太网把 LLM 推理拆分到多台家用设备上,以加快生成速度。

Star
3,115
Fork
258
未关闭 Issue
48
最近提交
11天前

这是什么?

Distributed Llama 可以把多台普通电脑(例如家里的设备或树莓派)连成一个集群来运行大语言模型。根节点负责加载模型和权重,把各自的计算分片分发给工作节点,并同步神经网络的状态;每个节点只处理自己负责的那一部分。项目通过张量并行和以太网上的高速同步实现,设备越多,推理速度越快。

项目支持 Linux、macOS 和 Windows,并针对 ARM 与支持 AVX2 的 x86_64 CPU 做了优化。它提供一条命令即可下载并启动 Llama、DeepSeek R1 Distill 和 Qwen 3 等模型(Q40 量化),也包含把 Hugging Face 模型转换为所需格式的工具。命令行提供推理基准测试、CLI 聊天、工作节点和 API 服务器等功能。

集群节点数必须为 2 的幂次,且最大节点数受模型 KV 头数限制。量化方面目前仅支持 q40 模型搭配 q80 缓冲类型,以及 f32 模型搭配 f32 缓冲类型。Vulkan 与 GPU 运行方式也已有单独的说明文档。

核心功能

  • 01通过张量并行把模型计算分摊到多台设备上。
  • 02节点之间通过普通以太网进行同步。
  • 03支持 Linux、macOS 和 Windows,并针对 ARM 与 x86_64 AVX2 做了优化。
  • 04提供命令行聊天、推理基准测试、工作节点模式和 API 服务器。
  • 05提供一条命令即可启动多个 Llama、DeepSeek 和 Qwen 3 模型。

适用场景

  • 在几台家用电脑或迷你主机上运行 70B 级别的 Llama 模型。
  • 在树莓派集群上实验 LLM 推理。
  • 在局域网内用一小组机器提供本地 API 服务。

快速上手

  1. 1

    安装 Python 3 和 C++ 编译器,然后克隆仓库

  2. 2

    使用单条命令设置根节点(自动下载模型和分词器)

    python launch.py llama3_2_1b_instruct_q40

使用前须知

  • 节点数量必须为 1、2、4 或 2^n,且上限为模型的 KV 头数。
  • 仅支持 q40 模型配合 q80 缓冲类型,以及 f32 模型配合 f32 缓冲类型。
  • Vulkan 支持仍处于实验阶段。

收录于专题

标签

常见问题

distributed-llama 是什么?
一个 C++ 工具,通过以太网把 LLM 推理拆分到多台家用设备上,以加快生成速度。 Distributed Llama 可以把多台普通电脑(例如家里的设备或树莓派)连成一个集群来运行大语言模型。根节点负责加载模型和权重,把各自的计算分片分发给工作节点,并同步神经网络的状态;每个节点只处理自己负责的那一部分。项目通过张量并行和以太网上的高速同步实现,设备越多,推理速度越快。
distributed-llama 可以免费使用吗?用的什么许可证?
distributed-llama 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
distributed-llama 还在维护吗?
活跃维护中。distributed-llama 最近一次提交是在 2026年10月14日。
distributed-llama 适合用来做什么?
在几台家用电脑或迷你主机上运行 70B 级别的 Llama 模型。 在树莓派集群上实验 LLM 推理。 在局域网内用一小组机器提供本地 API 服务。
distributed-llama 怎么安装和运行?
安装 Python 3 和 C++ 编译器,然后克隆仓库 使用单条命令设置根节点(自动下载模型和分词器): python launch.py llama3_2_1b_instruct_q40
在哪里获取 distributed-llama?
源代码和安装说明在 GitHub 上:https://github.com/b4rtaz/distributed-llama

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目