작성
·
51
0
안녕하세요.
설명을 너무 잘해주셔서 Transformer에 대한 이해도가 높아졌습니다. 감사합니다.
강의 중 이해안되는 부분이 있어 질문드립니다.
"Char Level GPT 만들기"강의 중 MaskedMultiheadAttention 클래스 선언 부분의 attention 객체 만드는 부분의 매개변수가 이해가 안갑니다.
Class MaskedMultiheadAttention(nn.Module):
def init(self, embed_dim, num_heads):
...
self.attentions = nn.ModuleList([MaskedSelfAttention(attention_dim, attention_dim) for in range(num_heads)]
...
위에 attention 객체 생성할 때 입력단자로 attention_dim이 들어가게 되는데 embed_dim 이 들어가야 하는게 아닐까요?
선택사항이라고 하기에는 TrnsformerDecoderBlock 클래스 선언한 걸 보면 layer_norm1을 emed_dim으로 설정해서 그래도 맞지 않는 것 같아서요.
답변 부탁드릴게요!
답변 1
0
안녕하세요. 질문 감사합니다. 강의중 타입 오류가 있었던점 사과드립니다.
https://github.com/NoCodeProgram/deepLearning/blob/main/transformer/bibleGPT.ipynb
에 보시면, MaskedMultiheadAttention 선언부분이 있습니다.
class MaskedMultiheadAttention(nn.Module):
def __init__(self, embed_dim, num_heads):
super().__init__()
attention_dim = embed_dim // num_heads
self.attentions = nn.ModuleList([MaskedSelfAttention(embed_dim, attention_dim) for _ in range(num_heads)])
self.fc = nn.Linear(embed_dim, embed_dim)