【AI学习】LLaMA模型的微调成本有几何?

news/2024/9/13 23:47:49/ 标签: 人工智能, 学习, llama, 自然语言处理, 深度学习

在前面文章《LLaMA 系列模型的进化(二)》中提到了Stanford Alpaca模型。
Stanford Alpaca 基于LLaMA (7B) 进行微调,通过使用 Self-Instruct 方法借助大语言模型进行自动化的指令生成,Stanford Alpaca 生成了 52K 条指令遵循样例数据(Alpaca-52K)用于训练。
在这里插入图片描述
据说,这个训练成本不到600美元。那这个成本是如何计算的呢?
训练成本:在8个80GB A100 上训练了3个小时,不到100美元;
数据成本:生成数据使用OpenAl的API,500美元。这里就是通过使用 Self-Instruct 方法,使用了OpenAl的接口的调用成本。

在前面文章《英伟达ChipNeMo,一个领域大模型的训练案例》里,介绍了领域大模型的训练过程。如下图:
在这里插入图片描述
对应的训练时长为:
在这里插入图片描述

使用 128 个 A100 GPU 进行了训练。ChipNeMo 的领域适配预训练成本(包括基于领域数据的继续预训练和SFT),具体见下表,单位是A100 GPU hours
ChipNeMo 的领域适配预训练成本,对比从头开始预训练基础模型的总成本不到 1.5%。
在这里插入图片描述
以LLaMa 7B模型的训练来说,总训练时长=2710,按照前面“在8个80GB A100 上训练了3个小时,不到100美元”的成本折算,成本应该小于11300美金
13B模型,总训练时长=5100,成本应该小于21250美金
70B模型,总训练时长=21340,成本应该小于88920美金

至于数据,ChipNeMo 的领域适配预训练需要24B以上的数据,这个可能与相应的数据积累有很大关系,不好计算了。


http://www.ppmy.cn/news/1516375.html

相关文章

leetcode滑动窗口问题

想成功先发疯,不顾一切向前冲。 第一种 定长滑动窗口 . - 力扣(LeetCode)1456.定长子串中的元音的最大数目. - 力扣(LeetCode) No.1 定长滑窗套路 我总结成三步:入-更新-出。 1. 入:下标为…

如何禁止编辑PDF文件?推荐两种方法!

在日常工作中,我们经常会遇到需要分享重要的PDF文件的情况,但又希望文件内容不被随意更改。为此,设置PDF文件的修改限制是一个非常有效的措施。今天分享两种常见的禁止修改PDF的方法,一起来看看如何设置。 方法一:使用…

JavaWeb学习——事务管理、AOP学习

目录 一、事务管理 1、事务回顾 2、事务进阶 a、rollbackFor属性 b、propagation属性 二、AOP学习 1、基础了解 2、AOP进阶 一、事务管理 1、事务回顾 事务的概念:事务必须服从ACID原则。ACID指的是原子性(atomicity)、一致性&#xf…

UE5 多个类选择界面生成。解决方案思路。

中控器CC 》用户界面控制器UI_CC 》用户界面UI_Inst 生成 CC使用接口,通知UI_CC开始生成UI_Inst。 蓝图函数库编写判断是否存在和创建UI的蓝图。(此处略) UI_CC生成时,userwidget使用接口,注册UI_CC的用户控件的控件…

远程在电脑上玩PS5《黑神话:悟空》?借助极空间实现PS5远程串流攻略

远程在电脑上玩PS5《黑神话:悟空》?借助极空间实现PS5远程串流攻略 哈喽小伙伴们好,我是Stark-C~ 这两天的《黑神话:悟空》可谓是火爆出圈呀!虽说我也是第一时间体验到了这款可以说是划时代意义的首款国产3A大作&…

mac os 外接设备使用win习惯快捷键

目录 1. 简单映射版本(常用快捷键)2. 如果想追求完全的win匹配3. 关于外接鼠标滚动设置 1. 简单映射版本(常用快捷键) 就把ctrl和Command键互换一下就行 点击设置-键盘-键盘快捷键 然后在修饰键中,将control和comm…

MyBatis配置允许批量插入或更新数据

MyBatis配置allowMultiQueriestrue允许使用foreach标签批量插入或更新数据 执行update更新操作&#xff1a; <!-- 批量更新 --><update id"updateBatchByKey" parameterType"java.util.List"><foreach collection"list" item&q…

Telnet详解与应用——从原理到实战模拟

1. 引言 在现代网络管理中&#xff0c;远程访问和控制设备的能力至关重要。Telnet是一种经典的远程访问协议&#xff0c;尽管在安全性方面逐渐被SSH等更现代化的协议取代&#xff0c;但其在早期网络管理中的广泛使用使其成为网络工程师的基本技能之一。本文将深入探讨Telnet的…

