第 4 章 使用 AMD ROCm AI Accelerators 使用 Podman 提供和推断
使用 Podman 和在 AMD ROCm AI Accelerator 上运行的 Red Hat AI Inference Server 提供大型语言模型。
先决条件
- 已安装 Podman 或 Docker。
- 您以具有 sudo 访问权限的用户身份登录。
-
您可以访问
registry.redhat.io
并已登录。 - 您有一个 Hugging Face 帐户,并生成了一个 Hugging Face 访问令牌。
您可以访问安装了数据中心等级 AMD ROCm AI Accelerators 的 Linux 服务器。
对于 AMD GPU:
有关加速器支持的 vLLM 量化方案的更多信息,请参阅 支持的硬件。
流程
在服务器主机上打开一个终端,并登录到
registry.redhat.io
:podman login registry.redhat.io
$ podman login registry.redhat.io
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令拉取 AMD ROCm 镜像:
podman pull registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.2.1
$ podman pull registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.2.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的系统启用了 SELinux,请将 SELinux 配置为允许设备访问:
sudo setsebool -P container_use_devices 1
$ sudo setsebool -P container_use_devices 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建卷并将其挂载到容器中。调整容器权限,以便容器可以使用它。
mkdir -p rhaiis-cache
$ mkdir -p rhaiis-cache
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chmod g+rwX rhaiis-cache
$ chmod g+rwX rhaiis-cache
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建或附加
HF_TOKEN
Hugging Face 令牌到private.env
文件。提供private.env
文件。echo "export HF_TOKEN=<your_HF_token>" > private.env
$ echo "export HF_TOKEN=<your_HF_token>" > private.env
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source private.env
$ source private.env
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动 AI Inference Server 容器镜像。
对于 AMD ROCm 加速器:
使用
amd-smi static -a
验证容器是否可以访问主机系统 GPU:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须属于 AMD 系统上的视频和呈现组才能使用 GPU。要访问 GPU,您必须将
--group-add=keep-groups
补充组选项传给容器。
启动容器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在终端中的单独标签页中,使用 API 向模型发出请求。
curl -X POST -H "Content-Type: application/json" -d '{ "prompt": "What is the capital of France?", "max_tokens": 50 }' http://<your_server_ip>:8000/v1/completions | jq
curl -X POST -H "Content-Type: application/json" -d '{ "prompt": "What is the capital of France?", "max_tokens": 50 }' http://<your_server_ip>:8000/v1/completions | jq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow