微调大模型不再难:LoRA方法带你轻松节省99%的训练成本!

news2024/9/19 12:43:10

我们之前说大模型有四种玩家,其中前三种都是要做模型训练的。而大部分公司或个人,都是在第二种开源大模型的基础上来做训练。

而这种训练方式又分为两种。一种要么就是从头训练,要么就Fine-tuning接着开源模型来训练,在基座模型已经训练好的基础上去做微调。

网上有个很火开源模型,叫羊驼。

其实是这个人Vallejo利用Meta公司开源的LLama 7B的模型微调出来的全新模型,依然是开源的。他仅仅用了52KB大小的数据集,然后把Llama训练出来的能力竟然约等于GPT-3.5,而且它的训练成本很低,不到600美金,他只是在8个80G的H100 GPU上训练3个小时,这个训练费用这个花费其实才不到100美金,更费钱的其实是数据的收集,因为他只是一个研究学者,他没有数据,于是他利用OpenAI的API,相当于调用GPT-3.5一问一答,生成了一批数据,调用API花了500美金。假如他本身就有数据的话,他可能连这500美金都不用花。可见这个微调模型的成本其实是挺低的。

下面这个羊驼就是这个模型的logo,现在羊驼的变体也出了很多,也是基于不同数据训练出来的。其实对我们大部分团队来说,如果要训练一个大模型,从头开始训练的话,得考虑清楚几点,一个是周期很长,第二是数据量会要求很多,第三个也是最重要的一个就是成本很高,这个普通玩家玩不起的,所以这也是为什么更多团队现在都倾向于做这种垂直大模型的微调。

最常用的微调方式就是这种,叫LoRA,名字挺好记的,全称是Low-Rank Adaptation of Large Language Models。当然除了这个是最主流的,还有prompt-tuning, 基于提示词的微调方法,Freeze冻结部分参数的方式来做微调等等。严格上来说,LoRA属于有监督微调(SFT)的一种。

LoRA这种方法为啥这么好呢,就是因为它节省算力资源呀,它的基本原理就是可以冻结预训练模型的全部参数权重,然后只在新增的网络层去做训练,你可以理解为做一些新增的参数训练。通俗来讲,咱们拿到这个开源模型之后,原始的参数不动,只是动新增的部分,这种微调经过LoRA这种技术一处理,除了省资源,居然效果也不错,不亚于其他不能怎么冻结参数的微调方式。而我们微调的一小部分的数据就可以根据你的兴趣来,假如说我们要训练一个治安场景的问答模型,那我就把这个行业收集的大量知识,做一个知识库用LoRA喂给大模型,我只训练这一小部分,成本即低还快。这个就叫大语言模型的低级别适应方法(LoRA)。

今天大概先分享这么多,关于LoRA的更多原理,我只能找浅显得跟大家科普下,再多的就要专业的算法专家来科普了。希望我的分享能够让你知其一二。



喜欢的朋友记得点赞、收藏、关注哦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2142494.html

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

相关文章

IP 协议分析《实验报告》

目录 一、 实验目的 二、实验设备和环境 三、实验记录 1、实验环境搭建 2、IP 协议分析 1.设置抓包接口 2.IP 报文分析 3.报文长度计算 4.生存时间 TTL 5.分析总结 3、IP分片 1.IP 分片简介 2.捕获分组 3.结果分析 一、 实验目的 1、掌握 IP 协议数据报格式&…

知识图谱与异构图神经网络(7)--1

知识图谱是由实体(节点)和关系( 不同类型的边) 组成的多关系图。作为一种非常重要又特殊的图结构数据,知识图谱被广泛应用在人工智能和自然语言处理领域,从语义解析、命名实体消歧到问答系统、推荐系统中都可以看到来自知识图谱的技术推动。本质上&#…

树和二叉树基本术语、性质

目录 树的相关知识 常见考点1:结点数总度数+1 常见考点2: 度为m的树和m叉树 常见考点3:度为m的树第i层至多有结点数 常见考点4:高度为h的m叉树至多有结点 ​编辑 常见考点5:高度为h的m叉树,高…

可靠性:MSTP 和 VRRP 配置实验

一、拓扑: 说明: 1、交换机 SW1、2、3 分别起 vlan 10、20,都以 trunk 方式连接 2、 PC1、2 分别属于 vlan 10、20 3、SW1、2 起 vlan 100 做为管理段,网关地址分别以 100.1.1.1/24 和 200.1.1.2/24 和 AR1相连 …

监控易监测对象及指标之:全面监控InterSystems Cache数据库

随着企业数字化转型的深入,数据库作为核心的信息资产,其性能和稳定性对于保障业务连续性至关重要。InterSystems Cache作为一款高性能、可扩展的数据库管理系统,广泛应用于医疗、金融、制造等行业。为了确保Cache数据库的高效运行和稳定性能&…

Oracle 启动动态采样 自适应执行计划

