部分文章和图片可能失效及排版混乱,原文在此:
链接:https://pan.baidu.com/s/17SHb4k6etiqkOA0R9DvkQg?pwd=8888
提取码:8888
基于对machine learning、stable diffusion绘图等需求,分享一下我的个人硬件配置选择。
有了上述需求后,我们有三条路可以选择:(1)完全运行在本地(2)完全运行在服务器端(3)前期的学习在本地运行,后期的项目租服务器。对于手头不太宽裕的学生,购买动辄上万的专业卡或高端游戏卡,可能心有余而力不足;完全运行在服务器端不失为一个好选择,但对于非专业的小白,学习难度可能比较大(之前本人在阿里云租的服务器,折腾了很久也没配置好,各种问题,而且前期简单的学习却需要经常挂着服务器,不是很划算);所以我选择了第三种方式,购买适合学习的硬件,前期运行在本地,后期需要的话,短租服务器(暂时是这么想的)。
确定好自己的方案后,然后摸口袋定预算。
显卡无疑是决定能否满足你需求的最重要硬件。目前市场主流的显卡芯片设计厂商有Nvidia、AMD和intel,因为Nvidia具有完善的cuda生态【1】和cudnn【2】支持,所以这里不推荐AMD(如果只是打游戏,AMD的显卡性价比还是可以的)和Intel的设备。
显卡的几项参数对深度学习的影响较大,显存/cuda数量/位宽/频率。
频率:显卡频率分基础和超频,不同型号的显卡频率差别不是太大,例如基础频率基本都在2GHz。显存:越大能处理的数据量越多,玩AI非常吃显存,它决定训练时能塞下多大的模型,4090是4060的3倍。位宽:数据传输1次的并行数据量,位宽越大,吞吐量越多。CUDA数量:核心越多运算能力越强。【3】
对于手头不太宽裕的同学,推荐4060ti 16G 128bit版本、4070super 12G 196bit,一个显存大,一个位宽高。要说16G比12G多4G显存,能有多大影响?似乎也没有特别明显【4】,但是价格会便宜1k左右(京东)。对于训练速度和模型大小有不同需求的,还是请各位自己搜一下相关博主的测评斟酌一番。
如果稍微宽裕一点的,可以上到4070ti super或4080super,都是16G显存256bit,价格差2k左右(京东),但这里要考虑的不仅是显卡升级后的差价,还有相应配套的其他硬件升级带来的差价,请各位酌情考虑。
还有显卡买京东还是拼多多淘宝抖音?买哪个制造厂商品牌的?丐版还是旗舰版?我出于京东优秀的物流配送和售后,加上是第一次装机,买配件之前充了京东plus会员,所有硬件基本上均购自于京东自营。本文的商品价格数据,也基本来自于京东自营店。至于显卡品牌,大佬可以选择稍微小众一点的,各生产厂商无非就是给显卡芯片装散热的呗,对于小白求稳的,推荐华硕、微星和技嘉(点击链接进入官网查看产品技术细节),这三家市场占有率还是蛮高的,质量比较稳。据传,同一显卡芯片,丐版和旗舰版所用性能差距不会超过5%,无非是噪音和灯效的差距,实用极简主义可以选择丐版。
均选自京东自营,价格可能略有变动,链接直达
4060ti 16g
4070 super
4070ti super
4080 super
价格(元)部分高溢价商品已剔除或标记
技嘉
https://u.jd.com/HiGwYra
3499
https://u.jd.com/Hs85TuQ
4999
https://u.jd.com/Hz8F7nS
6499
https://u.jd.com/HiGtwLM
8499
https://u.jd.com/Hi8xtob
3699
https://u.jd.com/Hb8k3Da
https://u.jd.com/HzGI4uc
5199
https://u.jd.com/HQ8F4nf
https://u.jd.com/HsGieHg
6899
https://u.jd.com/HQ85U7b
8799
https://u.jd.com/HzGdmLW
3799
https://u.jd.com/HuGKdIC
5299
https://u.jd.com/H884reY
6999
https://u.jd.com/HQ897qh
8999
微星
https://u.jd.com/Hu8mCRk
3699
https://u.jd.com/HzGwW9D
5199
https://u.jd.com/HzGt8oP
6499
https://u.jd.com/H8Gz4lP
8499
华硕
https://u.jd.com/HiGCXt3
3799
https://u.jd.com/HsGMBwD
4999
https://u.jd.com/HsGzSIT
6999
https://u.jd.com/HqGCyaw
高溢价
https://u.jd.com/H8GLUTo
4389
https://u.jd.com/HsGKKp0
5189
https://u.jd.com/HuGq7e1
高溢价
https://u.jd.com/HbG8erY
5199
注:红色为同品牌同规格下最便宜价位。
相对于显卡,CPU似乎重要性不是那么高。对于CPU的选择,我主要考虑三个问题:(1)是否避免高GPU低CPU/高CPU低GPU。(2)是否有核显。(3)intel还是AMD。
对于4060ti 16G版本来说, CPU建议12400(网友说这款性价比挺高)起,12400搭配4060Ti的性能表现已经非常不错了,考虑目前13400和12400的差价不多,可以加一些预算选择13400。我搭配的CPU是i5-13400,因为后期我想开双屏幕、由核显单独输出,所以还是选了13400。
i5 12400和i5 13400参数区别对比
名称
intel酷睿i5-12400
intel酷睿i5-13400
核心代号
Alder Lake
Raptor Lake
接口类型
LGA 1700
LGA 1700
核心线程
6核12线程
10核16线程(6P+4E)
制作工艺
intel 7(10nm ESF)
intel 7(10nm ESF)
性能核基础频率
2.5GHz
2.5GHz
性能核最高睿频
4.4GHz
4.6GHz
能效核基础频率
无能效核
1.80GHz
能效核最大睿频
无能效核
3.3GHz
三级缓存
18MB
20MB
二级缓存
7.5MB
9.5 MB
内置核显
Intel® UHD Graphics 730
Intel® UHD Graphics 730
内存支持
DDR5 4800
DDR4 3200
DDR5 4800
DDR4 3200
TDP功耗
65W
65W
最佳主板
B660主板
B660/B760主板
选也是选了核显版本,因为考虑到后边希望显卡仅作计算用,图像的输出由核显完成,所以选了后边不带“f”的核显版,有超频需要的选13400k(带有“k”字样的)。
对于深度学习,CPU的厂商品牌影响很小。似乎有些细微的差别,懂的可以自行决定。【5】
CPU是我唯一一个从非京东自营渠道购买的,而且买的是散片。因为CPU这东西技术壁垒高,没有假货,而且故障率极低,散片与盒装的区别不大,但是价格还会低一点,所以在淘宝找了一家老店买的。
i5-12400
i5-13400
散片
盒装
散片
盒装
京东
/
https://u.jd.com/HsGq1Jp
1049元
/
https://u.jd.com/HsGajoN
1799元(好像涨价了)
淘宝
924元(为了避嫌,不发链接和店铺名字了)
/
1298元(为了避嫌,不发链接和店铺名字了)
/
主板是主机中的重要部分,承载并联通其他硬件。这个根据你选购的CPU型号去选择就好了,可以去找店铺客服问适配的主板,也可以去百度。再有一个就是ddr4还是ddr5,一般情况ddr4足够用了,我是本着买新不买旧的原则,这里选的是技嘉的B760m gaming ac版本,稍微好一些的加点钱上微星迫击炮/华硕重炮手。
至于主板的品牌,这里也是推荐华硕、微星和技嘉。据网友说,高端主板里华硕好一些,中低端显卡里技嘉做工堆料好一些。
这里有个小插曲,如果你进入技嘉官网查看所支持的系统,只会看到windows系统,你去京东自营的客服问,客服也是说不支持ubuntu等Linux系统,不用慌,华硕和微星的主板也说不支持,但买来是可以装ubuntu系统的。
我这块主板支持两个插槽,为方便后续再升级,暂时先买了一个16G的单条。至于内存条的品牌倒不是很重要,重要的是看他们的颗粒和ddr4/5,目前主流的颗粒是三星、镁光、海力士和长存,我一开始买了一根光威的ddr5,后来发现他家的颗粒是随机的,后来退货了,换了英睿达的镁光原厂颗粒。
这里要注意的是ddr4和ddr5的内存条形状是不一样的,要看你买的主板是支持ddr4还是ddr5,最终频率是由内存条的频率、CPU频率和主板支持频率的最低值决定的,并非你买了ddr5 5600的频率,最后一定就能到5600。
ddr4和ddr5的有差距,但是一般人感觉不到差异,ddr4就够了。【6】
固态硬盘是存储设备,长江存储的入场使我们能买到的固态便宜了不少,我购买选择了两块致态7100ti plus,一块装了windows系统,一块装了ubuntu系统。
优秀的电源可以保证其他硬件在稳定的电压下工作。网上流传着一瓦一元的选购标准,对于电源我没有过多研究,大家可以去网上的博主测评中判断,我挑了一款650W的海韵。电源功率的确定可以看这篇文章。
机箱的大小选择要看你的主板类型,现在主流的是M-ATX紧凑型,这个可以在主板的商品页详情看到,然后搜索“紧凑型机箱”选择一款就好了。
我原先以为机箱可以选差一点的,就选了长城家一个最便宜的机型,安装到最后发现显卡外挂卡槽和机箱不合适,导致显卡和主板一直处于一种张力,后来换了一款机箱就好多了。大家买来的时候也尽量先看一下显卡的外挂卡槽是否可以卡进机箱的固定位置。
这个地方有可能卡不准
实用简洁主义者务必购买宽体的机箱,背板可以理线。
显示器我准备双屏幕的配置,主屏幕27寸,副屏15.6寸。考虑的是显卡单独做计算用,核显单独做图像传输用。
副屏是在闲鱼淘的。买来屏幕还好,但是音响有问题,由于不需要副屏的外置音箱,也就不了了之了,大家购买时注意。
装机建议大家一周之内把配件选好,避免买到的硬件不合适,退换货耽误时间,超出7天无理由。装机视频建议大家观看这位up的视频。
对于machine learning,有网友说部署在Linux和windows系统上的环境运行起来基本没有性能的差异,但考虑到Linux的正统性,我选择了ubuntu系统【7】。没有用过22.04版本,听说不如20.04【8】。
我选择的是安装双系统,一块硬盘装Windows,一块装ubuntu。安装一个系统的时候确保主板上只插着一块硬盘,安装完后卸下来安装另一块,再装另一个系统,最后将两块硬盘都插上,开机前按F12(其他主板另行搜索)进入系统引导界面,选择你要进入的系统就好了。【9】这样两个系统互不干扰,一个坏了的话,另一个也还能正常工作。
Windows系统安装较为简单,准备一个8G以上的u盘,一个可以联网的电脑,按这个视频去安装就好了。至于怎么激活正版,大家自行找激活码吧~
ubuntu系统的安装,准备一个8G以上的u盘,一个可以联网的电脑,大家可以参考这个视频。
refus制作u盘的时候会涉及选择MRE还是GPT,我选的是MBR,安装的时候没什么问题,至于区别,大家看这篇文章吧。
对于初学者来说,ubuntu系统操作界面与windows不同,难免会觉得无从下手,特别是很多指令的使用,会感到陌生与疑惑。我本人经过几晚的反复尝试,最终成功安装。在此分享我的坎坷历程。
linux与Nvidia有一段矛盾,导致ubuntu默认安装的是第三方开源驱动nouveau,安装Nvidia驱动时需要先禁用掉nouveau,否则会各种卡黑屏。具体操作可以参考这个视频。
大家在选择Nvidia驱动的时候,可以用该命令查看版本:“ubuntu-drivers devices”。安装系统推荐的版本可能会避免掉许多问题。最后在终端输入“nvidia-smi”并敲下回车时,显示一个表格的时候就表示安装成功了。
值得一提的是,图中右上角给的cuda版本并不代表该机已安装cudatoolkit,而是该驱动所支持的最高cuda版本。
Anaconda是一个用于科学计算的Python发行版,Anaconda支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。【10】
每个项目都需要各类包,包有不同版本,如果多个项目用同一个环境的话,同一个包的不同版本会冲突,报错;不利于项目的迁移,毕竟你也不想仅需要几个包的项目把几十个包都装一遍。所以最佳方案是为每个项目都建立一个虚拟环境。【11】
安装步骤:
A.根据系统版本要求下载,下载地址:Free Download | Anaconda
B.安装
文件一般下载在“/home/下载”里,找到该文件,点击附近空白区,右击打开终端,输入“bash 你下载的文件名”(可以输入前几个字母,然后按Tab键自动补全),按enter键运行,过程中出现“yes/no”,就键入“yes”按enter运行。Anaconda一般会安装在“/home/anaconda3”路径下,可以参考这篇文章。然后记得修改环境变量,参考这篇文章。
C.创建虚拟环境
安装完成后打开终端,你的用户名前会多一个“(base)”,这是anaconda默认的一个虚拟环境。一般我们需要另外创建一个新的虚拟环境。
输入以下命令创建名为“py39”的虚拟环境,python 指定版本为3.9,“conda create -n py39 python=3.9”。
创建成功后在命令行输入“conda info –envs”,带“*”的即为当下所在环境。
命令行中输入“conda deactivate 你创建的环境名称”,即可切换到你所创建的虚拟环境中。
难度不大,可以参考这篇文章。
值得注意的是,创建新的虚拟环境需要在base的环境下创建,deactivate掉base环境后创建新环境有可能会有问题。
cuda、cudnn和pytorch三者的关系可以参考这篇文章。
前提是要先确定显卡驱动所支持的最高版本cuda和pytorch对应的版本,参考3.1 Nvidia驱动的安装,再根据cuda版本确定cudnn版本,cudnn与cuda历史版本的对应关系见官网:cuDNN Archive | NVIDIA Developer 。3.1 Nvidia驱动的安装
一开始,我先安装完cudatoolkit和cudnn,再用conda安装pytorch,起初很顺利,最后一步测试的时候才发现安装成了CPU版本,很多网友也遇到了这个问题。后来用pip安装,却各种debug,一度安装中断。后来不得已删除了环境,重新安装。
我发现pytorch安装时会自动安装该版本的cuda依赖(但这不是完整的cudatoolkit),所以先用pip安装了pytorch(期间换了阿里源,pip安装就没有debug了)。进入官网PyTorch,下划到这个界面,选择你想安装的版本。
安装完之后使用“conda list”命令会看到一个列表,查看列表中默认安装的cuda依赖版本,然后使用该命令“conda install cudatoolkit==x.x.x”安装特定版本的cudatoolkit完整包。
进入python,输入“import torch”回车,再输入“print(torch.cuda.is_available)”如果输出“ture”则表示安装成功。
使用该命令“conda search cudnn –info”查看可安装的cudnn版本,不放心的话可以对照此网站查看你的cuda版本和cudnn版本是否对应,确定后使用该命令“conda install cudnn==x.x.x”安装特定版本的cudnn。
进入python,输入“import torch”回车,再输入如下命令。如果返回版本号则表明cuda和cudnn安装成功。
(4)python解释器的安装与环境设置(pycharm)
新版的pycharm在closing projects时总会卡住,不推荐安装,建议以前安装稳定的版本。pycharm的配置anaconda虚拟环境的教程,可以参考这篇文章。
希望各位安装顺利哈。下边是一个新建的小白交流群,偶尔分享乱七八糟的资料,可供大家交流,本人不太爱讲话,很少发言,请诸君见谅。
【1】【CUDA教程】一、认识cuda - 知乎 (zhihu.com)
【2】CUDA系列 | 什么是cuDNN? - 知乎 (zhihu.com)
【3】40系显卡参数规格表(2024年更新) - 知乎 (zhihu.com)
【4】https://www.bilibili.com/video/BV1dH4y177Ud/?share_source=copy_web&vd_source=f8743b242b59c9c870e26bed8c8b171f
【5】2020年12月,深度学习推荐使用AMD还是INTEL的CPU? - 知乎 (zhihu.com)
【6】DDR5和DDR4有什么区别?DDR5提升明显吗?DDR5有必要吗?怎么选? - 知乎 (zhihu.com)
【7】深度学习环境用linux还是windows? - 知乎 (zhihu.com)
【8】如何评价 Ubuntu 22.04 LTS? - 知乎 (zhihu.com)
【9】笔记本双ssd如何装双系统,? - 知乎 (zhihu.com)
【10】https://www.zhihu.com/question/353409585/answer/1662315835
【11】https://zhuanlan.zhihu.com/p/423809879