不同参数规模大语言模型在不同微调方法下所需要的显存总结

原文来自DataLearnerAI官方网站:

不同参数规模大语言模型在不同微调方法下所需要的显存总结 | 数据学习者官方网站(Datalearner)icon-default.png?t=N7T8https://www.datalearner.com/blog/1051703254378255

大模型的微调是当前很多人都在做的事情。微调可以让大语言模型适应特定领域的任务,识别特定的指令等。但是大模型的微调需要的显存较高,而且比较难以估计。与推理不同,微调过程微调方法的选择以及输入序列的长度、批次大小都会影响微调显存的需求。本文根据LLaMA Factory的数据总结一下大模型微调的显存要求。

在此前的文章中,我们已经解释了大模型推理和显存之间的估算方法:需要多少GPU显存才能运行预训练大语言模型?大语言模型参数规模与显存大小的关系估算方法~。即大模型推理显存约等于模型参数乘以2,而微调则只给了方法没有具体公式。

不同参数规模的大模型在不同微调方法下所需的显存大小,十分有参考意义:

微调方法 模型精度 70亿参数模型 130亿参数模型 300亿参数模型 650亿参数模型 8x7B(MoE)
Full 16 160GB 320GB 600GB 1200GB 1000GB
Freeze 16 20GB 40GB 120GB 240GB 200GB
LoRA 16 16GB 32GB 80GB 160GB 120GB
QLoRA 8 10GB 16GB 40GB 80GB 80GB
QLoRA 4 6GB 12GB 24GB 48GB 32GB

这里的微调方法介绍参考和数据来源见原文:不同参数规模大语言模型在不同微调方法下所需要的显存总结 | 数据学习者官方网站(Datalearner)

这里比较重要的参考是8×7B的MoE模型。这个显然就是前段时间刚刚发布的Mixtral大模型(即Mistral 8×7B MoE,详情参考:MistralAI的混合专家大模型Mistral-7B×8-MoE详细介绍,效果超过LLaMA2-70B和GPT-3.5,推理速度快6倍)。这个模型实际参数450亿,每次推理只会激活120亿的参数。这个模型在微调的时候需要的显存大小和450亿参数规模的模型相当。也就是说,MoE最大的优点应该是提升推理速度。推理现存与微调显存实际上不会有什么优势(根据实际测试,Mixtral 8×7B MoE推理最少也要90多G的显存)。如果使用QLoRA方法,那么显存大小会显著降低。不过,这也会降低一点精度。

原文来自DataLearnerAI:不同参数规模大语言模型在不同微调方法下所需要的显存总结 | 数据学习者官方网站(Datalearner)

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-26 11:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-26 11:38:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-26 11:38:02       82 阅读
  4. Python语言-面向对象

    2023-12-26 11:38:02       91 阅读

热门阅读

  1. es6中 ?? 与 || 区别

    2023-12-26 11:38:02       66 阅读
  2. 邦芒解析:拒绝加班邀请的8种理由

    2023-12-26 11:38:02       56 阅读
  3. 图像色彩还原算法

    2023-12-26 11:38:02       56 阅读
  4. MySQL中的like模糊查询

    2023-12-26 11:38:02       63 阅读
  5. Springboot学习

    2023-12-26 11:38:02       68 阅读
  6. 蛋白分离纯化方法|蛋白质纯化--卡梅德生物

    2023-12-26 11:38:02       66 阅读
  7. 随记-SQLAlchemy ORM 梳理

    2023-12-26 11:38:02       53 阅读