GPUStack:一个开源的GPU集群管理和自动化部署大模型的LLM服务平台

news/2025/2/4 3:15:29/文章来源:https://www.cnblogs.com/o-O-oO/p/18697946

正如我们以前文章中说过,在过去近两年中,AI发展速度超过任何历史时期,基于大模型的各类应用已经渗透到了各行各业中,很多企业都在积极探索如何利用大模型提高公司运营管理的能效。

阿里云 CTO 周靖人也说过““当下企业应用大模型存在三种范式:一是对大模型开箱即用,二是对大模型进行微调和持续训练,三是基于模型开发应用,其中最典型的需求是RAG”

但是如果以企业私有化角度来说,部署大模型或者RAG等系统,就大模型开箱即用这点还远远没有达到,尤其在多异构GPU调度管理的情况下。
一个企业级、私有化LLM服务平台如果能够达到开箱即用的条件,至少具备以下两点:

  • GPU调度和管理:企业级LLM服务平台应具备支持不同型号和品牌的GPU,能够识别并利用各种GPU的特性,动态分配GPU资源的能力,根据任务的需要和优先级自动分配GPU资源,以优化资源利用率。同时能够监控GPU的使用情况,并在多个GPU之间平衡负载,防止某些GPU过载而其他GPU空闲。

  • 多种大模型管理和监控:支持快速部署 RAG 系统和 AI Agent 系统所需的各种关键模型,能够监控模型的运行性能,包括响应时间、吞吐量等关键指标。并提供统一认证和高可用负载均衡的 OpenAI 兼容 API。

所以,今天介绍的就是这样的一个开源企业级LLM服务平台-GPUStack

一、GPUStack 介绍

一个开源的GPU集群管理和自动化部署大模型的LLM服务平台,支持紧凑调度、分散调度、标签调度、指定 GPU 调度等各种调度策略,用户无需手动干预即可自动分配合适的 GPU 资源来自动化运行各种大模型,并兼容OpenAI API。同时支持GPU性能监控以及Token使用和速率指标,帮助用户优化资源使用并提高效率。

重点是采用 Apache-2.0 license,遵循协议可免费商用!

🏠 项目信息

#github地址
https://github.com/gpustack/gpustack
#项目地址
https://gpustack.ai/

🚀功能特性

  • 异构GPU支持:GPUStack支持异构GPU资源,包括Nvidia、Apple Metal、华为昇腾和摩尔线程等各种类型的GPU/NPU

  • 多推理后端支持:支持vLLM和llama-box (llama.cpp)推理后端,以满足生产性能需求和多平台兼容性

  • 多平台支持:GPUStack覆盖Linux、Windows和macOS平台,支持amd64和arm64架构

  • 多模型类型支持:支持LLM文本模型、VLM多模态模型、Embedding文本嵌入模型和Reranker重排序模型等

  • 多模型仓库支持:支持从HuggingFace、Ollama Library、ModelScope和私有模型仓库部署模型

  • 丰富的自动/手动调度策略:支持紧凑调度、分散调度、指定Worker标签调度、指定GPU调度等策略分布式推理:GPUStack支持跨主机的多个GPU上自动运行大模型

  • CPU推理:支持GPU&CPU混合推理和纯CPU推理两种模式,以便在GPU资源不足时使用CPU运行大模型

  • 多模型对比:GPUStack的Playground提供了多模型对比视图,可以对比不同模型的问答内容和性能数据

  • GPU和LLM观测指标:提供全面的性能、利用率、状态监控和使用数据指标,以评估GPU和LLM的利用情况

  • 推理引擎版本管理:支持为每个模型固定任意推理引擎版本

  • 离线支持:支持离线安装、离线容器镜像及离线部署本地模型

二、GPUStack 安装

需要 Python 3.10 ~ Python 3.12,并提前安装好GPU驱动!

  • Linux 或 macOS (使用国内源加速):
curl -sfL https://get.gpustack.ai | INSTALL_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple sh -s - --tools-download-base-url "https://gpustack-1303613262.cos.ap-guangzhou.myqcloud.com"
  • Windows (使用国内源加速):
$env:INSTALL_INDEX_URL = "https://pypi.tuna.tsinghua.edu.cn/simple"
Invoke-Expression "& { $((Invoke-WebRequest -Uri 'https://get.gpustack.ai' -UseBasicParsing).Content) } -- --tools-download-base-url 'https://gpustack-1303613262.cos.ap-guangzhou.myqcloud.com'"

