SFT 指令微调

当前针对 DeepSeek-V4 模型提供全参数 SFT 支持,训练特性支持与Pretrain训练保持一致。

快速开始:DeepSeek-V4-Flash SFT

前置条件

单机减层微调启动

CONFIG_FILE=torchtitan_npu/models/deepseek_v4/train_configs/deepseek_v4_285b_4layers_debug_sft.toml bash scripts/run_train.sh

8机全参数微调启动

参考DeepSeek-V4训练指导中的启动训练部分,修改 run_train_multinodes.sh 脚本

CONFIG_FILE=torchtitan_npu/models/deepseek_v4/train_configs/deepseek_v4_285b_43layers_4k_128die_sft.toml bash scripts/run_train_multinodes.sh

数据预处理

支持的数据集文件格式

由于采用 datasets 库中 load_dataset 函数对数据集进行加载,支持的文件格式请参考库文档。

已支持样本的数据格式

  1. QA格式
{
    "query": "用户问题",
    "answer": "助手回答"
}
  1. Alpaca格式
{
    "instruction": "系统提示",
    "input": "用户问题",
    "output": "助手回答"
}

支持情况说明

  • 当前Dataloader仅支持单轮对话数据,多轮对话数据目前还未支持。
  • 样本数据格式除QA格式和Alpaca格式外均未支持,如想要支持自定义格式, 请修改 torchtitan_npu/models/deepseek_v4/text_datasets.py 中的 process_sample 函数,实现自定义加载逻辑。
  • 当前不支持数据packing。如果数据超长则在右侧截断,如果长度不足则补充eos。