深度学习一块GPU都没有,怎么做项目研究?

文摘   2024-11-05 08:00   浙江  
近期文章回顾(更多热门文章请关注公众号与知乎Rocky Ding哦)

写在前面

WeThinkIn最新福利放送:大家只需关注WeThinkIn公众号,后台回复“简历资源”,即可获取包含Rocky独家简历模版在内的60套精选的简历模板资源,希望能给大家在AIGC时代带来帮助。

AIGC时代的《三年面试五年模拟》算法工程师求职面试秘籍(持续更新)独家资源:https://github.com/WeThinkIn/Interview-for-Algorithm-Engineer/tree/main

Rocky最新发布Stable Diffusion 3和FLUX.1系列模型的深入浅出全维度解析文章(持续更新),点击链接直达干货知识:https://zhuanlan.zhihu.com/p/684068402


以下章来源于微信公众号:小白视觉

作者:小白视觉

本文仅用于学术分享,如有侵权,请联系台作删文处理

导读
巧妇难为无米之炊,一块GPU都没有还要把深度学习搞起来,这可能让一些同学难为坏了。来看看其他同学怎么做的吧!

作者:叶小飞

看了很多大佬提出了如何白嫖云端 GPU 等巧妙的技巧,但我的建议是勒紧裤腰带,给自己攒一个带 GPU 的笔记本电脑。理由如下:

1. 科研虽然有老师带领,但终究是给自己做的。你买了这笔记本电脑后可以随时随地写深度学习代码,训练自己的模型(根据你的描述,我不认为你们实验室的项目需要很强的算力,单块性能不错的 GPU 估计基本满足),基本不受网络、地理限制,能更快地推进自己科研进度,尽早出论文。
2. 鉴于你正处于深度学习入门阶段,有一台带 GPU 的私人笔记本可以大大加速你的学习进度。一般入门者都会上一些深度学习的课程,许多课程设置的作业往往需要你至少有一块 GPU 来完成。同时,由于这笔记本是你私人产物,你可以用来开发一些业余有趣的项目,参加 Kaggle 比赛等等,从长远来看,它绝对会为你创造额外的价值。
3. 云端服务器一般用来做大规模的训练,prototyping 最好用的永远是本地的机器。假设你发现代码有问题,要一步步 debug 你的代码,查看每个变量的内存,结果你发现只能面对冰冷的没有 UI 的 console,或者卡的要死的云端 VM,亦或者还要排队等 GPU 资源,你会不会感到很抓狂?这就是为什么在知名的实验室或者大厂里,标配是人手一个带着 Gpu 的 workstation 做算法原型 + 大型的 gpu cluster 做大规模训练。
4. 之所以建议买笔记本而不是 workstation, 主要是因为 workstation 体积太大,要么放到实验室里用,要么放在家里用,使用场所受到很大的限制。而且目前来看笔记本的性能应该足以满足你的需求。
写在最后,当年我暑假在美国西北大学 mHealth 实验室做科研的时候,实验室里一块 GPU 都没有,我就是咬紧牙买了一台 MSI 笔记本(自带一块 1060),后来这笔记本立下了汗马功劳,我有两篇论文的实验都是在上面跑出来的。

作者:伞兵8086

1. 初学者

你不必为了学习深度学习,而且买一块 GPU,甚至还要为它换台电脑。 

初学者会一般会从基本的多层感知器 MLP 开始学习。一般会包含 3 层全连接的神经网络,有基本的激活函数 Activation Function, 比如 sigmoid。数据集采用手写数字数据集 MNIST。这样的网络,对算力要求非常非常低。你的笔记本 CPU 就可以胜任。大概需要十几分钟的训练时间,就可以得到不错的精度。 

我建议初学者最好学习用 Python + Numpy 实现的例子。这样,你对深度学习的基本原理就会很容易理解。这样的例子,也只能用 CPU 运行了。 

如果使用 Tensorflow 或者 Pytorch 也可以。但不能体会全貌。但我们需要使用框架,学习简单的深度网络模型,比如 LeNet-5, AlexNet。这些经典的模型,算力需求也很小,CPU 足够了。 

2. 进阶者

你需要学习一些可以实用的深度网络模型,比如 ResNet50, Bert。这些模型是否需要 GPU 呢? 

