大模型入坑记:搭建本地大模型微调环境

为了让大模型发挥更大用途,决定在本地搭建大模型微调环境,在原有的PC上加装Tesla V100,前前后后耗时一个多月,遇到若干技术问题,好在目前已基本得到解决,也打破了很多网上店家包括身边专家对GPU搭建上的一些认知误区,特此记录。

1,为何是Tesla V100:

为了节省开支,考虑到原PC内置RTX 4070Ti有12G的显存,能够达到40G显存的最低要求,必须选择32G以上的显卡,能达到此要求的,并且性价比最高的,显然首选V100。 最终选定的型号是Tesla V100-SXM3-32GB, PCIe 接口,定制版。是网上能买到的最便宜的32GB V卡。 咸鱼上便宜,有的才几千,不敢买,网上被骗的太多。京东上3w起步,太贵。PDD上没有。最终选定的是淘宝,当时售价是1.19w (现在已经调价为1.59w)。

2,PC上能混装数据中心V卡和个人用的RTX卡吗?

去年年初购买的PC,当时还只是想用来做一般的深度学习训练,以为有8GB显存就够了。定了一个相对便宜的配置:ATX机箱,i5 13400F, 16G RAM, RTX4070Ti,1T  SSD,850W电源,技嘉B760M主板。后来大模型出现后,发现系统GPU显存成了瓶颈,7B以下,量化后,勉强能跑。再大点的模型,就很难跑起来,试了很多方法,包括用网上免费显卡云主机,做模型优化,都不能完全覆盖需求,因此升级本地显卡成了必选项。V100毕竟是5年前的产物,和4070中间差了2个大的版本迭代,能否混用,之前一直是有担心的。网上查阅很多资料,特别是V100在PC上的安装,得出结论,可以混装。这主要是得益于Nvidia公司的超强的架构把控,最大程度的实现了向后兼容,用最新版本的显卡驱动以及cuda可以适配以往数年前的显卡。

3,ATX机箱如何插入V100

ATX机箱偏小,虽然主板上有两个PCIe插槽,但下方的插槽跟主板上的接线端子靠的非常近,基本就是摆设,同时考虑到原电源功率不足以驱动两块显卡同时工作,最终选择了v100显卡外置。

4,外置显卡具体怎么做

查阅资料后,选定了OCuLink总线方案来达成外置显卡接入PC。替代方案有PCIe延长线,雷电口,USB 3.0 等。 为了不损失性能,且具备扩展能力,最终确定为OCuLink。外置显卡需要额外购买的配件有:500W ATX电源(200元),OCuLink转接板(400元),GPU支架(40元),定制风扇(40元)。几个细节要注意:1,外置电源瓦数不要太低,电源上要有开关,V100标称功率250W,选用电源是500W 长城品牌,主要考虑是未来扩展以及电源上其他供电方口会分担一部分功率。2,电源接通后,一般是不能正常点亮的,还需要主板接线端子开关脚低电平信号,我用的是一根短铁丝把4,5两个管脚短接解决了这个问题。 3,OCuLink 外置转换板上配有风扇4pin接线柱,但无调节风扇能力,接上风扇后,风扇狂转,声音偏大,待久了人会受不了。需要把定制风扇接线穿过机箱,接到主板上,主板一般会有多个预留的风扇4pin口,随便选一个近的插上,后期用FanControl软件来控制转速。4,OCuLink外接卡有GPU 6pin电源插槽,V100上有两个8 pin电源插槽,这两个都需要接入GPU电源, GPU电源与PCI电源不可混用,否则会引起短路,直接让电源停止工作。v100上的2个8 pin电源是为了分流,同时2个8pin的最左侧2个管脚全部接地,因此随便选一个8pin,插入一个8 pin电源就行。5,前期实验,显卡电源线可以不接,靠OCuLink转接板供电。主板仍然能够识别显卡,并可以顺利安装驱动,通过nvidia-smi可以查看设备信息以及进行简单的cuda调用,但很不稳定。接通v100上的电源后,就可以长时间稳定工作了 6,OCuLink内外两块板是 通过2根M2数据线连接,两根顺序如果接反,会导致外置显卡性能下降,从原来的PCIe 3 X 16 降为 PCIe X 4,如果系统配置上显卡总线信息不对,则对调2个数据线就能解决。 7,外置显卡必须先上电,再开机PC,重启是无法识别新加入的外置显卡的, 这应该是OCuLink接入方式的一大弊端。8,V100制冷优先选用定制风扇,相比水冷方案,不拆显卡,长时间跑模型,温差能控制在50度以内,不会有啥问题。

