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

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

1,为何是Tesla V100:

为了节省开支,考虑到原PC内置RTX 4070Ti有12G的显存,能够达到40G显存的最低要求,必须选择32G以上的显卡,能达到此要求的,并且性价比最高的,显然首选V100。 最终选定的型号是Tesla V100-SXM3-32GB, PCIe 接口,定制版。是网上能买到的最便宜的32GB V卡。 咸鱼上便宜,有的才几千,不敢买,网上被骗的太多。京东上3万起步,太贵。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,前期实验,这个电源线可以不接。主板仍然能够识别显卡,并可以顺利安装驱动,通过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。 然后就能愉快玩耍了。

命令截图留作纪念:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/605467.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正版软件 | Total Uninstall - Windows 全功能卸载程序 新手入门教程

『软件简介』 Total Uninstall 是一款先进的系统监控与卸载工具,它通过创建安装前后的系统快照,为用户提供了一种全新的程序管理方式。这款软件具备两个主要功能:一是能够独立于系统自带的卸载程序,彻底移除已安装的应用程序&…

FPGA -手写异步FIFO

一,FIFO原理 FIFO(First In First Out)是一种先进先出的数据缓存器,没有外部读写地址线,使用起来非常简单,只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成&a…

开源数据可视化大屏对接表单数据实践!

如果你需要一个表单系统,进行数据收集;可以使用tduck填鸭进行私有化部署,进行表单制作,完成数据收集。 在实际业务中,往往需要将收集的数据进行展示或分析;此时就可以使用表单数据推送到TReport中&#xf…

AMBA总线介绍

AMBA(Advanced Microcontroller Bus Architecture)是由ARM(Advanced RISC Machines)公司设计的一种高性能、高带宽的总线架构。AMBA总线广泛应用于各种嵌入式系统中,包括数字信号处理器、图形处理器、嵌入式处理器以及…

收银系统源码--什么是千呼智慧新零售系统?

千呼智慧新零售系统是一套针对零售行业线上线下一体化收银系统。给门店提供线下称重收银、o2o线上商城、erp进销存、精细化会员管理、丰富营销插件等一体化解决方案。多端数据打通,实现线上线下一体化,提升门店工作效率,实现数字化升级&#…

vue3 依赖-组件tablepage-vue3版本1.0.3更新内容

github求⭐ 可通过github 地址和npm 地址查看全部内容 vue3 依赖-组件tablepage-vue3说明文档,列表页快速开发,使用思路及范例-汇总 vue3 依赖-组件tablepage-vue3说明文档,列表页快速开发,使用思路及范例(Ⅰ&#…

【第38天】SQL进阶-SQL设计优化-范式设计(SQL 小虚竹)

回城传送–》《100天精通MYSQL从入门到就业》 文章目录 零、前言一、练习题目二、SQL思路初始化数据什么是范式设计第一范式(1NF)第二范式(2NF)第三范式(3NF) 三、总结四、参考 零、前言 今天是学习 SQL …

期权和期货有什么区别?

今天期权懂带你了解期权和期货有什么区别?期权和期货是两种常见的衍生金融工具,它们在结构和盈利方式上存在一些关键的区别: 期权 期权是一种给予持有者在未来某个时间以特定价格买入或卖出基础资产的权利,但不是义务。期权的主要…

ORACLE 19C RAC DIAG进程消耗大量内存的分析

近期一个ORACLE 19C的RAC环境,多次出现数据库实例的后台进程DIAG消耗很多内存(达到20G),节点1、节点2都出现过次问题。 问题分析:通过对DIAG进程TRACE分析,结合在ORACLE官方后台进行问题、BUG查询匹配&…

uniapp怎么使用jsx

安装vitejs/plugin-vue-jsx npm install vitejs/plugin-vue-jsx -Dvite.config.js配置 import { defineConfig } from "vite"; import uni from "dcloudio/vite-plugin-uni"; import vueJsx from vitejs/plugin-vue-jsxexport default defineConfig({plu…

初始Java篇(JavaSE基础语法)(7)抽象类和接口(下)

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:JavaSE 接上文:初始Java篇(JavaSE基础语法)(7)抽象类和接口(上&#xf…

Netty HTTP2 示例-响应式编程-013

🤗 ApiHug {Postman|Swagger|Api...} = 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace The Next Generation API Development Platform …

上海亚商投顾:沪指缩量调整 合成生物概念股持续爆发

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量震荡调整,深成指、创业板指均跌超1%。细胞免疫治疗概念股大涨,冠昊生物、…

运营一个在线课堂有哪些基础费用?

我是酷瓜云课堂的作者,对这个问题还是很有心得的。我们的系统是基于腾讯云服务的,下面简单罗列一些基础费用,价格和腾讯云官方有些许出入,仅供参考。 (1)域名 域名注册通常 60 - 80元 / 年,续…

【JavaEE网络】HTTP响应详解:状态码、报头与正文的全面解析

目录 HTTP响应(Response)认识 "状态码" (status code)认识响应 “报头”(header)认识响应 “正文”(body) HTTP响应(Response) 响应: 首行响应头空行正文 认…

AI大模型探索之路-训练篇18:大语言模型预训练-微调技术之Prompt Tuning

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

信息系统项目管理师0095:项目管理知识领域(6项目管理概论—6.4价值驱动的项目管理知识体系—6.4.4项目管理知识领域)

点击查看专栏目录 文章目录 6.4.4项目管理知识领域6.4.4项目管理知识领域 除了过程组,过程还可以按知识领域进行分类。知识领域指按所需知识内容来定义的项目管理领域,并用其所含过程、实践、输入、输出、工具和技术进行描述。 虽然知识领域相互联系,但从项目管理的角度来看…

使用unplugin-icons报错:Icon `eos-icons/ai` not found

代码: import IconNanobert from ~icons/eos-icons/ai 报错: Icon eos-icons/ai not found解决办法: npm i -D iconify-json/eos-icons (把eos-icons替换成报错的那个collection-id即可,collection-id名称见图2&…

JVM堆内存分析

jmap工具查看堆内存 jmap:全称JVM Memory Map 是一个可以输出所有内存中对象的工具,可以将JVM中的heap(堆),以二进制输出成文本,打印出Java进程对应的内存 找到pid jmap -heap 19792 Attaching to process ID 19792…

鸿蒙DevEco Studio 4.1 Release-模拟器启动方式错误

软件版本:DevEco Studio 4.1 Release 报错提示: 没有权限查看处理指导 Size on Disk 显示1.0MB 尝试方案(统统无效): 1、“windows虚拟机监控程序平台”、"虚拟机平台"已开启 启用CPU虚拟化 2、C…