conf_train.yaml 2.0 KB

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