当前位置:   article > 正文

书生·浦语训练营 第四讲:Xtuner微调 笔记

书生·浦语训练营 第四讲:Xtuner微调 笔记

书生·浦语训练营 第四讲:Xtuner微调

参考资料
https://github.com/InternLM/Tutorial/tree/camp2/xtuner
2024!深入了解 大语言模型(LLM)微调方法(总结)

1 微调介绍

1.1 为什么要微调?

LLM微调是一个将预训练模型在较小、特定数据集上进一步训练的过程,目的是精炼模型的能力,提高其在特定任务或领域上的性能。微调的目的是将通用模型转变为专用模型,弥合通用预训练模型与特定应用需求之间的差距,确保语言模型更贴近人类的期望

回顾第一讲中提到从模型到应用的典型流程如下:

img

根据项目目标使用环境进行模型选型,如果业务场景需求比较复杂就需要进行模型微调,根据算力是否充足可以选择模型的全参数微调或部分参数微调。

1.2 两种部分微调范式

  • 增量预训练微调:让基座模型学习到一些新知识,如某个垂类领域的常识。

  • 指令跟随微调:让模型学会对话模板,根据人类指令进行对话。

1.3 一条数据的一生

在这里插入图片描述

1.4 大模型微调方法

1.4.1 全量微调

通过在预训练的大模型基础上调整所有层和参数,使其适应特定任务。这一过程使用较小的学习率和特定任务的数据进行,可以充分利用预训练模型的通用特征,需要更多的计算资源。

1.4.2 高效参数微调(PEFT)

高效参数微调是指微调少量额外的模型参数,固定大部分预训练模型参数,从而大大降低了计算和存储成本,同时能实现与全量参数微调相当的性能,甚至在某些情况下效果更好。

高效参数微调可以粗略分为三类:增加额外参数、选取一部分参数更新、引入重参数化。增加额外参数又分为类适配器方法和软提示两类。

高效参数微调目标

1、能够达到相当于全量微调的效果

2、仅更新模型的一部分参数

3、是数据通过流的方式到达,而不是同时到达,便于高效的硬件部署。

4、改变的参数在不同的下游任务中是一致的。

LoRA & QLoRA
在这里插入图片描述
在这里插入图片描述

2 XTuner

2.1 XTuner特点
高效

  • 支持大语言模型 LLM、多模态图文模型 VLM 的预训练及轻量级微调。XTuner 支持在 8GB 显存下微调 7B 模型,同时也支持多节点跨设备微调更大尺度模型(70B+)。
  • 自动分发高性能算子(如 FlashAttention、Triton kernels 等)以加速训练吞吐。
  • 兼容 DeepSpeed
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/577075
推荐阅读
相关标签