possible bug in len penalty -- assumption that all logits have the same sign?
Hi, On and around line 69 of kernels/beam_search_penalty_kernels.cu (https://github.com/NVIDIA/FasterTransformer/blob/main/src/fastertransformer/kernels/beam_search_penalty_kernels.cu#L69), shouldn't there be a check to see if logits[end_id + vocab_size_padded_offset] is > T(0) before deciding whether to multiply or divide by len_penalty? There is a check to see if logits[prev_id + vocab_size_padded_offset] is > T(0) but no similar check for logits[end_id + vocab_size_padded_offset]. Is there an assumption that the sign of the logits is the same for all logits? Thanks!
Hi, kgimpel. Thanks for your fallback. This is really a bug. We will fix it in next release.
Hi, kgimpel. This bug is fixed in latest main branch.
Close this bug because it is inactivated. Feel free to re-open this issue if you still have any problem.