#transformer
- Input Embedding과 Positional EncodingTransformer 입력을 정리하다가, 수식으로는 분명 행렬곱인데 PyTorch는 행렬곱을 안 한다는 부분에서 한 번 멈췄었다. 그런데도 학습이 된다는 게 처음엔 어 이게 왜 되지 싶었다. 그 부분과 positional encoding의 scaling factor를 같이 정리해봤...
- Multi-Head Attention 직접 구현하기멀티헤드 어텐션을 직접 구현하면서 헷갈렸던 지점들을 정리한다. 헤드의 차원은 embedding_dim을 헤드 수로 나눈 것 먼저 헤드를 빼고 보면, 입력은 (B, L, D) = (batch_size, sequence_length, embedding_dim)이고, W q , W...
- Tokenizer 이해하기Transformer에 문장을 넣기 전, 텍스트를 어떻게 숫자로 바꾸는지 tokenizer를 정리한다. 왜 필요한가 Transformer에 넣을 입력이 numeric 데이터가 아니라면 그대로 넣을 수 없다. 텍스트를 숫자로 바꾸는 과정이 필요한데, 그게 tokenizer가 하는 일...
- nn.Embedding에 이해하기토큰 번호로 바뀐 문장이 어떻게 벡터가 되는지, nn.Embedding 의 동작을 간단하게 정리해봤다. (vocab_size, model_dim) 가중치 행렬 nn.Embedding 은 결국 (vocab_size, model_dimension) 크기의 가중치 행렬 하나다. 이 행렬...
- Self-Attention 이해하기attention이 무엇을 계산하는지, Q와 K와 V가 각각 어떤 역할인지, 그리고 한 단어를 어떻게 contextualize하는지 간단히 정리해봤다. attention은 value의 가중 평균 attention 함수는 세 가지를 입력으로 받는다. Attention ( Q , K...