exo:22.1K Star!一个能让任何人利用日常设备构建AI集群的强大工具,组成一个虚拟GPU在多台设备上并行运行模型

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: exo 是一款由 exo labs 维护的开源项目,能够让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群,支持多种大模型和分布式推理。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


大家好,我是蚝油菜花,今天跟大家分享一下 exo 这个开源项目,它能让你利用家中的日常设备构建强大的 AI 集群。

🚀 快速阅读

exo 是一个开源项目,旨在让你利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群。

  1. 核心功能:支持多种大模型、自动设备发现、动态模型分区。
  2. 技术原理:通过 P2P 网络连接设备,优化模型分配,实现分布式推理。

exo 是什么

exo

exo 是一个由 exo labs 维护的开源项目,旨在让任何人都能利用家中的日常设备(如 iPhone、iPad、Android、Mac 和 Linux)构建强大的 AI 集群。它允许用户将现有的设备统一成一个虚拟的 GPU,从而运行大型 AI 模型,而无需依赖昂贵的 NVIDIA GPU。

exo 支持多种流行的 AI 模型,并通过智能的资源管理和网络拓扑优化,使得用户可以在多台设备上并行运行模型,极大地提升了计算能力。此外,exo 采用了点对点(P2P)架构,避免了传统分布式系统的主从模式,确保每台设备都能平等地参与推理任务。

exo 的主要功能

  • 广泛模型支持:exo 支持多种大模型,包括 LLaMA、Mistral、LlaVA、Qwen 和 Deepseek。
  • 动态模型分区:exo 根据当前网络拓扑和设备资源,智能地分割模型,使用户能够在多台设备上运行比单个设备更大的模型。
  • 自动设备发现:exo 可以自动发现其他设备,无需手动配置,简化了使用流程。
  • ChatGPT 兼容 API:exo 提供了一个兼容 ChatGPT 的 API,只需在应用程序中进行一行更改,即可在自己的硬件上运行模型。
  • 设备平等:exo 采用 P2P 架构,所有设备都作为平等节点参与推理任务,避免了主从架构带来的瓶颈。

exo 的技术原理

  • P2P 网络连接:exo 通过点对点网络连接设备,避免了传统的主从架构,确保每台设备都能平等地参与推理任务。
  • 环形内存加权分区策略:exo 默认使用环形内存加权分区策略,根据设备的内存大小分配模型层,优化推理性能。
  • 异构设备支持:exo 支持不同类型的设备(如 GPU、CPU),并且可以根据设备的能力自动调整推理任务的分配,提升整体吞吐量。

如何运行 exo

1. 安装 exo

当前推荐的方式是从源码安装 exo。以下是详细的步骤:

git clone https://github.com/exo-explore/exo.git
cd exo
pip install -e .
# 或者使用虚拟环境
source install.sh

2. 硬件要求

exo 的唯一要求是所有设备的总内存必须足以容纳整个模型。例如,如果你要运行 LLaMA 3.1 8B (fp16),你需要 16GB 的总内存。以下是一些可能的配置组合:

  • 2 x 8GB M3 MacBook Air
  • 1 x 16GB NVIDIA RTX 4070 Ti 笔记本
  • 2 x Raspberry Pi 400(4GB RAM)+ 1 x 8GB Mac Mini

3. 示例用法

多个 macOS 设备

在每个设备上运行 exo 命令,exo 会自动发现其他设备并建立连接。

exo

exo 将启动一个类似 ChatGPT 的 WebUI,访问 http://localhost:52415 即可使用。

跨平台设备(macOS + Linux)

在 macOS 和 Linux 设备上分别运行 exo,它们会自动连接并使用不同的推理引擎。

# macOS 设备
exo

# Linux 设备
exo

Linux 设备默认使用 tinygrad 推理引擎,macOS 设备则可以根据需要选择 MLX 或 tinygrad。

单设备运行

