반응형

multi head attention 2

[PyTorch] CLIP의 text encoder에는 attention mask가 존재합니다.

CLIP의 text encoder 내부의 Multi_head_attention에서 attention mask가 None으로 입력되는 줄 알았다. 아이디어를 구현하기 위해 attention mask 부분을 만들어서 넣어줬더니.. 성능이 엄청 떨어졌다. 한번 확인해보니 CLIP의 text encoder에서 attention mask가 None으로 입력되는 것이 아니라 다음과 같이 들어간다. 근데 어떤 layer에서는 None으로 들어가기 때문에 구체적으로 확인해볼 필요는 있다. 항상 저렇게 attention mask가 들어가는게 아니다. BERT 구조임에도 autoregressive하게 문장을 보게 하려는 의도 인듯?

[PyTorch] Multi_head_attention에서 target sequence length와 source sequence length 의미

Multi_head_attention에서 target sequence length와 source sequence length 의미 연구를 위해 pytorch의 multi head attention에 attention mask를 씌워줘야 했다. 도큐먼트를 보면 L은 target sequence length를 의미하고 S는 source sequence length를 말하는데, 이 둘은 무엇일까? pytorch 내부 코드를 뜯어보니 target sequence length는 query의 길이를 의미한다. soure sequence length는 key의 길이를 의미함. 구글링해도 관련 내용을 찾기 어려워서 작성해본당. 나만 모르고 다 아는 내용이라서 구글링해도 못찾았던 거일수도?

반응형