云端炼丹房 2:Kaggle 上手指南 . Kaggle Notebooks 核心概念Kaggle 的核心编程环境叫Kernels (现在统称 Notebooks),不用害怕诶它就是我们昨儿刚认识的熟人云端服务器版的Jupyter Notebook,但是和Colab不太相同的是Kaggle的文件结构它明显得区分了输入区域输出区域暂存区域, 这是也我们刚上手容易懵的地方:Input (/kaggle/input)只读区域。这里存放你上传的数据集或挂载的模型。读取速度极快但无法写入。Output (/kaggle/working)可读写区域。这是你的主工作区代码运行结果、下载的模型必须存在这里。但注意重启 Session 后这里的内容如果不保存为 Dataset 也会消失。Temp (/kaggle/temp)临时暂存区。空间较大只有当前会话有效适合下载解压临时的大文件。2. 快速上手注册与“解锁”2.1 注册与关键验证 (必做)我们新用户登录创建notebook后会发现我们没有硬件加速设备可选。根本原因就是咱们没有进行手机验证哈哈哈可以理解毕竟本身kaggle就不用绑卡加上手机验证可能会杜绝掉一大部分计算资源滥用。访问 Kaggle 官网 并注册账号。关键步骤点击右上角头像 -Settings。找到Phone Verification手机验证。必须完成这一步否则无法开启 GPU 和 Internet联网功能。认证完毕就可以使用GPU资源了如果继续做了Identity verification之后可以使用TPU资源不过我们暂时用不到目前的GPU资源已经够咱们大玩一场了。2.2 创建笔记本点击左侧菜单栏的Create-New Notebook。进入编辑器界面你会发现界面布局比 Colab 更加紧凑且功能分区明确。2.3 界面布局速览工作区位于右侧显示了Input-我们的挂载资源上传的数据集和模型等等Output-我们输出的结果资源。notebook内容速览,以及下面的session options环境快捷配置等等快捷操作栏 在代码区上方和Colab差别不大可以快速运行插入单元格复制粘贴等等代码区和Colab一样, 标准的 Jupyter 单元格。注意和Colab不一样的是Kaggle的文件名没有后缀不用加ipynb后缀咱们的硬件加速GPU/TPU计算资源被放到了顶部菜单栏的Settings中的accelerator中了和Colab不同因为Kaggle是为竞赛服务很多竞赛是要求模型不联网的所以我们在训练模型的时候需要手动开启网络也在顶部菜单栏的Settings中点击Turn On Internet打开即可联网下载模型或者数据集。密钥管理被放到了顶部菜单栏的Add-ons下了3. 环境配置开启双显卡与联网Kaggle 默认环境是CPU且断网的。我们需要手动“解除封印”。3.1 开启联网 (Internet On)可以按照刚才说的在顶部菜单栏打开也可以在右侧边栏的Session Options中找到Internet选项。将开关拨到On。注意如果没有手机验证此选项为灰色不可用。3.2 开启 GPU 加速 (T4 x2)在右侧边栏找到Accelerator。下拉选择GPU T4 x2。GPU T4 x2两张显卡约 30GB 显存适合大模型推理和微调。GPU P100单张旧架构卡虽然速度快但显存仅 16GB通常不推荐。开启后顶部会显示Session Storage和GPU Quota每周 30 小时额度通常周六刷新。点击自己的头像可以看见自己的额度GPU Quata3.3 验证双卡环境输入并运行以下代码确认我们是否真的拥有了两张显卡!nvidia-smi你应当能看到两张Tesla T4 显卡的列表 (GPU 0 和 GPU 1)。4. 实战下载并运行大模型在 Kaggle 上使用模型主要有两种“流派”代码下载派和原生挂载派。方式一利用 HuggingFace CLI 下载 (工程化推荐)这种方式最灵活适合需要精确控制模型版本的情况。由于 Kaggle 没有 Google Drive我们将模型下载到/kaggle/working/目录。步骤 1安装与配置# Kaggle 预装库很多但 transformers 版本可能滞后建议更新 !pip install -U transformers huggingface_hub accelerate bitsandbytes点击顶部菜单Add-ons-Secrets添加HF_TOKEN你的 HuggingFace 访问令牌。步骤 2下载脚本import os from huggingface_hub import login, snapshot_download from kaggle_secrets import UserSecretsClient # 1. 登录 (自动读取 Secrets) user_secrets UserSecretsClient() hf_token user_secrets.get_secret(HF_TOKEN) login(tokenhf_token) # 2. 定义下载路径 (注意必须在 /kaggle/working 下) model_dir /kaggle/working/model_cache os.makedirs(model_dir, exist_okTrue) # 3. 下载模型 model_id Qwen/Qwen2.5-7B-Instruct print(f开始下载 {model_id} ...) # Kaggle 建议下载实文件 (local_dir_use_symlinksFalse) snapshot_download( repo_idmodel_id, local_dirmodel_dir, local_dir_use_symlinksFalse, tokenhf_token ) print(下载完成)方式二Add Input (Kaggle 原生方式)这是 Kaggle 最强大的功能。你可以直接在网页端搜索现成的模型像挂载 U 盘一样挂载进来不消耗下载流量和时间。点击右侧边栏的Add Input。选择Models标签页。搜索Qwen2.5。点击号添加。选择FRAMEWORK选择Transformers架构, VARIATION选择7b-instruct, 之后的博文会跟各位友人解释这些参数的差别模型会直接出现在/kaggle/input/目录下只读路径通常长得像/kaggle/input/qwen2.5/transformers/7b-instruct/1。5. 加载模型与双卡推理拥有双卡 T4 后加载模型时有一个关键参数device_mapauto。它会自动将模型切分到两张显卡上从而让我们能运行更大的模型。import torch from transformers import AutoTokenizer, AutoModelForCausalLM # 路径根据你的下载方式调整 # 方式一路径: /kaggle/working/model_cache # 方式二路径: /kaggle/input/qwen2.5/transformers/7b-instruct/1/ (具体可以运行默认创建的第一个单元格查看input目录结构,到能看见config.json的目录即可) model_path /kaggle/working/model_cache print(正在加载模型 (双卡模式)...) tokenizer AutoTokenizer.from_pretrained(model_path, trust_remote_codeTrue) # 关键device_mapauto 会自动利用两张 T4 model AutoModelForCausalLM.from_pretrained( model_path, device_mapauto, torch_dtypetorch.float16, trust_remote_codeTrue ) print(f模型加载成功显存分布: {model.hf_device_map}) # 测试对话 prompt 你好请用一句话形容 Kaggle 的双 T4 显卡有多香 messages [{role: user, content: prompt}] text tokenizer.apply_chat_template(messages, tokenizeFalse, add_generation_promptTrue) inputs tokenizer([text], return_tensorspt).to(model.device) with torch.no_grad(): generated_ids model.generate(**inputs, max_new_tokens200) response tokenizer.batch_decode(generated_ids, skip_special_tokensTrue)[0] print(fQwen: {response.split(assistant)[-1].strip()})6. 进阶如何持久化保存(Save Version)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导入更为快捷7. 常见问题 (QA)Q: Colab 和 Kaggle 我该选谁A:Colab: 适合快速实验、挂载 Google Drive 方便。但 T4 只有一张且最近封号较严。Kaggle: 适合需要大显存T4 x2的任务。环境更稳定且有 30 小时/周的明确额度不用担心用到一半被踢下线。Q: 为什么我的代码报错Internet connection is closedA:这是一个经典错误。请检查右侧边栏的Internet开关是否为 On。如果开关是灰色的请检查是否完成了账号的手机号验证。