赞
踩
在折腾了比较久之后,终于在windows 11和rtx3060(自带12G显存)的资源平台上把Baichuan2-13B-Chat大模型的4bits量化模型跑起来了,为了记录下以备查看及分享给需要的人,以少走弯路,简单记下如下流水账。
这个部分分为三块:NVIDIA图形驱动程序、CUDA Toolkit和cnDNN,显卡图形驱动是来满足平时的显卡正常使用的,比如玩游戏、看电影等基本需求;CUDA Toolkit是一般的显卡开发提供功能接口;cuDNN开发库是专门为了给进行深度学习开发提供必要的编程控制接口,比如pytorch、tensorflow等的直接调用GPU的内存和算力接口。
到Nvidia官网下载安装相应的驱动版本:537.58-desktop-win10-win11-64bit-international-nsd-dch-whql.exe。
点击search后可以查询到如下版本,下载并安装即可完成显卡驱动的安装。
如果安装过其他的驱动版本,可以到控制面板里面进行卸载。
安装好之后,可以通过在CMD命令行窗口内输入:nvidia-smi 来查看到显卡的相关信息了,即表示安装成功了。如下图,可以看到已经安装好的驱动版本Driver Version: 537.58。
去到nvidia官网的CUDA Toolkit下载页面进行下载:cuda_11.4.2_471.41_win10。
去到nvidia官网的cuDNN库下载页面进行下载: cudnn-11.4-windows-x64-v8.2.4.15.zip。
下载完了之后,解压并复制bin、include和lib文件夹到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4下直接覆盖就好。
然后把incude、lib、bin和libnvvp这几个目录路径添加到系统变量PATH里面去。
此时基本安装完毕,可以在CMD内输入:nvcc --version来查看安装是否成功。在用命令:set cuda 来查看环境变量配置情况。
到目前为止,显卡这块的工作基本完成了,下面将继续介绍开发端的配置工作。
到Pycharm官网下载安装PyCharm Community Edition
到anaconda官网下载并安装软件,后续安装依赖库占用空间较大(大概9G左右),建议C盘空间紧张的情况下可以选择安装到其他盘内不影响后续使用。
安装完成后在CMD命令行窗口内完成下列安装:(在虚拟环境下可以同时用conda install和pip install进行库的安装,都会默认安装到此虚拟环境目录下)
模型选择Baichuan2-13B-Chat的在线量化4bits版本,先到github下载baichuan2的微调环境,点击“Download ZIP”打包下载,解压后得到Baichuan2-main目录文件夹。
模型可以选择到国外的huggingface(本人所用途径,需骑墙才能打开下载)或者国内的魔搭社区(没看出来怎么下载,研究一下应该可以)下载。
全部下载后单独放到Baichuan2-main/baichuan-inc/Baichuan2-13B-Chat目录文件夹下。即把当前下载的模型文件及其他文件都放到之前下载的微调文件夹内的baichuan2-inc文件夹下,用pytharm定位打开目录后的文件结构如下:(下图中有多下载了一个离线版的4bits模型,非必须的,请忽略)
在打开baichuan2的微调目录Baichuan2-main后,点击“设置-'项目Baichuan2-main'-python解释器-添加解释器”,选择定位好anaconda3的安装目录位置,并选择好之前配置好的虚拟环境baichuan2即可。对于还有提示在requirements.txt内未安装的库,直接点击安装即可,或者用pip install一个个安装。
双击打开web_demo.py文件,更改和添加下列代码:
- model = AutoModelForCausalLM.from_pretrained(
- "baichuan-inc/Baichuan2-13B-Chat",
- torch_dtype=torch.float16,
- # device_map="auto",
- trust_remote_code=True
- )
- model = model.quantize(4).cuda()
如果想进行模型系数的8bits量化可以把上面代码里的4改为8即可,只是需要更多的GPU内存(估计需要16G左右),RTX3060的内存肯定是不够的。
如下图在pycharm窗口下自带的命令行内输入:python -m streamlit run .\web_demo.py
来运行基于浏览器的demo演示,会自动打开默认的浏览器。因为要执行在线的量化动作,把模型系数转化为4bits形式需要消耗系统大概32G的内存(非GPU内存)并需要等待比较久。
模型加载之后如下:
在模型系数转化完成后就会执行加载到RTX3060网卡的GPU内存内了。在cmd命令行窗口内可以输入:nvidia-smi来查看GPU内存的使用情况,可以看到大概占用了10G左右GPU内存。
上图显示的CUDA Version是12.2,不知道是安装537.58-desktop-win10-win11-64bit-international-nsd-dch-whql.exe自带的还是之前安装过cuda_12.2.2_537.13_windows.exe和cudnn-windows-x86_64-8.9.5.29_cuda12-archive.zip遗留的(不过查看控制面板里没看到有关12.2的相关驱动程序且安装目录里也只有v11.4版本)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。