高马尔
一个信息发布的网站

DeepSeek满血微调秘籍开源!站在巨人肩膀打造私有模型,一手教程在此

今天小编(寸飛蘭)要和大家分享的是DeepSeek满血微调秘籍开源!站在巨人肩膀打造私有模型,一手教程在此,欢迎阅读~

DeepSeek 爆火甚至引发 API 低价内卷……

但是别忘了开源模型的最大好处是提供了" 巨人的肩膀 "啊!

微调 DeepSeek-V3/R1,低成本打造高质量私有模型、提高业务竞争力,或许才是当下行业内更迫切的需求。

就在刚刚,已收获近4 万 GitHub StarColossal-AI 发布开源大模型后训练工具箱,它包含:

DeepSeek-V3/R1 满血 671B LoRA 低成本 SFT 微调;

完整的强化学习工具链 PPO、GRPO、DPO、SimPO 等;

无缝适配DeepSeek 系列蒸馏模型在内的 HuggingFace 开源模型;

兼容支持英伟达 GPU华为昇腾 NPU等多种硬體;

支持混合精度训练,gradient checkpoint 等训练加速降低成本;

灵活的训练配置接口,支持自定义奖励函数、损失函数等;

提供灵活的并行策略配置接口,包括数据并行、模型并行、专家并行、ZeRO 和 Offload 等,以适应不同硬體规模。

开源地址:https://github.com/hpcaitech/ColossalAI

低成本监督微调满血版 DeepSeek-V3/R1-671B

6710 亿参数规模的 DeepSeek-V3/R1 低成本微调,仅需以下几步,即可快速完成。

数据集准备

该脚本接收 JSONL 格式的檔案作为输入数据集,例如:

https://github.com/hpcaitech/ColossalAI/blob/main/applications/ColossalChat/examples/training_scripts/lora_sft_data.jsonl。

数据集的每一行应为一个聊天对话列表。例如:

[ {"role": "user", "content": " 你好,最近怎么样?"}, {"role": "assistant", "content": " 我很好。今天有什么可以帮你的吗?"} ] [ {"role": "user", "content": " 火烧赤壁 曹操为何不拨打 119 求救?"}, {"role": "assistant", "content": " 因为在三国时期,还没有电话和现代的消防系统,所以曹操无法拨打 119 求救。"} ]

该数据格式,兼容 Huggingface chat template,支持自定义 system prompt,因此可灵活按需配置。

模型权重准备

为保证更好的微调效果,使用 BF16 权重进行微调。

使用方法

在准备好数据集和模型权重后,可使用 Colossal-AI 提供的一键启动脚本 https://github.com/hpcaitech/ColossalAI/blob/main/applications/ColossalChat/examples/training_scripts/lora_finetune.py。

该脚本与常见 SFT 脚本类似,且完全兼容 HuggingFace PEFT,启动命令:

colossalai run — hostfile path-to-host-file — nproc_per_node 8 lora_finetune.py — pretrained path-to-DeepSeek-R1-bf16 — dataset path-to-dataset.jsonl — plugin moe — lr 2e-5 — max_length 256 -g — ep 8 — pp 3 — batch_size 24 — lora_rank 8 — lora_alpha 16 — num_epochs 2 — warmup_steps 8 — tensorboard_dir logs — save_dir DeepSeek-R1-bf16-lora

有关每个参数的更多详细信息,可以运行 python lora_finetune.py — help 查看。该脚本可通过 tensorboard 记录学习率、loss、grad norm 信息,方便对训练进行监控。

使用 LoRA 优化硬體资源消耗

通过使用 LoRA 等优化,示例命令已将 SFT DeepSeek-V3/R1-671B最低硬體要求降低近 10 倍,可使用 32 个 Ascend 910B NPU 64GB(使用 ep=8,pp=4)或 24 个 H100/H800 GPU(使用 ep=8,pp=3)。如果你通过— zero_cpu_offload 启用 CPU offload,硬體要求可以进一步降低,但会损失一定的训练速度。

如下图验证,在 SFT DeepSeek V3/R1 671B 时,Loss 可以顺利降低。

对于资金充裕的开发团队,也可以使用上述脚本,将并行度高效扩展至数百及数千卡,快速完成 DeepSeek-V3/R1-671B 全参微调或并行加速。

对于预算有限,又想借助强化学习构建自己的类 DeepSeek-R1 模型, Colossal-AI 也提供了解决方案,并利用小模型对算法进行了验证。

通过强化学习微调蒸馏版 DeepSeek

Colossal-AI 团队验证并实现了 DeepSeek 论文中的GRPO 算法及 verifiable reward,使用 Qwen2.5-3B-Base 模型进行了实验。其中,奖励的设计如下:

奖励 =0,如果格式是正确的;

奖励 =1, 如果格式是正确的但是结果是错误的;

奖励 =10,如果格式与结果都是正确的。

Colossal-AI 团队以 Qwen2.5-3B-Base 模型为例,提供了用于验证 GRPO 的对话模板及设定

(https://github.com/hpcaitech/ColossalAI/blob/main/applications/ColossalChat/conversation_template/Qwen_Qwen2.5-3B.json),通过配置以下 bash 檔案,即可一键启动:

https://github.com/hpcaitech/ColossalAI/blob/main/applications/ColossalChat/examples/training_scripts/train_grpo.sh

同时,在 GRPO 章节,Colossal-AI 团队还提供了验证过程中的部分发现及各种参数的详细描述,可供参考。

代码中设计了可灵活配置奖励函数的模板,因此,用户可根据自己的具体情况设计自己的奖励函数体系。

由下图可以看到,即使是 3B 的模型,平均奖励与模型回复长度随着时间逐步增长。

随着训练的进行,我们可以看到一些有意思的例子。例如随着训练迭代,模型开始了自我纠正

Colossal-AI:最佳后训练工具箱

Colossal-AI 在深耕大模型预训练降本增效的基础上,致力于进一步成为开发者开箱即用的最佳后训练工具,帮助用户基于开源模型,低成本快速构建私有模型。

开源地址:https://github.com/hpcaitech/ColossalAI

—    —

一键关注 点亮星标

科技前沿进展每日见

一键三连「点赞」「转发」「小心心」

欢迎在评论区留下你的想法!

关于DeepSeek满血微调秘籍开源!站在巨人肩膀打造私有模型,一手教程在此就分享完了,您有什么想法可以联系小编(寸飛蘭)。