如果你从 0 开始,训练这些模型,恐怕一块 GPU 是不够的。根据新闻,索尼用 2176 块 GPU,将 ResNet50 的训练记录缩短到了 224 秒(这个记录早就被突破了)。用一块的话,需要 487424 秒(6天)。普通玩家谁能有这样的硬件或者时间? 

面对这样的大型模型,人们会采用迁移学习 Transfer Learning 的方法:使用一个训练好的模型,利用模型已有的特征提取能力,在新的数据集上,只训练与新任务有关的最后几层。从而可以在很短的时间里,训练出精度不错的模型。这对算力的需求,也不算高,CPU 也可以胜任。几个 epoch 就够了。

3. 高阶者

当你需要训练一个超大模型,或者使用超大数据集(单个数据巨大(如1G的图片),或者数据量巨大),集群是唯一的选择。纯 CPU 的集群环境,很容易拿到。超算中心,HPC 中心,单位机房里凑十几,几十台服务器/PC,都容易办到。这些不用花钱购买的,现成的机器,可以让你轻松构建一个深度学习集群。毕竟 CPU 上的软件环境成熟稳定。

上面说的,都是深度学习训练的场景,下面说说推理的场景。这就更需要 CPU 了。

4. 项目实施者

你要面临的问题是深度模型推理部署。推理对算力的需求,远不如训练阶段的高。我们恨不得在 1 分钟内训练完毕的模型,在部署后,可能只需要 1 秒处理 5 张照片,或者 1 秒只收到 2 条文字查询请求。这种情况下,CPU 可以满足大部分需求。 

这时成本,功耗,封装体积是要额外考虑的因素。毕竟无论是在云端,边缘侧,终端,CPU 是必需的,其他设备能省就省。使用一颗强悍的 CPU 做推理,可以简化工程部署的问题。同时推理阶段,有部分算力是用来做数据预处理和后处理的。如果 CPU 太弱,会拖累整个流水线的响应时间。

在这个阶段,你可以继续使用训练模型时的深度学习框架(Tensorflow/Pytorch),也可以使用专门针对推理的框架(OpenVINO)。

作者:全村的希望
图像的话直接人眼当CNN用,直接提取特征,别人还在慢吞吞的 transformer 的时候,你已经根据大脑的 attention 给特征标出了自适应权重,这一步直接先领先别人一大截。
计算部分也只是麻烦一点点而已,首先先买两个算盘,一般情况下你就双手进行并行运算,算的时候左脑和右脑最好分开运算,这样效率能提升许多。
最后还可以把珠子扳开进行半精度运算,也能提升效率,脑子算热了就去顺便洗个头,然后午睡一下清一下脑脊液
矩阵乘法就去汤家凤老师那边学一下三行四列的行列式是怎么算的,买本1800多练练计算
最后你还不需要调参,这是最关键的,别人还在那边 AdamW 优化学习率,你这边自适应超参,超过 sota 多少仅仅取决于你自适应到什么程度
最后关键的是来一个蹭热度的题目:

《Rethink whether your brain is all you need》


作者:张航

https://www.zhihu.com/question/299434830/answer/1693216384
这个问题,5年前我也想问。
还记得 之前CVPR 开完会回来,感觉大家都在讨论 deep learning,convolutional neural network,当时觉得应该试试。我就用网上开源的 LetNet 在笔记本上训练了一下我们当时自己采集的数据集,结果完爆我们费尽心思手动设计的传统方法。我当时就鼓动我老板,让她给实验室买个带 GPU 的机器。结果她语重心长地说: "你看实验室这些旧电脑,我之前给每一个 PhD 学生都配一台电脑,结果没过多长时间,大家都不用了,只用自己的笔记本,所以不要把钱花在硬件上"。我竟无言以对。。。
但是 Research 还是要做,我就一狠心买了个 Titan-Z GPU,大概花了博士一个月的工资,然后就有了下面这张图:

那时候还没有 eGPU,我就自己搞了个解决方案,用一个外置台式机电源带动 thunderbolt to PCIe 的转接器。有了这些“装备”之后,我就开始了调参的不归路。

