5663015

Results 5 issues of 5663015

Thank you for sharing this code. But I got the following error when I run ./train.sh: ``` argv: ['--dataset=dtu_yao', '--batch_size=4', '--trainpath=/mnt/f/datasets/DTU/dtu_training', '--trainlist', 'lists/dtu/train.txt', '--testlist', 'lists/dtu/test.txt', '--numdepth=192', '--logdir', './checkpoints/d192'] ################################ args...

LoRA指令微调,deepspeed设置为zero2,GPU利用率基本在30%~40%左右,已在AutoConfig里设置了`output_router_logits=True`。非MoE模型正常。 运行环境: 除了利用率低,之前还出现过一个问题:Qwen1.5-MoE-A2.7B-Chat训练到80多steps时卡住,GPU利用率突然到99%,然后就一直保持这个状态。运行环境除了`output_router_logits=True`没有设置外,其他都一样。设置了`output_router_logits=True`后正常运行。

交流群的二维码显示不出来了,能否更新一下呢,谢谢~

官方代码在训练时没有添加验证集指标,不太容易监测是否过拟合。经过尝试,增加`compute_metrics`也不行,`Trainer`的`evaluate`逻辑有点复杂走不到这里,最终还是得重构一下`evaluate`。下面分享一个很简单的重构供参考,训练过程中返回验证集的损失,只需正常添加`do_eval`、`eval_steps`、`evaluation_strategy`等参数就像。可以根据自己的需求完善验证的逻辑。 `trainer.py`里`class BiTrainer(Trainer):` ```python def evaluate( self, test_dataset: Optional[Union[Dataset, Dict[str, Dataset]]] = None, ignore_keys: Optional[List[str]] = None, metric_key_prefix: str = "eval", ) -> Dict[str, float]: losses = [] for inputs...

在微调BGE-M3时`grad_norm`总是比较大,在10~20左右,`max_grad_norm`也设成1了。数据大约1w条,私有的业务数据。部分参数如下: do_train=True, do_eval=True, train_data=data_path + "/train", val_data=data_path + '/val', evaluation_strategy="steps", eval_steps=0.1, learning_rate=lr, bf16=True, weight_decay=0.01, warmup_ratio=0.05, lr_scheduler_type='cosine', max_grad_norm=1, logging_first_step=True, num_train_epochs=num_train_epochs, per_device_train_batch_size=per_device_train_batch_size, per_device_eval_batch_size=1, gradient_accumulation_steps=gradient_accumulation_steps, dataloader_drop_last=True, normlized=True, shuffle_ratio=0.02, temperature=0.02, query_max_len=64, passage_max_len=1024, train_group_size=8, negatives_cross_device=True,...