grpo_config.py
dict[str, Any]
或 None
,默认值 None
transformers.AutoModelForCausalLM.from_pretrained
的关键字参数,当GRPOTrainer
的model
参数提供为字符串时使用。remove_unused_columns: bool
,默认值 False
False
。max_prompt_length: int
或 None
,默认值 512
num_generations: int
或 None
,默认值 8
temperature: float
,默认值 0.9
max_completion_length: int
或 None
,默认值 256
ds3_gather_for_generation: bool
,默认值 True
use_vllm: bool
,默认值 False
True
,确保为训练保留一个未使用的GPU,因为vLLM需要一个GPU用于生成。必须安装vLLM (pip install vllm
)。vllm_device: str
,默认值 "auto"
"cuda:1"
。如果设置为"auto"
(默认),系统将自动选择训练后下一个可用的GPU。这假设训练尚未占用所有可用GPU。vllm_gpu_memory_utilization: float
,默认值 0.9
vllm_dtype: str
,默认值 "auto"
"auto"
,将根据模型配置自动确定数据类型。vllm_max_model_len: int
或 None
,默认值 None
max_model_len
。在减少vllm_gpu_memory_utilization
导致KV缓存大小减小时很有用。vllm_enable_prefix_caching: bool
,默认值 True
True
(默认),请确保模型和硬件支持此功能。vllm_guided_decoding_regex: str
或 None
,默认值 None
None
(默认),则禁用引导解码。learning_rate: float
,默认值 1e-6
AdamW
优化器的初始学习率。beta: float
,默认值 0.04
0.0
,则不加载参考模型,减少内存使用并提高训练速度。num_iterations: int
,默认值 1
epsilon: float
,默认值 0.2
reward_weights: list[float]
或 None
,默认值 None
None
,所有奖励的权重均为1.0
。sync_ref_model: bool
,默认值 False
ref_model_sync_steps
步骤使用ref_model_mixup_alpha
参数将参考模型与活动模型同步。此同步源自TR-DPO论文。ref_model_mixup_alpha: float
,默认值 0.6
π_ref = α * π_θ + (1 - α) * π_ref_prev
。使用此参数,必须设置sync_ref_model=True
。ref_model_sync_steps: int
,默认值 512
sync_ref_model=True
。bool
,默认值 False
logging_steps
步骤记录(prompt, completion)对的样本。如果安装了rich
,它会打印样本。如果启用了wandb
日志记录,它会将其记录到wandb
。本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!