当看到以下输出时,说明已经成功部署并启动了 GPUStack:

[INFO]  Install complete.
GPUStack UI is available at http://localhost.
Default username is 'admin'.
To get the default password, run 'cat /var/lib/gpustack/initial_admin_password'.
CLI "gpustack" is available from the command line. (You may need to open a new terminal or re-login for the PATH changes to take effect.)

按照脚本的输出指引,拿到登录 GPUStack 的初始密码。

  • 在 Linux 或 macOS 上执行:
cat /var/lib/gpustack/initial_admin_password
  • 在 Windows 上执行:
Get-Content -Path (Join-Path -Path $env:APPDATA -ChildPath "gpustack\initial_admin_password") -Raw

在浏览器访问 GPUStack UI,用户名 admin,密码为上面获得的初始密码。重新设置密码后,进入 GPUStack:

当然,如果喜欢Docker部署的同学,官方也提供了详细的Docker部署说明文档:

#docker部署说明
https://docs.gpustack.ai/latest/installation/docker-installation/

三、纳管异构 GPU 资源

GPUStack 可以调度管理多台设备的 GPU 资源,通过以下步骤来纳管这些 :

  • 获取认证Token:

在GPUStack Server节点执行命令以获取用于添加Worker节点的认证Token。

#对于Linux或macOS系统,使用命令:
cat /var/lib/gpustack/token#对于Windows系统,使用命令:
Get-Content -Path (Join-Path -Path $env:APPDATA -ChildPath "gpustack\token") -Raw
  • 添加Worker节点:

拿到Token后,在其他节点上运行以下命令以添加Worker到GPUStack,从而纳管这些节点的GPU资源。

# 需要将http://YOUR_IP_ADDRESS替换为你的GPUStack访问地址,将YOUR_TOKEN替换为获取的认证Token。
# 对于Linux或macOS系统,使用命令:curl -sfL https://get.gpustack.ai | sh - --server-url http://YOUR_IP_ADDRESS --token YOUR_TOKEN --tools-download-base-url "https://gpustack-1303613262.cos.ap-guangzhou.myqcloud.com"#对于Windows系统,使用命令:Invoke-Expression "& { $((Invoke-WebRequest -Uri "https://get.gpustack.ai" -UseBasicParsing).Content) } --server-url http://YOUR_IP_ADDRESS --token YOUR_TOKEN --tools-download-base-url 'https://gpustack-1303613262.cos.ap-guangzhou.myqcloud.com'"

通过以上简单的操作步骤,就可以纳管多台GPU设备了,界面上可以直接使用。

四、GPUStack 展示

4.1 模型管理

GPUStack 的 Models页面统一管理大型语言模型。GPUStack 中的模型包含一个或多个模型实例的副本。在部署时,GPUStack 会根据模型元数据自动计算模型实例的资源需求,并相应地将它们调度给可用的工作线程。

具体包含以下:

多模态模型

GPUStack 可以部署各种多模态模型,例如 Llama3.2-Vision、Pixtral、Qwen2-VL、LLaVA、InternVL2 等等,用于图像识别等任务,在 Playground 试验场中可以调测模型验证效果。

Embedding 文本嵌入模型

GPUStack 的 Playground 可以对 Embedding 模型进行调测。

Rerank 重排模型

Playground 可以对 Rerank 模型进行调测,提供直观的重排结果展示,用户可以通过结果判断模型对输入的理解和排序的准确性。

文生图模型

GPUStack 可以开箱即用地部署 Stable Diffusion 和 FLUX 等文生图模型。并提供了 Playground 试验场供开发者调测图像生成的效果,从而试验不同模型的最佳实践参数配置。

Text-to-Speech(TTS)文本转语音模型

GPUStack 可以在 NVIDIA GPU 或 CPU 上部署 Text-to-Speech(TTS)文本转语音模型,并提供了 Playground 试验场供开发者调测文本转语音的效果。

Speech-to-Text(STT)语音转文本模型

GPUStack 可以在 NVIDIA GPU 或 CPU 上部署 Speech-to-Text(STT)语音转文本模型,并提供了 Playground 试验场供开发者调测语音转文本的效果。

4.2 Playground能力

GPUStack 在 Playground 中提供了模型调测的能力,还支持多模型对比视图,可以同时对比多个模型的问答内容和性能数据,以评估不同模型、不同权重、不同 Prompt 参数、不同量化、不同 GPU、不同推理后端的模型推理表现。

