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

简介: 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技术!

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

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
11月前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
4201 166
|
11月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
5725 114
|
11月前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
3007 120
|
11月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
11月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
2858 8
|
11月前
|
人工智能 算法 调度
阿里云ACK托管集群Pro版共享GPU调度操作指南
本文介绍在阿里云ACK托管集群Pro版中,如何通过共享GPU调度实现显存与算力的精细化分配,涵盖前提条件、使用限制、节点池配置及任务部署全流程,提升GPU资源利用率,适用于AI训练与推理场景。
824 1
|
11月前
|
消息中间件 人工智能 安全
构建企业级 AI 应用:为什么我们需要 AI 中间件?
阿里云发布AI中间件,涵盖AgentScope-Java、AI MQ、Higress、Nacos及可观测体系,全面开源核心技术,助力企业构建分布式多Agent架构,推动AI原生应用规模化落地。
991 0
构建企业级 AI 应用:为什么我们需要 AI 中间件?
|
11月前
|
SQL 人工智能 机器人
AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建
FastGPT 与 MCP 协议结合,打造工具增强型智能体新范式。MCP 如同 AI 领域的“USB-C 接口”,实现数据与工具的标准化接入。FastGPT 可调用 MCP 工具集,动态执行复杂任务,亦可作为 MCP 服务器共享能力。二者融合推动 AI 应用向协作式、高复用、易集成的下一代智能体演进。
1302 0
|
11月前
|
弹性计算 监控 调度
ACK One 注册集群云端节点池升级:IDC 集群一键接入云端 GPU 算力,接入效率提升 80%
ACK One注册集群节点池实现“一键接入”,免去手动编写脚本与GPU驱动安装,支持自动扩缩容与多场景调度,大幅提升K8s集群管理效率。
580 89
|
11月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
3363 18
构建AI智能体:一、初识AI大模型与API调用

热门文章

最新文章