
不用买显卡:用 Kaggle 双 T4
运行 DeepSeek-R1 32B
这次用 Kaggle 的两张 T4 运行 DeepSeek-R1 32B,再通过电脑上的 Chatbox 对话。下面按录屏整理步骤、脚本和遇到的 524 超时问题。
视频 12 分 27 秒;网页提供 1080p 预览,点击播放后加载。
1. 准备账号和客户端
没有 Kaggle 账号,先用邮箱注册。登录后点击右上角头像,进入个人页,再打开 Settings。也可以直接打开 账号设置。
按页面提示完成 Phone verification 和需要的 Identity verification。本次使用大陆手机号完成了验证;如果页面要求 Persona 核验,用手机扫码,按提示操作。
查看录屏中的账号验证状态

这段录屏展示的是已完成验证的账号。实际验证要求、支持的证件和处理时间,以你账号显示为准。电脑端提前安装 Chatbox,后面选择自定义的 Ollama 服务。
2. 新建笔记本,开启双 T4
- 在首页进入 Notebooks → Create → New Notebook。
- 点击顶部 Settings → Accelerator → GPU T4 x2,按弹窗提示确认。
- 点击右上角启动按钮,等待会话启动。再在右侧设置里确认 Internet 为 On。

查看 GPU 配额确认弹窗

在 Code 单元格中执行下面的命令。前面的 ! 也要复制:
!nvidia-smi
成功标志:输出中出现两张 Tesla T4。本次环境每张显存约 16 GB;是否跨卡运行,稍后还要检查模型状态。
查看双卡检查结果

3. 复制脚本,下载模型
新建 Code 单元格,粘贴完整脚本。默认下载 deepseek-r1:32b。要换成 Qwen,就把 DeepSeek 那行前面加上 #,再去掉 Qwen 那行前面的 #,保留一个下载命令。
展开完整代码
%%bash
set -Eeuo pipefail
trap 'echo "运行失败:请查看上方错误,以及 /kaggle/working/ollama.log 和 cf.log。" >&2' ERR
cd /kaggle/working
# 先确认当前会话已分配 GPU,并开启 Internet。
nvidia-smi
apt-get update -qq
apt-get install -y -qq zstd pciutils lshw
curl -fsSL https://ollama.com/install.sh -o /tmp/install-ollama.sh
sh /tmp/install-ollama.sh
export CUDA_VISIBLE_DEVICES=0,1
export OLLAMA_HOST=127.0.0.1:11434
export OLLAMA_ORIGINS="*"
export LD_LIBRARY_PATH="/usr/lib64-nvidia:/usr/local/cuda/lib64:${LD_LIBRARY_PATH:-}"
if ! curl -fsS http://127.0.0.1:11434/api/version >/dev/null; then
nohup ollama serve > /kaggle/working/ollama.log 2>&1 &
fi
READY=0
for i in {1..60}; do
if curl -fsS http://127.0.0.1:11434/api/version >/dev/null 2>&1; then
READY=1; break
fi
sleep 2
done
if [ "$READY" -ne 1 ]; then
tail -n 30 /kaggle/working/ollama.log
exit 1
fi
# 与视频一致,先生成临时隧道地址,再下载模型。
# 此演示接口没有访问认证,不要公开或分享地址;用完停止会话。
curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared
nohup cloudflared tunnel --url http://localhost:11434 --http-host-header="localhost:11434" > /kaggle/working/cf.log 2>&1 &
URL=""
for i in {1..30}; do
URL=$(grep -o 'https://[-a-z0-9]*\.trycloudflare\.com' /kaggle/working/cf.log | head -n 1 || true)
[ -n "$URL" ] && break
sleep 2
done
if [ -z "$URL" ]; then
echo "未取得隧道地址,请查看日志:"
tail -n 30 /kaggle/working/cf.log
exit 1
fi
echo "临时 API 地址:$URL"
echo "先等下面的模型下载完成,再到 Chatbox 获取模型列表。"
# 保留一条下载命令:不用的行以 # 开头。
ollama pull deepseek-r1:32b
# ollama pull qwen2.5:7b
ollama list
echo "模型下载完成。可以在 Chatbox 中选择模型并提问。"
下载脚本文本
点击单元格左侧的运行按钮。脚本先安装并启动 Ollama,再显示 https://…trycloudflare.com 临时地址,随后下载模型。地址出现后,还要等模型下载完成。本次下载进度一度显示约 770 MB/s,速度会随网络和平台状态变化。
此演示隧道没有访问认证。不要公开或分享 API 地址,也不要把它当作长期在线服务;用完停止会话。
4. 在 Chatbox 中连接模型
- 打开 Chatbox 设置,模型提供方选择 Ollama。
- 把脚本输出的完整隧道地址填入 API 主机。
- 点击获取模型列表。看到
deepseek-r1:32b后,关闭设置,新建对话并选择它。

先问一个短问题,确认能够回复:
请解释 CPU/GPU 的区别,面向初学者,分 3 条,每条不多于 50 词。
成功标志:模型列表能读到刚才下载的模型,并能收到实际回答。
5. 首次加载与 524 超时
这次第一次提问出现了 524。下载完成,只说明模型文件已经在磁盘上。首次提问还需要加载模型、准备推理;如果等待过长,就可能触发 Cloudflare 的响应超时。524 本身不能单独证明一定是模型加载导致。
查看本次出现的 524 报错

视频里先点了重试,再回到 Kaggle 执行以下两条命令,确认后台状态:
!ollama ps
!nvidia-smi

本次 ollama ps 显示 97% GPU,两张卡都有显存占用,说明模型主要在 GPU 上运行。这个百分比不是 GPU 实时利用率,也不代表两张卡变成了一张显卡。
第二问把要求改成每条不多于 150 词,响应比第一次更快。模型尚在内存中,省去了首次加载的等待;这不代表每次都能立即出答案。Ollama 默认空闲一段时间后会卸载模型。
6. 用完停止会话
回到 Kaggle,点击右上角 Stop Session。再点头像,查看账号菜单中的剩余 GPU 配额。本次测试后页面显示约 29 小时;额度和重置时间以你自己的账号为准。
遇到问题时,先检查这里
| 现象 | 检查方法 |
|---|---|
| GPU 不可选 | 查看账号验证、剩余额度及当前资源供应。Quota Exceeded 先查配额。 |
| 安装或下载失败 | 确认 Internet 已开启,查看单元格中的报错。不要在下载未完成时继续连接。 |
| 没生成隧道地址 | 查看 !tail -n 30 /kaggle/working/cf.log;确认网络连通。 |
| 模型列表为空 | 运行 !ollama list,确认下载完成;核对 API 主机地址。 |
| 持续出现 524 | 先查看 ollama ps、GPU 状态和 ollama.log。加载完成后再试一次,避免连续重复提交。 |
本页截图与运行结果来自 V7 录屏。整理版脚本增加了启动等待和失败提示,尚未在新的 Kaggle 会话中重新运行。
参考资料:Kaggle Notebooks / Ollama FAQ / Cloudflare 524