为了解决因为统计信息缺失或者统计不够准确而引起的问题,从9iR2的版本开始Oracle推出了动态采样(Dynamic Sampling)功能,使SQL文在硬解析过程中动态地收集统计信息。 该功能在以后的版本上得到更进一步的增强,从11.2.0…

创建一个Java项目并在项目中新建文件,最后实现程序简单的输出

目录 前言 一、建立项目及新建Java类 二、输入简单代码实现输出 前言 1.本文所讲的是java程序设计语言,其内容是如何在id中新建一个项目,并新建一个Java文件,在其内输入相关代码并对其输出; 2.Java文件的编写以收入到我的专栏…

Docker torchserve 部署模型流程

1.拉取官方镜像 地址: https://hub.docker.com/r/pytorch/torchserve/tags docker pull pytorch/torchserve:0.7.1-gpu2. docker启动指令 CPU docker run --rm -it -d -p 8380:8080 -p 8381:8081 --name torch-server -v /path/model-server/extra-files:/home/model-serve…

计算机毕业设计选题推荐-4S店试驾平台-小程序/App

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

js 如何代码识别Selenium+Webdriver

Python 的 Selenium 可以模拟用户操作打开浏览器,前端如何去识别是人机还是真人: window.navigator.webdriver Selenium 人机下是这样的: 正常使用:

Makefile语法详解

目录 1 Makefile基本常识1.1 基本格式1.2 makefile规则1.3 伪目标1.4 变量的使用1.5 赋值方式1.6 常用函数 2 Makefile整体编译2.1 编译选项2.2三个.c整体编译2.3 静态库编译2.4 动态库编译 1 Makefile基本常识 1.1 基本格式 如下所示为Makefile的基本格式,特别需…

高等数学 2.5 函数的微分

文章目录 一、微分的定义二、微分的几何意义三、微分运算1、函数和、差、积、商的微分法则2、复合函数的微分法则 四、微分在近似计算中的应用 一、微分的定义 定义 设函数 y f ( x ) y f(x) yf(x) 在某区间内有定义, x 0 x_0 x0​ 及 x 0 Δ x x_0 \Delta x …

大模型时代:普通人如何获利

随着人工智能技术的飞速发展,我们正步入一个以大模型为驱动力的新时代。这些大型语言模型,如GPT-3和BERT,已经在各个领域展现出惊人的能力,包括文本生成、翻译、问答等。这些技术的进步不仅改变了我们的生活,也为普通人…

【数据结构初阶】顺序结构二叉树(堆)接口实现超详解

文章目录 1.树1. 1 树的概念与结构1. 2 树的相关术语1. 3 树的表示1. 4 树形结构实际运用场景 2.二叉树2. 1 概念与结构2. 2 特殊的二叉树2. 2. 1 满二叉树2. 2. 2 完全二叉树 2. 3 二叉树存储结构2. 3. 1 顺序结构2. 3. 2 链式结构 3. 实现顺序结构二叉树(小堆&…

【OJ刷题】双指针问题6

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:OJ刷题入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…

ThreadX源码:Cortex-A7的tx_thread_irq_nesting_start(嵌套中断开始动作).s汇编代码分析

0 参考资料 Cortex M3权威指南(中文).pdf(可以参考ARM指令集用法) 1 前言 tx_thread_irq_nesting_start.s是用来实现Cortex-A7 IRQ嵌套中断的开始函数实现的汇编文件。 2 源码分析 源码如下: 1  IRQ_DISABLE 0x80…

遍历指定的目录a中的所有子目录及所有文件os.walk(root_dir)

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 遍历指定的目录a 中的所有子目录 及所有文件 os.walk(root_dir) [太阳]选择题 已知已经存在的目录和文件情况如下: a目录下有子目录b,有两个文件:a1.txt和…

Flet全平台开发:软件开发界勇士为Python语言补短板的一次极具挑战性的尝试、冲刺和华丽亮相

一、Flet创始人和开发者介绍、开发Flet的背景介绍 Flet 的创始人和开发者 Feodor Fitsner 是俄罗斯人,就职于微软。 Flet 的第一个版本于 2022 年 6 月发布。这是一个相对较新的库,它基于 Flutter 框架,首先支持的是用 Python 语言开发软件…

2024/9/17 pytorch-卷积神经网络

一、torch.nn pytorch有很多接口,其中的torch.nn可以让我们方便的调用以便生成神经网络各层 1.torch.nn.Module 是一个构成神经网络层的一个基本类别,一般生成一个类别来继承nn.module torch.tensor(a)将a初始化为一个tensor类型数据 一般这种已经固…

攻防世界--->hackme

学习笔记。 下载 查壳。 64ida打开。 进入main&#xff1a; 跟进&#xff1a; 这是密文 咋一看这程序感觉很复杂&#xff0c;很复杂&#xff1a; 脚本&#xff1a; #include <stdio.h> #include <string.h> #include <stdlib.h>int main() {unsigned char …