如果 RAG 系统或 AI Agent 系统集成,GPUStack 提供了 OpenAI 兼容的 API,可以通过 View Code 查看动态生成的 API 调用代码示例。

最后

综上所述,可见 GPUStack 是一个为大模型而生的开源GPU集群管理器,提供了一个企业级的LLM即服务平台,支持异构GPU资源管理、多模型类型和推理引擎,以及灵活的调度策略,非常适合需要高性能、高可用性和数据隐私保护的企业级AI应用开发和部署。如果你也感兴趣的话,不妨试试吧!

原创 有趣的开源集市

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/878472.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Deskflow:一个能在多个设备之间共享鼠标键盘的工具

有多台设备的同学肯定都感受过切换鼠标和键盘的痛苦。比如家里有个台式机配了键盘和鼠标,工作有台笔记本,但是如果想用家里的键盘和鼠标操作笔记本那么除了插拔线(蓝牙也一样),好像没有其他特别的办法。 以为我个人为例,插拔切换鼠标键盘,最头疼的就是以下两个点: 线缆…

DeepSeek + Dify :零成本搭建企业级本地私有化知识库保姆级喂饭教程

最近,DeepSeek大火,想必大家都有所耳闻,各路媒体从各个方面报道了DeepSeek这家神秘的公司的各方面消息,这家低调的技术公司用一组硬核数据回应了所有关注: 千亿参数规模下实现0.5元/百万tokens的API调用成本,91.5%的中文基准测试得分,推理效率较传统架构提升5倍。 DeepS…

[Tools] Vite intro

Overview为什么选Vite: https://cn.vite.dev/guide/why.htmlesbuild, Rollup: https://cn.vite.dev/guide/why.html#why-bundle-for-production Quick start 1. Start a new project pnpm init 2. installl Vite, Typescript pnpm add vite typescript -D 3. create index.ht…

在做同城多活方案中如何实现机房之间的数据同步?

一、前言 现在是数据的时代,如何发挥数据的价值,让系统具备更多的数据处理能力。如何完善响应的数据架构。多机房建设是其中的解决策略。 二、背景 在业务初期,考虑到投入成本,很多公司通常只用一个机房提供服务。但随着业务发展,流量不断增加,我们对服务的响应速度和可用…

在 Ubuntu 22.04 上运行 Filebeat 7.10.2

环境 操作系统:阿里云 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-83-generic x86_64) 软件版本:Filebeat 7.10.2 用户:root 运行下载从这里下载 filebeat 7.10.2。配置简单配置一下 filebeat.yml,从标准输入采集,写入到标准输出 : filebeat.inputs: - type: stdinoutput.con…

Dify AWS:0代码搭建「AI翻译中台」

0 前言 基于Dify现有能力,已能对不少业务场景提供帮助,但对一些特定诉求,还要借助其扩展机制,本文利用翻译场景举例详细说明。 1 翻译场景复杂性分析 翻译是从简单到复杂各级都存在的场景,比较简单的翻译可能一句简单 Prompt,但对复杂、效果要求较高翻译场景,可能需要一…

25.2.3小记

抽象(abstract) 1.抽象函数不需要大括号 2.抽象的函数只能包括在抽象的类中(或者说只要一个类里有一个抽象函数,那整个类就是抽象的,因为若非抽象则定义对应类的变量之后本应该可以调用name.work类似的函数,但抽象函数因为没有body所以无法调用)其中定义的变量可以管理任…

0x80070035错误怎么解决?Win11/Win10访问NAS smba共享文件夹提示无法找到路径[Path not found]

1. 问题 Win11/Win10访问NAS smba共享文件夹提示无法找到路径[Path not found]2. 解决办法 2.1 设置网络专用网络2.2 设置高级共享2.3 设置组策略-启用-不安全的来宾登录2.4 设置组策略-Microsoft网络客户端:对通信进行数字签名(始终)-改为禁用3. 验证 现在再去访问,你会发现…

DeepSeek,你是懂.NET的!

这两天火爆出圈的话题,除了过年,那一定是DeepSeek!你是否也被刷屏了?DeepSeek 是什么DeepSeek是一款由国内人工智能公司研发的大型语言模型,拥有强大的自然语言处理能力,能够理解并回答问题,还能辅助写代码、整理资料和解决复杂的数学问题。与OpenAI开发的ChatGPT相比,De…

Welcome

This is your new vault. Make a note of something, [[create a link]], or try the Importer! When youre ready, delete this note and make the vault your own.