目录
- 写在前面
- 一、先想清楚:你现在到底需不需要显卡
- 二、免费的路子:先把白嫖额度用满
- 2.1 Kaggle:白嫖党的大本营
- 2.2 Google Colab:有条件就用,没条件别硬上
- 2.3 百度AI Studio:国产免费里最能打的
- 2.4 魔搭ModelScope:大模型时代的福利
- 三、掏钱的路子:按小时租卡
- 3.1 这类平台怎么个玩法
- 3.2 为什么不推荐新手直接上阿里云腾讯云
- 3.3 学生党别忘了一个白嫖渠道
- 四、选卡的门道:先看显存,再看型号
- 五、烧钱的坑:都是我交过学费的
- 六、第一次租卡:从充值到关机的完整流程
- 七、什么时候该买自己的卡
- 写在最后
写在前面
后台被问得最多的问题之一,就是:博主,我没显卡,学AI是不是没戏了?
我第一篇讲开源项目的文章里写过一句话,入门阶段九成的东西,CPU都带得动,别让硬件劝退你。那篇文章发出去以后,评论区紧接着就来追问了:那剩下的一成呢?这篇就是回答这个问题的。剩下那一成,确实需要显卡,但显卡不一定非得是自己的。2021年我自己就是一台1060的笔记本入的门,6个G显存,天天跟爆显存作斗争。后来一段时间靠租云上的卡过渡,再后来才买的4090。也就是说,没卡、弱卡、租卡、买卡,这几个阶段我全亲身体验过一遍,这篇就按这个顺序讲。
先把结论放在最前面,给性子急的朋友:零成本起步去Kaggle白嫖,正经做项目去AutoDL这类平台按小时租,天天高频跑训练再考虑买卡。阿里云腾讯云那种大厂云,入门阶段先不用碰,它们是干别的用的,后面会讲。文里提到的价格全部是浮动的,以你打开页面时看到的为准,我只保证数量级是对的。
一、先想清楚:你现在到底需不需要显卡
很多新手其实根本没到需要显卡的阶段,钱就先花出去了。所以我习惯先问三个问题。
第一个问题:你在学什么?如果你还在过基础概念、跑sklearn、跟d2l的前几章,那么用不上GPU。sklearn那套东西压根不吃显卡,d2l前几章的模型CPU都能算。这个阶段租卡纯属浪费,卡在云端空转,你在屏幕前看教程。
第二个问题:你的模型有多大?MNIST这种级别的,CPU几分钟一个训练。yolov5s检测,一张图640的尺寸,8个G显存就够。Stable Diffusion出图,12G比较稳。7B的大模型做QLoRA微调,24G比较舒服。也就是说,需求不同,卡的档次差得很远,先知道自己要跑什么,再谈租什么。
第三个问题:你一周跑几次?这是最容易被忽略的一个。一周就周末跑两次实验的话,租卡一次几块钱,比什么都划算。要是你每天都要跑七八个小时,连续好几个月,那这笔账就要换个算法了,后面第七节专门算。
通常来说,新手的真实情况是:一半的人其实停在第一个问题就该继续用CPU,另一半人里的大多数,用免费额度就能对付过去。真正需要掏钱租卡的,是开始做毕设、做项目、接活的那批人。你自己对号入座一下。
二、免费的路子:先把白嫖额度用满
免费的东西优先讲,因为新手阶段真的够用。这几家我都长期用过,挨个说。
2.1 Kaggle:白嫖党的大本营
Kaggle是Google家的,网页上直接开notebook,选GPU就能跑。免费的卡是T4和P100,一周大约三十个小时的额度,用完等下周刷新。
三十个小时什么概念?你一周做两次作业,每次跑三四个小时,用不完。我一个学生去年整个学期的课程作业,全是Kaggle跑的,一分钱没花。注意开GPU之前要先把手机号验证过了,不然选项是灰的,这个小卡点不少人卡过。
Kaggle还有个特别大的隐藏优势,很多人不知道:数据集可以直接挂载。别人传好的公开数据集,你在notebook里一点,直接Attach上去,等于走的是它机房的内网,秒挂载。也就是说,你连上传数据这一步都省了。几百个G的公开数据集在上面躺着,做练习的话,大部分要用的数据它都有。
短板也得说:一次session最长十来个小时,到点就给你掐了,长训练得自己断点续训(就是上一篇排错文章里讲的checkpoint那套);而且国内访问它,网络要碰运气,时好时坏。
2.2 Google Colab:有条件就用,没条件别硬上
Colab也是Google家的,跟Kaggle算是亲戚,免费给T4。它的好处是跟Google Drive打通,数据存云盘里挂着跑。坏处跟Kaggle一样是网络问题,而且免费版 idle 断连挺勤快,你出去倒杯水回来,可能就重连上了。
我的看法:它能用就用,不能稳定访问就别跟它较劲,Kaggle的体验跟它差不多,没必要在一个平台上死磕。付费的Colab Pro就不推荐国内用户了,付钱都费劲。
2.3 百度AI Studio:国产免费里最能打的
百度飞桨的AI Studio,送算力点,算力点能开V100。V100这卡虽然老了点,16个G显存,跑练习和中小项目完全没问题。每天签个到领点,做任务也送,省着点用够日常学习。
要说缺点,就是它的地盘是飞桨的,PaddlePaddle系列的框架和环境配得最顺手,用PyTorch也能装,就是偶尔要折腾一下版本。你要是跟着我前面推荐的d2l学的PyTorch路线,在这上面多少要适应一下。反过来,你要学Paddle那套(比如跑PaddleOCR),这里就是主场了,我那几个PaddleOCR的活,前期试验就有在这上面做的。
2.4 魔搭ModelScope:大模型时代的福利
阿里达摩院的魔搭社区,这两年才起来的,上面有免费的GPU实例可以开notebook,额度每天刷新。它的定位跟前面几个不太一样,主打大模型,上面几千个模型,下载走国内网络,速度快得离谱。
还记得我第一篇文章里说的huggingface.co下载慢、要走镜像的事吗?在魔搭这边,很多热门模型直接就是国内源,你跑大模型的demo、做文本生成的实验,模型下载这步基本不闹心。免费额度跑demo够用,正好覆盖你学transformers那个阶段。
小结一下免费阵营:Kaggle是主力,AI Studio和魔搭是补充,Colab看缘分。把这三家的免费额度轮着用,学习阶段你能省下一大笔钱。有人担心换个平台环境就要重配,其实还好,这几家都支持在notebook里pip install,而且代码你走git同步(上一篇讲过,每天push一次的习惯这时候就体现价值了),哪个平台都是clone下来接着跑。
三、掏钱的路子:按小时租卡
免费额度不够用了,恭喜,说明你已经开始干正事了。这个阶段的主战场是国内的GPU租用平台,头部的叫AutoDL,同类还有恒源云、矩池云这些。我以AutoDL为主讲,因为它的模式最有代表性,而且我前两年租卡基本都在它家,踩的坑都在这。
3.1 这类平台怎么个玩法
模式很简单:平台机房里堆着几千张卡,你按小时租。注册,充钱,选卡,选一个系统镜像,开机。开机之后你得到一台带着GPU的Linux机器,网页里开JupyterLab直接用,也能SSH连上去命令行操作。用完关机,计费停止。
它跟自己电脑最大的区别,是镜像市场这个设计。开机的时候你直接选一个“PyTorch 2.1 + CUDA 12.1”这种现成镜像,开机即用,第二篇排错文章里那些装PyTorch装到怀疑人生的环节,在这上面根本不存在。对被环境折磨过的人来说,第一次开机进去import torch直接成功,那种感动是真实的。
价格的话,3090大概一块多一小时,4090两块上下,A100那种就要五六块往上了。地区不同价格略有浮动,一般同一张卡挑个有货的便宜区就行,差个一两毛没必要纠结。
3.2 为什么不推荐新手直接上阿里云腾讯云
这个问题肯定有人问,顺便在这说清楚。阿里云、腾讯云这些大厂也有GPU实例,为什么不推荐?
一是贵。同样的卡型,大厂按量计费的价格经常是租卡平台的好几倍,因为人家卖的是企业级的那套东西:稳定性、可用区、工单服务,这些溢价对学习阶段毫无意义。二是流程重。安全组、VPC、按量转包年……一套概念下来,新手光开通实例就要研究半天,租卡平台是充钱就能开机的逻辑。
大厂云什么时候用?你以后要做部署的时候。模型训完,要做成一个在线服务给别人用,要备案、要域名、要负载,那时候就是阿里云腾讯云的主场了。学习阶段记一句话就行:练手找租卡平台,上线才找大厂云。这也是这篇标题里“云平台选择”的真正答案,不是选哪家,是什么阶段用什么。
3.3 学生党别忘了一个白嫖渠道
在校生的话,先看看实验室和学校有没有算力资源。很多学校的实验室有服务器,学院可能还买了超算中心的额度,学生申请就给。这个渠道免费而且稳定,比什么平台都强。我当年没这个条件(我毕业好多年了,那会儿学校连GPU机房都没有),带的学生里有几个就是全程用实验室的卡,一分没花。
在职的也一样,先摸摸公司的底。不少公司有闲置的GPU服务器或者云上预算,跟管机器的同事搞好关系,下班后借点算力跑练习,很多公司根本不管这种小事。
四、选卡的门道:先看显存,再看型号
到了选卡页面,一排型号摆在那,新手容易懵。我的选法就两条,很好记。
第一条,显存是硬指标,一票否决。跑深度学习,显存不够就是不够,降batch、缩图片尺寸都是权宜,不影响你选卡时的判断。参考关系大概是这样:6-8个G,能跑跑小模型和yolov5s的小batch,体验跟我那台1060差不多,不推荐;16个G,大部分教学项目舒服跑,Stable Diffusion、中小检测模型都行;24个G,学习阶段的天花板,3090和4090都是这个数,跑7B模型微调、开大batch都从容;40G往上,A100那种,是全职搞模型的人用的,新手阶段不用看。
第二条,显存一样,选新的。3090和4090都是24G,但4090算力强一截,价格每小时贵几毛。跑教学项目的话3090完全够,省钱;跑密集实验、调大模型,4090那几毛钱花得值。我自己租的时候,跑yolo类就挑3090,跑大模型相关才上4090。
另外提一句竞价实例,就是页面标着“竞价”的那类,大概打对折。便宜是真便宜,但平台忙的时候会把你回收掉,训练说断就断。这种实例适合跑短实验和推理,长训练要用的话,checkpoint必须勤存——这又绕回第二篇排错文章说的存档习惯了,你看,这些事全是连着的。
五、烧钱的坑:都是我交过学费的
这节是全篇的精华,建议细看。租卡本身不贵,贵的是不当操作。以下几个坑,每个都真实发生在我或者我带的人身上。
坑一:忘了关机。我第一次租卡,周五晚上开了台3090跑实验,跑完看了眼结果挺满意,关掉浏览器就睡了。周一早上想起新主意,打开平台一看,实例还在那开着,空转了整整两天,账单一百多块。一百来块学费不算贵,但那个心情很难形容。从那以后我的流程是固定的:训练命令后面直接跟个自动关机,跑完自己关,不指望人的记性。
python train.py&&shutdown平台控制台里也有定时关机的选项,设置一下更稳。反正核心就一句:关机这个动作,永远交给机器,不交给人。
坑二:没搞清“关机”和“释放”。这两个词长得像,下场天差地别。关机是睡觉,机器停了,数据和环境都留着,下次开机接着用,只收一点数据存储费;释放是删号,机器还回池子,系统盘清零,里面的东西全没了。我交过这个学费的:有次顺手点了释放,配了一下午的conda环境、pip装的十几个库,全部蒸发。第二天重新配环境的时候,我在工位上沉默了很久。所以:短期不用,关机;确定不要,释放。释放之前,想想系统盘里还有没有东西没搬。
坑三:数据放错盘。这类平台一般分系统盘和数据盘,AutoDL的数据盘目录是 /root/autodl-tmp。系统盘跟着实例走,空间小;数据盘是单独计费的存储,容量大,有的平台关机后数据还能保留。正确姿势是:数据集、权重、checkpoint全放数据盘,代码和环境随缘。我的标准动作是开机第一件事cd /root/autodl-tmp,所有大文件默认落这里。
坑四:从家里往云端传数据,慢到怀疑人生。家用宽带上下行是不对等的,下行几百兆,上行可能就几十兆,一百个G的数据集往上传,理论时间一天起步。我有次传一批标注图,进度条走得我想砸键盘。后来学的乖,几个办法按优先级排:第一,用平台内置的学术资源加速,clone GitHub代码、拉模型文件走内网,速度翻几十倍,这个功能新手十个有九个不知道;第二,找公共数据集,Kaggle、魔搭、平台自带的市场里翻一翻,常用数据集大概率已经有了;第三,大文件的私有数据走网盘中转或者对象存储,比你直传快得多;第四,实在要传的小数据,scp走SSH:
scp-rP端口号 ./mydata root@你的实例地址:/root/autodl-tmp端口和地址在控制台能直接复制,别自己手打,打错一位都连不上。
坑五:checkpoint留在云端就不管了。云端的机器不是你的,关机、释放、平台故障,任何一个都可能让你的训练成果清零。我的习惯是训练脚本里checkpoint照存(第二篇讲的torch.save那套),然后每天收工前把最新的checkpoint拽回本地或者传到网盘。代码有git管着(第三篇讲的push习惯),数据盘有备份,人才能睡踏实。这套组合拳你串起来看,四篇文章其实讲的是同一件事:别把命运交给任何单台机器。
六、第一次租卡:从充值到关机的完整流程
这节给个手把手的流程,照着走,第一次就能顺顺利利。
第一步,注册充值。先充五十块试试水,够你玩很久,别一上来就充几百。学生认证一下,一般有优惠。
第二步,选卡。按第四节的门道选,第一次建议3090,24G显存,一小时一块多,试错成本很低。
第三步,选镜像。镜像市场里挑“Miniconda + PyTorch + CUDA”这种全家桶,版本跟你本地练的差不多就行。这一步是租卡平台最大的福利,等于环境问题整段跳过。
第四步,开机,验证。开机后控制台会给你一条SSH登录命令,长这样(示意):
ssh-p一串端口 root@region-xx.autodl.com复制到终端里敲回车,输密码就进去了。进去之后,老规矩,先跑一遍环境验证——这是第二篇排错文章里的最小验证,在云端同样适用:
importtorchprint(torch.__version__)print(torch.cuda.is_available())输出True,说明卡是真的分给你了,开干。
第五步,同步代码。代码走git。你在本地把代码push到GitHub,云端clone下来,改完再push回去。上云这件事,某种程度上就是检验你git用得熟不熟——第三篇要是认真跟了,这一步两分钟的事。
第六步,数据就位。公开数据走学术加速现拉,私有数据按第五节的办法传,统一放 /root/autodl-tmp。
第七步,先小跑两轮再放开。还是第二篇那个习惯:先跑两三个epoch,看看loss在动、显存没爆、速度正常,再上正式训练。云端每一分钟都是钱,别让它空转在错误配置上。
第八步,收工三连。存checkpoint,push代码,关机。这三下做完再合电脑,形成肌肉记忆。
整个流程第一次走下来大概半小时,熟练之后十分钟。之后你再开新实例,clone加载数据一气呵成,跟在本地没区别。
七、什么时候该买自己的卡
最后算这笔账。租卡一小时两块,看着便宜,但要是你跑得勤,账就不一样了。
我自己的情况供参考:前年有个阶段活比较多,天天要跑实验,每天平均四小时往上。按4090两块一小时算,一个月二百四十个小时,四百八十块。一年下来五千多,而且这还是在掐着表用的情况下,实际只会更多。那年的双十一我直接买了4090,一万三出头。粗算下来,每天四小时这个强度,大概三年多回本。我现在的使用强度,回本是早成的事实了。
所以我的建议分三档:
- 一周跑不了几次:继续租,或者免费额度就够,别买
- 每天几小时、持续半年以上能预见:可以开始看卡了,24G是底线,3090/4090这个档次
- 每天跑十小时以上、或者数据敏感不能上云:买,别犹豫
预算紧的话,二手3090是AI圈的经典选择,24G显存五六千块,性价比确实高。但二手卡水很深,矿卡翻新卡都有,要买就找靠谱渠道、问清楚保修,这钱省不得。我属于运气好的,4090首发抢的,用到现在没出过毛病。
还有一条路顺带提一下:买云主机的包月包年,比按量便宜。但我基本不推荐新手碰,包月绑定的是固定机型,你的需求三个月后一变,钱就押在那了。按小时计费的灵活性,对还在摸索的人来说就是最大的价值。
写在最后
捋一遍这篇的路:学基础,CPU够用;跑项目,Kaggle和AI Studio的免费额度先顶上;额度不够,AutoDL这类平台按小时租,3090起步;跑成了长期强度,再买卡;至于阿里云腾讯云,留到你做部署那天再研究。
四个阶段,四条路,没有一条是死路。我从一台1060起步,中间靠免费额度和租卡撑过了没钱的阶段,现在固定在4090上干活。硬件从来不是这行的门槛,想清楚自己现在在哪一步,才是。