AI之GPU:GPUStack的简介、安装和使用方法、案例应用之详细攻略

AI之GPU:GPUStack的简介、安装和使用方法、案例应用之详细攻略

目录

GPUStack简介

1、特点

2、支持的平台:macOS/Windows/Linux

3、支持的架构:AMD64/ARM64

4、支持的加速器:Apple Metal/NVIDIA CUDA/Ascend CANN等

5、支持的模型:LLMs以及重排序模型/VLLMs/扩散模型/音频模型

GPUStack 安装和使用方法

1、安装

Linux或macOS

Windows

其他安装方法

2、使用方法

案例一:运行并与llama3.2模型聊天

案例二:使用stable-diffusion-v3-5-large-turbo模型生成图像

访问GPUStack UI

Linux或macOS

Windows

创建和使用API密钥

T1、使用curl

T2、使用OpenAI Python API库来使用这些API

GPUStack的案例应用

LLMs之GPUStack:基于国产硬件华为Atlas(昇腾910B)以及GPUStack框架推理并部署Qwen 2.5—配置昇腾NPU环境(安装NPU驱动+CANN Toolkit及其Kernel+配置环境变量)→安装 GPUStack→纳管昇腾 NPU 资源→部署 Qwen 2.5 模型→测试与性能优化


GPUStack简介

2024年8月,GPUStack是一个开源的GPU集群管理器,用于运行AI模型。它具有广泛的硬件兼容性,支持多种品牌的GPU,包括在Apple MacBook、Windows PC和Linux服务器上运行。 它支持各种AI模型,从大型语言模型(LLM)和扩散模型到音频、嵌入和重新排序模型。GPUStack可以轻松扩展,只需添加更多GPU或节点即可扩展您的操作。它支持单节点多GPU和多节点推理和服务,并支持llama-box(llama.cpp)和vLLM作为推理后端。GPUStack是一个轻量级的Python包,依赖项和操作开销最小,并提供与OpenAI标准兼容的API。此外,它还提供用户和API密钥管理、GPU指标监控以及令牌使用和速率指标跟踪功能。

GitHub地址:GitHub - gpustack/gpustack: Manage GPU clusters for running AI models

官网地址GPUStack.ai

开发文档Overview - GPUStack

1、特点

>> 广泛的硬件兼容性:支持不同品牌的GPU,可在Apple MacBooks、Windows PC和Linux服务器上运行。
>> 广泛的模型支持:支持各种AI模型,包括大型语言模型(LLMs)、扩散模型、音频模型、嵌入模型和重新排序模型。
>> 可扩展性:可以轻松添加更多GPU或节点来扩展操作规模。
>> 分布式推理:支持单节点多GPU和多节点推理及服务。
>> 多种推理后端:支持llama-box (包含llama.cpp和stable-diffusion.cpp服务器)、vox-box和vLLM作为推理后端。
>> 轻量级Python包:依赖项和操作开销最小。
>> 兼容OpenAI的API:提供与OpenAI标准兼容的API。
>> 用户和API密钥管理:简化了用户和API密钥的管理。
>> GPU指标监控:实时监控GPU性能和利用率。
>> 令牌使用和速率指标:追踪令牌使用情况并有效管理速率限制。

2、支持的平台:macOS/Windows/Linux

>> macOS

>> Windows (10, 11)

>> Linux (Ubuntu >= 20.04, Debian >= 11, RHEL >= 8, Rocky >= 8, Fedora >= 36, OpenSUSE >= 15.3 (leap), OpenEuler >= 22.03).

注意:Linux系统上安装GPUStack worker需要GLIBC版本2.29或更高。

3、支持的架构:AMD64/ARM64

>> AMD64

>> ARM64 (注意:Linux和macOS系统在使用低于3.12版本的Python时,需要安装与架构匹配的Python发行版;Windows系统请使用AMD64版本的Python,因为某些依赖项的wheel包在ARM64上不可用。如果使用conda,则会自动处理,因为conda默认安装AMD64发行版。)

4、支持的加速器:Apple Metal/NVIDIA CUDA/Ascend CANN等

>> Apple Metal (M系列芯片)

>> NVIDIA CUDA (计算能力6.0及以上)

>> Ascend CANN(华为系列)

>> Moore Threads MUSA

>> 未来计划支持:AMD ROCm, Intel oneAPI, Qualcomm AI Engine

5、支持的模型:LLMs以及重排序模型/VLLMs/扩散模型/音频模型

GPUStack使用llama-box(捆绑llama.cpp和stable-diffusion.cpp服务器)、vLLM和vox-box作为后端,支持来自以下来源的各种模型:

Hugging Face

ModelScope

Ollama Library

本地文件路径

文档中列举了以下几类模型的示例:
>> 大型语言模型 (LLMs): Qwen, LLaMA, Mistral, Deepseek, Phi, Yi
>> 视觉语言模型 (VLMs): Llama3.2-Vision, Pixtral, Qwen2-VL, LLaVA, InternVL2
>> 扩散模型 (Diffusion Models): Stable Diffusion, FLUX
>> 重新排序器 (Rerankers): GTE, BCE, BGE, Jina
>> 音频模型 (Audio Models): Whisper (语音转文本), CosyVoice (文本转语音)

