一个教你如何对满血版DeepSeek全参数微调的项目

大模型向量数据库机器学习

DeepSeek-671B 推理方案目前相对比较成熟,如何微调满血版本实践案例较少,今天介绍一个 由中国科学院自动化研究所与中科闻歌联合推出的 全参数微调开源项目,能够给开发者微调DeepSeek给予一些参考。该项目不仅提供了从模型训练到推理的完整代码和脚本,还分享了实际训练中的经验总结与优化建议。

项目亮点包括:

  1. 完整训练逻辑代码

基于 DeepSeek-V3 论文,结合 DeepSeek-V2 代码,确保与官方架构兼容。 2. 高效并行训练策略

支持数据并行(DeepSpeed ZeRO)与序列并行(SP),在 32 台H100 服务器集群上完成 671B 模型的微调。 3. 实战经验总结

提供多组实验配置对比,推荐最优训练参数,助开发者少走弯路。

硬件配置方面, 单台服务器配置如下表, CUDA 版本为 12.6 。整个 集群中共有 32 台相同配置的机器,共享 100TB 的存储空间,挂载在 /nfs , 基于 Ubuntu 22.04 操作系统,使用 IB 网络和 NVLink 进行通信,

picture.image

环境配置上,项目基于 xtuner 框架,支持 Deepseek V3/R1 模型架构的全参数微调。项目提供了详细的安装指南和训练步骤,包括环境配置、数据准备、启动训练等。例如,在数据准备 阶段,项目基于 OpenAI 标准数据格式进行扩展以兼容 reasoning 数据,并提供了转换后的数据样例文件供参考。

以下是官方给出的在不同并行策略和配置下进行的几项实验的结论,包括模型训练的可行性。训练数据量约为 100k,训练上下文长度为 32k。表格报告了使用的机器数量(节点)、序列并行性(sp)、数据并行性方法(dp)、单卡批量大小(bs)、迭代次数(epoch)、学习率(lr)、单卡内存(mem)、实验记录和备注(notes)。

picture.image

以下是训练过程中的截图。在对构建推理数据进行完全微调 DeepSeek V3 时,初始损失通常约为 3.5,经过 1 个训练周期后,损失收敛到约 1.2 左右。

picture.image

同时,DeepSeek-671B-SFT-Guide 还提供了模型权重转换和推理部署的指导,使用户能够轻松地将训练好的模型应用于实际场景。例如,在模型推理部署阶段,项目使用 vLLM 对全参数微调后的模型进行简单部署测试,并提供了详细的操作步骤。

随着DeepSeek的行业深入应用,微调是一个绕不开的话题,该项目为开发提供了很好的参考和实践经验,是一个很好的起点。

项目地址: https://github.com/ScienceOne-AI/DeepSeek-671B-SFT-Guide

新书推荐:

公众号回复“进群”入群讨论。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
火山引擎大规模机器学习平台架构设计与应用实践
围绕数据加速、模型分布式训练框架建设、大规模异构集群调度、模型开发过程标准化等AI工程化实践,全面分享如何以开发者的极致体验为核心,进行机器学习平台的设计与实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论