1.数据(需求)
2.方案
3.模型(硬件需求)
4.训练 评测
5.部署
1)其中成本最高的是数据和硬件。
2)数据包含两个部分:问题和答案 需要被审核
3)数据格式化方案(确定训练工具llamaFactory)一定要确定数据的费用(AI需要的格式,基本是零成本,如果是非对齐格式化数据,那就有可能很高)
如果题目包含图像,先忽略。
如果答案包含图片,那么就不是简单的LLM模型,而要做图像生成 多模态。而生图需求:图像生成,不适合小规模服务器训练。
我们可以考虑使用生图API,如果上不了外网,答案中图像是否固定?如果是固定的,图像变成索引,包含索引编号。以字符形式包含在答案中。
AI 生成图片一般一定是画不对的。AI搞不定。
数据格式化:转为表格
文件表格给到大模型,转存向量库;
但是数据长度比较大,容易遇到超长的异常;
可以使用AI 辅助生成数据。
AI 整理数据后还是逃不开人工审核。
如果有带图片等其他类型的题目,那就不能用LLM 模型了,只能使用多模态。
二、方案
RAG 还是微调?
RAG,成本低,速度快。唯一要考虑的是能不能实现需求。
使用RAG的问题:
1)题目数量多,每道题要隔离,单独节点,节点过多,效率低;
2)题目问题比较专业,base模型不一定能够正确理解问题需求;
所以题库相关选用微调。
模型有两种状态:拟合和过拟合
对于题库这种项目,我们更偏向于过拟合
训练模型:设计数据划分规则(7:2:1 8:2)
训练集包含所有的数据
测试集合:直接从训练集中随机筛选一部分
训练过程中高度依赖于精度指标来判断模型是否达到训练预期目标(客观评价)。
loss 越低越好,精度必须做到95%~98% ,不然项目无效。错误在可接受范围内。
剩下5%得通过其他方式解决。标签一定是对的。Explain 可能有出入。
最头疼的问题是不知道模型训练到什么时候停下来。(达到我想要的结果的时候,这个得设计)
AI试题查询系统。 让AI 确定问的哪道题。
传统软件精确查询
三、模型(硬件需求)
规模:1.5B~8B; 至少有2张及以上24GB以上显存,才能考虑7B~8B
1)数据越小,模型越大,越容易过拟合,反之,越不容易出现过拟合。(得是预训练)
2)模型越小,越容易训练,模型越大,训练时间越长。
结论:选择base模型时,不要选择过大,够用就行。 模型越大,智商越高,改变他难度越高。
当前项目中我们训练的是Lora部分,所以我们应该选择较小的base模型和较大的Lora模型,这样更容易达到我们想要的效果。
理想的模型应该是模型参数小,但是本身的效果很好。1.5B~3B
deepseek 1.5B 蒸馏版本就够用
Lora R =64/128
如何判断是否“够用”?
训练前把问题先直接丢给模型,看答复如果完全无关,就不能用,有一定相关性,那就可以。
数据集 会分hard sample 和easy sample
为了解决hard sample 效果较差的问题,一部分样本,模型很快就学会了,另一部分样本模型学习会快一些。 我们会选择增加整体的训练时长。