conf_train.yaml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. # conf_train.yaml
  2. # 模型配置
  3. model_name: "../models/pretrained/DeepSeek-R1-Distill-Qwen-1.5B"
  4. max_seq_length: 512 # 2048 单次会话的最大 token 长度
  5. dtype: "float16" # 数据类型,可选 "float16" 或 "bfloat16"
  6. load_in_4bit: True # 是否以4位精度加载模型
  7. fast_inference: False # Enable vLLM fast inference
  8. lora_rank: 128 # LoRA 的 rank 值 Choose any number>0!suggested 8,16,32,64,128
  9. gpu_memory_utilization: 0.85 # GPU VRAM 占用率
  10. # 训练配置
  11. use_vllm: False # use vLLM for fast inference!
  12. learning_rate: 5e-6 # 5e-6 学习率 1e-4 (0.0001) to 5e-5 (0.00005).
  13. adam_beta1: 0.9 # Adam 优化器的 beta1 参数
  14. adam_beta2: 0.99 # Adam 优化器的 beta2 参数
  15. weight_decay: 0.1 # 权重衰减,用于防止过拟合,设置为0.1
  16. warmup_ratio: 0.1 # 学习率预热比例,用于初期,避免学习率过大导致不稳定
  17. lr_scheduler_type: "cosine" # 学习率衰减策略,cosine为余弦衰减
  18. optim: "adamw_8bit" # 优化器类型 , adamw_8bit为AdmaW优化器,并启动8位精度以减少内存占用
  19. logging_steps: 1 # 日志记录步数
  20. per_device_train_batch_size: 2 # 1 每个设备的训练批次(batch)大小
  21. gradient_accumulation_steps: 4 # 1 梯度累积步数 ,用于在较小的batch size下模拟较大的batch
  22. num_generations: 8 # 8 表示每次训练时生成的候选输出数量
  23. max_prompt_length: 256 # 256 模型输入的最大长度
  24. max_completion_length: 384 # 200 模型输入(生成)的最大长度
  25. num_train_epochs: 3 # 训练轮数
  26. max_steps: 12 # 250 训练的最大步数
  27. save_steps: 12 # 250 保存模型的步数(多少步保存一次模型)
  28. max_grad_norm: 0.1 # 梯度裁剪的最大阈值,防止梯度爆炸
  29. report_to: "none" # 报告工具,报告内容如 Weights & Biases,设置为none 表不将训练结果报告到外部工具
  30. output_dir: "../models/outputs" # 输出目录
  31. # 数据配置
  32. train_data_path: "../data/processed/train.jsonl" # 训练数据路径
  33. save_path: "../models/trained/DeepSeek-R1-Distill-Qwen-1.5B-GRPO" # 模型保存路径