[笔记][大模型学习]14-LLaMA-Factory模型评估与QLora微调

4 阅读3分钟
  • LoRA与QLoRA
  • 什么事GGUF
  • LLama Factory量化微调训练
  • 如何使用llama.cpp将模型转换为GGUF

AI技术路线

微小模型

传统机器学习(从数学角度出发思考如何让机器像人一样学习)基于算法
* sk-learn
    * 分类
    * 聚类
    * 回归
    * 降维
* opencv(图像领域的传统算法)

小模型

深度学习(从仿生学角度思考如何让机器具备学习能力)基于模型(人工神经网络)来实现机器学习
* 全连接神经网络MLP(NV)
* 卷积神经网CNN(NCHW)
* 循环神经网络RNN(NSV)早期NLP模型 
    * 2018年 attention is all you need (MLP + Attention(transformer net))
        * version Transformer(vit)
    * seq2seq(翻译,问答)
    * CNN2SEQ(卡号识别,身份证号码识别)
    * encoder BERT
    * encoder GPT
    * 2019 GPT3未开源(OpenAI)chat GPT,GPT3为什么有效?这个模型非常大。
    * 当transformer模型参数超过10亿以后,会出现智能涌现
    
* 图神经网络(拓扑结构)
* 高级结构:编解码结构,自编码结构/变分自编码(VAE),对抗结构(GAN)

大模型

由Transformer模型衍生而来(超大的深度学习模型)
    * 自然语义大模型
        * 模型研发
            * transformer结构
            * 词向量embedding
            * 位置编码
            * Norm
            * Attention
            * 显存优化
            * 分布式,混合精度优化
        * 应用开发
        * chat
        * rag
    * 多模态大模型(图像生成,扩散模型)
    
    

LLama Factory 怎么做评估,几个指标的涵义

样本 train

valuate

test

做项目时有一些坑 所有的数据来源于一份完整数据。 训练集占比一定要是最高的。

测试集中的场景,必须体现在训练数据集中。

8 2 1

质量要求:项目中标准做法是,在完整数据集中,把数据打乱,甲方拿走测试部分。 数量要求:测试集比训练集要小,如 7,2,1比例。

blu-4:

评估的标准,没有这么严格的场景。 基于准确率计算的。

rouge:

基于召回率计算的。

  • 召回率:以实际样本为判断依据,实际为正例的样本中,被预测正确的正例占总实际正例样本的比例
  • 准确率:正例和负例中,预测正确数量占总数量的比例。

Rouge-L:

量化

导出量化,解决的是模型大小问题,以及模型的推理速度。 导出量化只量化了参数,运行时,参数占显存并不高,占比高的为:

  • 中间态的特征
  • 激活状态

能加速,提高算力。不能太影响显存。

训练微调量化 QLora

  • LoRA: LoRA是一种用于微调大语言模型的技术,通过低秩近似方法降低适应数十亿参数模型到特定任务或领域。
  • QLoRA: QLora是一种高效的大型语言模型微调算法,它显著减低了内存使用量,同时保持了全16位微调的性能。它通过一个固定的,4位量化的预训练语言模型中反向传播梯度到低秩适配器来实现这个目标。

QLoRA:只在训练时有效。量化到8位或4位。保存的数据类型,还是原来的类型。 对精度影响比较低。