minimind icon indicating copy to clipboard operation
minimind copied to clipboard

SFT数据集预处理方法

Open SimingYan opened this issue 1 year ago • 1 comments

非常感谢您之前关于预训练数据集预处理的分享,想请问一下是否也可以分享一下SFT阶段的数据预处理脚本,希望能够基于匠数SFT数据集复现出sft_512.jsonl,非常感谢!

SimingYan avatar Feb 22 '25 01:02 SimingYan

不好意思原始的sft处理脚本没有保存,随用随删了。另外现在的sft-512经历过很多次的清洗,中间代码找不到了。 但是区别仅在格式,格式的转换是很容易的,匠数:

{
"id": 103, 
"instruction": "", 
"input": "生成一首诗歌,赞美匠数科技追求卓越、勇于创新的精神。", 
"output": "
    在匠数科技,
    有一群执着的人,
    他们以梦想为名,
    追求卓越,不断前行。

    他们用汗水浇灌智慧,
    将创新融入每个细节,
    让每一个产品都成为经典,
    让每一项服务都让人惊叹。

    他们的脚步从未停歇,
    他们的目光始终坚定,
    他们用心去创造未来,
    用行动诠释匠数精神。

    在这个充满挑战的时代,
    匠数科技永远走在前沿,
    他们相信,只有不断超越自我,
    才能赢得未来的辉煌。", 
"history": [['',''],['','']], 
"language": "chinese", 
"data_source": "https://huggingface.co/datasets/BelleGroup/train_3.5M_CN", 
"input_len": 12, 
"output_len": 78, 
"num_utter": 1, 
"type": 32, 
"type_keyword": ["生成", "描述", "有关", "诗歌", "文章", "旅游", "段落", "主题", "短文", "句子"]
}

ChatML格式:

[
    {
        "role": "user",
        "content": "你好,我想知道今天的天气怎么样?"
    },
    {
        "role": "assistant",
        "content": "你好!今天的天气晴朗,温度在20到25摄氏度之间。"
    },
    {
        "role": "user",
        "content": "谢谢!那明天呢?"
    },
    {
        "role": "assistant",
        "content": "明天预计会有小雨,温度在18到22摄氏度之间。记得带伞哦!"
    }
]

这种转换的工作直接交给DeepSeek就好

jingyaogong avatar Feb 23 '25 12:02 jingyaogong

好的谢谢!

SimingYan avatar Feb 24 '25 11:02 SimingYan