第 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 服务器。

注意

有关加速器支持的 vLLM 量化方案的更多信息,请参阅 支持的硬件

流程

  1. 在服务器主机上打开一个终端,并登录到 registry.redhat.io

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令拉取 AMD ROCm 镜像:

    $ podman pull registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.2.1
    Copy to Clipboard Toggle word wrap
  3. 如果您的系统启用了 SELinux,请将 SELinux 配置为允许设备访问:

    $ sudo setsebool -P container_use_devices 1
    Copy to Clipboard Toggle word wrap
  4. 创建卷并将其挂载到容器中。调整容器权限,以便容器可以使用它。

    $ mkdir -p rhaiis-cache
    Copy to Clipboard Toggle word wrap
    $ chmod g+rwX rhaiis-cache
    Copy to Clipboard Toggle word wrap
  5. 创建或附加 HF_TOKEN Hugging Face 令牌到 private.env 文件。提供 private.env 文件。

    $ echo "export HF_TOKEN=<your_HF_token>" > private.env
    Copy to Clipboard Toggle word wrap
    $ source private.env
    Copy to Clipboard Toggle word wrap
  6. 启动 AI Inference Server 容器镜像。

    1. 对于 AMD ROCm 加速器:

      1. 使用 amd-smi static -a 验证容器是否可以访问主机系统 GPU:

        $ podman run -ti --rm --pull=newer \
        --security-opt=label=disable \
        --device=/dev/kfd --device=/dev/dri \
        --group-add keep-groups \ 
        1
        
        --entrypoint="" \
        registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.2.1 \
        amd-smi static -a
        Copy to Clipboard Toggle word wrap
        1
        您必须属于 AMD 系统上的视频和呈现组才能使用 GPU。要访问 GPU,您必须将 --group-add=keep-groups 补充组选项传给容器。
      2. 启动容器:

        podman run --rm -it \
        --device /dev/kfd --device /dev/dri \
        --security-opt=label=disable \ 
        1
        
        --group-add keep-groups \
        --shm-size=4GB -p 8000:8000 \ 
        2
        
        --env "HUGGING_FACE_HUB_TOKEN=$HF_TOKEN" \
        --env "HF_HUB_OFFLINE=0" \
        --env=VLLM_NO_USAGE_STATS=1 \
        -v ./rhaiis-cache:/opt/app-root/src/.cache \
        registry.redhat.io/rhaiis/vllm-rocm-rhel9:3.2.1 \
        --model RedHatAI/Llama-3.2-1B-Instruct-FP8 \
        --tensor-parallel-size 2 
        3
        Copy to Clipboard Toggle word wrap
        1
        --security-opt=label=disable 防止 SELinux 重新标记卷挂载中的文件。如果您选择不使用此参数,您的容器可能无法成功运行。
        2
        如果您在共享内存时遇到问题,请将 -shm-size 增加到 8GB
        3
        在多个 GPU 上运行 AI Inference Server 容器时,set -tensor-parallel-size 与 GPU 的数量匹配。
  7. 在终端中的单独标签页中,使用 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
    Copy to Clipboard Toggle word wrap

    输出示例

    {
        "id": "cmpl-b84aeda1d5a4485c9cb9ed4a13072fca",
        "object": "text_completion",
        "created": 1746555421,
        "model": "RedHatAI/Llama-3.2-1B-Instruct-FP8",
        "choices": [
            {
                "index": 0,
                "text": " Paris.\nThe capital of France is Paris.",
                "logprobs": null,
                "finish_reason": "stop",
                "stop_reason": null,
                "prompt_logprobs": null
            }
        ],
        "usage": {
            "prompt_tokens": 8,
            "total_tokens": 18,
            "completion_tokens": 10,
            "prompt_tokens_details": null
        }
    }
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat