File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -683,9 +683,13 @@ def compute_advantage(
683683):
684684 if response_mask is None :
685685 response_mask = data .batch ["response_mask" ][:, 1 :]
686+ if response_mask .sum () == 0 :
687+ skip_whiten = True
688+ else :
689+ skip_whiten = False
686690
687691 token_level_rewards = data .batch ["token_level_rewards" ].float ()
688- if whiten_rewards :
692+ if whiten_rewards and not skip_whiten :
689693 token_level_rewards = masked_whiten (values = token_level_rewards , mask = response_mask )
690694 # data.batch['token_level_rewards'] = token_level_rewards
691695 token_level_rewards = token_level_rewards * response_mask
@@ -708,7 +712,7 @@ def compute_advantage(
708712 raise NotImplementedError
709713
710714 data .batch ["raw_advantages" ] = advantages
711- if whiten_advantages :
715+ if whiten_advantages and not skip_whiten :
712716 # TODO whiten过程中是否要考虑response的长度?
713717 advantages = masked_whiten (values = advantages , mask = response_mask )
714718 advantages = advantages * response_mask
You can’t perform that action at this time.
0 commit comments