大模型听课笔记——书生·浦语(4)

大模型听课笔记——书生·浦语(4)

本节课的内容:单卡微调

大语言模型是在海量文本上以无监督或半监督的方式进行训练的,这些海量的文本赋予了大模型各方面的知识,但是当我们专注于某个领域,实际应用于某个领域或应用时,大语言模型的表现的表现就没有那么完美了。此时就引入了微调。

Finetune简介

而由于训练成本太过昂贵,增量训练指令跟随是两种常用的微调模式。
大模型听课笔记——书生·浦语(4)_第1张图片
指令跟随示意图:大模型听课笔记——书生·浦语(4)_第2张图片

指令跟随微调的实现示意

大模型听课笔记——书生·浦语(4)_第3张图片

由于不同的微调多为不同的组织发行,对话模板一般不太相同。
大模型听课笔记——书生·浦语(4)_第4张图片
根据对话模板完成对话构建后,我们需要将构建完成的数据输入模型,来进行损失,由于我们真正希望模型回答的部分是对话的答案部分,所欲计算损失如图也只计算答案的部分。
大模型听课笔记——书生·浦语(4)_第5张图片

增量预训练微调

增量训练的数据不需要构建对话,只需要陈述事实。
大模型听课笔记——书生·浦语(4)_第6张图片
所以将对话模板的systemuser的对话内容留空,只计算assistant的损失

Xtuner中使用的微调原理

LoRA & QLoRA

全参数微调需要太多的显存开销
LORA: LOW-RANK ADAPTATION OF LARGE LAN-GUAGE MODELS
LLM的主要参数集中在模型中的Linear,训练这些会耗费大量的显存
LoRA通过在原本的Linear旁,新增一个支路,包含两个连续的小Linear,新增的支路通常会叫做Adapter。
而Adapter的参数量要远小于原本的Linear,所以可以提大幅降低显存消耗。
大模型听课笔记——书生·浦语(4)_第7张图片

Full Finetunning 、LoRA 与 QLoRA的对比

大模型听课笔记——书生·浦语(4)_第8张图片

XTuner 简介


大模型听课笔记——书生·浦语(4)_第9张图片
大模型听课笔记——书生·浦语(4)_第10张图片

Xtuner默认会开启Flash Attention,DepSpeed ZeRO则需要在启动时增加启动参数

你可能感兴趣的:(笔记)