一、学习背景

本次学习内容来自 Datawhale X AMD 的 Hello-ROCm 组队学习。Day1-2 的任务主要包括两部分:第一部分是配置并启动 AMD 云环境,第二部分是在云环境中部署并运行 Gemma4 大模型。通过这次实操,我对 ROCm、AMD GPU 云环境、ModelScope 模型下载以及 vLLM 推理服务部署有了更直观的认识。

在学习之前,我对大模型部署的理解更多停留在“调用 API”或者“本地安装模型”的层面,而这次任务让我真正走了一遍从云端算力环境启动、GPU 状态检查、深度学习框架验证、模型下载到推理服务启动的完整流程。

二、ROCm 与 AMD 云环境的理解

ROCm 可以理解为 AMD GPU 对应的 AI 计算软件栈,作用类似 NVIDIA 生态中的 CUDA。过去很多大模型教程默认基于 CUDA 环境展开,但如果使用 AMD GPU,就需要通过 ROCm 来完成 GPU 驱动、深度学习框架和推理服务之间的衔接。

本次任务使用的是 AMD 云环境。相比自己在本地配置驱动、系统、Python 环境和依赖包,云环境的优势是门槛更低,很多基础配置已经提前准备好。对于初学者来说,先在云端跑通完整流程,比一开始就在本地处理各种驱动和依赖冲突更合适。

启动云环境后,需要进入 Notebook 页面,并打开终端进行后续操作。这个过程让我意识到,大模型部署并不是单纯运行一条命令,而是要先确认“硬件可见、框架可用、模型完整、服务正常”这几件事。

三、云环境检查过程

首先,我使用 amd-smi 命令检查当前云环境中的 AMD GPU 是否可用。这个命令的作用类似于 NVIDIA 环境中的 nvidia-smi,可以用来查看 GPU 设备、显存、驱动和运行状态。如果能够正常显示 GPU 信息,说明云环境已经识别到 AMD 显卡。

接着,我使用 PyTorch 检查 ROCm 环境是否能够被深度学习框架调用。主要命令如下:

python -c "import torch; print('PyTorch:', torch.__version__); print('ROCm available:', torch.cuda.is_available()); print('Device:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A')"

这里比较容易混淆的一点是,在 ROCm 环境下,PyTorch 仍然使用 torch.cuda.is_available() 这个接口来判断 GPU 是否可用。虽然名字里写的是 cuda,但在安装 ROCm 版本 PyTorch 后,它可以通过兼容层调用 AMD GPU。因此,只要输出结果中 ROCm availabletorch.cuda.is_available() 为 True,就说明当前 PyTorch 可以正常使用 GPU 加速。

这一步让我理解到:环境验证是大模型部署前非常关键的一步。如果 GPU 本身不可见,后面下载模型、启动 vLLM 都没有意义。

四、Gemma4 模型下载

完成环境检查后,下一步是下载 Gemma4 模型。本次任务中使用 ModelScope 下载模型,主要原因是国内网络环境下直接访问部分海外模型仓库可能速度较慢,而 ModelScope 可以提高模型下载的稳定性。

在下载前,先将 pip 源切换到国内镜像,以提升依赖安装速度:

pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple/

然后安装 ModelScope:

pip install modelscope

接着下载 Gemma4 模型:

modelscope download --model google/gemma-4-E4B-it --cache_dir "./models"

模型下载完成后,可以通过查看模型目录确认文件是否存在:

ls -lh ./models/google/gemma-4-E4B-it/

这一部分让我认识到,部署大模型时模型文件本身通常比较大,因此下载是否完整非常重要。实际操作时,不一定每次都能看到完全一样的进度提示,只要命令执行结束后模型目录中存在完整文件,就可以进入下一步。

五、使用 vLLM 启动推理服务

