专栏名称: 深度学习这件小事
机器学习算法、深度学习算法、自然语言处理等干货知识集中营
目录
相关文章推荐
羊城晚报  ·  “新晋排队王”冲上热搜第一!医生紧急提醒 ·  5 小时前  
羊城晚报  ·  “新晋排队王”冲上热搜第一!医生紧急提醒 ·  5 小时前  
每天学点做饭技巧  ·  绝了!没想到这玩意儿去油渍这么牛!实验亲测, ... ·  昨天  
田螺姑娘hhhaze  ·  「厨此以外」71. 轻轻地一加热,春天就熟过头了 ·  昨天  
51好读  ›  专栏  ›  深度学习这件小事

刚刚!微调 DeepSeek 满血版正式开源。。。

深度学习这件小事  · 公众号  ·  · 2025-03-10 00:00

正文

大模型智能|分享
来源 | AI有道
近期,由 中国科学院自动化研究所 中科闻歌 联合推出的 DeepSeek-V3/R1 671B 全参数微调开源方案正式发布!该项目完整公开了从模型训练到推理的全流程代码与脚本,并附带了实际训练中的经验总结与优化建议,为大模型开发者提供了一套可直接落地实战的解决方案。


01
项目亮点

1、完整训练逻辑代码: 基于DeepSeek-V3论文,并结合DeepSeek-V2代码,该项目实现了包含训练核心逻辑的 modeling_deepseek.py 文件,确保与官方架构兼容。

2、高效并行训练策略: 支持 数据并行(DeepSpeed ZeRO) 序列并行(SP) ,在32台H100服务器集群上完成671B模型的满血版模型全参数微调。

3、训练实战经验总结: 提供多组实验配置对比(如不同超参数、并行策略选择下的显存占用),推荐最优训练参数,助开发者少走弯路。

02
项目意义

技术角度:通过全参数微调,DeepSeek 模型能更好地训练并拟合目标任务模式和数据分布,整体训练效果优于 LoRA 等低资源微调方案。

应用角度:针对模型在预训练阶段已具备基础知识的领域,全参数微调能够挖掘模型在特定垂直领域(如社会计算、媒体领域等)各种下游任务的性能潜力。


03
硬件配置

单台服务器配置如下表,集群共有 32 台相同配置的机器,共享 100TB 存储空间,挂载路径为 /nfs 。机器操作系统为 Ubuntu 22.04,机器之间使用 IB 网络进行通信,GPU 之间通过 NVLink 通信,CUDA 版本为 12.6。


04
环境配置

本项目基于 xtuner 框架进行扩展和改进,使其支持 Deepseek V3/R1(即 DeepseekV3ForCausalLM 模型架构)的全参数微调,支持数据并行(DeepSpeed ZeRO based DP)和序列并行(Sequence Parallel, SP)。安装 Python 环境,可根据项目中 requirements.txt 安装依赖包,并将 ./code/xtuner DeepseekV3ForCausalLM 训练相关的核心代码覆盖原始 xtuner package 的对应代码即可。


conda create -n ds_env python=3.10conda activate ds_envpip install -r requirements.txt# 覆盖核心代码 这里修改为你的环境路径YOUR_ENV_PATH='/nfs/miniconda3/envs/ds_env/lib/python3.10/site-packages'cp -r ./code/xtuner $YOUR_ENV_PATH
05
数据准备

该项目基于 OpenAI 标准数据格式进行扩展以兼容 reasoning 数据,每条原始训练数据格式如下。如果有思考过程,则 assistant 角色的 reasoning_content 字段非空。

{  "messages": [    {"role": "system", "content": "You are a helpful assistant."},    {"role": "user", "content": "用户问题"},    {"role": "assistant", "content": "最终回答", "reasoning_content": "思考过程"}  ]}

为了简化处理逻辑,该项目将 reasoning_content 和 content 按照 Deepseek 的训练格式合并到 content 字段中。此外,为了兼容多轮对话的训练逻辑,还为 assistant 角色的每轮添加了 loss 字段,仅对值为 true 的 content 内容计算 loss。

{  "messages": [    {"role""system""content""You are a helpful assistant."},    {"role""user""content""用户问题"},    {"role""assistant""content""\n思考过程\n\n\n最终回答""loss"true}  ]}

为了更清晰地展示数据存储格式,该项目提供了一份转换后的数据样例文件 ./data/train_example.json 以供参考。在实际训练时,程序会根据 Deepseek V3/R1 的训练模版自动转换为如下格式,这里仅供展示:

<beginof▁sentence|>You are a helpful assistant.<User>用户问题<|Assistant|><think>\n思考过程\nthink>\n\n最终回答<endof▁sentence|>
06
启动训练

该项目提供了训练代码和训练启动脚本,其中:







请到「今天看啥」查看全文