























核心摘要 (TL;DR)
- 痛点:Colab 免费额度耗尽,或者单张 T4 显存(16GB)无法满足更大参数模型的微调需求。
- 方案:利用 Kaggle 提供的 每周 30 小时免费双路 T4 GPU (T4 x2) 算力。
- 技巧:通过 手机号验证 解锁联网权限,利用 Kaggle Datasets 实现模型的持久化存储。
- 目标:作为 Colab 的强力替补(甚至上位),搭建备用云端炼丹环境。
上一篇中,本来想直接写到Google Colab的大模型推理脚本,让各位友人们感受一下在全参数7B模型的能力,但是折腾了很久,Colab读driver老是失败,当我想直接下载到云端主机而不是driver的时候,GPU的额度已经耗尽。索性今天在Kaggle的这篇博文中来讲,应该之后也主要用Kaggle来进行云端开发,毕竟Colab额度少,还得盯着,长时间不看会断掉连接。
好,我们来先介绍一下今天的主角,Google 旗下的另一个神器:Kaggle。Colab如果说其本职就是模型训练,那Kaggle本身其实是一个数据科学的竞赛平台,毕竟是数据科学竞赛嘛,那自然得需要算力资源,Kaggle为了方便,也发挥了谷歌大善人的优良品质,免费提供了大方的计算资源。跟Colab对比起来,Kaggle的优势就是,更稳定,更方便,资源给的额度更多。
Kaggle 的核心编程环境叫 Kernels (现在统称 Notebooks),不用害怕,诶,它就是我们昨儿刚认识的熟人云端服务器版的Jupyter Notebook,但是和Colab不太相同的是Kaggle的文件结构,它明显得区分了输入区域,输出区域,暂存区域, 这是也我们刚上手容易懵的地方:
/kaggle/input):只读区域。这里存放咱们上传的数据集或挂载的模型。读取速度极快,但无法写入。/kaggle/working):可读写区域。这是咱们的主工作区,代码运行结果、下载的模型必须存在这里。但注意,重启 Session 后,这里的内容如果不保存为 Dataset 也会消失。/kaggle/temp):临时暂存区。空间较大(只有当前会话有效),适合下载解压临时的大文件。
我们新用户登录创建notebook后会发现,我们没有硬件加速设备可选。

根本原因就是咱们没有进行手机验证,哈哈哈,可以理解,毕竟本身kaggle就不用绑卡,加上手机验证可能会杜绝掉一大部分计算资源滥用。

认证完毕就可以使用GPU资源了

如果继续做了Identity verification之后,可以使用TPU资源,不过我们暂时用不到,目前的GPU资源已经够咱们大玩一场了。

注意,


Kaggle 默认环境是 CPU 且 断网 的。我们需要手动“解除封印”。
可以按照刚才说的在顶部菜单栏打开,也可以在右侧边栏的 Session Options 中,找到 Internet 选项。将开关拨到 On。
注意:如果没有手机验证,此选项为灰色不可用。
在右侧边栏找到 Accelerator。
下拉选择 GPU T4 x2。
开启后,顶部会显示 Session Storage 和 GPU Quota(每周 30 小时额度,通常周六刷新)。
点击自己的头像,可以看见自己的额度GPU Quata

输入并运行以下代码,确认我们是否真的拥有了两张显卡:
1 | !nvidia-smi |
咱们应当能看到 两张 Tesla T4 显卡的列表 (GPU 0 和 GPU 1)。

在 Kaggle 上使用模型主要有两种“流派”:代码下载派 和 原生挂载派。
这种方式最灵活,适合需要精确控制模型版本的情况。由于 Kaggle 没有 Google Drive,我们将模型下载到 /kaggle/working/ 目录。
步骤 1:安装与配置
1 |
|
点击顶部菜单 Add-ons -> Secrets,添加 HF_TOKEN(咱们的 HuggingFace 访问令牌)。
步骤 2:下载脚本
1 | import os |

这是 Kaggle 最强大的功能。咱们可以直接在网页端搜索现成的模型,像挂载 U 盘一样挂载进来,不消耗下载流量和时间。
Qwen2.5。

/kaggle/input/ 目录下(只读),路径通常长得像 /kaggle/input/qwen2.5/transformers/7b-instruct/1。拥有双卡 T4 后,加载模型时有一个关键参数:device_map="auto"。它会自动将模型切分到两张显卡上,从而让我们能运行更大的模型。
1 | import torch |
Kaggle 没有 Google Drive,那怎么保存下载好的模型或训练结果呢?
答案:把 Output 变成 Dataset。
当咱们的代码运行完毕,模型保存在 /kaggle/working 后。
点击右上角的 Save Version 按钮。
选择 Save & Run All (重新跑一遍),必须等到下方弹出的保存任务完成。

保存成功后,咱们可以去主页的Your Work点击刚才的Notebook,进入Output 标签页里,点击最右边的Output的三个点,然后点击 New Dataset。

这样,我们刚才的模型就变成了一个可以在其他 Notebook 里直接 Add Input 的数据集了!
PS:除开自训练的特殊模型和一些在Input找不到的模型,最好都直接使用Input导入更为快捷
Q: Colab 和 Kaggle 我该选谁?
A:
Q: 为什么我的代码报错 Internet connection is closed?
A: 这是一个经典错误。请检查右侧边栏的 Internet 开关是否为 On。如果开关是灰色的,请检查是否完成了账号的 手机号验证。
Q: /kaggle/working 里的文件重启后还有吗?
A: 没有了。Kaggle 的 Session 也是临时的。如果需要持久化,请务必使用 Save Version 功能将其保存为 Dataset,或者在代码最后加一段上传到 HuggingFace Hub 的代码。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。