EXO:用消费级硬件运行AI集群
在这篇博文中,我们将深入探讨 EXO Labs 如何使用家用设备实现 AI 推理任务的划分和分配。
在这篇博文中,我们将深入探讨 EXO Labs 如何使用家用设备实现 AI 推理任务的划分和分配。我们将探索核心组件及其功能。最后,我们将介绍使用你拥有的设备设置自己的 AI 集群的步骤。
从本质上讲,EXO 将大型 AI 模型拆分成较小的部分(“碎片”)并将它们分布在多个设备上。可以把它想象成一场接力赛,每个跑步者(设备)处理旅程的一部分(模型处理)。
1、EXO的工作原理
关键组件:
- 碎片管理:EXO 将 AI 模型分成可管理的块。
- 智能分区:系统根据每台设备的功能找出最佳的任务分割方式。
- gRPC 通信:设备使用这种高速协议相互通信。
- 环形拓扑:数据以环形流动,每台设备先处理自己的部分,然后再传递。
任务如何在网络中流动:
- 你提出问题:向 EXO 网络发送提示。
- 任务分配:系统将你的请求分割到可用设备中。
- 处理:每台设备都在其模型部分上工作。
结果编译:一台设备收集所有部分并组装最终答案。
网络拓扑:
拓扑模块充当管理和与设备网络交互的框架,每个设备都具有特定的功能以及它们之间的连接。其中节点代表网络中的设备(例如 MacBook、iPhone 等),边缘代表设备之间的连接。
2、快速上手:设置你的 AI 集群
现在我们了解了程序的工作原理,让我们尝试在本地设备上运行它。
先决条件:
- Python 3.12+:确保已安装 Python。
- Git:确保已安装 Git 以克隆存储库。
步骤 1:克隆 EXO 存储库:从 GitHub 克隆 EXO 存储库:
git clone https://github.com/exo-explore/exo.git
cd exo
步骤 2:安装依赖项:使用 pip 安装所需的依赖项:
pip install .
source install.sh
步骤 3:运行 EXO 框架:
在设备上启动 API:
python3 main.py
EXO 将自动发现网络上的其他设备,无需任何手动配置。
预期输出:
INFO: Starting server on port 8000
INFO: Discovering peers...
INFO: Peer discovered: node2 at localhost:8081
步骤 4:访问 API:服务器运行后,你可以通过 http://localhost:8000
访问 API。使用 curl 或 Postman 等工具测试端点。使用 curl 的示例:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama-3-8b",
"messages": [{"role": "user", "content": "Hello, how are you?"}],
"temperature": 0.7
}'
预期输出:
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1626702890,
"model": "llama-3-8b",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I am doing well. How can I assist you today?"
},
"finish_reason": "length"
}
]
}
步骤 5:调试:在运行应用程序之前,通过设置 DEBUG 环境变量来启用调试日志:
DEBUG=9 python3 main.py
预期输出:
DEBUG: Loading model llama-3-8b
DEBUG: Tokenizer loaded successfully
DEBUG: Server started on port 8000
DEBUG: Received request: {"model": "llama-3-8b", "messages": [{"role": "user", "content": "Hello, how are you?"}], "temperature": 0.7}
DEBUG: Processing prompt...
DEBUG: Sending response..
3、结束语
通过遵循这些步骤,你可以在 MacBook 上成功设置和运行 EXO 框架。本指南提供了从环境设置到运行和测试 API 服务器的清晰路径,确保流程顺利高效。有关更多详细信息,请参阅 EXO GitHub 存储库和示例使用文档。
原文链接:Building an AI Cluster at Home: The EXO Labs Approach
汇智网翻译整理,转载请标明出处