GPUStack 安装和使用方法

1、安装

Linux或macOS

GPUStack提供一个脚本,可在基于systemd或launchd的系统上将其安装为服务。安装方法如下:

curl -sfL https://get.gpustack.ai | sh -s -

Windows

以管理员身份运行PowerShell(避免使用PowerShell ISE),然后运行以下命令安装GPUStack:

Invoke-Expression (Invoke-WebRequest -Uri "https://get.gpustack.ai" -UseBasicParsing).Content

其他安装方法

对于手动安装、Docker安装或详细的配置选项,请参考安装文档。

2、使用方法

案例一:运行并与llama3.2模型聊天

gpustack chat llama3.2 "tell me a joke."

案例二:使用stable-diffusion-v3-5-large-turbo模型生成图像

此命令会从Hugging Face下载模型(约12GB)。下载时间取决于网络速度。请确保您有足够的磁盘空间和VRAM(12GB)来运行模型。如果遇到问题,您可以跳过此步骤并转到下一步。

gpustack draw hf.co/gpustack/stable-diffusion-v3-5-large-turbo-GGUF:stable-diffusion-v3-5-large-turbo-Q4_0.gguf \

"A minion holding a sign that says 'GPUStack'. The background is filled with futuristic elements like neon lights, circuit boards, and holographic displays. The minion is wearing a tech-themed outfit, possibly with LED lights or digital patterns. The sign itself has a sleek, modern design with glowing edges. The overall atmosphere is high-tech and vibrant, with a mix of dark and neon colors." \

--sample-steps 5 --show

命令完成后,生成的图像将出现在默认查看器中。您可以尝试不同的提示和CLI选项来自定义输出。

访问GPUStack UI

在浏览器中打开http://myserver访问GPUStack UI。使用用户名admin和默认密码登录。可以使用以下命令获取默认设置的密码:

Linux或macOS

cat /var/lib/gpustack/initial_admin_password

Windows

Get-Content -Path "$env:APPDATA\gpustack\initial_admin_password" -Raw

在导航菜单中点击“Playground”,即可在UI playground中与LLM聊天。

创建和使用API密钥

在导航菜单中点击“API Keys”,然后点击“New API Key”按钮。填写名称并点击“Save”按钮。复制生成的API密钥并将其保存在安全的地方,因为您只能在创建时看到它一次。使用API密钥访问与OpenAI兼容的API。

T1、使用curl

export GPUSTACK_API_KEY=myapikey
curl http://myserver/v1-openai/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GPUSTACK_API_KEY" \
  -d '{
"model": "llama3.2",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'

T2、使用OpenAI Python API库来使用这些API
from openai import OpenAI
client = OpenAI(base_url="http://myserver/v1-openai", api_key="myapikey")
completion = client.chat.completions.create(
  model="llama3.2",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ]
)
print(completion.choices[0].message)

GPUStack的案例应用

持续更新中……

LLMs之GPUStack:基于国产硬件华为Atlas(昇腾910B)以及GPUStack框架推理并部署Qwen 2.5—配置昇腾NPU环境(安装NPU驱动+CANN Toolkit及其Kernel+配置环境变量)→安装 GPUStack→纳管昇腾 NPU 资源→部署 Qwen 2.5 模型→测试与性能优化

https://yunyaniu.blog.csdn.net/article/details/144319627

### 昇腾 910B GPU Stack 架构特性 #### 达芬奇架构概述 昇腾系列AI芯片基于华为自主研发的达芬奇架构,该架构专为人工智能处理设计。对于昇腾 910而言,在八位整数精度(INT8)下性能可达512 TOPS,而在16位浮点数(FP16)下的性能则能达到256 TFLOPS[^1]。 #### 华为全栈解决方案 针对昇腾910,华为提供了完整的软硬件协同开发平台——即所谓的GPU Stack。此堆栈不仅涵盖了底层驱动程序支持库,还包括高级API以及工具链来简化应用部署流程。具体来说: - **AscendCL (Ascend Computing Language)**:作为应用程序接口层的一部分,允许开发者通过C/C++调用函数实现对昇腾设备的操作控制。 - **ModelZoo**:预训练模型仓库,支持快速迁移学习微调操作,降低新项目启动门槛。 - **MindSpore Framework**:这是由华为推出的面向未来的开源深度学习框架,旨在使能各行业轻松构建并训练高效的神经网络模型。它能够自动调整算子布局以适应不同类型的处理器核群组,并且具备良好的可移植性扩展能力。 #### 开发者资源获取途径 为了方便广大开发者更好地理解利用昇腾910的强大功能,官方推出了详尽的技术文档资料集。这些材料通常可以在官方网站的相关页面找到,其中包含了安装指南、编程手册、最佳实践案例分享等内容。此外,还有活跃的技术社区可供交流经验心得技术难题解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值