微信扫码
与创始人交个朋友
我要投稿
众所周知,AI模型的训练和推理需要大量的硬件资源支持。我们以早期的Qwen(通义千问)微调和推理为例说明:
模型 | 最大上下文长度 | 微调(Q-Lora)最小GPU用量 | 生成2048个token的最小显存占用(Int4) |
---|---|---|---|
Qwen-1.8B | 32K | 5.8GB | 2.9GB |
Qwen-7B | 32K | 11.5GB | 8.2GB |
Qwen-14B | 8K | 18.7GB | 13.0GB |
Qwen-72B | 32K | 61.4GB | 48.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。
这种硬件配置的需求,对于个人开发者或者兴趣爱好者来说无疑是较高的“财力”门槛。
CPU:负责协调数据流和模型的执行。对于推理任务,CPU通常需要较高的时钟速度和多核支持。对于训练任务,CPU需要能够处理大量的并行任务。
GPU:图形处理单元(GPU)由于其并行处理能力,非常适合进行深度学习训练和推理。高性能的GPU(如NVIDIA的Tesla系列或RTX系列)通常具有大量的CUDA核心。
内存:AI模型,尤其是大型模型,需要大量的内存来存储模型参数和激活值。训练大型模型时,内存带宽也非常重要。
存储:快速的存储设备(如SSD)可以加速数据加载,对于训练和推理都是必要的。对于训练任务,存储容量也很重要,因为需要存储大量的训练数据。
网络:高速网络连接对于分布式训练至关重要,能够支持多个设备或服务器之间的快速数据传输。
冷却系统: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等。
个人AI助手: 利用家中的多个设备运行类似Qwen的大型语言模型。
小型企业AI解决方案: 小企业可以利用现有的办公设备构建AI集群。
教育和研究: 学校和研究机构可以使用Exo来教授分布式计算和AI概念。
家庭自动化: 与智能家居设备结合,创建更智能的家庭自动化系统。
Python版本:Python版本不低于3.12.0。
网络连接:设备需要连接到网络,以便可以自动发现网络中的其他设备。
驱动和运行时:
Linux系统:需要NVIDIA驱动、CUDA和cuDNN(如果使用NVIDIA GPU)。
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。添加功能较差的设备会减慢单个推理延迟,但会增加集群的整体吞吐量。
git clone https://github.com/exo-explore/exo.gitcd exopip install -e .#或者,如果使用的是虚拟环境:source install.sh
一、多个 MacOS上的使用说明
#MacOS-1exo#MacOS-1exo#无需配置 - exo 将自动发现其他设备。
访问 http://localhost:8000 启动类似 ChatGPT 的 WebUI(由tinygrad tinychat提供支持)。
在 http://localhost:8000/v1/chat/completions 启动与 ChatGPT 兼容的 API 端点。
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 }'
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 }'
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?"
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
如何用 Multi Agent 优化你的多智能体系统?详解开发与应用!
2024-11-15
刚刚,OpenAI发布Windows版ChatGPT,高级语音能用了
2024-11-14
手把手教你开发Agent:聊聊DB-GPT Agent的架构设计、源码解读和实战开发
2024-11-14
Alibaba开源UReader:通用免OCR文档理解
2024-11-13
这家小公司的700 亿参数模型竟然比Open o1还强?
2024-11-13
通义牛逼!!比肩Chatgpt-4o 还自带 Artifact
2024-11-13
Ollama 更新!本地跑 LLama3.2,轻量级+视觉能力,能媲美GPT-4o?
2024-11-13
开源版SearchGPT来了,两张3090就可复现,超越Perplexity付费版
2024-05-06
2024-08-13
2024-07-25
2024-06-12
2024-06-16
2024-07-11
2024-07-20
2024-06-15
2024-07-25
2024-07-25
2024-11-13
2024-11-13
2024-10-07
2024-09-22
2024-09-20
2024-09-14
2024-09-14
2024-09-12