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

打印 上一主题 下一主题

主题 1659|帖子 1659|积分 4979

Introduce

GPUStack 是一个开源的 GPU 集群管理器,专为运行 AI 模型而设计。它以其广泛的硬件兼容性而著名,支持多种品牌的 GPU,并能在 Apple MacBook、Windows PC 和 Linux 服务器上运行。
GPUStack支持各种AI模型,包括大型语言模型(LLMs)、扩散模型、音频模型、嵌入模型和重新排序模型。该平台易于扩展,支持单节点多 GPU 和多节点推理及服务,并提供多种推理后端,如 llama-box、``vox-box和vLLM`。作为一个轻量级的 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)

  1. docker run \
  2.                 -d \
  3.                 --gpus all \
  4.                 -p 8080:80 \
  5.                 --ipc=host \
  6.                 --name gpustack \
  7.     -v gpustack-data:/var/lib/gpustack \
  8.     gpustack/gpustack
复制代码
  使用 --ipc=host 参数或者 --shm-size 参数来允许容器访问宿主机的共享内存。这在vLLM和pyTorch中用于在后台历程间共享数据,特殊是在举行张量并行推理时。
  由于 gpustack-data 容器卷是用来储存待部署的模型,因此及其占用磁盘存储空间,各位可修改为其它的磁盘位置。
  1.2 安装指令(Linux 子节点 Worker)

  1. docker run -d \
  2.                 --gpus all \
  3.                 --ipc=host \
  4.                 --network=host \
  5.     gpustack/gpustack \
  6.     --name gpustack \
  7.     --server-url http://myserver \
  8.     --token mytoken
复制代码
  此中的 --server-url 为你的主节点的地址
  此中的 --token 为你的主节点用于添加子节点的 token,使用下面的指令从主节点获取
  1. docker exec -it gpustack cat /var/lib/gpustack/token
复制代码
1.3 Windows 子节点安装指令(非Docker)

  1. 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 也须要设置,如果这两个不填写会出现如下的报错:
  1. [WinError] 以一种访问权限不允许的方式做了一个访问套接字的尝试
复制代码
笔者实验过使用netstat -ano|findstr 10150 和 taskkill 停止掉占用的程序,但是这个报错依然存在,重启 NAT 也无济于事。所以请务必按照上面的方式设置 worker 的 IP 和 Port。
别的的和 Docker 的安装表明一致。
2. GPUStack 使用

使用下面的指令获得 admin 用户的登录暗码,第一次登录后会要求修改暗码
  1. docker exec -it gpustack cat /var/lib/gpustack/initial_admin_password
复制代码

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

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

2.2 试验场

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

2.3 资源

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

2.4 添加子节点

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


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


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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用多少眼泪才能让你相信

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表