当前位置: 首页 > news >正文

Llama-2 推理和微调的硬件要求总结:RTX 3080 就可以微调最小模型

大语言模型微调是指对已经预训练的大型语言模型(例如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

http://www.lryc.cn/news/165289.html

相关文章:

  • C++多线程的用法(包含线程池小项目)
  • react ant ice3 实现点击一级菜单自动打开它下面最深的第一个子菜单
  • 关于 Qt串口不同电脑出现不同串口号打开失败 的解决方法
  • 可观测性在灰度发布中的应用
  • vscode开发油猴插件环境配置指南
  • 网站不收录没排名降权怎么处理-紧急措施可恢复网站
  • C++vector模拟实现
  • 《DATASET DISTILLATION》
  • GDPU 数据结构 天码行空1
  • 【C++】红黑树的模拟实现
  • 【多线程】Thread 类 详解
  • LINUX 网络管理
  • refresh rate
  • 使用 NGINX Unit 实施应用隔离
  • 2023/09/12 qtc++
  • 全科医学科常用评估量表汇总,建议收藏!
  • 了解消息中间件的基础知识
  • 【linux】Linux wps字体缺失、加粗乱码解决
  • 每日两题 103二叉树的锯齿形层序遍历(数组) 513找树左下角的值(队列)
  • ROS2报错:ImportError: cannot import name ‘Log‘ from ‘rosgraph_msgs.msg‘
  • 【Vue】Vue中的代码分为哪几种类型?
  • es6中includes用法
  • QT中QRadioButton实现分组C++
  • kafka实战报错解决问题
  • vite+react 使用 react-activation 实现缓存页面
  • 【android 蓝牙开发——蓝牙耳机】
  • Golang goroutine 进程、线程、并发、并行
  • 如何做到安全上网
  • 优维低代码实践:菜单
  • git merge 如何撤销