fix: use sum reduction for DPO sequence logprob
- DPO requires sequence-level sum of token logprobs, not per-token mean - mean reduction made beta*ratio_diff ~0.03 (near-zero gradient) - loss stalled at 0.6931 because logsigmoid(0.03) has vanishing grad - sum gives beta*ratio_diff ~10 with meaningful gradients
This commit is contained in:
@@ -225,7 +225,7 @@ class DPOStrategy(BaseStrategy):
|
||||
device: str,
|
||||
ref_model: nn.Module,
|
||||
beta: float = 0.1,
|
||||
reduction: str = "mean",
|
||||
reduction: str = "sum",
|
||||
**kwargs,
|
||||
):
|
||||
super().__init__(model, device, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user