LLama 안의 masking

a9umon·2025년 12월 31일

보충자료

목록 보기
4/9

참고한 블로그는 여기

Pad Masking

  • input sequence의 길이가 서로 다를 때, sequence의 길이를 통일하기 위해 추가된 padding을 가리기 위한 것.
  • input token의 길이를 맞추기 위해 뒤에 0 같은 padding symbol을 추가한다.
  • 이때 실제 attention score가 계산될 때에는 padding symbol로 채워진 token은 제외해야 한다.
  • 이를 위해 padding symbol이 있는 token들을 -inf 값으로 만드는 masking이 필요하다.
  • 해당 mask는 대개 attention mask로 이름 짓는다.

Future Masking

  • Decoder가 autogressive model 이므로 t step 이후의 token은 참조하지 못하게 해야한다.
  • 이를 위해 t+1 step 부터의 token들에 -inf값을 씌워주는 mask가 필요하다.
def build_causal_mask(L, device):
	mask = torch.empty(L, L, device=device)
    mask.fill_(float("-inf"))
    mask = torch.triu(mask, diagonal=1)
        
    return mask.unsqueeze(0).unsqueeze(0)
profile
이것저것 다 합니다.

0개의 댓글