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

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

时间:2024-07-27 20:58:34浏览次数:8  
标签:github AI -- host LLM cake model topology 分布式

创作不易 只因热爱!!

热衷分享,一起成长!

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


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

图片|网络|侵删

关注我,我们共同成长

“你的鼓励就是我分享的动力”

标签:github,AI,--,host,LLM,cake,model,topology,分布式
From: https://blog.csdn.net/weixin_43688085/article/details/140740778

相关文章

  • 【AI+安全】态势感知与监测
    信息安全是一个动态的过程,操作系统、应用软件、中间件,还有硬件,平台的种类越来越多,技术越来越复杂,稍有不慎就会留下安全隐患和管理漏洞,依靠客户自身的IT资源无论从技术的先进性还是方案的严密性上都越来越难以应对,企业往往由于人手或技术力量的不足,无法自如的处理各种复杂的信息安......
  • Linux: 更新系统相关依赖命令yum update执行失败: One of the configured repositorie
    环境:CentOS7(ISO映像文件=CentOS-7-x86_64-DVD-2009.iso)解决思路:系统repo镜像源连接问题导致执行失败,切换repo为国内源即可#切换仓库镜像源curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo#或者wget-O/etc/yum.rep......
  • Linux捣鼓记录:debian12日志警告:firmware: failed to load iwl-debug-yoyo.bin (-2)
    问题现象:网卡为intelax200,系统为debian12蓝牙wifi使用功能一切正常,根据wiki检查了驱动也都已经安装,但每次开机后,查看cockpit日志会看到警告:firmware:failedtoloadiwl-debug-yoyo.bin(-2)......问题分析:检索网络得到初步结论:iwl-debug-yoyo.bin是一个intel网卡相关的de......
  • maixcam识别多边形的思路和操作
    结合了MaixPy库和OpenCV库的图像处理程序,旨在从摄像头捕获的图像中识别出不同的几何形状(如三角形、四边形、五边形、六边形),并将识别到的形状顶点坐标通过串口发送出去。以下是代码的详细思路和操作描述:1.初始化设备和库首先,代码通过MaixPy库初始化了摄像头(设置分辨率为320x......
  • JS异步中async、await讲解
    目录1async、await1.1微任务队列&宏任务队列1.2问题引入1.3async函数返回值1.3.1示例1.3.2面试示例1.4await右值类型区别1.4.1非thenable1.4.2thenable类型1.4.3Promise类型1.4.3.1没有两个then等待1.4.3.2循环交叉输出1.5await+sync示例说明1.5.1返回和无返回1......
  • 2024年大厂AI大模型面试题精编+答案解析!!
    前言随着AI市场,人工智能的爆火,在接下来的金九银十招聘高峰期,各大科技巨头和国有企业将会对AGI人才的争夺展开一场大战,为求职市场注入了新的活力。为了助力求职者在面试中展现最佳状态,深入理解行业巨头的选拔标准变得至关重要。尤其是对于AGI(ArtificialGeneralIntelligen......
  • MIdjourney绘图AI绘画/MJ绘画/Dall3原生态系统)全开源AI绘画系统
    官网地址:https://www.mjdiscord.com/MidjourneyAI超强绘画原生态系统完美还原项目详细介绍飞书文档:https://ivqklkndl4k.feishu.cn/docx/GRnMdCbcooWkwTx1RU4cZjGVnzb?from=from_copylink   ......
  • MJ绘图中文版-系统AI绘画/MJ绘画/Dall3原生态系统)全开源AI绘画系统
    MidjourneyAI超强绘画原生态系统完美还原 MidjourneyAI超强绘画原生态系统界面完美还原操作功能统一中文界面功能齐全(支付系统、会员系统、分销系统、支持中转站可自己搭建中转站Midjourney-Proxy-Plus)支持MewAI绘画(MX)艺术二维码、条件生图、多种大模型、多种绘......
  • 主流AI绘画工具- Midjourney安装使用方式
    安装包下载地址&使用方法Midjourney架设在discord上,使用方式有两种:通过discord添加Midjourney机器人使用:下载地址:win版https://pan.baidu.com/s/1ggRqylbG4eCG9uKYe14bbQ?pwd=r6q2提取码:r6q2mac版https://pan.baidu.com/s/1Vh5G18ZkzsVFwtyXpiSyXw?pwd=9gvt......
  • 基于redis实现分布式锁
           分布式锁1.基于redis实现分布式锁注意:这里设置过期时间,是为了预防死锁。如果某个线程获取了锁,但还没等它执行完业务,释放锁。服务器就宕机了,那么就不会有人再去释放锁,出现了死锁问题。简单业务代码:publicinterfaceILock{booleantryLock(longt......