AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


一个使用日常设备(手机、电脑、平板等)就能组建自己AI集群的开源项目,帅呆了!Star 10K!
发布日期:2024-10-08 09:11:46 浏览次数: 1916 来源:有趣的开源集市



众所周知,AI模型的训练和推理需要大量的硬件资源支持。我们以早期的Qwen(通义千问)微调和推理为例说明:

模型最大上下文长度微调(Q-Lora)最小GPU用量生成2048个token的最小显存占用(Int4)
Qwen-1.8B32K5.8GB2.9GB
Qwen-7B32K11.5GB8.2GB
Qwen-14B8K18.7GB13.0GB
Qwen-72B32K61.4GB48.9GB

数据来源:https://github.com/QwenLM/Qwen/blob/main/README_CN.md


从上述表格中可以看出,即使最小的Qwen-1.8B模型,微调也需要5.8GB显存,生成2048个token的最小显存也需要2.9GB。而较大一点的模型Qwen-14B分别需要18.7GB和13.0GB。


这种硬件配置的需求,对于个人开发者或者兴趣爱好者来说无疑是较高的“财力”门槛。

而上述只是说明了Qwen对GPU的需求,很多时候大模型的训练和推理需要具备以下一些关键硬件组件资源支持:


  • CPU:负责协调数据流和模型的执行。对于推理任务,CPU通常需要较高的时钟速度和多核支持。对于训练任务,CPU需要能够处理大量的并行任务。

  • GPU:图形处理单元(GPU)由于其并行处理能力,非常适合进行深度学习训练和推理。高性能的GPU(如NVIDIA的Tesla系列或RTX系列)通常具有大量的CUDA核心。

  • 内存:AI模型,尤其是大型模型,需要大量的内存来存储模型参数和激活值。训练大型模型时,内存带宽也非常重要。

  • 存储:快速的存储设备(如SSD)可以加速数据加载,对于训练和推理都是必要的。对于训练任务,存储容量也很重要,因为需要存储大量的训练数据。

  • 网络:高速网络连接对于分布式训练至关重要,能够支持多个设备或服务器之间的快速数据传输。

  • 冷却系统:AI训练和推理过程中会产生大量热量,因此需要有效的冷却系统来防止硬件过热。

  • 电源:高性能硬件需要稳定的电源供应,以避免在训练或推理过程中出现故障。


简单来说,AI模型的训练和推理对硬件资源的需求不是有点“高”,而是比我们想象的“高的”更多

所以,很多时候我们想是否有一种通过“利旧”的办法,就将一些身边的“低算力”的设备“聚合”起来,组成一个大算力的AI算力集群,而今天介绍的就是这样的一个项目-exo
01 
— 
 exo 介绍 

一个创新的开源项目,支持将日常设备,如智能手机、平板电脑、个人电脑等,转变为一个高性能的AI计算集群。通过这种分布式计算方法,Exo能够充分利用现有硬件资源,支持运行和训练AI模型,从而降低了进入AI领域的成本性。

?  项目信息

#github地址https://github.com/exo-explore/exo

?功能特性

  • 设备支持:支持多种类型的设备,包括智能手机、平板电脑、个人电脑等,可以利用手头的设备构建AI集群。

  • 分布式计算:分布式计算架构,允许多个设备协同工作,共同执行AI模型的训练和推理任务。

  • 动态模型分区:能够动态地将大型AI模型分割成小块,并在集群中的不同设备上并行执行,以提高计算效率。

  • 自动设备发现:可以自动发现网络中的设备,并将其纳入AI集群,简化了集群的搭建和扩展过程。

  • 点对点(P2P)连接:使用P2P网络连接设备,减少了中心化服务器的需要,提高了集群的可扩展性和鲁棒性。

  • 跨平台支持:支持多种操作系统,包括iOS、Android、macOS和Linux,使得的不同平台都能加入到AI集群中。

  • 易于使用:提供了用户友好的接口和文档,使得即使是非技术用户也能轻松地开始使用。

  • 广泛的模型支持:包括 LLaMA、Mistral、LlaVA、Qwen 和 Deepseek等。

  • ChatGPT 兼容 API:提供了与 ChatGPT 兼容的 API,易于程序和应用的迁移。