你也可以在单个设备上直接运行模型:

exo run llama-3.2-3b

或指定自定义提示:

exo run llama-3.2-3b --prompt "What is the meaning of exo?"

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
11天前
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】K8s中Pod探针的TCPSocketAction
在K8s集群中,kubelet通过探针(如livenessProbe、readinessProbe和startupProbe)检查容器健康状态。探针支持HTTPGetAction、ExecAction和TCPSocketAction三种检查方法。本文重点介绍TCPSocketAction,它通过尝试建立TCP连接来检测容器的健康状况。示例中创建了一个Nginx Pod,并配置了两个探针(readinessProbe和livenessProbe),它们每隔5秒检查一次容器的8080端口,首次检查在启动后10秒进行。若连接失败,容器将重启。视频讲解和命令演示进一步详细说明了这一过程。
139 83
|
13天前
|
人工智能 自然语言处理 Java
Spring AI,搭建个人AI助手
本期主要是实操性内容,聊聊AI大模型,并使用Spring AI搭建属于自己的AI助手、知识库。本期所需的演示源码笔者托管在Gitee上(https://gitee.com/catoncloud/spring-ai-demo),读者朋友可自行查阅。
964 42
Spring AI,搭建个人AI助手
|
12天前
|
机器学习/深度学习 算法 自动驾驶
《深度剖析:Q-learning为何被归为无模型强化学习算法》
Q-learning是无模型的强化学习算法,不依赖环境模型,而是通过与环境实时交互学习最优策略。它通过更新状态-动作值函数(Q函数)来评估行动价值,适用于多变环境,具有灵活性和简单性优势。然而,Q-learning探索效率较低,样本复杂性高,需大量尝试才能找到有效策略。这种特性使其在实际应用中既有机会也有挑战。
79 24
|
7天前
|
物联网 数据处理 C#
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据。在自动化、物联网以及工业控制行业中,上位机开发是一项重要的技能。本教程主要介绍使用C#进行上位机开发,重点在于串口通信和数据处理。
156 82
|
1月前
|
人工智能 开发框架 安全
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
Smolagents 是 Hugging Face 推出的轻量级开源库,旨在简化智能代理的构建过程,支持多种大语言模型集成和代码执行代理功能。
293 69
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
|
18天前
|
人工智能 自然语言处理 API
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
UI-TARS 是字节跳动推出的新一代原生图形用户界面(GUI)代理模型,支持跨平台自动化交互,具备强大的感知、推理、行动和记忆能力,能够通过自然语言指令完成复杂任务。
278 16
UI-TARS:字节跳动开源专注于多平台 GUI 自动化交互的视觉语言模型
|
13天前
|
机器学习/深度学习 人工智能 监控
DiffuEraser:阿里通义实验室推出的视频修复模型,支持高清修复、时间一致性优化
DiffuEraser 是阿里通义实验室推出的基于稳定扩散模型的视频修复工具,能够生成丰富的细节并保持时间一致性,适用于电影修复、监控增强等场景。
104 25
DiffuEraser:阿里通义实验室推出的视频修复模型,支持高清修复、时间一致性优化
|
14小时前
|
存储 SQL 关系型数据库
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
29 17
|
27天前
|
人工智能 供应链 PyTorch
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
TimesFM 2.0 是谷歌研究团队开源的时间序列预测模型,支持长达2048个时间点的单变量预测,具备零样本学习能力,适用于零售、金融、交通等多个领域。
169 23
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
|
11天前
|
人工智能 编解码 JSON
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频
Qwen2.5-VL 是阿里通义千问团队开源的视觉语言模型,具有3B、7B和72B三种不同规模,能够识别常见物体、分析图像中的文本、图表等元素,并具备作为视觉Agent的能力。
238 18
Qwen2.5-VL:阿里通义千问最新开源视觉语言模型,能够理解超过1小时的长视频

热门文章

最新文章