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

名词补充

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

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

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

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

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

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

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

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(分类交叉熵)
数据集管理技巧

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

相关推荐
文浩(楠搏万)1 小时前
XTTS实现语音克隆:精确控制音频格式与生成流程【TTS的实战指南】
大模型·tts·克隆·语音·声音克隆·音色·xtts
您的通讯录好友4 小时前
TechGPT2部署
linux·人工智能·python·大模型·techgpt
之之为知知10 小时前
Chromadb 1.0.15 索引全解析:从原理到实战的向量检索优化指南
人工智能·深度学习·机器学习·大模型·索引·向量数据库·chromadb
想躺平的咸鱼干1 天前
大模型开发
ai·大模型·ai应用开发技术架构
ATM0061 天前
MetaGPT源码剖析(三):多智能体系统的 “智能角色“ 核心实现——Role类
人工智能·大模型·agent·源码剖析·metagpt
贾全2 天前
【中文翻译】SmolVLA:面向低成本高效机器人的视觉-语言-动作模型
人工智能·机器人·大模型·vla·smolvla
小新学习屋2 天前
大模型就业方向
人工智能·深度学习·大模型·就业
陈敬雷-充电了么-CEO兼CTO3 天前
OpenAI发布ChatGPT Agent,AI智能体迎来关键变革
java·人工智能·python·gpt·chatgpt·大模型·agi
哥本哈士奇(aspnetx)3 天前
Web前端交互利用Python跟大模型操作
python·大模型