AI个人学习
和实操指南

EXO:利用闲置家用设备运行分布式AI集群,支持多种推理引擎和自动设备发现。

综合介绍

Exo是一个开源项目,旨在利用日常设备(如iPhone、iPad、Android、Mac、Linux等)运行自己的AI集群。通过动态模型分区和自动设备发现,Exo能够将多个设备统一成一个强大的GPU,支持多种模型如LLaMA、Mistral、LlaVA、Qwen和Deepseek。Exo还提供了一个ChatGPT兼容的API,使用户可以轻松地在自己的硬件上运行模型。

EXO:利用闲置家用电脑运行分布式AI集群,支持多种推理引擎和自动设备发现。-1


 

功能列表

  • 宽泛的模型支持:支持LLaMA、Mistral、LlaVA、Qwen和Deepseek等多种模型。
  • 动态模型分区:根据当前网络拓扑和设备资源,优化模型分区。
  • 自动设备发现:自动发现其他设备,无需手动配置。
  • ChatGPT兼容API:提供一个兼容ChatGPT的API,便于在自己的硬件上运行模型。
  • 设备平等:设备之间采用点对点连接,不使用主从架构。
  • 多种分区策略:支持环形内存加权分区等多种分区策略。

 

使用帮助

使用帮助

安装流程

  1. 准备工作
    • 确保Python版本>=3.12.0。
    • 如果使用Linux并支持NVIDIA GPU,请安装NVIDIA驱动、CUDA工具包和cuDNN库。
  2. 从源码安装
    • 克隆项目:git clone https://github.com/exo-explore/exo.git
    • 进入项目目录:cd exo
    • 安装依赖:pip install -e .
    • 或者使用虚拟环境安装:source install.sh

功能操作流程

  1. 运行模型
    • 在多台MacOS设备上运行示例:
      • 设备1:exo
      • 设备2:exo
      • Exo会自动发现其他设备并启动一个类似ChatGPT的WebUI(由tinygrad tinychat提供支持),地址为http://localhost:52415
    • 在单台设备上运行示例:
      • 使用命令:exo run llama-3.2-3b
      • 使用自定义提示符:exo run llama-3.2-3b --prompt "What is the meaning of exo?"
  2. 模型存储
    • 默认情况下,模型存储在~/.cache/huggingface/hub
    • 可以通过设置环境变量HF_HOME来更改模型存储位置。
  3. 调试
    • 使用环境变量DEBUG(0-9)启用调试日志:DEBUG=9 exo
    • 对于tinygrad推理引擎,使用单独的调试标志TINYGRAD_DEBUG(1-6):TINYGRAD_DEBUG=2 exo
  4. 格式化代码
    • 使用yapf格式化代码:
      • 安装格式化要求:pip3 install -e '.[formatting]'
      • 运行格式化脚本:python3 format.py ./exo

使用方法

  1. 启动EXO
   exo

EXO将自动发现并连接其他设备,无需额外配置。

  1. 运行模型
    • 使用默认模型:
     exo run llama-3.2-3b
    
    • 自定义提示:
     exo run llama-3.2-3b --prompt "EXO的意义是什么?"
    
  2. API使用示例
    • 发送请求: bash
      curl http://localhost:52415/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
      "model": "llama-3.2-3b",
      "messages": [{"role": "user", "content": "EXO的意义是什么?"}],
      "temperature": 0.7
      }'

性能优化

  • MacOS用户
    • 升级到最新版本的MacOS。
    • 运行./configure_mlx.sh优化GPU内存分配。

常见问题

  • SSL错误:在某些MacOS/Python版本上,证书未正确安装。运行以下命令修复:
  /Applications/Python 3.x/Install Certificates.command
  • 调试日志:启用调试日志:
  DEBUG=9 exo
AI轻松学

普通人的AI入门指南

帮助你以低成本、零基础学会如何利用AI工具。AI就像办公软件一样,是每个人的必备技能。 掌握AI会让你在求职中占据优势,在未来的工作和学习中事半功倍。

查看详情>
未经允许不得转载:首席AI分享圈 » EXO:利用闲置家用设备运行分布式AI集群,支持多种推理引擎和自动设备发现。

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文