探索Python内置模块与第三方模块

1. Python模块简介 在Python中&#xff0c;模块就是一个包含Python定义和语句的文件。模块可以定义函数、类和变量&#xff0c;还可以包含可运行的代码。使用模块的目的是将大型程序分解成更小的、可管理的、可重用的组件。 1.1 Python模块的类型 内置模块&#xff1a;这些模…

TCP 粘包问题

TCP是一个面向字节流的传输层协议。“流” 意味着 TCP 所传输的数据是没有边界的。这不同于 UDP 协议提供的是面向消息的传输服务&#xff0c;其传输的数据是有边界的。TCP 的发送方无法保证对方每次收到的都是一个完整的数据包。于是就有了粘包、拆包问题的出现。粘包、拆包问…

Laravel实现图片上传接口以及图片压缩优化测试

1. 创建 Laravel 项目 确保你已经安装了 Laravel 和相关依赖。创建一个新的 Laravel 项目&#xff1a; composer create-project --prefer-dist laravel/laravel image-upload cd image-upload2. 设置数据库 编辑 .env 文件以连接到你的数据库&#xff0c;然后运行迁移&…

深入探索fs.WriteStream:Node.js文件写入流的全面解析

在Node.js中&#xff0c;fs模块不仅提供了读取文件的API&#xff0c;还包含了写入文件的工具&#xff0c;其中fs.WriteStream就是一个非常重要的类&#xff0c;用于以流的形式将数据写入文件。本文将全面讲解fs.WriteStream的基本概念、使用方法、事件处理以及高级应用&#xf…

在Linux系统下配置IP地址的方法

在Linux系统下配置IP地址可以使用以下几种方法&#xff1a; 1.使用ifconfig命令&#xff1a; 打开终端&#xff0c;并以root权限登录。 输入ifconfig命令查看当前网络接口的配置信息。 使用ifconfig <interface> <IP_address> netmask <subnet_mask>命令…

【Java日志系列】Logback日志框架

目录 前言 一、Logback简介 二、Logback组件 三、快速入门 四、配置文件的使用 1. 配置文件中的标签 1.1 logger标签 1.2 root标签 1.3 appender标签 1.4 filter标签 1.5 encoder标签 1.6 property标签 2. 常见的Appender 2.1 ConsoleAppender 2.2 FileAppender…

C# SignalR 实时通信:构建动态交互的秘诀

标题&#xff1a;C# SignalR 实时通信&#xff1a;构建动态交互的秘诀 摘要 SignalR 是 ASP.NET Core 的一个库&#xff0c;它简化了在应用程序中添加实时通信的过程。无论是聊天应用、实时游戏还是协作工具&#xff0c;SignalR 都能提供高效且易于实现的解决方案。本文将深入…

Windows—UDP编程

Client骨架&#xff1a; #include <iostream> #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib")int main() {//启动Winsock DLLWORD wVersionRequested MAKEWORD(2, 2);WSADATA lpWSAData;WSAStartup(wVersionRequested, &lpWSAData);//…

dbeaver数据库工具配置连接openGauss5.0

在DBeaver数据库工具中配置连接openGauss 5.0&#xff0c;可以通过以下步骤进行&#xff1a; 一、准备工作 下载openGauss JDBC驱动&#xff1a; 访问openGauss的官方网站&#xff08;如https://opengauss.org/zh/&#xff09;&#xff0c;下载适用于您操作系统的JDBC驱动。对…

浪潮服务器NVME 硬盘通过 Intel VROC 做RAID

INTEL VROC Configuration solution 1.VMD configuration in BIOS Processor > IIO Configuration> Intel(R) VDM Technology> Intel(R) VMD for volume Management Device on Socket 0 “CPU 0”, Intel VMD for volume management device for “PStack0” or “PSta…

C# 匿名函数 delegate(参数...){ }

什么是匿名函数 顾名思义&#xff0c;就是没有名字的函数 匿名函数的使用主要是配合委托和事件进行使用 脱离委托和事件 是不会使用匿名函数的 基本语法 delegate (参数列表) { 函数逻辑 …

【jvm】PC寄存器为什么设定为线程私有?

目录 1. 说明2. 多线程执行的需求3. CPU切换线程的需要4. 并发执行的特性 1. 说明 1.PC寄存器被设定为线程私有主要是为了满足多线程执行的需求、CPU切换线程的需要以及并发执行的特性。2.这种设计保证了每个线程都能独立地执行其任务&#xff0c;并且能够在CPU进行线程切换时…