结合 VecGlypher 项目的运行逻辑(SFT 训练 + FSDP 分布式加速),以下是全量需要修改的配置文件+参数+路径,覆盖训练配置、加速配置两大核心文件,按「必改」「按需改」分类,附明确修改方向和示例:

一、核心训练配置(VecGlypher/src/sft/configs/train/qwen3_0_6b-full_sft.yaml

1. 必改参数(路径/硬件兼容)
参数位置 参数名 原默认值 修改方向 + 示例
### model model_name_or_path /mnt/workspace/hf_downloads/Qwen/Qwen3-0.6B 本地Qwen3-0.6B模型绝对路径
Linux/macOS:/home/你的用户名/models/Qwen3-0.6B
Windows:D:/models/Qwen3-0.6B
### output output_dir /mnt/workspace/svg_glyph_llm/saves/debug/qwen3_0_6b-full_sft 本地可读写的输出路径(训练结果保存)
示例:./saves/qwen3_0_6b-full_sft(项目内相对路径)
### train bf16 true 无NVIDIA GPU(仅CPU/AMD)→ 改为false
有支持BF16的NVIDIA GPU → 保留true
2. 按需改参数(硬件适配/体验)
参数位置 参数名 原默认值 修改方向 + 示例
### dataset preprocessing_num_workers 16 CPU核心≤8核/内存≤16G → 改为42
### dataset dataloader_num_workers 4 内存≤16G → 改为21
### train num_train_epochs 5.0 快速测试(无需训5轮)→ 改为1.0
### output report_to tensorboard 不想用tensorboard日志 → 改为none
### model (新增) 纯CPU运行时,在trust_remote_code: true下新增:
device: cpu
dtype: float32
### train per_device_train_batch_size 1 GPU显存不足(如≤8G)→ 保持1;显存充足(≥16G)→ 可改为2/4

二、FSDP加速配置(VecGlypher/src/sft/configs/accelerate/fsdp_config.yaml

1. 必改参数(GPU数量/精度适配)
参数位置 参数名 原默认值 修改方向 + 示例
根层级 num_processes 2 改为你本地实际可用的NVIDIA GPU数量
单GPU → 1;双GPU → 2;无GPU(纯CPU)→ 注释/删除该文件(FSDP仅用于GPU分布式)
根层级 mixed_precision bf16 若GPU不支持BF16(如老款NVIDIA/AMD)→ 改为fp16
无GPU(纯CPU)→ 注释/删除该文件;
支持BF16 → 保留bf16
根层级 use_cpu false 纯CPU运行 → 改为true(但FSDP对CPU无意义,建议直接不用该配置)
2. 按需改参数(FSDP进阶适配)
参数位置 参数名 原默认值 修改方向 + 示例
fsdp_config fsdp_offload_params false GPU显存≤8G(需卸载参数到CPU)→ 改为true
fsdp_config fsdp_sharding_strategy FULL_SHARD 单GPU无需分片 → 改为NO_SHARD;多GPU保留FULL_SHARD
根层级 num_machines 1 仅多节点(多台机器)训练时修改,单机器保留1

三、修改后完整配置示例(关键片段)

1. 训练配置(qwen3_0_6b-full_sft.yaml)
### model
model_name_or_path: /home/xxx/models/Qwen3-0.6B  # 本地模型路径
trust_remote_code: true
device: cpu  # 纯CPU新增
dtype: float32  # 纯CPU新增

### dataset
dataset: alphanumeric-train_fonts
template: qwen3
cutoff_len: 65536
max_samples: null
overwrite_cache: true
preprocessing_num_workers: 4  # 16→4
dataloader_num_workers: 2     # 4→2
dataset_dir: src/sft/data  # 无需改
data_shared_file_system: true

### output
output_dir: ./saves/qwen3_0_6b-full_sft  # 本地输出路径
logging_steps: 10
save_strategy: "epoch"
plot_loss: true
overwrite_output_dir: false
save_only_model: false
report_to: none  # tensorboard→none

### train
per_device_train_batch_size: 1
gradient_accumulation_steps: 1
learning_rate: 1.0e-5
num_train_epochs: 1.0  # 5.0→1.0(测试用)
max_steps: -1
lr_scheduler_type: cosine
warmup_ratio: 0.1
warmup_steps: 0
bf16: false  # 无GPU改false
pure_bf16: false
ddp_timeout: 180000000
resume_from_checkpoint: null
2. FSDP加速配置(fsdp_config.yaml,单GPU示例)
compute_environment: LOCAL_MACHINE
debug: false
distributed_type: FSDP
downcast_bf16: 'no'
fsdp_config:
  fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
  fsdp_backward_prefetch: BACKWARD_PRE
  fsdp_forward_prefetch: false
  fsdp_cpu_ram_efficient_loading: true
  fsdp_offload_params: false  # 显存不足改true
  fsdp_sharding_strategy: NO_SHARD  # 单GPU改NO_SHARD
  fsdp_state_dict_type: FULL_STATE_DICT
  fsdp_sync_module_states: true
  fsdp_use_orig_params: true
machine_rank: 0
main_training_function: main
mixed_precision: bf16  # 不支持bf16改fp16
num_machines: 1
num_processes: 1  # 单GPU改1
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false  # 纯CPU改true(但不建议用FSDP)

四、核心总结

  1. 纯CPU运行
    • 改训练配置:model_name_or_path/output_dir/bf16: false + 新增device: cpu/dtype: float32 + 调低worker数;
    • 忽略FSDP配置(直接不用该文件,FSDP仅用于GPU分布式)。
  2. 单NVIDIA GPU运行
    • 改训练配置:model_name_or_path/output_dir + 保留bf16: true(支持的话);
    • 改FSDP配置:num_processes: 1 + fsdp_sharding_strategy: NO_SHARD
  3. 多NVIDIA GPU运行
    • 训练配置保留bf16: true
    • FSDP配置:num_processes改为GPU数 + 保留fsdp_sharding_strategy: FULL_SHARD
  4. 所有路径避免中文/空格,Linux/macOS用/,Windows用/\\
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