惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky
MyScale Blog
MyScale Blog
Jina AI
Jina AI
B
Blog
Microsoft Security Blog
Microsoft Security Blog
T
Troy Hunt's Blog
博客园_首页
T
Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
GbyAI
GbyAI
T
Tenable Blog
B
Blog RSS Feed
S
Securelist
T
Threat Research - Cisco Blogs
P
Privacy International News Feed
P
Proofpoint News Feed
T
The Exploit Database - CXSecurity.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
C
CXSECURITY Database RSS Feed - CXSecurity.com
罗磊的独立博客
AWS News Blog
AWS News Blog
V
V2EX
宝玉的分享
宝玉的分享
J
Java Code Geeks
小众软件
小众软件
Spread Privacy
Spread Privacy
腾讯CDC
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
V
Visual Studio Blog
The Hacker News
The Hacker News
C
CERT Recently Published Vulnerability Notes
Project Zero
Project Zero
Know Your Adversary
Know Your Adversary
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
NISL@THU
NISL@THU
C
Check Point Blog
Webroot Blog
Webroot Blog
D
DataBreaches.Net
Cloudbric
Cloudbric
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家

阿尔的代码屋 | 全栈技术笔记

在 Android Termux 环境下安装 Hermes Agent 的踩坑与完美解决实践 开发日志| 阿尔的代码屋 VS Code 连接 WSL 精确每 10 分钟掉线 排坑笔记 | 阿尔的代码屋 Android 模拟器代理联网与 No Internet WiFi 锁死排坑笔记 | 阿尔的代码屋 [object Object] typing_extensions 有用(四):使用 TypeIs 替代危险的 cast,做最严谨的类型收窄 | 阿尔的代码屋 GoRouter 结合 Isar 运行 Widget 测试并发/粘性线程死锁卡死排坑笔记 | 阿尔的代码屋 typing_extensions 有用(三):使用 Unpack 结合 TypedDict 给 **kwargs 装上透视眼 | 阿尔的代码屋 typing_extensions 有用(二):使用 @override 打造重构代码时的“防呆神器” | 阿尔的代码屋 Flutter 并发测试踩坑实录 - IsarCore 动态库下载冲突与 Widget 测试 HTTP 拦截全链路解决 | 阿尔的代码屋 typing_extensions 有用(一):使用 Self 终结继承时的类型推断灾难 | 阿尔的代码屋 基于 Cloudflare Pages 的纯前端 WebAssembly 应用自动化部署实践 | 开发日志 | 阿尔的代码屋 基于 VS Code 远程开发的 GPU Docker 容器自动清理方案实践 开发日志| 阿尔的代码屋 Patrol iOS 集成测试排坑实录 - xcodebuild exit code 70 全链路解决 | 阿尔的代码屋 Flutter E2E 测试从 integration_test 迁移到 Patrol - 实践笔记 | 阿尔的代码屋 Linux/macOS 下 micromamba 报错 Shard Index not available 与极度卡顿 排坑笔记 | 阿尔的代码屋 critical libmamba Shell not initialized micromamba报错 subprocess 无法修改父 Shell - 排坑笔记 | 阿尔的代码屋 VS Code Remote-SSH: 彻底告别重复输入密码 - 排坑笔记 | 阿尔的代码屋 Git 报警: inexact rename detection was skipped - 排坑笔记 | 阿尔的代码屋 解决群晖 NAS SSL 证书自动部署难题 | 阿尔的代码屋 Windows 下 Git error: fatal: refusing to work with credential missing host field - 排坑笔记 | 阿尔的代码屋 VS Code 调试 Python 第三方库源码的配置 - 开发技巧| 阿尔的代码屋 VS Code Remote Tunnels本地连接调试Kaggle GPU - 开发技巧| 阿尔的代码屋 Windows下Git error: open(xxxx) Filename too long - 排坑笔记 | 阿尔的代码屋 记录2026年零预约港卡开户实录避坑 告别孤岛:拥抱 MCP 协议,为大模型打造标准“USB 接口” - 大模型实战 08 完结篇 | 阿尔的代码屋 从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体 - 大模型实战 07 额外篇 | 阿尔的代码屋 基于 LlamaIndex ReAct 框架手搓全自动博客监控 Agent - 大模型实战 07 | 阿尔的代码屋 在 Kaggle 上用 Unsloth 极速微调 Qwen3 - 大模型实战 06 | 阿尔的代码屋 大模型微调实战详解 - 大模型实战 05 | 阿尔的代码屋 基于 ChromaDB 打造工程级 RAG 系统 - 大模型实战 04 | 阿尔的代码屋 拆解 Transformers 原理与图解 - 大模型实战 03 | 阿尔的代码屋 云端炼丹房 2:Kaggle 上手指南 - 大模型实战 03预备 | 阿尔的代码屋 Open WebUI 部署与 RAG 实战 - 大模型实战 02 | 阿尔的代码屋
云端炼丹房:Google Colab 免费 GPU 上手指南 - 大模型实战 03预备 | 阿尔的代码屋
Algieba · 2026-01-21 · via 阿尔的代码屋 | 全栈技术笔记

