DeepSeek V3/R1 引领潮流,Colossal-AI 助力低成本高质量模型构建
DeepSeek V3/R1 正在全网掀起热潮,其基于原始模型的解决方案和 API 服务已广泛普及。面对低价和免费的竞争压力,如何通过后训练(post-training)结合专业领域数据,站在巨人的肩膀上,打造高质量私有模型,提升业务竞争力与价值?Colossal-AI 提供了强大的支持。
Colossal-AI 是一款开源大模型后训练工具箱,已获得近 4 万 GitHub Star。它为开发者提供了丰富的功能,包括:
– 低成本微调:支持满血版 671B LoRA 的 DeepSeek V3/R1 模型进行低成本监督微调。
– 强化学习工具链:提供 PPO、GRPO、DPO 和 SimPO 等完整的强化学习工具。
– 硬件兼容性:无缝适配 HuggingFace 开源模型,支持英伟达 GPU、华为昇腾 NPU 等多种硬件。
– 训练加速技术:支持混合精度训练、gradient checkpoint 等技术,降低训练成本。
– 灵活配置接口:允许自定义奖励函数、损失函数等,适应不同需求。
– 并行策略配置:提供数据并行、模型并行、专家并行、ZeRO 和 Offload 等策略,以适应不同硬件规模。
如何低成本微调 DeepSeek V3/R1 模型?
DeepSeek V3/R1 满血版参数高达 6710 亿,如何实现低成本微调呢?以下是具体步骤:
1. 数据集准备:使用 JSONL 格式的文件作为输入数据集,每一行应为一个聊天对话列表。例如:
“`json
[{ “role”: “user”, “content”: “你好,最近怎么样?” }, { “role”: “assistant”, “content”: “我很好。今天有什么可以帮你的吗?” }]
“`
数据格式兼容 Huggingface chat template,并支持自定义 system prompt。
2. 模型权重准备:为了更好的微调效果,建议使用 BF16 权重。如果已有 FP8 权重,可以通过官方脚本将其转换为 BF16。
3. 使用 Colossal-AI 启动脚本:准备好数据集和模型权重后,可使用 Colossal-AI 提供的一键启动脚本进行微调。启动命令如下:
“`bash
colossalai run –hostfile path-to-host-file –nprocpernode 8 lora_finetune.py –pretrained path-to-DeepSeek-R1-bf16 –dataset path-to-dataset.jsonl –plugin moe –lr 2e-5 –maxlength 256 -g –ep 8 –pp 3 –batchsize 24 –lorarank 8 –loraalpha 16 –numepochs 2 –warmupsteps 8 –tensorboarddir logs –save_dir DeepSeek-R1-bf16-lora
“`
使用 LoRA 优化硬件资源消耗
通过使用 LoRA 等优化技术,SFT DeepSeek V3/R1 671B 的最低硬件要求降低了近 10 倍。例如,可以在 32 个 Ascend 910B NPU 或 24 个 H100/H800 GPU 上运行。启用 CPU offload 可进一步降低硬件要求,但会牺牲一定的训练速度。
强化学习微调蒸馏版 DeepSeek
对于预算有限但仍想利用强化学习构建类 DeepSeek R1 模型的团队,Colossal-AI 提供了 GRPO 算法及验证方案。奖励设计如下:
– 奖励 = 0,如果格式正确;
– 奖励 = 1,如果格式正确但结果错误;
– 奖励 = 10,如果格式和结果都正确。
Colossal-AI 团队以 Qwen2.5-3B-Base 模型为例,提供了对话模板及设定,用户可根据自己的需求灵活配置奖励函数体系。
Colossal-AI:最佳后训练工具箱
Colossal-AI 致力于成为开发者开箱即用的最佳后训练工具,帮助用户基于开源模型,低成本快速构建私有模型。开源地址:[https://github.com/hpcaitech/ColossalAI](https://github.com/hpcaitech/ColossalAI)
本文来源: