Transformer9 [논문 리뷰 - Transformer] Attention is All You Need 뿌시기 논문명 : Attnention is All You Need저자 : Vasawani et al.출간지/발간일 : NIPS 2017 한참 전에 읽어두었던 논문이지만 귀찮아서 미루고 미루다... 최근에 좋은 기회가 생겨 다시 읽게되어 세세하게 정리하며 포스팅을 해본다. 이 논문은 현재 NLP, CV등 다양한 분야에서 활용되고 있는 Transformer 구조의 시작이 되는 논문으로, 딥러닝을 공부하는 사람이라면 반드시 한 번은 읽어봐야할 랜드마크같은 논문이다. 처음 공부하는 자세로 하나하나 이해할 수 있도록 열심히 정리를 해보았다..!I. Introduction⚠️ 기존 모델의 한계 ⚠️ - 당시 NLP에서 SOTA를 기록하던 모델은 RNN, LSTM, GRU와 같은 순환 신경망 기반 모델들이었음 [순환 신.. 2025. 3. 21. [Transformer] C로 Transformer 구현하기 Project GoalTransformer를 C로 구현하기- 검증 방법 : basic이 되는 python code와의 output 비교를 통해 정확도 평가What is the basis of this project? Architecture : TransformerPaper : Attention is All You Need Transformer Pytorch Code : harvaldnlp (+) My github code : https://github.com/je0nsye0n/Transformer_C Pytorch Code 수정기본적인 틀은 Pytorch코드와 C코드의 output이 같은지 확인하는 것이다.이 조건이 성립되기 위해서는 동일한 아키텍처를 설계해야 하며, Input과 Linear 연산에서.. 2025. 2. 26. [논문 리뷰] FASTDECODE : High-Throughput GPU Efficient LLM Serving using Heterogeneous Pipelines (2024) 논문명: FASTDECODE: High-Throughput GPU Efficient LLM Serving using Heterogeneous Pipelines (2024)저자: Jiaao He, Jidong ZhaiI. Introduction ✅ LLM의 디코딩LLM을 사용하여 요청에 응답하는 과정은 두 단계로 나뉜다.[1] Prefilling : 모든 토큰들이 배치 단위로 처리되어 MLP 레이어에서 동시에 계산[2] Decoding : GPU에서의 디코딩은 비효율적이다? → 마지막 토큰의 특징 벡터를 사용하여 다음 토큰 예측하는 과정으로 새로운 토큰은 하나씩 순차적으로 모델 통과 ✅ GPU 활용도 향상문제1. GPU에서의 디코딩이 비효율적인 이유디코딩 단계의 주요 연산은 GeMV.. 2025. 1. 15. Attention is All You Need(Transformer) Pytorch로 구현 Attention is All You Need 구현본 포스팅은 2018년 harvardnlp(The Annotated Transformer (harvard.edu))에 게시된 “Attention is All You Need” paper를 바탕으로 실제 PyTorch로 구현하는 내용을 리뷰하는 것이다. 또한, 본 코드는 OpenNMT 패키지를 기반으로 한다.Prelimsimport numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Fimport math, copy, timefrom torch.autograd import Variableimport matplotlib.pyplot as pltimport seabornseabor.. 2025. 1. 14. [Transformer 정리] 03. Positional Encoding과 특수 토큰 Positional Encoding(위치 인코딩)✅ 위치 인코딩 방식의 필요성트랜스포머의 특징 : 시퀀스의 각 단어는 임베딩 처리되어 벡터 형태로 변환됨 / 시퀀스를 병렬 구조로 처리→ 따라서, 단어의 순서 정보를 제공하지 않는다. 때문에 위치 정보를 임베딩 벡터에 추가하여 단어의 순서 정보를 모델에 반영해야 한다. 이를 위해 트랜스포머는 위치 인코딩 방식을 사용한다. ✅ 위치 인코딩이란?위치 인코딩 : 입력 시퀀스의 순서 정보를 모델에 전달하는 방법 (각 단어의 위치 정보를 나타내는 벡터를 더하여 임베딩 벡터에 위치 정보를 반영)인코딩 벡터는 sin 함수와 cos 함수를 사용하여 생성되며, 이를 통해 임베딩 벡터와 위치 정보가 결합된 최종 입력 벡터를 생성한다. 위치 인코딩 벡터를 추가함으로써 모델은 .. 2025. 1. 13. [Transformer 정리] 02. 트랜스포머 기본 구조 트랜스포머는 인코더와 디코더 두 부분으로 구성되어 있으며, 각각 N개의 트랜스포머 블록(Transformer Block)으로 구성된다. 이 블록은 멀티 헤드 어텐션(Multi-Head Attention)과 순방향 신경망(Feed Forward)으로 이루어져있다.이제 각각을 간단하게 살펴보자.Multi-Head Attention입력 시퀀스에서 쿼리(Query), 키(Key), rkqt(Value) 벡터를 정의하여 입력 시퀀스들의 관계를 셀프 어텐션(Self Attention)하는 벡터 표현 방법이다. 이 과정에서 쿼리와 각 키의 유사도를 계산하고, 해당 유사도를 가중치로 사용하여 값 벡터를 합산한다. → 해당 과정에서 생산된 어텐션 행렬은 각 단어의 임베딩 벡터를 대체하는 것이다. # Q, K, V란?Qu.. 2025. 1. 13. 이전 1 2 다음