FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

微调bge-reranker-base一直卡顿,无日志输出

Open 0x01111 opened this issue 6 months ago • 3 comments

`[HAMI-core Msg(48605:139901809241280:libvgpu.c:836)]: Initializing..... [HAMI-core Msg(48684:140081705012416:libvgpu.c:836)]: Initializing..... [HAMI-core Warn(48684:140081705012416:utils.c:183)]: get default cuda from (null) [HAMI-core Msg(48684:140081705012416:libvgpu.c:855)]: Initialized [2025-06-20 01:28:10,794] [INFO] [real_accelerator.py:254:get_accelerator] Setting ds_accelerator to cuda (auto detect) [2025-06-20 01:28:12,061] [INFO] [logging.py:107:log_dist] [Rank -1] [TorchCheckpointEngine] Initialized with serialization = False [2025-06-20 01:28:12,074] [INFO] [comm.py:675:init_distributed] cdb=None [2025-06-20 01:28:12,074] [INFO] [comm.py:706:init_distributed] Initializing TorchBackend in DeepSpeed with backend nccl 06/20/2025 01:28:12 - WARNING - FlagEmbedding.abc.finetune.reranker.AbsRunner - Process rank: 0, device: cuda:0, n_gpu: 1, distributed training: True, 16-bits training: True 06/20/2025 01:28:12 - INFO - FlagEmbedding.abc.finetune.reranker.AbsRunner - Training/evaluation parameters AbsRerankerTrainingArguments( _n_gpu=1, accelerator_config={'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None, 'use_configured_state': False}, adafactor=False, adam_beta1=0.9, adam_beta2=0.999, adam_epsilon=1e-08, auto_find_batch_size=False, average_tokens_across_devices=False, batch_eval_metrics=False, bf16=False, bf16_full_eval=False, data_seed=None, dataloader_drop_last=True, dataloader_num_workers=0, dataloader_persistent_workers=False, dataloader_pin_memory=True, dataloader_prefetch_factor=None, ddp_backend=None, ddp_broadcast_buffers=None, ddp_bucket_cap_mb=None, ddp_find_unused_parameters=None, ddp_timeout=1800, debug=[], deepspeed=./ds_stage0.json, disable_tqdm=False, do_eval=False, do_predict=False, do_train=False, eval_accumulation_steps=None, eval_delay=0, eval_do_concat_batches=True, eval_on_start=False, eval_steps=None, eval_strategy=no, eval_use_gather_object=False, fp16=True, fp16_backend=auto, fp16_full_eval=False, fp16_opt_level=O1, fsdp=[], fsdp_config={'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}, fsdp_min_num_params=0, fsdp_transformer_layer_cls_to_wrap=None, full_determinism=False, gradient_accumulation_steps=1, gradient_checkpointing=True, gradient_checkpointing_kwargs=None, greater_is_better=None, group_by_length=False, half_precision_backend=auto, hub_always_push=False, hub_model_id=None, hub_private_repo=None, hub_strategy=every_save, hub_token=<HUB_TOKEN>, ignore_data_skip=False, include_for_metrics=[], include_inputs_for_metrics=False, include_num_input_tokens_seen=False, include_tokens_per_second=False, jit_mode_eval=False, label_names=None, label_smoothing_factor=0.0, learning_rate=6e-05, length_column_name=length, load_best_model_at_end=False, local_rank=0, log_level=passive, log_level_replica=warning, log_on_each_node=True, logging_dir=./data/model/test_encoder_only_base_bge-reranker-base/runs/Jun20_01-28-10_search-cuda11, logging_first_step=False, logging_nan_inf_filter=True, logging_steps=1.0, logging_strategy=steps, lr_scheduler_kwargs={}, lr_scheduler_type=linear, max_grad_norm=1.0, max_steps=-1, metric_for_best_model=None, mp_parameters=, neftune_noise_alpha=None, no_cuda=False, num_train_epochs=2.0, optim=adamw_torch, optim_args=None, optim_target_modules=None, output_dir=./data/model/test_encoder_only_base_bge-reranker-base, overwrite_output_dir=True, past_index=-1, per_device_eval_batch_size=8, per_device_train_batch_size=2, prediction_loss_only=False, push_to_hub=False, push_to_hub_model_id=None, push_to_hub_organization=None, push_to_hub_token=<PUSH_TO_HUB_TOKEN>, ray_scope=last, remove_unused_columns=True, report_to=['tensorboard'], restore_callback_states_from_checkpoint=False, resume_from_checkpoint=None, run_name=./data/model/test_encoder_only_base_bge-reranker-base, save_on_each_node=False, save_only_model=False, save_safetensors=True, save_steps=1000, save_strategy=steps, save_total_limit=None, seed=42, skip_memory_metrics=True, sub_batch_size=None, tf32=None, torch_compile=False, torch_compile_backend=None, torch_compile_mode=None, torch_empty_cache_steps=None, torchdynamo=None, tpu_metrics_debug=False, tpu_num_cores=None, use_cpu=False, use_ipex=False, use_legacy_prediction_loop=False, use_liger_kernel=False, use_mps_device=False, warmup_ratio=0.1, warmup_steps=0, weight_decay=0.01, ) 06/20/2025 01:28:12 - INFO - FlagEmbedding.abc.finetune.reranker.AbsRunner - Model parameters AbsRerankerModelArguments(model_name_or_path='/data/models/BAAI/bge-reranker-base', config_name=None, tokenizer_name=None, cache_dir='./cache/model', trust_remote_code=False, model_type='encoder', token=None) 06/20/2025 01:28:12 - INFO - FlagEmbedding.abc.finetune.reranker.AbsRunner - Data parameters AbsRerankerDataArguments(train_data=['./data/train_data.json'], cache_path='./cache/data', train_group_size=8, query_max_len=512, passage_max_len=512, max_len=512, pad_to_multiple_of=8, max_example_num_per_dataset=100000000, query_instruction_for_rerank=None, query_instruction_format='{}{}', knowledge_distillation=False, passage_instruction_for_rerank=None, passage_instruction_format='{}{}', shuffle_ratio=0.0, sep_token='\n') 06/20/2025 01:28:13 - INFO - FlagEmbedding.finetune.reranker.encoder_only.base.runner - Config: XLMRobertaConfig { "architectures": [ "XLMRobertaForSequenceClassification" ], "attention_probs_dropout_prob": 0.1, "bos_token_id": 0, "classifier_dropout": null, "eos_token_id": 2, "hidden_act": "gelu", "hidden_dropout_prob": 0.1, "hidden_size": 768, "id2label": { "0": "LABEL_0" }, "initializer_range": 0.02, "intermediate_size": 3072, "label2id": { "LABEL_0": 0 }, "layer_norm_eps": 1e-05, "max_position_embeddings": 514, "model_type": "xlm-roberta", "num_attention_heads": 12, "num_hidden_layers": 12, "output_past": true, "pad_token_id": 1, "position_embedding_type": "absolute", "torch_dtype": "float32", "transformers_version": "4.52.4", "type_vocab_size": 1, "use_cache": true, "vocab_size": 250002 }

06/20/2025 01:28:13 - INFO - FlagEmbedding.abc.finetune.reranker.AbsDataset - loading data from ./data/train_data.json ... `

