[AI]在家中使用日常设备运行您自己的 AI 集群.适用于移动、桌面和服务器的分布式 LLM 推理。

创作不易 只因热爱!!

热衷分享,一起成长!

"你的鼓励就是我努力付出的动力"


AI发展不可谓不快,

从ollama个人电脑CPU运行到现在,日常设备AI集群.
下面对比一下,两款开源AI 大模型的分布式推理应用, exo 和cake.

1.AI 集群推理应用exo 和cake的简单对比

python >=3.12.0 Apple芯片 IOS MAC Others芯片 rust exo
github 4.4k+ Model LLaMA
动态模型分区,自动设备发现
p2p 设备连接 推理引擎
MLX 推理引擎
tinygrad
-python 推理引擎
llama.cpp
还在构建中... cake
github 2.2k+ Model LLaMA
master-worker 架构
配置每个工作节点 推理引擎
Candle
-rust

tips: OS系统windows的支持目前都不太好. 建议用 ubuntu 22.04

2. 在家中使用日常设备运行自己的 AI 集群 exo

exo是一个 python>=3.12.0框架.用于基于 MLX,tinygrad等推理引擎的 LLama3 等大型模型的分布式推理。Llama 3.1现在是默认模型,在自己的设备上可运行 8B、70B 和 405B 参数模型.动态模型分区,自动设备发现, p2p 设备连接架构.
github主页: https://github.com/exo-explore/exo

(1)安装 python >=3.12.0

复制代码
git clone https://github.com/exo-explore/exo.gitcd exopip install .

(2)在任意设备上运行

复制代码
python3 main.py

环形分区架构

--运行tinygrad的examples里的llama3.py查看更多帮助

复制代码
python3  examples/llama3.py -help

--尝试在Windows上部署,运行报错如下!!!放弃windows折腾吧...

复制代码
No module named '_posixshmem'
报错解释:
这个错误通常发生在尝试使用某些Python模块时,特别是涉及到共享内存操作的时候。_posixshmem 是一个Python的C扩展模块,它允许Python代码在Unix-like系统上使用POSIX共享内存接口。

3. 适用于移动、桌面和服务器的分布式 LLM 推理 cake

Cake 是一个 Rust 框架,用于基于 Candle 的 LLama3 等大模型的分布式推理。通过将消费类硬件重新利用设备的异构集群,能够运行大型 (70B+) 模型。

将转换器模块分片到多个设备,以便能够在通常不适合单个设备的模型上运行推理。安装 Rust 后,可以使用不同的加速器构建核心库和 CLI 实用程序。
github主页: https://github.com/evilsocket/cake

(1)安装, ----装rust, windows下要先安装msvc++

复制代码
git clone https://github.com/evilsocket/cake.git
cd cake
进行编译和部署:
  不加速(将使用 CPU):
  cargo build --release
​
  借助 Apple Silicon 的 Metal 加速:
  cargo build --release --features metal
​
  使用 CUDA 加速:如果有显卡,需要CUDA驱动加速系统,需要CUDA >= 12.2。
  cargo build --release --features cuda

(2) 配置运行主支节点及topology.yml文件

复制代码
####  2.1 运行工作节点:

cake-cli --model /path/to/Meta-Llama-3-8B \ # model path, read below on how to optimize model size for workers
         --mode worker \                    # run as worker
         --name worker0 \                   # worker name in topology file
         --topology topology.yml \          # topology
         --address 0.0.0.0:10128            # bind address
####  2.2 运行主节点
cake-cli --model /path/to/Meta-Llama-3-8B \ # model path
         --api 0.0.0.0:8080               \ # API bind address
         --topology topology.yml            # topology file

其中 topology.yml 确定哪些层由哪个工作线程提供服务

复制代码
linux_server_1:
  host: 'linux_server.host:10128'
  description: 'NVIDIA Titan X Pascal (12GB)'
  layers:
    - 'model.layers.0-5'
​
linux_server_2:
  host: 'linux_server2.host:10128'
  description: 'NVIDIA GeForce 3080 (10GB)'
  layers:
    - 'model.layers.6-16'
​
iphone:
  host: 'iphone.host:10128'
  description: 'iPhone 15 Pro Max'
  layers:
    - 'model.layers.17'
​
ipad:
  host: 'ipad.host:10128'
  description: 'iPad'
  layers:
    - 'model.layers.18-19'
​
macbook:
  host: 'macbook.host:10128'
  description: 'M1 Max'
  layers:
    - 'model.layers.20-31'

model.layers 数量在对应大模型 model.safetensors.index.json.

还有Candle 的搭建与配置...

但行好事,莫问前程!

end

**你好呀,我是一个医信行业工程师,喜欢学习,喜欢搞机,喜欢各种捣,也会持续分享,如果喜欢我,那就关注我吧!**

往期精彩:

作者|医信工程师随笔|Carltiger_github

图片|网络|侵删

关注我,我们共同成长

"你的鼓励就是我分享的动力"

相关推荐
Hpc_Fun几秒前
医学影像 AI 工作站怎么配?五类工位、3 秒首幅的时延预算与验收脚本
人工智能
云水初3 分钟前
【agent篇】RAG Agent避坑指南(附高级RAG Agent汇总)
开发语言·笔记·python·学习·langchain·agent·rag
miofly7 分钟前
NVIDIA 将 Run:ai 平台全面开源,纳入 DSX AI Factory 体系
开源·github
薛定猫AI9 分钟前
【技术干货】多AI团队大模型协作编排与编程项目评测架构解析
python·机器学习·ai·大模型·技术实战
外收内放10 分钟前
数据分析(图表信息详解)
python·学习·数据分析·matplotlib
FII工业富联科技服务11 分钟前
如何提升工厂空间利用率与产线 UPH?从 Omniverse 布局优化到柔性自动化改造
人工智能·机器人·自动化·智能制造·omniverse·柔性生产·ai factory
气质、小青年!14 分钟前
进程1学习
linux·学习
深海鱼肝油ya17 分钟前
企业级RAG问答系统(一)数据处理模块
人工智能·大模型·pdf文件解析·rag问答系统·智能分块
本原财经19 分钟前
大厂争霸AI办公:个人Agent和AI硬件哪个才是答案?
大数据·人工智能
博谷23 分钟前
2026GEO概率化观测怎么做?BUGOOAI布谷GEO的采样与指标体系拆解
人工智能·ai