前言

近期,刘聪NLP开源了开源中文DeepSeek-R1(满血)蒸馏数据集包括SFT版本和普通版本,话不多说,先放数据下载链接。

中文基于满血DeepSeek-R1蒸馏数据集-110k-SFT版本:

https://modelscope.cn/datasets/liucong/Chinese-DeepSeek-R1-Distill-data-110k-SFT

中文基于满血DeepSeek-R1蒸馏数据集-110k:

https://modelscope.cn/datasets/liucong/Chinese-DeepSeek-R1-Distill-data-110k

本数据集为中文开源蒸馏满血R1的数据集,数据集中不仅包含math数据,还包括大量的通用类型数据,总数量为110K。

为什么开源这个数据?

DeepSeek-R1的效果十分强大,并且基于R1蒸馏数据SFT的小模型也展现出了强大的效果,但目前我们发现,大部分开源的R1蒸馏数据集均为英文数据集。同时,R1的报告中展示,蒸馏模型中同时也使用了部分通用场景数据集,来保障训练中不丢失通用能力。为了帮助大家更好地复现R1蒸馏模型的效果,特此开源中文数据集。

该数据集发布后,也迅速登上HuggingFace Trending榜!

该中文数据集中的数据分布如下:

  • Math:共计36568个样本,

  • Exam:共计2432个样本,

  • STEM:共计12648个样本,

  • General:共计58352,包含弱智吧、逻辑推理、小红书、知乎、Chat等

01.数据集蒸馏细节

数据的prompt源来自如下数据集:

  • Haijian/Advanced-Math

  • gavinluo/applied_math

  • meta-math/GSM8K_zh

  • EduChat-Math

  • m-a-p/COIG-CQIA

  • m-a-p/neo_sft_phase2

  • hfl/stem_zh_instruction

同时为了方便大家溯源,在每条数据的repo_name字段中都加入的原始数据源repo。

在蒸馏过程中,按照DeepSeek-R1官方提供的细节,进行数据蒸馏。

  • 不增加额外的系统提示词

  • 设置temperature为0.6

  • 如果为数学类型数据,则增加提示词,“请一步步推理,并把最终答案放到 \boxed{}。”

  • 防止跳出思维模式,强制在每个输出的开头增加"\n",再开始生成数据

由于模型贡献者个人资源有限,所有数据的蒸馏均调用无问芯穹的企业版满血R1 API生成,在此由衷的感谢无问芯穹提供的支持。

02.数据打分细节

数据生成结果进行了二次校验,并保留了评价分数。

针对Math和Exam数据,先利用Math-Verify进行校对,无法规则抽取结果的数据,再利用Qwen2.5-72B-Instruct模型进行打分,正确为10分,错误为0分。

针对其他数据,直接利用Qwen2.5-72B-Instruct模型从无害性、有用性、正确性/完整性三个角度进行打分,分值范围为0-10分。

本数据集保留了最后打分结果,为后续的数据筛选提供帮助,但注意,所有打分均基于模型,因此评分可能并不准确,请斟酌使用。

03.最佳实践

ms-swift已经接入了中文基于满血DeepSeek-R1蒸馏数据集,通过指定`--dataset liucong/Chinese-DeepSeek-R1-Distill-data-110k-SFT`即可选择该数据集进行训练。ms-swift是魔搭社区官方提供的大模型与多模态大模型训练部署框架。

ms-swift开源地址:

https://github.com/modelscope/ms-swift

本章将展示使用ms-swift对该数据集进行SFT。在开始训练之前,请先安装ms-swift:

# pip install git+https://github.com/modelscope/ms-swift.git

git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .

微调脚本如下,我们随机抽样数据集中的2000条进行训练:

nproc_per_node=2

CUDA_VISIBLE_DEVICES=0,1 \
NPROC_PER_NODE=$nproc_per_node \
swift sft \
    --model Qwen/Qwen2.5-1.5B \
    --train_type full \
    --dataset 'liucong/Chinese-DeepSeek-R1-Distill-data-110k-SFT#2000' \
    --torch_dtype bfloat16 \
    --num_train_epochs 10 \
    --per_device_train_batch_size 1 \
    --per_device_eval_batch_size 1 \
    --learning_rate 1e-5 \
    --gradient_accumulation_steps $(expr 16 / $nproc_per_node) \
    --eval_steps 200 \
    --save_steps 200 \
    --save_total_limit 5 \
    --logging_steps 5 \
    --max_length 8192 \
    --output_dir output \
    --warmup_ratio 0.05 \
    --dataloader_num_workers 4 \
    --deepspeed zero2

训练显存占用:(训练时长:40分钟)

推理脚本如下,需要将`--model`替换成训练生产的last checkpoint文件夹:

# pip install vllm -U
CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --model output/vx-xxx/checkpoint-xxx \
    --stream true \
    --infer_backend vllm \
    --max_model_len 8192 \
    --max_new_tokens 2048 \
    --temperature 0.3

推送到ModelScope:

swift export \
    --model output/vx-xxx/checkpoint-xxx \
    --push_to_hub true \
    --hub_model_id '<your-model-id>' \

    --hub_token '<your-sdk-token>'

训练效果:(有部分内容省略)

04.局限性

由于数据是由蒸馏DeepSeek-R1生成的,未经严格验证,在事实性和其他方面还存在一些不足。因此,在使用此数据集时,请务必注意甄别。

本数据集不代表任何一方的立场、利益或想法,无关任何团体的任何类型的主张。因使用本数据集带来的任何损害、纠纷,本项目的开发者不承担任何责任。

点击链接即可跳转数据集~

中文基于满血DeepSeek-R1蒸馏数据集-110k

 

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