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.mzph.cn/news/84065.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android面试题汇总(一)

JAVA基础: 1、抽象类和接口区别 关键词定义:抽象类abstract class,接口interface 成员修饰符:抽象类可以是任意类型,接口只能是默认public static final 方法修饰符:抽象类任意类型,接口默认是…

区块链技术:解密去中心化的革命

文章目录 区块链的基础概念什么是区块链?区块链的核心原理1. 分布式账本2. 区块3. 加密技术4. 共识机制 区块链的工作原理区块链的交易过程区块链的安全性共识机制的作用 区块链的应用领域1. 金融服务2. 供应链管理3. 物联网4. 医疗保健5. 政府与公共服务 区块链的未…

Fair下发产物-布局DSL生成原理

一、概述 大家都知道,Flutter在release环境是以AOT模式运行的,这就决定了我们要做动态化的话无法简单的通过动态下发dart代码执行的。根据Fair团队的前期调研,我们对布局动态化和逻辑动态化的实现采用了两套不同的实现方案,对于布局部分,我们在解析dart源文件之后生成DSL…

蓝桥杯 题库 简单 每日十题 day2

01 卡片 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个&a…

《如何避免在算法备案中的常见失误?》

在数字时代,算法逐渐渗透到了我们生活的各个方面。为确保算法的透明性、公平性和安全性,许多国家和地区都已经或正在考虑实施算法备案制度。然而,在备案过程中,很多企业和研究者会遇到各种问题,一些常见的失误甚至可能…

RK3568开发笔记(十一):开发版buildroot固件移植一个ffmpeg播放rtsp的播放器Demo

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/133022813 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

repo 命令

repo命令是Google开发的用于管理Android版本库的一个工具。 repo命令并不是用于取代git&#xff0c;而是用Python对git进行了一定的封装&#xff0c;简化了对多个Git版本库的管理。 repo init -u -b -m <manifest 文件名称> repo sync 相当于 git clone 获取 git remote…

LeetCode 25. K 个一组翻转链表

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 创建一个哨兵位头结点&#xff0c;然后将其链接在原来头结点的前边&#xff0c;以便于我们后面的便利使用。 每次翻转一小段之前首先判断一下接下里我们要翻转的这一小段的长度是否…

Facebook教程大揭秘!轻松创建公共主页!

公共主页是Facebook上的一种页面&#xff0c;商家或品牌可以借此与粉丝或客户建立紧密联系。简单地说&#xff0c;在Facebook上&#xff0c;个人账号只代表着个体的身份&#xff0c;而公共主页则代表着其所属的网站或品牌。用户在点赞或关注了一个Facebook公共主页后&#xff0…

文件挂载nas挂载

准备资源 nas服务器&#xff1a; 192.168.1.2 分配的nas卷名&#xff1a; mynasvolumename 在本地机器挂载nas卷 mkdir -p /mnt/localmountdir 执行挂载 mount -t nfs 192.168.1.2:mynasvolumename/ /mnt/localmountdir 本地进入nas目录 cd /mnt/localmountdir 可以…

书剑宠物疫苗接种管理软件操作教程

【软件简介】 书剑宠物疫苗接种管理软件是一款宠物疫苗接种管理的工具&#xff0c;适合宠物诊所使用。具有动物主人建档、宠物疫苗接种登记管理、每日提醒、打印疫苗接种通知卡、自定义短信提醒模板等完善的功能。 另外本软件的特色是同时具有手机网页版功能&#xff0c;手机…

uni-app获取元素具体位置获取失败

场景&#xff1a;想要通过链接跳转传递catid&catid2类别id,商品类别id 跳到这一页左侧对应的类别栏上面,同时跳到右侧列表滚动到对应商品那一块区域。 遇到的问题&#xff1a;在for循环中通过绑定id获取不到商品列表的具体位置。 原因&#xff1a;在onReady函数和mounted函…

pywinauto:Windows桌面应用自动化测试(三)

前言 上一篇文章地址&#xff1a; pywinauto&#xff1a;Windows桌面应用自动化测试&#xff08;二&#xff09;_Lion King的博客-CSDN博客 下一篇文章地址&#xff1a; 暂无 一、win应用的后端技术 1、官方文档 安装了 pywinauto 后&#xff0c;如何开始使用呢&#xf…

Java线程池ExecutorService和Executors应用(Spring Boot微服务)

记录&#xff1a;476 场景&#xff1a;在Spring Boot微服务中使用ExecutorService管理Java线程池。使用Executors创建线程池。使用Runnable接口实现类提交线程任务到线程池执行。 版本&#xff1a;JDK 1.8,Spring Boot 2.6.3。 1.线程和线程池基础 JDK自带线程和线程池包位…

常用与业务密切相关的prompt

可以在 Bard、Bing、Claude 2、ChatGPT和 Llama 2 上使用 定义您的业务目的和愿景。 提示&#xff1a;“我正在[插入行业]创业。我的重点是定义与我的受众产生共鸣的明确目标和愿景。你能指导我制定有意义的愿景声明吗&#xff1f;” 研究和分析您的目标市场。 提示&#x…

可视化图表组件之股票数据分析应用

股市是市场经济的必然产物&#xff0c;在一个国家的金融领域之中有着举足轻重的地位。在过去&#xff0c;人们对于市场走势的把握主要依赖于经验和直觉&#xff0c;往往容易受到主观因素的影响&#xff0c;导致决策上出现偏差。如今&#xff0c;通过数据可视化呈现&#xff0c;…

Puppeter与Electron的结合,使用Electron创建可视化界面

前言 上一篇文章&#xff1a;Puppeteer基础入门、常见应用、利用谷歌插件编写Puppeteer脚本&#xff0c;简单介绍了Puppeteer的基本使用&#xff0c;以及如何编写一个脚本。 但是呢脚本的运行需要在node环境里&#xff0c;开发人员可能没什么问题。但是如果你写的这个脚本要给…

java学习笔记------接口

接口&#xff1a;就是一种规则&#xff08;是对行为的抽象&#xff09; 接口的定义和使用&#xff1a; 接口用关键字interface来定义 public interface 接口名{}接口不能实例化接口和类之间是实现关系&#xff0c;通过implements关键字表示 public class 类名 …

Selenium 4.11 正式发布--再也不用手动更新chrome driver 了

Selenium 4.11.0 正式发布了&#xff0c;先来看一下主要特性。 Chrome DevTools支持的版本现在是&#xff1a;v113、v114和v115&#xff08;Firefox仍然对所有版本使用v85&#xff09; 通过Selenium Manager支持Chrome For Testing&#xff08;CfT&#xff09; Selenium Manag…

RabbitMQ —— 初窥门径

前言 RabbitMQ作为当下主流的消息中间件之一&#xff0c;无疑是我们Java后端开发技术成长路线的重要一环&#xff0c;在这篇文章中荔枝将会梳理入门RabbitMQ的知识&#xff0c;文章涉及RabbitMQ的基本概念及其环境配置&#xff0c;荔枝的RabbitMQ是在Docker上部署的&#xff0c…