Datawhale × AMD Hello-ROCm 学习笔记:1小时极速体验AMD云环境模型微调

—## 📌 前言:为什么关注 AMD ROCm?

长期以来,大模型开发几乎被 NVIDIA CUDA 生态垄断。然而 ROCm 7.10.0(2025年12月发布) 彻底改变了局面——ROCm 现已支持像 CUDA 一样在 Python 虚拟环境中无缝安装,并正式覆盖 Linux 和 Windows 双系统。AMD GPU 不再只是"游戏卡",而是一个面向 AI 开发者的真实计算平台。

Datawhale 与 AMD 联合发布的 Hello-ROCm 项目,正是国内首个系统性的 ROCm 中文开源教程,覆盖从环境搭建、模型部署、模型微调到底层算子优化的完整链路。

  • 📖 在线阅读:https://datawhalechina.github.io/hello-rocm/zh/
  • GitHub:https://github.com/datawhalechina/hello-rocm

本文将基于 Datawhale 学习活动 Day3-7 任务——“1小时极速体验 AMD 云环境模型微调”,记录完整的学习过程和实践心得。


一、Hello-ROCm 项目概览

1.1 四大学习阶段

Hello-ROCm 教程按四个阶段组织:

阶段 模块 核心内容
第一阶段 Environment 安装 ROCm 驱动、配置 PyTorch、搭建 uv 工具链
第二阶段 Deploy LM Studio 一键体验、vLLM 生产级推理、Ollama/llama.cpp 本地部署
第三阶段 Fine-tune LoRA / Q-LoRA 微调 Qwen3、Gemma4 等模型
第四阶段 Infra HIP 算子、PyTorch 自定义算子、性能优化

1.2 已支持模型

目前已覆盖 Qwen3 和 Gemma4 两大模型家族,支持 LM Studio、vLLM、Ollama、llama.cpp 四大推理框架的完整部署教程。

1.3 项目亮点

  • 纯中文开源教程,降低 AMD 生态入门门槛
  • 内置 hello-rocm Skill,可直接加载到 Claude、Cursor 等 AI 编程工具中
  • AMD Radeon Cloud 提供云端 GPU 环境,无需本地硬件即可动手实践

二、Part1:AMD 云环境配置与大模型部署

2.1 环境准备

本次学习活动的核心实验平台是 AMD AI 开发者云(AMD Radeon Cloud),预装了 ROCm 环境和 Jupyter Notebook,无需在本地安装任何软件。

环境启动流程

  1. 访问 AMD AI 开发者云页面,找到 “Hello ROCm Beta”
  2. 点击 “Launch”,等待约 3 秒,按钮变为 “Open Notebook”
  3. 点击 “Open Notebook”,浏览器自动打开 Jupyter Notebook 页面

看到 Notebook 页面即表示云环境启动成功。

2.2 核心知识点

ROCm 与 PyTorch 的兼容性

在 ROCm 环境下,PyTorch 通过 torch.cuda 统一接口访问 AMD GPU。这是正常行为,不代表使用了 NVIDIA CUDA——AMD 通过 ROCm 层实现了 CUDA API 兼容。

vLLM 部署要点
  • vLLM 的 ROCm wheels 捆绑了特定版本的 PyTorch 及其依赖
  • 不建议手动替换 PyTorch 版本,否则可能导致 kernel 兼容性问题
  • 通过 vLLM 启动模型服务后,可开放 OpenAI 兼容格式接口,直接在终端与模型对话

2.3 操作验证

进入 Notebook 后,可以验证环境:

import torch
print(f"PyTorch 版本: {torch.__version__}")
print(f"ROCm 可用: {torch.cuda.is_available()}")
print(f"GPU 设备: {torch.cuda.get_device_name(0)}")

预期输出应显示 AMD GPU 设备名称和 ROCm 版本信息。


三、Part2:AMD 云环境模型微调

3.1 任务目标

只会通用聊天的模型,通过特定领域数据训练成能够精准识别 6 种人类情绪的"情感分析专家"。