核心摘要 (TL;DR)

  • 痛点:本地电脑显存不足,跑不动 7B 以上的大模型,或者运行速度如蜗牛。
  • 方案:利用 Google Colab 提供的免费 Tesla T4 GPU 算力。
  • 技巧:通过挂载 Google Drive,解决 Colab 运行时重置导致模型文件丢失的问题。
  • 目标:配置好云端环境,为下一篇“云端运行 RAG”打好地基。

前言

Ollama因为有llama.cpp库和量化技术的加成,是可以在cpu和更日常的电脑上运行的,但是性能是远比不上在专业的显存设备上的。
有高端显卡(NVIDIA 4090/5090/A100/H100),可以在自己的服务器上脱缰运行小规模的大模型。但是对于没有高端显卡设备的友人们也不用担心, 我们可以使用谷歌大善人带给我们的免费GPU算力:爱来自Google Colab。 本篇博文的主要目的就是提前带各位友人们从零上手Colab的核心操作,确保在我们后续的实战过程中的流畅操作。

一言概之,Google Colab = Jupyter Notebook + 云端服务器

  • Jupyter Notebook:我们知道python是一门动态脚本语言,意味着我们可以一边编写,一边以交互式的方式看到当前结果,然后还能继续往下写。Jupyter Notebook就是一种可以一边写代码,一边写文档,还能实时看到代码运行结果的交互式笔记。
  • 云端服务器:区别于在我们本地环境写代码时,代码在我们的本地电脑,换一台电脑就需要重新拉取代码运行,在云端服务器编码是在远程的服务器编码,我们通过自己的电脑,甚至手机或者任何能联网打开浏览器的设备,连接上远程的那台服务器进行代码编写和模型训练。会更为灵活,不受设备限制。

2. 快速介绍

2.1 访问与创建

  1. 咱们确保有一个Google账户,并且登录
  2. 访问Google Colab 官网,就会进入到一个欢迎界面
  3. 点击菜单栏上File->new notebook in drive创建新的笔记本

2.2 界面介绍

在新的notebook界面,我们可以看到

3. 核心操作

在界面介绍时,咱们快速介绍了一下两种单元格:代码块文本块,接下来可以稍微多了解一点点这两种单元格

3.1 代码块