5,如何点亮及安装驱动

N卡做工非常精细,只要不是特别野蛮操作,一般不会出问题,好几次带电操作插拔显卡,显卡仍然坚挺。前期没有购买外置接入配套设备时,由于电源功率不足,需要轮番插拔2个显卡中的一个,而V100没有视频输出,因此只能通过ToDesk软件,手机远程登录电脑,进行相关操作。如果插入v100,bios自检无法通过,则需要修改bios配置,对于B760M主板,默认的支持4G以上显卡的自动选项是不行的,需要改为Enable。

应该是英伟达官方故意为之,V100-SXM3-32GB这一型号被官方在Windows10,11驱动里抹除了,需要手工修改inf文件。以最新的552.22驱动包为例,找到解压后的驱动包,再Display.Driver目录下,用记事本打开nv_dispsig.inf文件,查找NVIDIA Tesla V100-SXM2-32GB所在行,增加NVIDIA_DEV.1DB8.12AB.10DE = "NVIDIA Tesla V100-SXM3-32GB"  以及 %NVIDIA_DEV.1DB8.12AB.10DE% = Section029, PCI\VEN_10DE&DEV_1DB8&SUBSYS_12AB10DE 。 然后进入免签名模式安装驱动即可。

Linux系统则简单很多,以Ubuntu 24.04为例,系统装完,选最新Nvidia官方驱动安装就行.

驱动安装好之后,接着装cuda toolkit, cudnn, pytorch。 然后就能愉快玩耍了。

附录,误区澄清及不足:

1,V100只能装在GPU推理服务器上:事实证明,V100可以跟市面上的所有主板和CPU搭配使用。 太古老的主板应该不行。理论上笔记本电脑通过M2插槽,用OCuLink协议一样能让V100加速运算。

2,V100不制冷会烧(必须用水冷):实验结论,数分钟不做制冷,或者弄个普通风扇对着显卡通风口吹就可以控制住温度,当然要省事,网上买个定制风扇,再弄个温控软件控制风扇转速,就能很好的控住温度。

3,不足:由于一内一外两个显卡,让NVLink成为了不可能,两者只能单独使用,目前的简单规划是4070Ti用来跑AIGC或模型预测,V100用来训练,当不做训练时,对V100进行拉闸限电。

命令截图留作纪念:

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
模型微调方法是指在已经训练好的大型模型基础上,通过在特定任务上进行进一步训练来提高性能的方法。常见的大模型微调方法包括以下几种: 1. 迁移学习:将已经在大规模数据上预训练好的模型应用于新的任务上。通过微调模型的一部分或全部参数,使其适应新任务的特征和标签。迁移学习可以加快模型训练速度,提高模型性能。 2. 预训练-微调:首先在大规模数据上进行预训练,然后在特定任务上进行微调。预训练通常是在无监督或半监督的方式下进行,例如使用自编码器或生成对抗网络。预训练可以帮助模型学习到更丰富的特征表示,微调则使其适应具体任务。 3. 数据增强:通过对原始数据进行一系列变换和扩充,生成更多的训练样本。数据增强可以提高模型的泛化能力和鲁棒性,减少过拟合风险。 4. 优化算法调整:针对大模型微调过程中可能出现的问题,如梯度消失或梯度爆炸等,对优化算法进行调整。常见的优化算法包括梯度下降、Adam等。 大模型框架是指用于构建和训练大型模型的软件框架。常见的大模型框架包括以下几种: 1. TensorFlow:由Google开发的开源深度学习框架,支持构建和训练各种类型的神经网络模型,包括大型模型。TensorFlow提供了丰富的工具和库,方便进行模型微调和部署。 2. PyTorch:由Facebook开发的开源深度学习框架,提供了动态图机制和丰富的工具,使得构建和训练大型模型更加灵活和高效。PyTorch也被广泛应用于大规模模型微调和研究。 3. Keras:一个高级神经网络API,可以运行在TensorFlow、Theano和CNTK等后端上。Keras提供了简洁易用的接口,方便构建和训练大型模型。 4. MXNet:由亚马逊开发的深度学习框架,支持多种编程语言和硬件平台。MXNet提供了高性能的计算和训练能力,适用于大规模模型微调和部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值