Datawhale × AMD Hello-ROCm 学习笔记:1小时极速体验AMD云环境模型微调
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,无需在本地安装任何软件。
环境启动流程:
- 访问 AMD AI 开发者云页面,找到 “Hello ROCm Beta”
- 点击 “Launch”,等待约 3 秒,按钮变为 “Open Notebook”
- 点击 “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 技术层面
-
ROCm 生态成熟度超预期:原先以为 AMD GPU 跑深度学习会有大量兼容性问题,实际体验发现 PyTorch 对 ROCm 的支持已经相当完善,
torch.cuda.*代码几乎零改动。 -
LoRA 是 AMD 生态的最佳实践:AMD 消费级显卡(如 RX 7900 XTX)显存 24GB,虽然不如 A100 80GB,但 LoRA 微调可以将显存需求控制在一个合理范围内。
-
云环境降低了实验门槛: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 任务的学习笔记,如有疏漏欢迎指正。
更多推荐


所有评论(0)