大语言模型微调是指对已经预训练的大型语言模型(例如Llama-2,Falcon等)进行额外的训练,以使其适应特定任务或领域的需求。微调通常需要大量的计算资源,但是通过量化和Lora等方法,我们也可以在消费级的GPU上来微调测试,但是消费级GPU也无法承载比较大的模型,经过我的测试,7B的模型可以在3080(8G)上跑起来,这对于我们进行简单的研究是非常有帮助的,但是如果需要更深入的研究,还是需要专业的硬件。
我们先看看硬件配置:
亚马逊的g3.xlarge M60是8GB的VRAM和2048个CUDA内核。3080是10Gb的GDDR6 VRAM,这两个GPU基本类似。
这里做的测试是使用一个小的(65MB文本)自定义数据集上微调lama-2 - 7b (~7GB)。
可以看到3080非常耗电,训练时最大耗电364瓦(PC总耗电超过500瓦)。
看看训练的记录
说明训练是ok的,能够完整的进行训练
为了验证内存消耗,我又在8G 的M60上跑了一遍,也是没问题的,这应该是GPU内存的极限了。
占用的差不多7.1G的内存,再多一些可能就不行了,不过还好,将就够用。
最后我们再整理个列表,大概看看各个模型都需要什么样的内存,以下只是推理,不包括微调,如果使用微调,大概需要再加20%(LORA)。
LLaMA-7B
建议使用至少6GB VRAM的GPU。适合此模型的GPU示例是RTX 3060,它提供8GB VRAM版本。
LLaMA-13B
建议使用至少10GB VRAM的GPU。满足此要求的gpu包括AMD 6900 XT、RTX 2060 12GB、3060 12GB、3080和A2000。这些gpu提供了必要的VRAM容量来有效地处理LLaMA-13B的计算需求。
LLaMA-30B
建议使用VRAM不低于20GB的GPU。RTX 3080 20GB、A4500、A5000、3090、4090、6000或Tesla V100都是提供所需VRAM容量的gpu示例。这些gpu为LLaMA-30B提供了高效的处理和内存管理。
LLaMA-65B
LLaMA-65B在与至少具有40GB VRAM的GPU。适合此型号的gpu示例包括A100 40GB, 2x3090, 2x4090, A40, RTX A6000或8000。
对于速度来说:
我是用RTX 4090和Intel i9-12900K CPU的推理速度示例
对于CPU来说,LLaMA也是可以用的,但是速度会很慢,而且最好不要进行训练,只能进行推理,下面是,13B模型在不同CPU上推理速度列表
各个系统的配置和性能可能会有所不同。最好对不同的设置进行实验和基准测试,以找到最适合您特定需求的解决方案,上面的测试仅供参考。
https://avoid.overfit.cn/post/0dd29b9a89514a988ae54694dccc9fa6