就是我们的主力战场,编写Python代码的地方,可以快速体验一下使用流程

  • 直接输入python代码,然后点击运行(那个▶按钮或者使用快捷键 Shift + Enter
  • 可以看到代码块左侧有一个[1],一个绿色的√,代码块下方有输出的打印结果
    前面的序号标明代码块的执行顺序,因为我们可以乱序执行,执行完下方代码块再回来执行前面的代码块

3.2 文本块

jupyter notebook是支持直接渲染markdown格式的文档的,所以也有人直接用它当文档。相比于我们用注释去记录,markdown格式的文本块会更直观。

4. 开启免费GPU算力

默认状态下Colab是使用的CPU,我们接下来去开启GPU

  • 点击顶部菜单栏的Runtime(运行时)下拉菜单中的Change runtime type(更改运行时类型)

  • 选择Hardware accelerator(硬件加速器)T4 GPU.

  • 弹出的窗口警告我们会断联当前运行时,切换到T4GPU的硬件,选择OK

  • 保存,然后会发现之前运行过的代码块失活了(前面框框里的数字消失了,所有运行过的代码块需要重新运行)

  • 我们来输入以下代码验证

1
!nvidia-smi

从返回的表格结果中,能看到咱们的设备是TeslaT4。

在notebook代码块中以!开头即可运行命令,这里等效为在terminal中运行nvidia-smi
PS:除了切换文件夹得用%cd而不是!cd

5. 下载大模型

我们使用Colab主要是为了使用大模型以及训练大模型,对于Colab而言,模型的下载有个痛点:Colab是临时的,哪怕我们通过命令下载了好几个G的模型,甚至好几十G的模型,但是每次重置运行时的时候,这一切都会灰飞烟灭,消散如烟。为了避免每次都重新下载,浪费时间,我们可以通过挂在Google Drive来保存模型。

5.1 挂载Google Drive

  1. 我们运行以下代码
1
2
from google.colab import drive
drive.mount('/content/drive')
  1. 然后在弹出授权窗口中授权
  2. 就能在代码块下方看见已经成功挂载的打印信息

5.2 配置HuggingFace环境变量和Token

在下载受限模型(如 Llama 3)时,咱们需要 Hugging Face Token。

  1. Hugging Face Settings 获取 Token。
  2. 在 Colab 左侧钥匙图标(Secrets)里添加 HF_TOKEN

5.3 指定缓存路径下载

因为咱们在Colab环境,是国外的魔法环境,我们可以直接使用hugging face来下载模型,我们接下来指定一下模型下载的缓存路径到挂载的Google Drive。

  1. 咱们先切回CPU环境,因为下载模型并不需要GPU,切回去可以节约一点咱们的额度。
  2. 输入以下代码然后运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from google.colab import drive
import os


if not os.path.exists('/content/drive'):
drive.mount('/content/drive')


cache_dir = "/content/drive/MyDrive/huggingface_cache"
os.makedirs(cache_dir, exist_ok=True)



my_token = os.getenv('HF_TOKEN') or ""

print("屏幕可能会静止 5-10 分钟,请盯着左边的小圆圈转动即可。")

cmd = f"huggingface-cli download Qwen/Qwen2.5-7B-Instruct --cache-dir {cache_dir} --quiet"
if my_token:
cmd += f" --token {my_token}"


result = os.system(cmd)

if result == 0:
print("\n 下载成功!")
else:
print("\n 下载失败,请检查网络或 Token。")
  1. 然后运行下面的命令检验模型是否下载完毕
1
2
3
4


!du -sh /content/drive/MyDrive/huggingface_cache/models--Qwen--Qwen2.5-7B-Instruct

看到的结果应该是15G大小的文件

一般情况下,建议模型下载和数据处理都在CPU模式下进行,然后处理完毕存入云盘. 4. 然后新建代码块,运行如下代码,来确认模型是否能够被识别

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import os
import glob
from transformers import AutoConfig, AutoTokenizer


base_cache_path = '/content/drive/MyDrive/huggingface_cache'



snapshot_pattern = os.path.join(
base_cache_path,
"models--Qwen--Qwen2.5-7B-Instruct",
"snapshots",
"*"
)


found_folders = glob.glob(snapshot_pattern)

if not found_folders:
print(" 错误:找不到 snapshots 文件夹,请检查下载是否成功或路径是否正确。")
else:
local_model_path = found_folders[0]

print(f"锁定本地模型路径: {local_model_path}")
print("正在尝试直接加载...")

try:
config = AutoConfig.from_pretrained(local_model_path)
tokenizer = AutoTokenizer.from_pretrained(local_model_path)

print("\n成功!模型可以被正确加载。")
print(f"模型隐藏层维度: {config.hidden_size}")
print(f"词表大小: {tokenizer.vocab_size}")

except Exception as e:
print(f"\n加载依然失败。可能是 Google Drive 的软链接失效了。")
print(f"错误信息: {e}")

05. 常见问题 (Q&A)

Q: CPU 和 GPU 跑大模型,性能差异到底有多大?
A: 差异巨大,就像法拉利拖拉机的区别。

  • CPU (中央处理器):像一个知识渊博的教授,计算能力强但只能一个一个任务串行处理。推理大模型时,它需要逐个计算矩阵乘法,生成一个字可能需要好几秒。
  • GPU (图形处理器):像一个由几千名小学生组成的方阵,虽然单人能力不如教授,但能同时进行大规模并行计算。大模型的本质是海量的矩阵运算,GPU 可以瞬间完成,生成速度通常是 CPU 的几十倍甚至上百倍。

Q: 那一台 RTX 4090 能运行多大的模型?能微调多大?
A: RTX 4090 拥有 24GB 显存,这是核心瓶颈。

  • 推理 (运行)
    • 4-bit 量化:显存占用 ≈ 参数量 × 0.7。4090 极限可以跑 30B - 34B 参数的模型(如 Yi-34B-Chat-Int4)。
    • 全精度 (FP16):显存占用 ≈ 参数量 × 2。4090 最多跑 10B - 12B 参数的模型。
  • 微调 (训练)
    • 全量微调:想都不要想,需要几百 GB 显存。
    • LoRA / QLoRA (轻量微调):这是咱们个人玩家的主流。4090 可以轻松微调 7B - 10B 的模型。

Q: 动态脚本语言 (Python) 和常规预编译语言 (C++/Java) 有什么区别?
A:

  • 预编译语言 (C++/Java):像写书。写完一整本书(代码),送去印刷厂(编译),最后出来成品书(可执行文件)。执行速度快,但修改麻烦,改一个字要重新印刷。
  • 动态脚本语言 (Python):像聊天。咱们说一句(写一行代码),解释器就执行一句。虽然执行速度稍慢,但胜在交互性极强。在数据科学和 AI 领域,我们需要频繁查看数据的中间结果(比如查看模型输出的张量形状),Python 的这种特性让它成为了 AI 领域的霸主。

Q: Colab 里的 T4, A100, TPU 都有什么差别?
A:

  • T4 (免费版标配):入门级推理卡,16GB 显存。跑 7B 模型推理没问题,微调 QLoRA 勉强够用。咱们薅羊毛主要就薅它。
  • A100 (付费版):顶级计算卡,40GB/80GB 显存。速度极快,显存极大,适合跑大参数模型或进行严肃的训练任务。Colab Pro/Pro+ 才能刷到。
  • TPU (Tensor Processing Unit):Google 专门为机器学习定制的芯片,处理矩阵运算比 GPU 更快,但生态和兼容性(PyTorch 支持)不如 Nvidia GPU 通用,上手门槛稍高。