【EXO】在家用日常设备就可以搭建自己的 AI 集群

1. EXO 简介

exo 项目的口号是 “在家中使用日常设备运行自己的 AI 集群”。exo 是一个开源项目,旨在利用日常设备(如 iPhoneiPadAndroidMacLinux 等)运行自己的 AI 集群。通过动态模型分区和自动设备发现,exo 能够将多个设备统一成一个强大的 GPU,支持多种模型如 LLaMAMistralLlaVAQwenDeepseek。Exo 还提供了一个 ChatGPT 兼容的 API,使用户可以轻松地在自己的硬件上运行模型。

2. 部署 EXO

笔者所使用环境为 Ubuntu24.04 的桌面系统。
先决条件:

  • Python >= 3.12.0
  • 对于支持 NVIDIA GPU 的 Linux(仅限 Linux,如果不使用 Linux 或 NVIDIA,请跳过)

2.1. 安装 Python 3.12

步骤 1: 更新你的包管理器和系统

sudo apt update
sudo apt upgrade

步骤 2: 安装 Python 3.12

Python 3.12 目前还不是 Ubuntu 的官方发行版的一部分,但可以通过添加一个 PPA(个人软件包存档)来安装它。以下是添加 PPA 并安装 Python 3.12 的步骤:

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12
sudo apt install python3.12-full

步骤 3: 安装 PIP

sudo apt install python3-pip

2.2. 下载并安装 EXO

通过 git 下载项目代码到本地。

git clone https://github.com/exo-explore/exo.git

cd exo

以“可编辑模式”(editable mode)安装当前目录下的 Python 包,笔者在这里报错。

im02@ubuntu:exo$ pip install -e .

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.12/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

安装 pipx 来代替 pip 以解决报错问题

sudo apt install pipx

再次执行安装命令。

im02@ubuntu:exo$ pipx install -e .
  installed package exo 0.0.1, installed using Python 3.12.3
  These apps are now globally available
    - exo
⚠️  Note: '/home/im02/.local/bin' is not on your PATH environment variable. These apps will not be
    globally accessible until your PATH is updated. Run `pipx ensurepath` to automatically add it,
    or manually modify your PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨

笔者的机器没有搭载 GPU,因此需要使用纯 CPU 进行推理,下面安装所需要的软件包。

sudo apt install clang

pipx install llvmlite

3. 启动 EXO 并下载模型

修改当前环境变量,并进入虚拟环境变量。

source install.sh

常规执行方式,直接运行 exo 命令即可。

exo

这将会在本地开启一个 WebUI,在本地浏览器输入该地址 http://localhost:52415 即可访问。

浏览并点击左侧模型下的 download 按钮即可开始下载模型。

在这里插入图片描述

如果发现启动后左侧模型一直处于 “Checking download status…” 的状态则说明网络不好,推荐使用镜像地址下载,即在运行时执行如下命令。

HF_ENDPOINT=https://hf-mirror.com exo

若希望看到更多调试信息,则在前添加 DEBUG=9,这些参数均可叠加,若希望指定仅用 CPU 进行推理则添加 CLANG=1

4. 多设备共享资源推理

exo 支持在多种同/异构设备上 p2p 连接使用,并能够跨设备分割模型,默认分区策略是环内存加权分区。这会在环中运行推理,其中每个设备运行的模型层数与设备的内存成比例。

只需要所有设备在同一个网络环境下即可,无需其它的配置,但需要注意的是,exo 开启时候会随机找一个靠后的端口作为自己连接端口,防火墙的存在可能会阻止设备之间的连接,建议关掉后尝试。

在这里插入图片描述

#完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Imagine Miracle

爱你哟 =^ v ^=

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值