比较早入坑,16 年用 MatConvNet 复现了一下 ResNet zhanghang1989/ResNet-Matconvnet ,然后用 ResNet 提了下 feature,比较容易水 paper。在 NVIDIA 实习的时候,听说可以自己写 proposal 向 NVIDIA 申请免费的 GPU,之后就每年都申请一块,直到毕业 (链接:GPU Grant Application )。在发了几篇 deep learning 的 paper 之后,我老板也开始换方向了,而且给组里的学弟们买了8卡的GPU Server(当时是我毕业前帮老板挑的机器,可惜自己没有用到)。
很难想象,当初如果自己没有自费买 GPU,现在我会在哪里,在做什么。如果客观条件不好,尽量想办法克服一下,机会要好好把握。

作者:孔祥勇
https://www.zhihu.com/question/299434830/answer/1138597471

我们学科,学校都一般,大部分老师都没经费没这些硬件的。

我自己实验室是一点点积累买GPU的,拿不到国家课题就做企业课题,然后用来给学生买GPU,电脑,内存,磁盘,保证本科+研究生20多人的计算能力。AI计算的话:一台双卡2080ti主力计算工作站,4台2080或者2070S的GPU,研究生人均一台,本科一个团队一台。平常跑不满,如果有外面合作的学生也会借给他们用,如果有交集,可以科研论文合作。
下一步打算:对合作型联合的热爱科研的学生,如果自己导师没有出论文经费的我会帮他们出。当然条件也是要求:他除了要完成自己的论文也要多做些工作,如果愿意的话,支持下学生也没问题。如果有这方面需求愿意合作,可以私信我。
我们主要做医学人工智能,通用AI在技术上一样的,不限制课题。

作者:时间旅客
https://www.zhihu.com/question/299434830/answer/1138460434

实验室没有GPU,也不想花钱租GPU,就只能用CPU了。CPU比GPU慢很多,所以复杂的数据量大的研究是没法做了。那么有没有数据量小,且有一些意义的研究呢?有。

建议研究一些可解释性的相关问题。
举一个卷积神经网络的例子,比如这个问题:
能否对卷积神经网络工作原理做一个直观的解释? https://www.zhihu.com/question/39022858
大家都是从滤波器的角度解释卷积核,那么怎么能知道是否说的是对的呢?是不是可以取100张猫和100张狗,模型设置为一层feature map为10的3*3卷积+全局pool,训练到过拟合。看看哪几个维度会预测到猫,哪几个维度会预测到狗,再看看这10个卷积核长什么样,分析一下原图过了这些卷积核到底获得了什么特征。
再比如,CNN在经过图像旋转、平移、放缩等增强方法之后是可以具有相应的不变性的。那么它到底是怎么获得这种不变性的呢?是利用不同的feature map映射到最后输出向量中不同的维度,还是最后会映射到相同维度呢?
再进一步,行人重识别任务中有很多用度量学习的方法,两张差异很大的图片过同一个模型可以得到比较近似的向量,那么这些模型是怎么获取特征并怎么映射的呢?
这些问题其实是我一直思考没想出答案,但也没去做实验的。因为我有GPU,平时搭模型、调参的工作做多了,就没有太大动力去研究这些有意思的问题了。


作者: 莫笑傅里叶

https://www.zhihu.com/question/299434830/answer/1693087823

1.兄弟,赶紧催着老师买一块。
2. 要么看老师和计算机学院老师关系如何,直接住对方实验室去。
3. 我用过好多网上平台, 滴滴云 还行,有大企业背书又便宜,还有好多送的活动。
4. colab就算了。

作者:snowhou
https://www.zhihu.com/question/299434830/answer/1231487151

你这一块卡没有做深度学习不太现实, 最好说服你老师最好买几张卡(1080ti)以上 ,毕竟也不是你一个人在用。这是其实是最划算的方式,在网上无论是免费还是付费的资源,终究不是长远之计,而且有一定的使用限制。 争取不到卡的话还是乘早弃坑吧,深度学习不用大量的卡"喂",很难研究出什么东西。

