Sub-item
type
status
date
slug
summary
tags
category
icon
password
Parent item
目录
- 什么是LLM语言大模型
- 大模型的预训练与微调
- RAG与微调是怎么工作的
- RAG与微调的区别
- 微调模型成本
一、什么是LLM语言大模型
二、大模型的预训练与微调
三、 RAG增强检索是如何工作的?
检索增强生成(Retrieval Augmented Generation),简称 RAG,已经成为当前最为流行的LLM应用方案。,简单来讲,就是用垂于行业的信息比方说:企业的知识以及其它的私有化的信息作为一类知识库与大模型融合起来来解决一些用户的问题。
RAG的核心:知识库
RAG 的工作流:
向量数据库的作用:增强检索的效率
LLM微调的流程:
什么是大模型的微调:
模型的微调本质是,现有的模型的能力不能满足当前业务的需要,需要对模型的能力做出一个提升。因此需要通过训练的方式对模型的参数进行改动。
全量微调:
高效微调(PEFT)——LoRA
github: https://github.com/microsoft/LoRA
论文:
四、RAG与微调的区别
业务场景:
- 企业业务场景容易发生变化,数据为动态数据——RAG
- 模型能力上的提升——微调 举例:有能力阅读研报、需要有销售的口吻做销售助理定制产品、具备一定通用大模型不具备的能力条件时
- 模型成本——RAG
- 可解释性:——RAG LLM微调通常情况下为内部运作是黑盒模式,我们无法实时对内部能够了解其工作原理,很难追溯问题的根源,相比之下,RAG的可调配性要由于模型的的微调。
- 依赖通用能力——RAG 通常做微调之后,模型的通用性会进行降低——模型的遗忘
- 延迟——微调 在某些业务场景下我们会对服务有一定的延迟的要求,这种情况下模型的微调为首选,RAG本身包含特别的多的流程其中包括:检索、精排
- 使用小模型的——微调 在有一些业务场景情况下,模型的参数相对较小,通用能力比较弱,业务又对通用能力依赖较小。我们又需要模型在某一能力上得到提升,这种情况下微调本身的优势较为明显
五、微调模型成本
Bit是位Byte是字节8位二进制数定义为一个字节 也就是 1B=8b 16bit的话=2Byte
全量微调:
微调中显存占用情况——以1B模型(10亿参数为例):
Model Weight(模型权重) :2GB
gradient(梯度计算):2GB
Optimizer States(优化器):8GB
因此我们得出结论,若需要训练1B的模型,则需要约12GB的显存
模型微调显存计算公式:Model Size* 6
高效微调(LoRA微调):
Model weight 模型占用,在LoRA模式下,模型占用的现存是不会发生变化,因此不管是全量微调还是高效PEFT微调则若要训练1B的模型,需要2GB的一个显存容量
暂时无法在飞书文档外展示此内容
事实上LoRA的微调取决于额Adaptor 的权重大小,我们在之前的章节讲过,高效微调所训练的参数是占总参数的一定的比例
这里举例若要以LoRA模式训练一个1B的大模型,权重为5%,来估算所需要的显存
Model Weight(模型权重) :2GB ——不变
gradient(梯度计算):2GB*5% ——LoRA模式下
Optimizer States(优化器):8GB*5%——LoRA模式下
总计:2GB+0.1GB+0.4GB =2.5GB
因此得出结论:若要以LoRA模式下训练一个1B的大模型,所需要的显存大约为2.5GB左右
参考文献论文:
参考引用出处:
https://space.bilibili.com/472543316/?spm_id_from=333.999.0.0
- Author:Irlish
- URL:https://irlishcilora.com/article/1003adb6-0165-806d-be87-f9e2f52a9104
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts