在新手在消费级GPU上本地部署chatGLM-6B-CSDN博客文章中介绍了本地部署chatGLM-6B的过程,本文在此基础上实现对chatGLM-6B(FP16)的LoRA本地微调。
硬件、软件环境的需求,如下所示,具体部署方式请参考如下:
一、硬件要求
1、理论需求
硬盘空间:可用空间不小于40G;
显存要求:本人选用的ChatGLM-6B是FP16精度的,运行代码需要不少于14G的显存;后续要进行进一步的LoRA微调的话,显存最好不小于24G。如果硬件条件受限的话,可以考虑下载INT8或INT4量化后的ChatGLM-6B模型。
2、本人配置
本人针对FP16精度的ChatGLM-6B进行部署,暂未尝试INT8、INT4量化模型。
GPU:NVIDIA GeForce RTX 3090
CPU:Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz
二、软件环境
1、本人配置
ubuntu20.04
python 3.10.13
numpy==1.26.3
cuda:11.3
torch==2.1.2+cu121
transformers==4.37.1
peft==0.3.0
三、微调过程
微调过程,参考文章LLM - ChatGLM-6B Lora 微调与推理_chatglm2-6b训练lora-CSDN博客,作为一个新手小白的我,按照这篇文章成功完成了在消费级GPU上本地LoRA微调chatGLM-6B。
四、过程中的bug解决
1、在用显存24G的3090采用LoRA微调ChatGLM-6B(FP16)时报错torch.OutOfMemoryError:CUDA out of Memory.
2、ValueError: Attempting to unscale FP16 gradients. 反复出现的问题