分享下我自己的"卡"路,你可以参考下我的"贫民"历程。
一开始有 4块1080 ,和师兄们一起用,当时刚开始入门,也就跑下 cs231n 和当时还是caffe 版本的 R-CNN,电脑系统太老了caffe总是出问题,也在网上用过服务器(国内付费的,谷歌云的300美金,Colab 等),也就随便跑了跑。后来随着 detectron 等的开源,发现 1080 显存太小了,而且速度太慢,只能跑 VOC,跑 COCO 不太现实,一度很奔溃,想着是不是要换个方向。
以后对老师软磨硬泡,加了台 双2080ti  的机器,终于可以跑 COCO 了,虽然训练时间还是略长,不过已经在接受范围内了。
后来机缘巧合下发现了些免费的平台(百度 AIStudio等),第一次用到 V100 ,爽过吸大麻。多注册了几个账户,终于不在担心算力的问题,就这样开始了升级打怪之路,跑跑论文代码,打打比赛,好多任务都可以并行展开了,这时候就相当舒服了,没有了算力的约束,成长起来也是很快的。假如没有了这些免费平台,怕不是要在入门的地方原地踏步了。
其实缺少算力还可以去企业实习,不过如果基本的 1080ti 都用不上,大概门都入不了,公司估计也进不去。所以还是最开始的话, 尽早联合你同届同学说服老师买卡,不然还是乘早弃坑。自己学(无人指导) + 没卡 = 天坑 ️,切记!


作者:艾力克斯Alex
https://www.zhihu.com/question/299434830/answer/1016932439

上学期做的computional vision  远程连接学校linux装不了tensorflow,Google Colab尝试了两天也没设置好

然后心一横 我就用我的四核8GBMacBook慢慢跑吧 train一次一天 validate 6个小时,我就这样坚持了一个月把作业写完了。


作者:视学算法
https://www.zhihu.com/question/299434830/answer/1071679101

对初学者来说CPU足以。以下几点:

1、先把CPU利用好:其实对于很多初学者来说能把OpenMPI配置好,多线程利用起来,C底层程序用Intel MKL编译(需要Intel CPU),基本上可以带来的效率提升可以近似于用GPU。

2、然后利用好你自己的时间: 貌似现在道听途说一般的结论是GPU比CPU提速10倍左右。大家想想,训练一个模型,本来要CPU跑10个小时,结果买了GPU只用1一个小时,但是节约来的9个小时里面一半浪费在了看知乎上(说你呢!),另一半浪费在了刷微信上。本屌最近跑些NLP方面的东西,东西不是特别大,Ubuntu笔记本装了OpenMPI可以四个线程一起跑,也比单核CPU快一倍左右,基本上白天先把模型设置好,跑上3~4个Epoch看看效果,然后在晚上睡觉之前开始跑个20-30个循环,第二天早上怎么也都好了。
3、最后设计好数据结构: 另外其实数据预处理的好,用简便的方法存在内存里面,也是可以提升不少效率的。


作者:runner time
https://www.zhihu.com/question/299434830/answer/1099500820

实验室连显卡都没有就说要搞深度学习?那我看你们导师也是脑门一拍,然后随手搞本教科书胡搞乱搞,你觉得这样下去能搞出什么名堂?

不如买块游戏显卡打游戏去。
哦,其实游戏显卡也是可以搞深度学习的,图灵架构显卡的CUDA计算力高达7.0,只要1500元一块,你值得拥有!
言归正传,Google的CoLab走起,免费的。


推荐阅读

1、加入AIGCmagic社区知识星球

AIGCmagic社区知识星球不同于市面上其他的AI知识星球,AIGCmagic社区知识星球是国内首个以AIGC全栈技术与商业变现为主线的学习交流平台,涉及AI绘画、AI视频、大模型、AI多模态、数字人、全行业AIGC赋能等50+应用方向,内部包含海量学习资源、专业问答、前沿资讯、内推招聘、AI课程、AIGC模型、AIGC数据集和源码等

那该如何加入星球呢?很简单,我们只需要扫下方的二维码即可。知识星球原价:299元/年,前200名限量活动价,终身优惠只需199元/年。大家只需要扫描下面的星球优惠卷即可享受初始居民的最大优惠:

2、《三年面试五年模拟》算法工程师面试秘籍

《三年面试五年模拟》面试秘籍旨在整理&挖掘AI算法工程师在实习/校招/社招时所需的干货知识点与面试方法,力求让读者在获得心仪offer的同时,增强技术基本面。

Rocky已经将《三年面试五年模拟》面试秘籍的完整版构建在Github上:https://github.com/WeThinkIn/Interview-for-Algorithm-Engineer/tree/main,欢迎大家star!