模型下载完成后,任务的核心是使用 vLLM 启动推理服务。vLLM 是一个高性能大模型推理框架,适合把大模型部署成可访问的服务。它的优势在于推理效率较高,并且更接近真实项目中“模型服务化”的使用方式。

在启动之前,需要根据教程安装或更新相关依赖。例如:

uv pip uninstall torchvision
uv pip install vllm torchvision \
  --no-cache \
  --index-url https://mirrors.aliyun.com/pypi/simple/ \
  --extra-index-url https://wheels.vllm.ai/rocm/ \
  -U

之后再根据模型路径启动 vLLM 服务。服务成功启动后,就可以通过接口或 Notebook 中的示例对 Gemma4 进行提问测试。只要模型能够正常返回内容,就说明部署流程基本跑通。

这一环节让我感受到,大模型部署和普通 Python 程序运行不太一样。普通程序只要代码能执行即可,而模型部署需要同时考虑模型路径、推理框架、GPU 环境、依赖版本和服务端口等因素。

六、学习中的关键收获

通过这两个任务,我主要有以下几点收获。

第一,我理解了 ROCm 在 AMD GPU 生态中的作用。它不是一个单独的软件,而是一整套让 AMD GPU 支持 AI 计算的基础环境。对于使用 AMD 显卡进行大模型部署、微调和训练来说,ROCm 是底层基础。

第二,我掌握了云环境启动后的基本检查流程。部署模型前,应该先检查 GPU 是否可见,再检查 PyTorch 是否能调用 GPU,最后再进行模型下载和推理服务启动。这样可以避免在后面遇到问题时不知道是驱动问题、框架问题还是模型问题。

第三,我了解了 ModelScope 在模型下载中的作用。对于国内学习者来说,使用 ModelScope 可以减少网络问题带来的阻碍,让学习重点回到部署流程本身。

第四,我初步理解了 vLLM 的作用。它不是单纯用来“运行模型”的脚本,而是面向推理服务的部署框架。通过 vLLM 启动模型后,模型就可以像一个服务一样被调用,这更接近真实的大模型应用开发流程。

第五,我认识到大模型部署需要工程化思维。模型能不能跑起来,不只取决于模型本身,还取决于硬件、驱动、Python 环境、依赖版本、模型路径和推理框架之间是否匹配。

七、遇到的问题与思考

在学习过程中,我认为最容易出错的地方主要有三个。

第一个是环境检查容易被忽略。很多初学者可能会直接下载模型、启动服务,但如果一开始 GPU 或 PyTorch 环境没有配置好,后面报错会很难定位。

第二个是依赖版本问题。大模型部署经常会遇到包版本不兼容的情况,例如 vLLM、torchvision、PyTorch 和 ROCm 版本之间需要匹配。以后遇到类似问题时,不能只看报错表面,而要回到“系统环境—Python 环境—推理框架—模型文件”这条链路上逐步排查。

第三个是模型路径问题。下载模型后,启动服务时必须确保路径填写正确,否则 vLLM 无法找到模型文件。这个问题虽然简单,但在实际操作中很常见。

这次学习让我意识到,AI 工程不是只会调用模型就够了。真正要把模型用起来,还需要理解底层环境、部署框架和服务化流程。对于后续学习大模型微调、Agent 应用开发或者本地模型部署,这些基础都非常重要。

八、总结

总体来说,Day1-2 的任务虽然是入门内容,但它把大模型部署的基本链路完整串起来了:启动 AMD 云环境,检查 GPU 状态,验证 PyTorch 与 ROCm,下载 Gemma4 模型,最后用 vLLM 启动推理服务并完成对话测试。

完成这次任务后,我对“在 AMD GPU 上跑大模型”有了更实际的理解。以前我更多关注模型能力本身,现在开始意识到,模型能否真正落地,还取决于算力环境、推理框架和部署流程。后续如果继续学习 LoRA 微调、模型服务接口封装或者大模型应用开发,这次环境配置和部署实践就是一个很重要的基础。

Logo

免费领 200 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