分享文章
NAS部署GPUStack,集群化让大模型运行速度飙升!
GPUStack是一个用于运行 AI 模型的开源 GPU 集群管理器。

核心特性:
广泛的 GPU 兼容性:无缝支持 Apple Mac、Windows PC 和 Linux 服务器上各种供应商的 GPU。
广泛的模型支持:支持各种模型,包括 LLM、多模态 VLM、图像模型、语音模型、文本嵌入模型和重排序模型。
灵活的推理后端:支持与 llama-box(llama.cpp 和 stable-diffusion.cpp)、vox-box、vLLM 和 Ascend MindIE 等多种推理后端的灵活集成。
多版本后端支持:同时运行推理后端的多个版本,以满足不同模型的不同运行依赖。
分布式推理:支持单机和多机多卡并行推理,包括跨供应商和运行环境的异构 GPU。
可扩展的 GPU 架构:通过向基础设施添加更多 GPU 或节点轻松进行扩展。
强大的模型稳定性:通过自动故障恢复、多实例冗余和推理请求的负载平衡确保高可用性。
智能部署评估:自动评估模型资源需求、后端和架构兼容性、操作系统兼容性以及其他与部署相关的因素。
自动调度:根据可用资源动态分配模型。
轻量级 Python 包:最小依赖性和低操作开销。
OpenAI 兼容 API:完全兼容 OpenAI 的 API 规范,实现无缝集成。
用户和 API 密钥管理:简化用户和 API 密钥的管理。
实时 GPU 监控:实时跟踪 GPU 性能和利用率。
令牌和速率指标:监控 Token 使用情况和 API 请求速率。
安装
这里是支持 macOS,Linux 和 Windows 等多个平台系统安装,这里只讲 Docker 部署。运行模型推理不一定需要 GPU ,使用 CPU 也是可以的。
Docker(主节点)
services: gpustack: image: gpustack/gpustack:latest-cpu container_name: gpustack ports: - 9090:80 volumes: - /vol1/1000/docker/gpustack:/var/lib/gpustack restart: unless-stopped
Docker(子节点)
services: gpustack: image: gpustack/gpustack:latest-cpu container_name: gpustack command: --server-url http://your_gpustack_url --token your_gpustack_token network_mode: host volumes: - /vol1/1000/docker/gpustack:/var/lib/gpustack restart: unless-stopped
使用
浏览器中输入 http://NAS的IP:9090 就能看到界面
使用命令行获取 admin 的密码
cat /var/lib/gpustack/initial_admin_password
输入用户名和密码进行登录
修改初始密码
进入面板,这里可以看到当前设备的情况
点击“资源”,可以看到目前只有一台设备
点击“模型库”,这里部署一个模型测试一下
配置这些直接默认,点击“保存”
模型下载完成,会自动启动
测试一下对话,因为模型比较小,回复非常快
点击“概览”,可以看的内存占用上升
TIP:
下面说一下怎么样添加子节点,这样就可以多台设备进行运算。
点击“资源”,添加 Worker
根据自己设备进行部署,下面简单说一下 Docker 进行部署
首先需要从主节点获取 token,输入命令
cat /var/lib/gpustack/token
下面根据实际情况修改,注意网络要用 host
services: gpustack: image: gpustack/gpustack:latest-cpu container_name: gpustack command: --server-url http://192.168.31.90:9090 --token 199ecc253092cafde04afea66edc8cd7 network_mode: host volumes: - /vol1/1000/docker/gpustack:/var/lib/gpustack restart: unless-stopped
部署成功以后,就可以看到两个节点了
这个就是子节点了,可以点击编辑一下标签做区分
TIP:
由于我也不太熟悉,有可能讲错只能多多理解了。
点击“模型”,可以看到副本数是 1/1。说明当前运行的模型数量为 1,总模型数量为 1。
将副本数改为对应设备数量即可
子节点设备就会自动下载模型了,这样两个设备就都有模型可以工作了
可以测试一下是否有效果,按道理这样就可以的了(不清楚是不是我模型比较小,子节点没效果)
回到“模型”,可以调整一下放置策略这些
如果想指定某个节点工作,填写节点名称就行(这里的键和值,可以在资源的编辑设备里面可以获取)
停止和重新启动,这样就能看到只有一台设备工作了
再次对话,就是只调用指定设备了
总结
虽然网上也有许多用于集群运行 AI 模型的技术方案,但 GPUStack 无疑是我目前发现部署最简单,最容易上手的了。它最大的亮点在于简便,一键式部署,可视化操作界面,简单设置就可以使用。对于新手而言,这大大降低了技术门槛,而且添加子节点的操作也十分方便。

[超站]友情链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/







流泪番茄
关注网络尖刀微信公众号
