腾讯云大模型训推平台TI-ONE 精调满血版 DeepSeek-R1 全流程实践

TI-ONE 平台已内置了全系列 DeepSeek 模型,包含满血版 V3 和 R1 模型,以及基于 DeepSeek-R1 蒸馏后的六个小模型。可以以在平台 任务式建模 模块单击新建任务,在训练镜像中选择内置大模型,即可一键发起全系列 DeepSeek 模型精调。

相关产品
腾讯云大模型训推平台TI-ONE 产品页,含版本规格、价格与购买入口。

一、总览

这篇会介绍如何使用 TI-ONE 平台来完成 DeepSeek-R1-671B 模型的有监督精调,本实践的总体步骤如下:

·步骤一:上传数据集

·步骤二:启动精调任务

·步骤三:模型转换

·步骤四:部署服务

·步骤五:验证推理结果

本实践的结果是你将通过微调改变模型的自我认知。下文简称 DeepSeek-R1-671B 模型为 R1 模型。

二、算力和存储资源准备

1. R1模型精调需要使用 GPU 算力资源,推荐机型为 HCCPNV6 机型。这篇以对模型做全参 SFT 精调为例,需要最少 32 台 HCCPNV6 机型算力资源。因此在实践开始前,建议纳管至少32台8卡 HCCPNV6 机型,该模式下需要你提前购买好 CVM 机器并添加至 TI-ONE 平台资源组,详细操作步骤请参考资源组管理。

2. 模型精调过程中,数据集和模型 CheckPoint 存储都依赖 CFS,请前往 CFS 控制台开通 CFS。由于 R1 模型文件非常大,为保证训练保存 CheckPoint 及后续使用模型部署推理服务和启动评测的速度,推荐使用 Turbo 系列存储,CFS 实例区别详见 存储类型及规格;另外,请注意保证购买的 CFS 实例与上述算力资源机器的网络互通,详细操作请参考 各场景使用 CFS 文件系统的指引 文档。

三、模型、镜像和训练代码

这篇用于精调的 R1 模型实践涉及的模型、镜像、代码等均平台内置,你无须额外下载。

四、数据集

这篇精调的示例场景为针对模型的自我认知进行精调,用于精调的数据集下载地址如下:

identity.jsonl

五、步骤一:上传数据集

注意:说明:目前 TI-ONE 平台不支持在控制台直接进行数据上传操作,为了解决此问题,需要创建一个运维开发机以挂载 CFS 并使用开发机服务进行上传或下载大模型、训练代码等文件。

进入训练工坊 > 开发机 ,单击新建按钮,创建开发机,

·镜像:选择任意内置镜像即可,本开发机实例仅用于下载数据集。

·机器来源:选择从 TI-ONE 平台购买按量计费模式,若你需要从 CVM 机器中选择或包年包月,请参考资源组管理管理你的机器资源。

·计费模式:选择按量计费或包年包月均可,平台支持的计费规则请你查看 计费概述。

·存储配置:选择 CFS 文件系统,名称为上文前置要求中申请配置好的 CFS,路径默认为根目录 /,用于指定训练数据保存路径。

·其它设置:默认不需要填写

最终开发机配置如下:

将前文已下载好的数据集上传至开发机中。

六、步骤二:启动精调任务

1. 进入训练工坊 > 任务式建模,单击新建任务,填写任务配置信息:

·任务名称:输入你的自定义任务名称。

·训练镜像:选择内置大模型/DeepSeek系列模型/DeepSeek-R1-671B。

·机器来源:选择从CVM机器中选择。

·资源组:选择32台节点所在的资源组。

·资源申请:选择单节点的 GPU、CPU、内存资源尽量用满(HCCPNV6 机型单节点整机可用 CPU380核,内存2214GB,若整机为空闲状态,推荐填写整机资源 CPU380核,内存2214GB)。

·标签:可根据实际情况填写,本实践不涉及。

·描述:可根据实际情况填写,本实践不涉及。

·CLS 日志投递:默认关闭。

·自动重启:默认关闭。

·存储路径设置:本页面重点参数配置如下:

·存储路径设置:默认选中“CFS”(目前大模型精调的平台内置代码、平台内置数据和平台内置模型仅支持 CFS )。

·选择存储路径

·第一行 “平台CFS”:系统默认为你配置了精调该大模型的配套训练代码。

·第二行 “平台CFS”:

·系统默认为你配置了一份精调该大模型的示例数据;

·本案例使用自定义业务数据精调该大模型,可删除此行,并在底部添加一行,选择用途为 用户自有数据 ,选择你的数据集所在的 CFS 和对应源路径,这里假设你的数据集所在路径为<你的 CFS_id>/dataset。

