MiniCPM-V icon indicating copy to clipboard operation
MiniCPM-V copied to clipboard

[BUG] <title>llama factory训练没问题,验证遇到了bug

Open yzy-lbn999 opened this issue 9 months ago • 2 comments

是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?

  • [x] 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

该问题是否在FAQ中有解答? | Is there an existing answer for this in FAQ?

  • [x] 我已经搜索过FAQ | I have searched FAQ

当前行为 | Current Behavior

Traceback (most recent call last): File "/root/miniconda3/bin/llamafactory-cli", line 8, in sys.exit(main()) ^^^^^^ File "/root/autodl-tmp/LLaMA-Factory/src/llamafactory/cli.py", line 118, in main run_exp() File "/root/autodl-tmp/LLaMA-Factory/src/llamafactory/train/tuner.py", line 103, in run_exp _training_function(config={"args": args, "callbacks": callbacks}) File "/root/autodl-tmp/LLaMA-Factory/src/llamafactory/train/tuner.py", line 68, in _training_function run_sft(model_args, data_args, training_args, finetuning_args, generating_args, callbacks) File "/root/autodl-tmp/LLaMA-Factory/src/llamafactory/train/sft/workflow.py", line 127, in run_sft predict_results = trainer.predict(dataset_module["eval_dataset"], metric_key_prefix="predict", **gen_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/transformers/trainer_seq2seq.py", line 261, in predict return super().predict(test_dataset, ignore_keys=ignore_keys, metric_key_prefix=metric_key_prefix) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/transformers/trainer.py", line 4151, in predict output = eval_loop( ^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/transformers/trainer.py", line 4267, in evaluation_loop losses, logits, labels = self.prediction_step(model, inputs, prediction_loss_only, ignore_keys=ignore_keys) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/autodl-tmp/LLaMA-Factory/src/llamafactory/train/sft/trainer.py", line 114, in prediction_step loss, generated_tokens, _ = super().prediction_step( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/miniconda3/lib/python3.12/site-packages/transformers/trainer_seq2seq.py", line 333, in prediction_step generated_tokens = self.model.generate(**generation_inputs, **gen_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/root/.cache/huggingface/modules/transformers_modules/MiniCPM-o-2_6/modeling_minicpmo.py", line 786, in generate assert len(input_ids) == len(pixel_values) ^^^^^^^^^^^^^^^^^ TypeError: object of type 'NoneType' has no len()

期望行为 | Expected Behavior

No response

复现方法 | Steps To Reproduce

No response

运行环境 | Environment

- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA (`python -c 'import torch; print(torch.version.cuda)'`):

备注 | Anything else?

No response

yzy-lbn999 avatar Mar 18 '25 03:03 yzy-lbn999

我也遇到了上述问题,使用LLama factory 训练MiniCPM-o-2_6没问题,但是对话提示词使用的MiniCPM-v,因为如果使用MiniCPM-o训练也会出问题; 在验证时报错 [rank3]: Traceback (most recent call last): [rank3]: File "/data/zhengtianlong/paper02/LLaMA-Factory/src/llamafactory/launcher.py", line 23, in [rank3]: launch() [rank3]: File "/data/zhengtianlong/paper02/LLaMA-Factory/src/llamafactory/launcher.py", line 19, in launch [rank3]: run_exp() [rank3]: File "/data/zhengtianlong/paper02/LLaMA-Factory/src/llamafactory/train/tuner.py", line 103, in run_exp [rank3]: _training_function(config={"args": args, "callbacks": callbacks}) [rank3]: File "/data/zhengtianlong/paper02/LLaMA-Factory/src/llamafactory/train/tuner.py", line 68, in _training_function [rank3]: run_sft(model_args, data_args, training_args, finetuning_args, generating_args, callbacks) [rank3]: File "/data/zhengtianlong/paper02/LLaMA-Factory/src/llamafactory/train/sft/workflow.py", line 127, in run_sft [rank3]: predict_results = trainer.predict(dataset_module["eval_dataset"], metric_key_prefix="predict", **gen_kwargs) [rank3]: File "/data/zhengtianlong/anaconda3/envs/aaai_lmfa/lib/python3.10/site-packages/transformers/trainer_seq2seq.py", line 261, in predict [rank3]: return super().predict(test_dataset, ignore_keys=ignore_keys, metric_key_prefix=metric_key_prefix) [rank3]: File "/data/zhengtianlong/anaconda3/envs/aaai_lmfa/lib/python3.10/site-packages/transformers/trainer.py", line 4151, in predict [rank3]: output = eval_loop( [rank3]: File "/data/zhengtianlong/anaconda3/envs/aaai_lmfa/lib/python3.10/site-packages/transformers/trainer.py", line 4267, in evaluation_loop [rank3]: losses, logits, labels = self.prediction_step(model, inputs, prediction_loss_only, ignore_keys=ignore_keys) [rank3]: File "/data/zhengtianlong/paper02/LLaMA-Factory/src/llamafactory/train/sft/trainer.py", line 114, in prediction_step [rank3]: loss, generated_tokens, _ = super().prediction_step( [rank3]: File "/data/zhengtianlong/anaconda3/envs/aaai_lmfa/lib/python3.10/site-packages/transformers/trainer_seq2seq.py", line 333, in prediction_step [rank3]: generated_tokens = self.model.generate(**generation_inputs, **gen_kwargs) [rank3]: File "/data/zhengtianlong/.cache/huggingface/modules/transformers_modules/MiniCPM-o-2_6/modeling_minicpmo.py", line 786, in generate [rank3]: assert len(input_ids) == len(pixel_values) [rank3]: TypeError: object of type 'NoneType' has no len()

transformers ==4.48.3 LLama factory ==0.9.3.dev0

DragonReed avatar Mar 21 '25 03:03 DragonReed

@yzy-lbn999 请问你解决了吗?

DragonReed avatar Mar 26 '25 12:03 DragonReed