当前位置: 首页 > article >正文

GPUStack v0.4.1 单节点与多节点安装与部署指南 Docker PowerShell

Introduce

GPUStack 是一个开源的 GPU 集群管理器,专为运行 AI 模型而设计。它以其广泛的硬件兼容性而闻名,支持多种品牌的 GPU,并能在 Apple MacBook、Windows PC 和 Linux 服务器上运行。

GPUStack支持各种AI模型,包括大型语言模型(LLMs)、扩散模型、音频模型、嵌入模型和重新排序模型。该平台易于扩展,支持单节点多 GPU 和多节点推理及服务,并提供多种推理后端,如 llama-box、``vox-boxvLLM`。作为一个轻量级的 Python 包,GPUStack 具有最小的依赖项和操作开销,并且提供与 OpenAI 标准兼容的 API。

此外,它还简化了用户和 API 密钥的管理,提供了 GPU 性能和利用率的实时监控,以及令牌使用和速率限制的有效跟踪。GPUStack 支持Apple Metal (M系列芯片), NVIDIA CUDA(计算能力6.0及以上), Ascend CANN(华为系列),Moore Threads MUSA加速器,以及 AMD64 和 ARM64 架构,并计划未来支持更多加速器技术。它还支持来自 Hugging Face、ModelScope、Ollama Library 和本地文件路径的多种模型,包括 LLMs(Qwen, LLaMA, Mistral, Deepseek, Phi, Yi)、VLLMs(Llama3.2-Vision, Pixtral, Qwen2-VL, LLaVA, InternVL2)、扩散模型(Stable Diffusion, FLUX)、重新排序器(GTE, BCE, BGE, Jina)和音频模型(Whisper,CosyVoice)。

特性:

  • 跨平台:Windows,Mac,Linux / ARM64 & AMD64;
  • 多加速器支持:Apple Silicon,NVIDIA,Ascend,Moore;
  • 单节点 / 多节点;
  • 多种模型:LLMs、VLLMs、扩散模型、重新排序器、音频模型;

1. Docker 安装 GPUStack

近期由于源的问题,访问不畅,加之需要下载约 13GB 的资源,每个节点的安装过程可能持续 20-40 分钟,请各位朋友耐心等待。如果有好的镜像源也可以尝试。

1.1 安装指令(Linux 主节点 Worker)

docker run \
		-d \
		--gpus all \
		-p 8080:80 \
		--ipc=host \
		--name gpustack \
    -v gpustack-data:/var/lib/gpustack \
    gpustack/gpustack

使用 --ipc=host 参数或者 --shm-size 参数来允许容器访问宿主机的共享内存。这在vLLM和pyTorch中用于在后台进程间共享数据,特别是在进行张量并行推理时。

由于 gpustack-data 容器卷是用来储存待部署的模型,因此及其占用磁盘存储空间,各位可修改为其它的磁盘位置。

1.2 安装指令(Linux 子节点 Worker)

docker run -d \
		--gpus all \
		--ipc=host \
		--network=host \
    gpustack/gpustack \
    --name gpustack \
    --server-url http://myserver \
    --token mytoken

其中的 --server-url 为你的主节点的地址

其中的 --token 为你的主节点用于添加子节点的 token,使用下面的指令从主节点获取

docker exec -it gpustack cat /var/lib/gpustack/token

1.3 Windows 子节点安装指令(非Docker)

Invoke-Expression "& { $((Invoke-WebRequest -Uri 'https://get.gpustack.ai' -UseBasicParsing).Content) } -- --worker-ip '192.168.31.223' --port 9999 --server-url http://myserver --token mytoken  --tools-download-base-url 'https://gpustack-1303613262.cos.ap-guangzhou.myqcloud.com'"

鉴于 Windows 的 Docker 需要使用 GPU 还需要安装 WSL 子系统等依赖,这里给出了使用 PowerShell(管理员)的安装方法。上述的指令中 --worker-ip 需要是你的子节点的 IP 地址,--port 也需要设置,如果这两个不填写会出现如下的报错:

[WinError] 以一种访问权限不允许的方式做了一个访问套接字的尝试

笔者尝试过使用netstat -ano|findstr 10150taskkill 终止掉占用的程序,但是这个报错依然存在,重启 NAT 也无济于事。所以请务必按照上面的方式设置 worker 的 IP 和 Port。

其余的和 Docker 的安装解释一致。

2. GPUStack 使用

使用下面的指令获得 admin 用户的登录密码,第一次登录后会要求修改密码

docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password

GPUStack 主界面截图

上图展示的就是 v0.4.1 版本的主界面,可以看到有一个 Workers(节点),两块 GPU。

2.1 模型部署

侧边栏 > 模型 > 模型部署 > ModelScope 中点击,可以看到下面的模型部署界面,在此可以搜索你需要部署的模型。

模型部署界面截图

2.2 试验场

在试验场,也就是熟悉的 Playground,可以评估已部署的模型的效果

Playground 对话模型评估截图

2.3 资源

在资源栏可以看到每一个 Worker(节点)的资源使用情况,或者每一个 GPU 的使用情况。

资源栏截图

2.4 添加子节点

使用第一部分给出的方法,在另外一台电脑以子节点的方式安装 GPUStack Worker。等待安装完成之后,在资源界面刷新,即可看到新的节点资源。这里需要注意,例如笔者我的这三张显卡,架构跨度太大,CUDA 版本跨度太大,在运行时会出现错误。

新添加的子节点

GPU 列表

笔者部署了一个 RerankEmbedding 模型到这个子节点上,并运行了一个重排序测试,结果如下。

Embedding 模型测试

Playground 重排序测试

此时的子节点上的 GPU 也被调用。此时查看该模型在节点上的调用日志,如下。

Reranker模型在子节点上的调用日志


http://www.kler.cn/a/459585.html

相关文章:

  • parquet文件数据格式介绍以及python pandas对parquet常见操作
  • 分数阶傅里叶变换代码 MATLAB实现
  • API多并发识别、C#文字识别
  • 网络分析工具-tcpdump
  • 【VBA】EXCEL - VBA 遍历工作表的 5 种方法,以及注意事项
  • Unity中的Input.GetMouseButton,GetMouseButtonDown,GetMouseButtonUp
  • 2. FPGA基础了解--全局网络
  • 18.springcloud_openfeign之扩展组件二
  • Prometheus学习笔记
  • 【鸿蒙NEXT】鸿蒙里面类似iOS的Keychain——关键资产(@ohos.security.asset)实现设备唯一标识
  • ES6模块化:JavaScript中的导入与导出详解
  • TypeScript一些新概念
  • leetcode 9.回文数(整数不转成字符串)
  • GDPU Vue前端框架开发 跨年大礼包
  • Go-知识 模板
  • LLM常见面试题(31-35题)--深度学习基础概念
  • 计算机网络-L2TP Over IPSec基础实验
  • 【运维】部署Gitea
  • 目标检测入门指南:从原理到实践
  • Redis 安装部署[主从、哨兵、集群](windows版)
  • 爆改RagFlow
  • 【UE5】UnrealEngine源码构建3:启动UE5工程
  • 二、AI知识(神经网络)
  • 210.xxl-job定时任务:架构,可视化,GLUE模式,负载均衡,分片
  • Springboot(五十六)SpringBoot3集成SkyWalking
  • K8S-LLM:用自然语言轻松操作 Kubernetes