把通用模型改造成特定领域专家的过程,就叫模型微调(Fine-Tuning)

3.2 标准工业级微调流程

本次实验遵循标准工业级微调模板,包含五个核心步骤:

下载模型 → 清洗数据 → 显卡配置 → LoRA 轻量化训练 → 训练效果对比

3.3 数据集

情感分析数据集包含 6 类情绪标签

  • 喜悦(Joy)
  • 悲伤(Sadness)
  • 愤怒(Anger)
  • 恐惧(Fear)
  • 惊讶(Surprise)
  • 爱(Love)

3.4 LoRA 微调技术

LoRA(Low-Rank Adaptation) 是当前主流的参数高效微调方法:

  • 冻结预训练模型的主体参数
  • 在特定层插入少量可训练的"低秩矩阵"
  • 训练参数量仅为主模型的 0.1%~1%
  • 相比全量微调,显存需求和训练时间大幅降低

3.5 微调关键步骤

Step 1:加载基础模型
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "google/gemma-4-4b-it"  # 示例
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)
Step 2:配置 LoRA
from peft import LoraConfig, get_peft_model

lora_config = LoraConfig(
    r=8,              # 低秩维度
    lora_alpha=32,    # 缩放参数
    target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
    lora_dropout=0.1,
    bias="none",
    task_type="CAUSAL_LM"
)

model = get_peft_model(model, lora_config)
Step 3:训练配置
from transformers import TrainingArguments

training_args = TrainingArguments(
    output_dir="./emotion-lora",
    per_device_train_batch_size=4,
    gradient_accumulation_steps=4,
    learning_rate=2e-4,
    num_train_epochs=3,
    logging_steps=10,
    save_strategy="epoch",
    bf16=True,
)
Step 4:模型导出与测试
# 保存 LoRA 权重
model.save_pretrained("./emotion-lora-final")

# 推理测试
inputs = tokenizer("我今天升职加薪了,心情特别好!", return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

3.6 微调效果对比

维度 微调前 微调后
情绪识别准确率 ~30%(随机水平) ~85%+
输出格式 自由对话 结构化情绪标签
响应速度 正常 几乎无变化(LoRA)

四、实践心得与思考

4.1 技术层面

  1. ROCm 生态成熟度超预期:原先以为 AMD GPU 跑深度学习会有大量兼容性问题,实际体验发现 PyTorch 对 ROCm 的支持已经相当完善,torch.cuda.* 代码几乎零改动。

  2. LoRA 是 AMD 生态的最佳实践:AMD 消费级显卡(如 RX 7900 XTX)显存 24GB,虽然不如 A100 80GB,但 LoRA 微调可以将显存需求控制在一个合理范围内。

  3. 云环境降低了实验门槛:AMD Radeon Cloud 提供免费额度,无需购买硬件就能体验完整流程。

4.2 生态层面

  • AMD + ROCm 正成为 NVIDIA + CUDA 的有力替代方案
  • Hello-ROCm 填补了中文社区 ROCm 系统教程的空白
  • 随着 ROCm 7.x 版本的快速迭代(目前已到 7.13.0),AMD AI 开发生态在加速追赶

4.3 适用场景判断

场景 是否推荐 AMD
个人学习/实验 ✅ 性价比极高
本地推理部署 ✅ 消费级显卡显存优势
LoRA 微调 ✅ 显存需求可控
全量训练大模型 ⚠️ 需专业计算卡
生产级 CUDA 迁移 ⚠️ 需充分测试

五、延伸资源


结语

Hello-ROCm 学习活动让我对 AMD GPU 的 AI 开发能力有了全新的认识。从环境搭建到模型部署再到微调,整个流程已经相当流畅。对于预算有限但又想在本地运行和微调大模型的开发者来说,AMD + ROCm 是一个值得认真考虑的选项。

本文为 Datawhale × AMD Hello-ROCm 学习活动 Day3-7 任务的学习笔记,如有疏漏欢迎指正。

Logo

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

更多推荐