[fix bug] logits's shape different from label's shape in preprocess_logits_for_metrics#31447
Conversation
|
Oh, that's true. @SunMarc yes, should be safe. Alternatively, we can just move the "if" block with labels padding before the "if" block with logits. |
Yeah, I think that's would be better for readability + it was the previous behavior ! Could you make the change @wiserxin ? |
sure |
labels can't use `gather` before pass to `preprocess_logits_for_metrics`, so must split into 2 if-block
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
amyeroberts
left a comment
There was a problem hiding this comment.
Thanks for fixing!
+1 on @qubvel's comment
What does this PR do?
After update my tranformers 4.39.3 --> 4.41.2, training LLM with deepspeed DDP method, something wrong when it goes to my
preprocess_logits_for_metricsfunction: logits's shape is different from label's shape.Then i discover that in latest trainer code, before passing to preprocess_logits_for_metrics, logits are padded by function
pad_across_processesbut labels are not.It seems like a bug unexpectedly introduced .
Before submitting
Pull Request section?
to it if that's the case.
documentation guidelines, and
here are tips on formatting docstrings.
Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.