《三年面试五年模拟》面试秘籍的内容框架

想要一起进行项目共建的朋友,欢迎点击链接加入项目团队:《三年面试五年模拟》版本更新白皮书,迎接AIGC时代

3、Sora等AI视频大模型的核心原理,核心基础知识,网络结构,经典应用场景,从0到1搭建使用AI视频大模型,从0到1训练自己的AI视频大模型,AI视频大模型性能测评,AI视频领域未来发展等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Sora等AI视频大模型文章地址:https://zhuanlan.zhihu.com/p/706722494

4、Stable Diffusion 3和FLUX.1核心原理,核心基础知识,网络结构,从0到1搭建使用Stable Diffusion 3和FLUX.1进行AI绘画,从0到1上手使用Stable Diffusion 3和FLUX.1训练自己的AI绘画模型,Stable Diffusion 3和FLUX.1性能优化等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Stable Diffusion 3和FLUX.1文章地址:https://zhuanlan.zhihu.com/p/684068402

5、Stable Diffusion XL核心基础知识,网络结构,从0到1搭建使用Stable Diffusion XL进行AI绘画,从0到1上手使用Stable Diffusion XL训练自己的AI绘画模型,AI绘画领域的未来发展等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Stable Diffusion XL文章地址:https://zhuanlan.zhihu.com/p/643420260

6、Stable Diffusion 1.x-2.x核心原理,核心基础知识,网络结构,经典应用场景,从0到1搭建使用Stable Diffusion进行AI绘画,从0到1上手使用Stable Diffusion训练自己的AI绘画模型,Stable Diffusion性能优化等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Stable Diffusion文章地址:https://zhuanlan.zhihu.com/p/632809634

7、ControlNet核心基础知识,核心网络结构,从0到1使用ControlNet进行AI绘画,从0到1训练自己的ControlNet模型,从0到1上手构建ControlNet商业变现应用等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

ControlNet文章地址:https://zhuanlan.zhihu.com/p/660924126

8、LoRA系列模型核心原理,核心基础知识,从0到1使用LoRA模型进行AI绘画,从0到1上手训练自己的LoRA模型,LoRA变体模型介绍,优质LoRA推荐等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

LoRA文章地址:https://zhuanlan.zhihu.com/p/639229126

9、Transformer核心基础知识,核心网络结构,AIGC时代的Transformer新内涵,各AI领域Transformer的应用落地,Transformer未来发展趋势等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

Transformer文章地址:https://zhuanlan.zhihu.com/p/709874399

10、最全面的AIGC面经《手把手教你成为AIGC算法工程师,斩获AIGC算法offer!(2024年版)》文章正式发布!

码字不易,欢迎大家多多点赞:

AIGC面经文章地址:https://zhuanlan.zhihu.com/p/651076114

11、50万字大汇总《“三年面试五年模拟”之算法工程师的求职面试“独孤九剑”秘籍》文章正式发布!

码字不易,欢迎大家多多点赞:

算法工程师三年面试五年模拟文章地址:https://zhuanlan.zhihu.com/p/545374303

《三年面试五年模拟》github项目地址(希望大家能多多star):https://github.com/WeThinkIn/Interview-for-Algorithm-Engineer

12、Stable Diffusion WebUI、ComfyUI、Fooocus三大主流AI绘画框架核心知识,从0到1搭建AI绘画框架,从0到1使用AI绘画框架的保姆级教程,深入浅出介绍AI绘画框架的各模块功能,深入浅出介绍AI绘画框架的高阶用法等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

AI绘画框架文章地址:https://zhuanlan.zhihu.com/p/673439761

13、GAN网络核心基础知识,网络架构,GAN经典变体模型,经典应用场景,GAN在AIGC时代的商业应用等全维度解析文章正式发布!

码字不易,欢迎大家多多点赞:

GAN网络文章地址:https://zhuanlan.zhihu.com/p/663157306

14、其他

Rocky将YOLOv1-v7全系列大解析文章也制作成相应的pdf版本,大家可以关注公众号WeThinkIn,并在后台 【精华干货】菜单或者回复关键词“YOLO” 进行取用。

WeThinkIn
Rocky相信人工智能,数据科学,商业逻辑,金融工具,终身成长,以及顺应时代的潮流会赋予我们超能力。
 最新文章