当前位置: 首页 > news >正文

模型微调——模型性能提升方法及注意事项(自用)

名词补充

人为为训练数据标注的标签称为黄金标准或真实值,这个过程一定程度上保证训练的准确性,但是其人工标注的成本和时间很高,并且标注的标签受人的主观因素影响。

 导致模型性能不佳的因素和解决办法

不同类别的数据不平衡:统计各类数据的条数,然后对条数落差大的数据进行类别增加。这一步是对模型训练前的数据检查,也是最容易且能较大程度提高模型性能的方式。

并且在训练过程中,可以将各个类的预测评分进行存储并同时得到每个类的平均预测评分,利用平均预测评分来查看哪个类预测准确度高,哪个类的准确率过低需要进行调整。对于每个类的预测评分可以用来进行概率值分布,得到其预测评分的柱状分布,然后可以选择对应的阈值用于决定后续模型问答的答案输出,如果低于这个阈值则模型不输出预测结果或预测结论

训练后查看模型评分,如果不好,可以试着调整模型的超参数或直接更换模型

③对训练好的模型进行测试,查看测试数据集的混淆矩阵,然后来于计算测试中每个类的精度、准确度和召回率

④对数据集中的训练数量较少的类进行数据增加,增加的这部分数据称为过采样(相对来说,减少训练数据较多的数据,减少的这部分数据称为欠采样)。对于过采样方法是随机复制一些样本数据并添加进训练数据中。

学习欠采样和过采样的链接:

Undersampling and oversampling imbalanced data | Kaggle

⑤对出现训练数据不足,需要过采样的情况,不仅可以通过随机复制来实现,也可以通过生产新数据的方式来实现。那么生成的新数据肯定不能是盲目生成,这里有几种生成新数据的方法:

A.基于规则生成新的训练数据

这里涉及一个NLTK库,其中涉及编译原理中的上下文无关语法这类规则(CFG,context-free grammar),使用这个规则可以生成结构化数据,而这个规则重在编写的语法,与规则名称和规则本身无关。但是这种方法得到的数据过于模板化,不能提高模型应对复杂语境的需要以及模型可能会由于大量的这类句子出现过拟合的现象

B.使用LLM生成新的训练数据

这个方法是最简单且快速的方法,其可以直接在LLM界面窗口上进行提出:“给我生成与我给出的数据条主题一致的新数据,并给出40条,每条文本不要过长,大概60个文本即可,并且力求简洁”。为了使得LLM生成的新数据的多样性,可以对LLM的温度参数进行调整,参数调整范围:[0,2],温度越低,即越靠近0,那么模型就越冷静,对同一问题的多次回复差别不大(这里面的原理是:模型的温度越低,其模型选择高概率词作为下一个词;模型的温度越高,其模型可能会选择低概率词作为下一个词)

C.使用众包的方法生成新的训练数据

使用人工来产生新数据,一般不推荐,除非需产生的数据的复杂性高,标准高,难度大,才采用这个方式,否则其新数据的产生的成本太高了。

D.采用复合方式产生新的数据

比如基于规则和LLM混用的方式产生新的数据。

对于权威数据集,则采用以上方式产生的数据有待确证

可视化数据集的相似程度分布(散点图),以此来决定对数据集是否需要更细的分类。

⑦如果通过①②③④⑤⑥查看到测试的准确度过低可以采用对程序的结构进行更改

以上五点都是基于数据集不是标准数据集的情况,如果数据集是标准的,那么不能对其进行更改,否则所进行的工作就无法与其他研究人员的工作进行对比,即丧失研究可比性,那么此时只能使用对模型超参数的调节或者对模型的更换。

二分类和多分类的在激活函数与损失函数的选择的不同

二分类:激活函数选择sigmoid且得到一个概率值;损失函数选择Binary Cross-Entropy

多分类:激活函数选择softmax且得到各类的概率值,损失函数选择Sparse Categorical Cross-Entropy(稀疏分类交叉熵)、Catergorical Cross-Entropy(分类交叉熵)

 数据集管理技巧

将数据集存储在文件夹中,在这个大文件夹下每个类都有一个单独的文件夹,避免出现套用多层文件夹的情况保存各类数据

相关文章:

  • 【微知】Centos如何迁移到Anolis系统的失败记录?(yum -y install centos2anolis、centos2anolis.py)
  • 正版Windows10/11系统盘制作详细教程
  • 基于单片机及传感器的机器人设计与实现
  • doris:SAP HANA
  • 微信小程序将markdown内容转为pdf并下载
  • VBA 列方向合并单元格,左侧范围大于右侧范围
  • python: DDD+ORM using oracle 21c
  • Ollama本地部署大模型(Mac M1 )
  • 生物电阻抗技术:精准洞察人体营养的“智能窗口”
  • 安固软件上网行为管理软件:提升企业效率与安全的双重保障
  • MongoDB用户管理和复制组
  • 基于multisim的自动干手器设计与仿真
  • GitHub神秘组织3小时极速复刻Manus
  • 【C++多线程】std::async和std::future
  • 《从零构建企业级容器镜像生态:Harbor与Registry双星架构实战手记》
  • 【redis】布隆过滤器的Java实现
  • DR和BDR的选举规则
  • 蓝桥-找到最多的数-oj3227
  • Android Telephony 四大服务和数据网络控制面数据面介绍
  • Denoising Diffusion Probabilistic Models
  • java web做网站的优势/吴忠seo
  • 做网站的是怎么赚钱的/seo整站优化一年价格多少
  • 网站模板复制/网络营销策划方案模板范文
  • wordpress 安装500/郑州seo线上推广系统
  • cms建站模板app/windows优化大师有哪些功能
  • 做网站开通手机验证功能/十大最免费软件排行榜