Day1-2 学习笔记:在 AMD 云环境上部署 Gemma 4 大模型

一、今天做了什么?

用一句话概括:在 AMD 的云端 GPU 上,把 Google 开源的 Gemma 4 大模型(40亿参数)跑起来,并和它完成了一次真实对话。

整个流程下来大约 15 分钟,零门槛------不用买显卡,不用配环境,浏览器打开就能玩。


二、知识点精讲

在操作之前,我花时间把涉及的核心概念都搞懂了。以下是我自己的理解。

🧠 知识点 1:大模型到底在做什么?

很多人以为大模型是在"查数据库"或者"理解语义后执行指令",其实核心只有一件事:

预测下一个词,概率最高的那个。

举个例子:

复制代码
"中国的首都是____"
→ 北京:94%  伦敦:3%  巴黎:2%  ...
→ 模型选概率最高的:北京 ✅

模型之所以显得"聪明",是因为要把各种问题的下一个词猜准,它必须在训练时暗暗掌握地理、数学、编程、人类情感......海量知识。

那"幻觉"(胡说八道)是怎么来的?

当模型遇到训练数据里没有的问题时,它不会说"我不知道"------它只会做它唯一会的事:续写下一个听起来最合理的词。于是就编出了一个听起来像真的、但实际是假的答案。

幻觉 = 模型在没有正确答案时,仍然选了「概率最高但实际错误」的词。


🧠 知识点 2:Gemma 4 是什么?

属性 内容
出品方 Google DeepMind(2026年发布)
开源/闭源 开源 ✅ 可免费下载、修改、商用
版本 E4B(即 4 Billion,40亿参数)
模型大小 ~15 GB
硬件需求 单张高性能 GPU 即可运行

开源 vs 闭源的本质区别:

复制代码
闭源(如 ChatGPT):
你 → 发请求 → OpenAI黑盒服务器 → 返回答案
你永远看不到里面,改不了,用不了自己的数据训练

开源(如 Gemma 4):
你 → 下载15G模型文件 → 装到自己机器上跑
可以看、可以改、可以用自己数据微调,免费商用

我们今天能把整个模型下载到云服务器上自己跑,正是因为它开源。


🧠 知识点 3:参数 / 权重 / 多少 B 是什么意思?

这三个词其实是同一件事的三种说法,用武侠类比最好理解:

武侠概念 大模型概念
内力 参数 / 权重
练功过程 训练
出手应敌 推理(回答问题)
内力大小 多少 B(几十亿个数字)

我们下载的那个 model.safetensors(15G)里面,存的就是 Gemma 4 全部的"内力"------40亿个精心调整过的浮点数。

参数多为什么更聪明?

参数 = 存知识的格子。格子越多,装得下的知识和规律越多,预测时参考的依据越充分,回答越准确。

复制代码
4B  参数 → 日常对话、简单推理 ✅(今天用的)
70B 参数 → 专业领域、复杂逻辑
405B参数 → 接近顶级水平

但代价是:参数越多,文件越大,需要的显存越多,跑起来越慢越贵。E4B 是"够聪明 + 单卡可跑"的甜蜜点。


🧠 知识点 4:推理 vs 部署

概念 对应今天的操作 类比
部署 vllm serve,把模型架起来开放8000端口 后厨开火,挂上招牌等客人
推理 vllm chat,输入问题得到回答 服务员传菜,把问题送到后厨再端回答案

这也解释了为什么今天要开两个终端

  • 终端1(部署):一直被 vLLM 服务占着,等于后厨永远开着火
  • 终端2(推理):负责发送问题、接收回答的"前台"

这个服务端 + 客户端的模式,是所有大模型 API 调用的底层结构,以后调用 OpenAI / Claude API 都是同样的逻辑。


🧠 知识点 5:ModelScope 魔搭是什么?

一句话:国内版 Hugging Face,专门解决"国内下模型慢"的痛点。

复制代码
Hugging Face  → 服务器在海外,下载15G文件 = 可能1小时+,经常断线
ModelScope    → 阿里达摩院,服务器在国内,下载同样文件 = 7分钟 🚀

今天第一步把 pip 源换成腾讯云镜像,也是同样的思路------把下载通道从海外切到国内。


🧠 知识点 6:vLLM 是什么?

model.safetensors 里面只是几十亿个静静躺在硬盘里的数字,就像一本武功秘籍,秘籍本身不会打架。

vLLM 做了三件事,让模型从"死"变"活":

  1. 加载:把15G数字从硬盘搬进GPU显存(把秘籍装进大脑)

  2. 优化:重排计算顺序,让GPU算得更快(把招式练熟)

  3. 开门营业:在8000端口开一个接口等待问题(挂招牌等客人)

    模型文件(死的数字)
    ↓ vLLM
    能对话的服务(活的智能)

vLLM = 把发动机零件组装好并发动的工程师


三、实操步骤记录

