4848- ` --lora_alpha ` : 默认为` 32 ` . 只有当` sft_type ` 指定为'lora'时才生效.
4949- ` --lora_dropout_p ` : 默认为` 0.05 ` , 只有当` sft_type ` 指定为'lora'时才生效.
5050- ` --lora_bias_trainable ` : 默认为` 'none' ` , 可以选择的值: 'none', 'all'. 如果你要将bias全都设置为可训练, 你可以设置为` 'all' ` .
51- - ` --modules_to_save ` : 默认为` [] ` . 如果你想要训练embedding, lm_head, 或者layer_norm, 你可以设置此参数, 例如: ` --modules_to_save wte ln_1 ln_2 ln_f lm_head ` , 这个参数用于任何adapter的训练中.
51+ - ` --lora_modules_to_save ` : 默认为` [] ` . 如果你想要训练embedding, lm_head, 或者layer_norm, 你可以设置此参数, 例如: ` --lora_modules_to_save wte ln_1 ln_2 ln_f lm_head ` , 这个参数用于任何adapter的训练中.
5252- ` --lora_dtype ` : 默认为` 'fp32' ` , 指定lora模块的dtype类型. 如果是` AUTO ` 则跟随原始模块的dtype类型. 你可以选择的值: 'fp16', 'bf16', 'fp32', 'AUTO'.
53- - ` --neftune_noise_alpha ` : ` NEFTune ` 添加的噪声系数, 可以提升模型在指令微调中的性能, 默认为` None ` . 通常可以设置为5, 10, 15. 你可以查看[ 相关论文] ( https://arxiv.org/abs/2310.05914 ) .
53+ - ` --neftune_noise_alpha ` : ` NEFTune ` 添加的噪声系数, 可以提升模型在指令微调中的性能, 默认为` 5 ` . 通常可以设置为5, 10, 15. 设置成 ` 0 ` 取消噪声扰动 . 你可以查看[ 相关论文] ( https://arxiv.org/abs/2310.05914 ) .
5454- ` --gradient_checkpointing ` : 是否开启gradient checkpointing, 默认为` True ` . 该参数可以用于节约显存, 虽然这会略微降低训练速度. 该参数在max_length较大, batch_size较大时作用显著.
5555- ` --deepspeed ` : 用于指定deepspeed的配置文件的路径或者直接传入json格式的配置信息, 默认为` None ` , 即不开启deepspeed. deepspeed可以节约显存. 我们书写了默认的[ ZeRO-2配置文件] ( https://github.com/modelscope/swift/blob/main/swift/llm/ds_config/zero2.json ) , [ ZeRO-3配置文件] ( https://github.com/modelscope/swift/blob/main/swift/llm/ds_config/zero3.json ) . 你只需要指定'default-zero2', 就会使用默认zero2配置文件; 指定'default-zero3', 就会使用默认的zero3配置文件.
5656- ` --batch_size ` : 训练时的batch_size, 默认为` 1 ` . 增大batch_size可以增加GPU的利用率, 但不一定会增加训练速度, 因为在一个batch中, 需要对较短的句子按该batch中最长句子的长度进行padding, 从而引入无效的计算量.
103103
104104### AdaLoRA微调参数
105105
106- 以下参数` sft_type ` 设置为` adalora ` 时生效。 adalora的` target_modules ` 等参数继承于lora的对应参数, 但` lora_dtype ` 参数不生效。
106+ 以下参数` sft_type ` 设置为` adalora ` 时生效. adalora的` target_modules ` 等参数继承于lora的对应参数, 但` lora_dtype ` 参数不生效.
107107
108- - ` --adalora_target_r ` : 默认值8 , adalora的平均rank
109- - ` --adalora_init_r ` : 默认值12 , adalora的初始rank
110- - ` --adalora_tinit ` : 默认值0 , adalora的初始warmup
111- - ` --adalora_tfinal ` : 默认值0 , adalora的final warmup
112- - ` --adalora_deltaT ` : 默认值1 , adalora的step间隔
113- - ` --adalora_beta1 ` : 默认值0 .85, adalora的EMA参数
114- - ` --adalora_beta2 ` : 默认值0 .85, adalora的EMA参数
115- - ` --adalora_orth_reg_weight ` : 默认值0.5 , adalora的正则化参数
108+ - ` --adalora_target_r ` : 默认值 ` 8 ` , adalora的平均rank.
109+ - ` --adalora_init_r ` : 默认值 ` 12 ` , adalora的初始rank.
110+ - ` --adalora_tinit ` : 默认值 ` 0 ` , adalora的初始warmup.
111+ - ` --adalora_tfinal ` : 默认值 ` 0 ` , adalora的final warmup.
112+ - ` --adalora_deltaT ` : 默认值 ` 1 ` , adalora的step间隔.
113+ - ` --adalora_beta1 ` : 默认值 ` 0 .85` , adalora的EMA参数.
114+ - ` --adalora_beta2 ` : 默认值 ` 0 .85` , adalora的EMA参数.
115+ - ` --adalora_orth_reg_weight ` : 默认值 ` 0.5 ` , adalora的正则化参数.
116116
117117### IA3微调参数
118118
119- 以下参数` sft_type ` 设置为` ia3 ` 时生效。
119+ 以下参数` sft_type ` 设置为` ia3 ` 时生效.
120120
121- - ` --ia3_target_modules ` : 指定IA3目标模块, 默认为` ['DEFAULT'] ` . 如果ia3_target_modules传入 ` 'DEFAULT' ` or ` 'AUTO' ` , 则根据 ` model_type ` 查找 ` MODEL_MAPPING ` 中的 ` lora_target_modules ` (默认指定为qkv). 如果传入 ` ALL ` , 则将所有的Linear层都指定为lora模块(不含head). 注意如果指定为 ` ALL ` 时,需要手动设置 ` ia3_feedforward_modules ` 参数指定MLP Linear名称。
122- - ` --ia3_feedforward_modules ` : 指定IA3的MLP的Linear名称, 该名称必须在` ia3_target_modules ` 中。
123- - ` --modules_to_save ` : 即上面参数的modules_to_save, IA3参与训练的额外模块。
121+ - ` --ia3_target_modules ` : 指定IA3目标模块, 默认为` ['DEFAULT'] ` . 具体含义可以参考 ` lora_target_modules ` .
122+ - ` --ia3_feedforward_modules ` : 指定IA3的MLP的Linear名称, 该名称必须在` ia3_target_modules ` 中.
123+ - ` --ia3_modules_to_save ` : IA3参与训练的额外模块. 具体含义可以参考 ` lora_modules_to_save ` 的含义.
124124
125125## dpo 参数
126126
@@ -131,7 +131,7 @@ dpo参数继承了sft参数, 除此之外增加了以下参数:
131131- ` --beta ` : DPO logits的正则项,默认为0.1.
132132- ` --label_smoothing ` : 是否使用DPO smoothing, 默认值为0,一般设置在0~ 0.5之间.
133133- ` --loss_type ` : DPOloss类型, 支持'sigmoid', 'hinge', 'ipo', 'kto_pair', 默认值'sigmoid'.
134- - ` --sft_beta ` : 是否在DPO中加入sft loss, 默认为0.1, 支持[ 0, 1)区间,最后的loss为(1-sft_beta)* KL_loss + sft_beta * sft_loss.
134+ - ` --sft_beta ` : 是否在DPO中加入sft loss, 默认为0.1, 支持[ 0, 1)区间,最后的loss为` (1-sft_beta)*KL_loss + sft_beta * sft_loss ` .
135135
136136## merge-lora infer 参数
137137
@@ -178,6 +178,7 @@ dpo参数继承了sft参数, 除此之外增加了以下参数:
178178- ` --verbose ` : 如果设置为False, 则使用tqdm样式推理. 如果设置为True, 则输出推理的query, response, label. 默认为` None ` , 进行自动选择, 即` len(val_dataset) >= 100 ` 时, 设置为False, 否则设置为True. 该参数只有在使用数据集评估时生效.
179179- ` --gpu_memory_utilization ` : 初始化vllm引擎` EngineArgs ` 的参数, 默认为` 0.9 ` . 该参数只有在使用vllm时才生效.
180180- ` --tensor_parallel_size ` : 初始化vllm引擎` EngineArgs ` 的参数, 默认为` 1 ` . 该参数只有在使用vllm时才生效.
181+ - ` --max_model_len ` : 覆盖模型的max_model_len, 默认为` None ` . 该参数只有在使用vllm时才生效.
181182
182183## app-ui 参数
183184
0 commit comments