上面是卡顿的结果。参考了 https://github.com/FlagOpen/FlagEmbedding/issues/1302 --train_group_size 8 --pad_to_multiple_of 8 把这两行改成4或者2试一下

也不行。

单独测试GPU可以被正常利用

硬件状态正常: 1. NVIDIA A100-PCIE-40GB GPU 可用 2. 40GB 显存完全可用 3. CUDA 11.4 驱动正常

PyTorch环境正常: 1. PyTorch 2.2.0+cu118 已正确安装 2. CUDA 可用性:✅ True 3. GPU设备数量:1个 4. 设备名称正确识别

GPU计算测试通过: 1. 矩阵乘法测试成功 2. 内存分配正常(296.1MB使用) 3. 计算性能正常(4.19秒完成5000x5000矩阵乘法)

GPU训练测试通过: 1. 神经网络训练成功 2. 55万个参数模型正常训练 3. GPU内存使用正常(24.9MB) 4. 训练过程无错误

大模型的帮忙排查的原因: 原始训练脚本的问题

  1. 训练脚本无法启动的原因是:
  2. 分布式训练配置问题:torchrun的分布式设置可能有问题

帮忙看看是什么问题?

0x01111 avatar Jun 20 '25 01:06 0x01111

Image

在运行bash.sh
gpu 也没有利用起来

0x01111 avatar Jun 20 '25 01:06 0x01111

MASTER_PORT=29501 torchrun --nproc_per_node 1
-m FlagEmbedding.finetune.reranker.encoder_only.base
--model_name_or_path /data/models/BAAI/bge-reranker-base
--cache_dir ./cache/model
--train_data ./data/train_data.json
--cache_path ./cache/data
--train_group_size 8
--query_max_len 512
--passage_max_len 512
--pad_to_multiple_of 8
--knowledge_distillation False
--output_dir ./data/model/test_encoder_only_base_bge-reranker-base
--overwrite_output_dir
--learning_rate 6e-5
--fp16
--num_train_epochs 2
--per_device_train_batch_size 2
--gradient_accumulation_steps 1
--dataloader_drop_last True
--warmup_ratio 0.1
--gradient_checkpointing
--weight_decay 0.01
--deepspeed ./ds_stage0.json
--logging_steps 1
--save_steps 1000

运行的参数

0x01111 avatar Jun 20 '25 01:06 0x01111

我也有一样的问题,但是我在删除参数--cache_path ./cache/data并且--save_steps 1000修改为max_steps之后可以正常运行,希望对你有帮助

SWJTUmeik avatar Jul 22 '25 10:07 SWJTUmeik