·第三行 “平台CFS”:系统默认为你配置了平台内置模型(由于 R1 模型尺寸非常大,直接从平台默认共享存储拉取时间较慢,为了加速模型拉取,建议你通过销售或售前架构师联系 TI-ONE 平台团队为你提供手动缓存加速支持)。

·第四行 “用户CFS”:此处需选择你的训练输出所在的 CFS 文件系统和对应源路径,这里假设你选择的输出路径为<你的 CFS_id>/output。

·代码包:无需选择(大模型精调场景中你无需选择代码包)。

·启动命令:系统默认填充你无需修改(用于启动大模型默认配套的训练代码)。

·训练输出:无需选择。

·调优参数:为系统默认填充,本案例中填写的超参如下。实际精调场景中,可根据训练数据量来调整 train_iters, warmup_iters,seq_len,pad_len 等参数。

{ "batch_size": "1", "global_batch_size": "128", "lr": "7e-6", "min_lr": "7e-7", "seq_len": "1024", "pad_len": "1024", "precision": "bf16", "save_interval": "200", "train_iters": "10", "warmup_iters": "1", "sft": "true", "sft_packing": "false", "tp_size": "1", "pp_size": "8", "cp_size": "1", "ep_size": "32", "enable_sp": "true", "enable_do": "true", "enable_fl": "false", "ac": "full", "optimizer_offload": "false"}

完整的超参说明如下:

注意:超参说明:

注意:满血版 V3/R1 的精调超参列表是基于 Megatron 框架的,与其他模型的超参列表范围有区别,其他模型超参列表请查看 预置调优参数。

注意:

2. 任务配置完成后,单击确定即可返回任务列表,你可以在此页面查看模型训练进度、训练日志、监控训练资源消耗和训练指标收敛情况等信息。

3. 训练任务运行过程中,可单击任务名称,进入日志 Tab 页,开始观察训练状态,训练任务启动后会有以下几个阶段:

·数据预处理:第一个节点(节点下拉选择 master-0)会打印数据预处理的信息:

·开始训练:最后一个节点("节点"下拉框选择 worker-30 节点)会打印训练迭代步数、learning rate、lm loss 等信息,这里默认每 1 步打印一次训练信息日志:

单击 Tensorboard,可查看训练指标监控。

训练完成后,模型即自动保存在训练配置的输出 CFS 路径中。

七、步骤三:模型转换

注意:说明:

注意:仅精调满血版 V3/R1 模型需要进行模型转换步骤,精调其他模型(例如 R1 Distill 系列模型)不需要进行模型转换,训练后的模型可以直接进行评测或者推理。

由于 TI-ONE 平台针对 R1 模型使用基于 Megatron-LM 的训练框架,其保存的 CheckPoint 格式为非 huggingface 格式,因此在进行模型推理前,需要先对模型进行格式转换。为了简化用户操作,平台将模型格式转换步骤集成到了任务式建模内置训练代码中,你只需要复制精调训练任务,修改部分参数即可完成模型转换。具体步骤如下:

1. 复制精调训练任务,修改节点数为 1,修改启动命令中的 MODE 变量为 "mg2hf":

2. 其他参数设置不变,单击确定运行任务,任务会将对应精调训练任务最后输出的模型转换为 huggingface 格式,保存到原始 CheckPoint 目录同级目录下,以 _hf 后缀命名。如果 cfs 为 turbo 类型,预计模型转换时间为 1 小时。

八、步骤四:部署服务

进入 模型服务 > 在线服务,单击新建服务按钮:

服务名称可以自定义,其中部署方式选择多机分布式部署模型;模型来源选择 CFS,并选中模型存储的 CFS 实例,路径选择 CFS 中模型转换后的 hf 格式模型目录,运行环境选择内置的 LLM / sglang 镜像,资源配置使用2机16卡 HCCPNV6 机型,同时为了加速启动,添加环境变量 ENABLE_TORCH_COMPILE=0。

九、步骤五:验证推理结果

服务部署成功后,可进入在线体验页面进行模型对话。通过对话,可发现模型的自我认知已发生改变。

注意:本实践重在提升 R1 的自我认知,如需提升其他通用能力,需要合理筛选、清洗和配比微调数据集。考虑到 R1 本身能力较强,如何通过精调提升其通用能力,具有一定门槛和挑战。欢迎广大算法工程师使用 TI-ONE 平台持续进行探索和实践。

赞 (0)
上一篇 4天前
下一篇 4天前