GPUStack 是一个用于运行 AI 模型的开源 GPU 集群管理器。
项目地址:gpustack/gpustack: Manage GPU clusters for running AI modelshttps://github.com/gpustack/gpustackhttps://github.com/gpustack/gpustackhttps://github.com/gpustack/gpustack
核心特性
- 广泛的硬件兼容性:支持管理 Apple Mac、Windows PC 和 Linux 服务器上不同品牌的 GPU。
- 广泛的模型支持:从大语言模型 LLM、多模态模型 VLM 到 Diffusion 扩散模型、STT 与 TTS 语音模型、文本嵌入和重排序模型的广泛支持。
- 异构 GPU 支持与扩展:轻松添加异构 GPU 资源,按需扩展算力规模。
- 分布式推理:支持单机多卡并行和多机多卡并行推理。
- 多推理后端支持:支持 llama-box(基于 llama.cpp 和 stable-diffusion.cpp)、vox-box 和 vLLM 作为推理后端。
- 轻量级 Python 包:最小的依赖和操作开销。
- OpenAI 兼容 API:提供兼容 OpenAI 标准的 API 服务。
- 用户和 API 密钥管理:简化用户和 API 密钥的管理流程。
- GPU 指标监控:实时监控 GPU 性能和利用率。
- Token 使用和速率统计:有效跟踪 token 使用情况,并管理速率限制。
安装
Linux 或 macOS
GPUStack 提供了安装脚本,可以将其安装为 Linux 的 systemd 服务或 macOS 的 launchd 服务,默认端口为 80。要使用此方法安装 GPUStack,执行以下命令:
curl -sfL https://get.gpustack.ai | INSTALL_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple sh -s -
Windows
以管理员身份运行 PowerShell(避免使用 PowerShell ISE),然后执行以下命令安装 GPUStack:
$env:INSTALL_INDEX_URL = "https://pypi.tuna.tsinghua.edu.cn/simple"
Invoke-Expression (Invoke-WebRequest -Uri "https://get.gpustack.ai" -UseBasicParsing).Content
其他安装方式
有关手动安装、Docker 安装或详细配置选项,请参考安装文档https://docs.gpustack.ai/latest/installation/installation-script/https://docs.gpustack.ai/latest/installation/installation-script/https://docs.gpustack.ai/latest/installation/installation-script/
本次实验选择linux安装
curl -sfL https://get.gpustack.ai | INSTALL_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple sh -s - --port 9090
等待中...
安装完成
相关端口与进程都启动成功
访问GPUStack
在浏览器中打开 http://myserver
,访问 GPUStack 界面。
访问地址: http://localhost:9090
使用“admin”用户名和默认密码登录 GPUStack。
获取默认密码
Linux or macOS
cat /var/lib/gpustack/initial_admin_password
Windows
Get-Content -Path "$env:APPDATA\gpustack\initial_admin_password" -Raw
部署模型
模型分类 根据自己想要的模型进行部署
选择好模型点保存
之后模型就会开始下载 (running既是代表可用)
模型资源占用情况
测试并发 可以四个问题同时回答
纳管多个GPU work节点
主节点获取token cat /var/lib/gpustack/token
(base) root@DESKTOP-TUR5ISE:~# cat /var/lib/gpustack/token
8f297e35a55fa652837188acedfd8323
注册 Worker (注意:mytoken 为第一步获取到的 Token)
Linux 或 MacOS
curl -sfL https://get.gpustack.ai | sh -s - --server-url http://localhost:9090 --token ${mytoken}
Windows
Invoke-Expression "& { $((Invoke-WebRequest -Uri "https://get.gpustack.ai" -UseBasicParsing).Content) } --server-url http://localhost:9090 --token ${mytoken}"
加入一台同事的M2 Pro 芯片 mac电脑测试
work节点运行
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
curl -sfL https://get.gpustack.ai | sh -s - --server-url http://10.176.20.121:9090 --token 8f297e35a55fa652837188acedfd8323
可以看到新增work
新增GPU
手动调度GPU运行模型
之后重新部署后生效