LongAlign icon indicating copy to clipboard operation
LongAlign copied to clipboard

packing loss 的归一化问题

Open Chandler-Bing opened this issue 1 year ago • 1 comments

这里的loss计算是不是应该归一化一下

loss = (loss * shift_weights).sum() -> loss = (loss * shift_weights).sum() / shift_weights.sum()

把loss归一化到token粒度 前一种方式,loss的scale偏大,而且反向传播梯度也会偏大。而且极限情况下,假设每个样本只有1个token,这个batch的loss会爆炸

Chandler-Bing avatar Aug 27 '24 02:08 Chandler-Bing

这里的shift_weights已经经过归一化了。每个sample的weight加起来为1。

bys0318 avatar Sep 05 '24 08:09 bys0318