首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-06 13:04
  • 3389
  • 8560
blog.csdn.net

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)

docker run \
		-d \
		--gpus all \
		-p 8080:80 \
		--ipc=host \
		--name gpustack \
    -v gpustack-data:/var/lib/gpustack \
    gpustack/gpustack
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

使用 --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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

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

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

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'"
  • 1

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

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

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

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

2. GPUStack 使用

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

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

GPUStack 主界面截图

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

2.1 模型部署

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

模型部署界面截图

2.2 试验场

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

Playground 对话模型评估截图

2.3 资源

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

资源栏截图

2.4 添加子节点

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

新添加的子节点

GPU 列表

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

Embedding 模型测试

Playground 重排序测试

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

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

注:本文转载自blog.csdn.net的Ender_William的文章"https://blog.csdn.net/qq_17790209/article/details/144731259"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

133
开发工具
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top