【实践心得】如何通过大模型制作训练集 #39

Open
opened 2024-09-09 16:10:49 +08:00 by 11608857409cs · 0 comments

学员信息

刘杰-北京-产品经理 学习分组M

前言

前两周不是智谱清言的GLM-4-flash调用接口免费了么,注册会送2500w的推理资源包(其中包含语言类、图形类和视频类),而最让人兴奋的是,还能通过申请链接获得500w训练资源包。又能推理又能训练的,不搞点事情,多浪费资源呐。

所以,和同学商量做了个数据预处理后进行指令微调的小项目。拿出来给大家做个实践参考吧,希望能够起到抛砖引玉的效果,促进一下分享热情。

image

微调专项训练项目(GLM_4_flash)

(一)项目背景

微调前的数据准备阶段在模型训练中至关重要,尤其是在大模型和RAG系统的上下文中。而下面就是为GLM平台(BigModel)微调做准备的一种应用方式。
先由大模型处理训练数据,再将数据应用于其他大模型的训练。本次使用的是23部经济法为数据集,目标是对GLM_4_flash进行经济法相关问答能力的微调训练。
完整项目已上传,并且里面还有更多未处理的原始数据,感兴趣的小伙伴可以自己尝试。

(二)准备步骤与阶段产物

image

(三)项目文件结构

为快速理解项目结构,给大家附了一张结构示意图。其中,3个py可执行文件是:
1_JsonDataProcess.py      -->  将原始数据发送给大模型生成问答对
2_messagesDataProcess.py  -->  将中间数据处理成微调所需的message格式(平台要求)
3_mergeDataProcess.py     -->  将生成的过个文件合并为一份最终数据文件
与这三个py文件上下对应的是生成的“中间数据”文件夹,而在3_finalData文件夹中就是处理过的最终数据文件。同学们可以自行查看其中的数据。

image

(四)经验教训

1. 数据生成受限:在GLM生成问答对步骤,模型生成支持最大token输出数为4096,限制了每次生成问答对的数量。(优化方案:每次只产生少量问答对,循环生成更多次数,那么,在多个单次生成中,可能会产生重复或类似的问答对,可以考虑将已生成的问答对添加进prompt,使模型可以避免生成类似问答题目,提高数据质量。注:最大token输入数为128k)
2. 数据格式错误:平台对于上传训练数据集的要求比较严格,容易上传失败。(GLM平台支持:jsonl、utf-8)
3. 数据集选择:再选择数据集时,应避免选择模型已知知识范围内的数据。由于本次侧重于跑通,所以效果提升不在本次关注范围内。
4. GLM-4-flash虽然开放了免费api,但对于微调后的版本调用,仍需付费调用。(只能在GLM平台使用微调模型)

以上就是本次的实践心得,如果有不解之处可以加我微信( LiuJie201X ),很愿意与好学之人成为朋友。
# 学员信息 刘杰-北京-产品经理 学习分组M # 前言 > #### 前两周不是智谱清言的GLM-4-flash调用接口免费了么,注册会送2500w的推理资源包(其中包含语言类、图形类和视频类),而最让人兴奋的是,还能通过申请链接获得500w训练资源包。又能推理又能训练的,不搞点事情,多浪费资源呐。 > #### 所以,和同学商量做了个数据预处理后进行指令微调的小项目。拿出来给大家做个实践参考吧,希望能够起到抛砖引玉的效果,促进一下分享热情。 ![image](/attachments/55b06905-f0b0-46cb-9ec6-cf3c3c9d28d5) # 微调专项训练项目(GLM_4_flash) ## (一)项目背景 微调前的数据准备阶段在模型训练中至关重要,尤其是在大模型和RAG系统的上下文中。而下面就是为GLM平台(BigModel)微调做准备的一种应用方式。 先由大模型处理训练数据,再将数据应用于其他大模型的训练。本次使用的是23部经济法为数据集,目标是对GLM_4_flash进行经济法相关问答能力的微调训练。 完整项目已上传,并且里面还有更多未处理的原始数据,感兴趣的小伙伴可以自己尝试。 ## (二)准备步骤与阶段产物 ![image](/attachments/d139b353-9444-45c1-91f1-0fbed5e95a0a) ## (三)项目文件结构 为快速理解项目结构,给大家附了一张结构示意图。其中,3个py可执行文件是: 1_JsonDataProcess.py --> 将原始数据发送给大模型生成问答对 2_messagesDataProcess.py --> 将中间数据处理成微调所需的message格式(平台要求) 3_mergeDataProcess.py --> 将生成的过个文件合并为一份最终数据文件 与这三个py文件上下对应的是生成的“中间数据”文件夹,而在3_finalData文件夹中就是处理过的最终数据文件。同学们可以自行查看其中的数据。 ![image](/attachments/0595341a-06f2-4a13-acbb-2f136ff995e0) ## (四)经验教训 1. 数据生成受限:在GLM生成问答对步骤,模型生成支持最大token输出数为4096,限制了每次生成问答对的数量。(优化方案:每次只产生少量问答对,循环生成更多次数,那么,在多个单次生成中,可能会产生重复或类似的问答对,可以考虑将已生成的问答对添加进prompt,使模型可以避免生成类似问答题目,提高数据质量。注:最大token输入数为128k) 2. 数据格式错误:平台对于上传训练数据集的要求比较严格,容易上传失败。(GLM平台支持:jsonl、utf-8) 3. 数据集选择:再选择数据集时,应避免选择模型已知知识范围内的数据。由于本次侧重于跑通,所以效果提升不在本次关注范围内。 4. GLM-4-flash虽然开放了免费api,但对于微调后的版本调用,仍需付费调用。(只能在GLM平台使用微调模型) ----- 以上就是本次的实践心得,如果有不解之处可以加我微信( LiuJie201X ),很愿意与好学之人成为朋友。
11608857409cs changed title from 【实践心得】关于如何通过大模型制作训练集 to 【实践心得】如何通过大模型制作训练集 2024-09-09 18:29:05 +08:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: HswOAuth/llm_course#39
No description provided.