Step 1:登录 AMD Radeon Cloud

  1. 打开 AMD 开发者云平台
  2. 点击右上角「Login」→「Login with ModelScope」用魔搭账号登录
  3. 登录后进入 Radeon Cloud Gallery(不是课程列表!)
  4. 找到「Hello ROCm Bate」卡片,点击【Launch】→ 等3秒 → 点【Open Notebook】

💡 系统自动分配 10小时免费GPU算力,无需申请


Step 2:确认 GPU 环境可用

打开 Terminal,运行:

复制代码
# 查看 GPU 状态
amd-smi

我的环境输出:

复制代码
AMD Radeon Graphics
显存:49136 MB(约48GB)✅
温度:34°C ✅
ROCm version: 7.2.1

# 确认 PyTorch 能识别 GPU
python -c "import torch; print('PyTorch:', torch.__version__); \
print('ROCm available:', torch.cuda.is_available()); \
print('Device:', torch.cuda.get_device_name(0))"

输出:

复制代码
PyTorch: 2.9.1+gitff65f5b
ROCm available: True ✅
Device: AMD Radeon Graphics ✅

Step 3:下载 Gemma 4 模型

复制代码
# 切换到国内镜像源(加速下载)
pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple/

# 安装 ModelScope
pip install modelscope

# 下载 Gemma 4(E4B版本,约15G,需要约8分钟)
modelscope download --model google/gemma-4-E4B-it --cache_dir "./models"

下载完成后验证:

复制代码
ls -lh ./models/google/gemma-4-E4B-it/
# 看到 15G 的 model.safetensors = 下载完整 ✅

Step 4:更新 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==0.22.1+rocm722


Step 5:启动 vLLM 服务(部署)

复制代码
vllm serve ./models/google/gemma-4-E4B-it/ --served-model-name gemma-4-E4B-it

等待看到:

复制代码
Application startup complete. ✅

⚠️ 这个终端会被持续占用,不要按 Ctrl+C


Step 6:新开终端进行对话测试(推理)

复制代码
# 新建第二个终端
vllm chat --url http://localhost:8000/v1 --model gemma-4-E4B-it

输入测试问题:

复制代码
你是谁,你能做什么

模型回答(节选):

我叫 Gemma 4,我由 Google DeepMind 开发......

对话成功! 🎉


四、整体架构回顾

复制代码
你的浏览器
    ↓(Jupyter Notebook)
AMD 云端服务器(ROCm GPU)
    ├── 硬盘:model.safetensors(15G 模型权重)
    ├── vLLM serve(加载到显存,开启8000端口)
    └── vLLM chat(发送问题 → 接收回答)

五、踩过的坑 & 经验总结

问题 原因 解决方法
AMD平台课程列表找不到 Notebook Notebook 入口在 Radeon Cloud,不在课程目录 developer.amd.com.cn 点按钮跳转
Launch 报错 Unable to allocate NodePort 服务器GPU资源暂时不足 等2-3分钟重试,避开用人高峰
终端被 vLLM 占满无法输命令 服务端一直运行是正常现象 新建第二个终端做推理测试

六、我的思考与收获

通过这次动手实践,我最大的收获不是"学会了怎么跑模型",而是把之前模糊的概念真正串联起来了:

  • 为什么要用云:本地没显卡,云端现成的 GPU 拿来即用
  • 为什么是 Gemma 4:开源可下载,40亿参数单卡跑得动
  • 为什么用 ModelScope:国内下载快,7分钟 vs 可能1小时
  • vLLM 的价值:它是让死文件变成活服务的引擎
  • 两个终端的设计:服务端 + 客户端,所有大模型API都是这个结构

最有意思的发现是:大模型"聪明"的底层,其实只是「概率预测下一个词」------而它的局限(幻觉)也正是这个机制的副产品。理解了这一点,就不会对 AI 既过度崇拜,也不会对它的偶尔出错感到奇怪了。

相关推荐
气泡水。6 小时前
RHCSA笔记实记
linux·笔记
祈禾7 小时前
Redis三大特殊数据类型
运维·服务器·数据库·redis·笔记·缓存
祈禾7 小时前
计算机组成原理之编译、汇编、链接、解释
开发语言·汇编·笔记·学习
知识分享小能手7 小时前
线性代数学习教程,从入门到精通,矩阵的初等变换与线性方程组(6)
学习·线性代数·矩阵
我命由我123458 小时前
四流一致(合同流、业务流、资金流、发票流)
经验分享·学习·职场和发展·求职招聘·职场发展·产品经理·学习方法
知识分享小能手8 小时前
线性代数学习教程,从入门到精通,矩阵的初等变换与线性方程组(5)
学习·线性代数·矩阵
s1ckrain9 小时前
XR笔记-Extended Reality核心概念总结
笔记·xr·具身智能
我的xiaodoujiao9 小时前
快速学习Python基础知识详细图文教程18--多线程
开发语言·python·学习·测试工具
AI Dog10 小时前
MathHub:数学建模学习社区,内置数学建模智能体Modulus
学习·数学建模·智能体·modulus·数学建模智能体
坐吃山猪10 小时前
WebFlux_学习Subscriber总结
java·开发语言·学习·webflux