MacBook Pro适合深度学习吗?
小白拿笔记本跑深度学习:你的 PyTorch 为什么用不了 GPU?
写于 2026-07 · PyTorch 2.11 / transformers 5.14 / CUDA 12.8 / RTX 5060 Laptop 正在报错、只想要直接查看答案的朋友,直接跳第三节。
一
第一篇文章写完之后,我其实一直在想一件事:光在脑子里过真不行,还是要放到电脑上动手。
我有一台游戏本,RTX 5060。课堂上学过 GPU 是专门为深度学习定制的,并行计算强,跟 CPU 各司其职,但这些都是背的。我很好奇,这块我打游戏用的显卡,真的能拿来跑深度学习吗?《动手学大模型》我真的能「动手」吗?
没想到第一个拦住我的,不是代码,不是模型,是显卡太新了。
二
先说结论,免得你看到后面担心自己的设备不够。
我的配置:RTX 5060 Laptop GPU,8G 显存。
跑的是 BERT-base 文本分类微调,1.1 亿参数,Kaggle 灾难推文数据集,6000 条训练数据。参数是 epoch=2,batch size=32。
两分钟跑完。验证集准确率 84.24%。

不是那种看起来很长、实际上自己也没跑过的「两分钟」。就是我在这台笔记本上,按下回车,刷几个视频,已经跑完了的那种两分钟。
这句「两分钟」我要诚实划界:这是入门第一课的门槛。7B 起步的大模型微调是另一个世界,本文讲的是想试试水的人能不能用自己手上的设备先跑起来。答案是能。
但是——两分钟就跑完,我为什么花了整整两天?
三
为深度学习而生的显卡,第一天就罢工了。而且是那种很狡猾的罢工——它让你以为一切正常,然后才悄悄告诉你不行。
第一层欺骗:它说「都 ok 了」
我把 CPU 版的 PyTorch 卸了,换 GPU 版:
conda install pytorch pytorch-cuda=12.1 -c pytorch -c nvidia终端刷刷翻了几页,最后一行:
# All requested packages already installed.没报错。它说都装好了。
但装好的是 CPU 版。conda 没说谎——它确实把所有包都装上了,只是那个版本的 PyTorch 默认不包含 CUDA 支持。它什么都没干,但让你在「没报错」的安全感里以为万事俱备。
而我当时不知道的是,这一步拖出去,后面跟了一串麻烦。
第二层欺骗:它说 True
卸了,换源,重装。这次每一步都盯着输出看。
打开 Python:
>>> import torch
>>> torch.cuda.is_available()
True看到 True 的那一刻,心里石头落地了。
但 True 只告诉你能找到显卡,没告诉你 PyTorch 认不认识它。这是我后面才明白的。
第三层欺骗:报错才暴露真相
跑 main.py。训练循环开始跑了,数据在处理,日志在翻滚——但一行黄色的 UserWarning 夹在里面:
UserWarning:
NVIDIA GeForce RTX 5060 Laptop GPU with CUDA capability sm_120 is not compatible
with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities
sm_50 sm_60 sm_61 sm_70 sm_75 sm_80 sm_86 sm_90.支持列表从 sm_50 数到 sm_90 就停了。我的卡是 sm_120。时差直接写在报错里。
RTX 50 系是 NVIDIA 的新 Blackwell 架构,旧版 PyTorch 不认识它。不是显卡不够好,是显卡太新了——新到框架还没跟上。
而且因为前面试了各种安装方式,pip 和 conda 混装已经把环境彻底搞坏了。Windows 上有两个 site-packages 目录:conda 放在 lib(小写 L),pip 放在 Lib(大写 L),包装进去互相看不见。第一个环境 llm 废掉了,只好重建 llm2。
说「第一天就罢工了」其实不准确——第一天全在跟环境较劲,真正跑到训练代码已经是第二天下午了。
解决方法(可抄作业)
如果你跟我的配置差不多——Windows、RTX 50 系、想跑 PyTorch——路线图是这样的:
- 建一个干净的 Python 3.12 虚拟环境
- 打开 PyTorch 官网,找到对应 CUDA 版本的 wheel,浏览器手动下载
- pip install 那个下载好的 .whl 文件
- 再装 transformers、datasets 这些周边库
我自己下载的是 torch-2.11.0+cu128-cp312-cp312-win_amd64.whl,2.75GB。让浏览器替 pip 承担下载这一步,它做这个比 pip 稳定。
四
两天里踩的所有坑,没有一个是「我不会深度学习」造成的。全是时差。
第一种:硬件时差。 显卡比框架新。你的硬件出厂了,但 PyTorch 还没来得及为它编译支持列表。这是 NVIDIA、PyTorch 和你的机器三者之间的时间差——你恰好处在了一个新架构刚出货的窗口期。
第二种:版本时差。 教程写下那天是对的,但你今天装已经是新版本了。我碰到的 transformers 5.x API 改动——Trainer(tokenizer=...) 变成了 Trainer(processing_class=...),batch_encode_plus 直接废弃了。文档还没来得及追上代码,你更不可能知道。
第三种:平台时差。 教程默认是 Linux,而我在 Windows 上跑。中文路径编码乱码、SSL 证书存储损坏、pip 和 conda 的 site-packages 大小写打架——这些坑在教程的 Linux 环境里根本不存在。它们不是你的错,是你的平台和教程的平台不一样。
所以不要因为这些报错就怀疑自己。《动手学大模型》这个项目本来就是给新手看的,我第一次跑的时候把常见的坑都踩了一遍。
给一个排查思路,以后也能用:
把报错原文复制下来去搜索 → 对一下版本坐标(硬件、库、教程分别是哪一年的)→ 判断是哪一种时差 → 找到正确版本的方案 → 再动手。这个方法在 AI 时代尤其好用——把报错原文喂给大模型,加上你的版本坐标,它能准确告诉你「这个 API 已废弃,新的用法是……」。(其实前期有些简单的准备我也是让 Claude 来帮我的。)
五
微调两分钟,环境两天。门槛不在你以为的地方。
所以你的笔记本到底能不能跑深度学习?
这一路试下来,两个问题的答案都很清楚了:
设备够吗? 够。一台普通的 8G 显存游戏本,两分钟跑完 BERT 微调,验证集 84%。与台式机的硬件差距不存在。
报错搞不定怎么办? 那些报错不是因为你不会深度学习——是硬件比框架新、版本比教程新、平台比示例特殊。你只需要知道这个事实,就能在报错面前多一分从容。
第一篇文章我写过一句话:「不在电脑上跑一遍,在脑子里跑一遍也行。」这句话有一半是对的——理论确实可以靠脑子想。但另一半必须动手——打开设备管理器,看看你的显卡型号。这是第零步,不花钱。
本文的代码项目、数据集及基础工作流程源自上海交通大学张倬胜老师团队的开源项目 《动手学大模型》(Dive into LLMs)。感谢这份面向初学者的优质教程,让我这样的新手也能真正「动手」。
