
强强联合,开源中文DeepSeek-R1蒸馏数据集联合魔搭社区,一起来训练中文版推理模型!
近期,刘聪NLP开源了开源中文DeepSeek-R1(满血)蒸馏数据集包括SFT版本和普通版本,话不多说,先放数据下载链接。
前言
近期,刘聪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生成的,未经严格验证,在事实性和其他方面还存在一些不足。因此,在使用此数据集时,请务必注意甄别。
本数据集不代表任何一方的立场、利益或想法,无关任何团体的任何类型的主张。因使用本数据集带来的任何损害、纠纷,本项目的开发者不承担任何责任。
点击链接即可跳转数据集~
更多推荐
所有评论(0)