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大模型。
相关文章
|
3月前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
2958 166
|
3月前
|
云安全 人工智能 自然语言处理
阿里云x硅基流动:AI安全护栏助力构建可信模型生态
阿里云AI安全护栏:大模型的“智能过滤系统”。
1950 120
|
3月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
3077 69
|
3月前
|
人工智能 中间件 数据库
沐曦 GPU 融入龙蜥,共筑开源 AI 基础设施新底座
沐曦自加入社区以来,一直与龙蜥社区在推动 AIDC OS 的开源社区建设等方面保持合作。
|
3月前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
1106 6
|
3月前
|
人工智能 搜索推荐 程序员
当AI学会“跨界思考”:多模态模型如何重塑人工智能
当AI学会“跨界思考”:多模态模型如何重塑人工智能
364 120
|
3月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
1625 16
构建AI智能体:一、初识AI大模型与API调用
|
3月前
|
存储 机器学习/深度学习 人工智能
构建AI智能体:三、Prompt提示词工程:几句话让AI秒懂你心
本文深入浅出地讲解Prompt原理及其与大模型的关系,系统介绍Prompt的核心要素、编写原则与应用场景,帮助用户通过精准指令提升AI交互效率,释放大模型潜能。
728 5

热门文章

最新文章