应用场景

  • 个人AI助手: 利用家中的多个设备运行类似Qwen的大型语言模型。

  • 小型企业AI解决方案: 小企业可以利用现有的办公设备构建AI集群。

  • 教育和研究: 学校和研究机构可以使用Exo来教授分布式计算和AI概念。

  • 家庭自动化: 与智能家居设备结合,创建更智能的家庭自动化系统。

02
 exo 安装 

一、软件需求
  • Python版本:Python版本不低于3.12.0。

  • 网络连接:设备需要连接到网络,以便可以自动发现网络中的其他设备。

  • 驱动和运行时

    • Linux系统:需要NVIDIA驱动、CUDA和cuDNN(如果使用NVIDIA GPU)。

二、硬件要求

  • 运行 exo 的唯一要求是所有设备上都有足够的内存,以便将整个模型放入内存中。例如,如果运行 llama 3.1 8B (fp16),则所有设备总内存需要超过 16GB 内存,如:

    • 2 台 8GB M3 MacBook Air

    • 1 台 16GB NVIDIA RTX 4070 Ti 笔记本电脑

    • 2 x Raspberry Pi 400,每个具有 4GB RAM(在 CPU 上运行)+ 1 x 8GB Mac Mini

  • exo 设计为在具有异构功能的设备上运行。例如,一些具有 GPU 的设备,而其他设备则具有集成 GPU 甚至 CPU。添加功能较差的设备会减慢单个推理延迟,但会增加集群的整体吞吐量。

三、安装

目前项目建议从源码进行安装。可以在需要组建AI集群的设备上安装!

git clone https://github.com/exo-explore/exo.gitcd exopip install -e .#或者,如果使用的是虚拟环境:source install.sh

03
 exo 使用 

一、多个 MacOS上的使用说明

#MacOS-1exo#MacOS-1exo#无需配置 - exo 将自动发现其他设备。

访问 http://localhost:8000 启动类似 ChatGPT 的 WebUI(由tinygrad tinychat提供支持)。


在 http://localhost:8000/v1/chat/completions 启动与 ChatGPT 兼容的 API 端点。


  • Llama 3.2 3B示例:

curl http://localhost:8000/v1/chat/completions \-H "Content-Type: application/json" \-d '{ "model": "llama-3.2-3b", "messages": [{"role": "user", "content": "What is the meaning of exo?"}], "temperature": 0.7 }'
  • Llama 3.1 405B 示例:

curl http://localhost:8000/v1/chat/completions \-H "Content-Type: application/json" \-d '{ "model": "llama-3.1-405b", "messages": [{"role": "user", "content": "What is the meaning of exo?"}], "temperature": 0.7 }'
Llava 1.5 7B(视觉语言模型)示例:
curl http://localhost:8000/v1/chat/completions \-H "Content-Type: application/json" \-d '{ "model": "llava-1.5-7b-hf", "messages": [{"role": "user","content": [{"type": "text","text": "What are these?"},{"type": "image_url","image_url": {"url": "http://images.cocodataset.org/val2017/000000039769.jpg"}}]}], "temperature": 0.0 }'


二、多个异构设备 (MacOS + Linux) 上的使用说明

#设备 1 (MacOS):exo --inference-engine tinygrad#指定使用tinygrad推理引擎。目前还支持MLX推理引擎
#设备 2(Linux):exo#Linux将自动默认使用tinygrad推理引擎。#可以指定tinygrad 特定环境变量的信息。#例如,可以通过指定 来将tinygrad配置为使用cpu CLANG=1。


三、单个设备上使用说明

exo run llama-3.2-3b# 使用自定义提示词:exo run llama-3.2-3b --prompt "What is the meaning of exo?"

04
 最后 

综上所述,exo能够将普通设备,如智能手机、平板电脑和个人电脑,转变为一个强大的AI算力集群。通过这种创新的分布式计算方法,我们可以在不增加额外成本的情况下,解锁前所未有的计算能力,无论是进行深度学习实验、教育项目还是复杂的AI研究,exo都能提供强大而灵活的计算资源。如果你也感兴趣的话不妨试试吧!!



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询