

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼
Transformer 블록의 FFN(position-wise feed-forward network)은 각 토큰 위치에 독립적으로, 같은 가중치로 적용되는 2층 MLP로, Loading... 형태를 가진다.
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
Transformer 블록 안에는 어텐션 말고 하나가 더 있습니다. 바로 피드포워드 신경망(FFN)입니다. 어텐션이 끝나면 각 토큰 벡터는 이 작은 2층 신경망을 통과합니다. 중요한 점은 두 가지예요. 첫째, 각 토큰이 따로따로(독립적으로) 통과합니다 — 이 단계에서 토큰끼리는 서로를 보지 않습니다. 둘째, 모든 토큰이 같은 신경망(같은 가중치)을 씁니다. 그래서 "위치별로(position-wise) 동일하게 적용되는 신경망"이라고 부릅니다.
아주 작은 FFN으로 계산해 봅시다 (d_model=2, d_ff=4, 편향은 0, 활성화는 ReLU). 입력 토큰 벡터: x = [1, -1] 1단계(확장): W1은 4×2 행렬 W1 = [[1,0],[0,1],[1,1],[1,-1]] W1·x = [1, -1, 0, 2] 2단계(활성화): ReLU는 음수를 0으로 ReLU([1, -1, 0, 2]) = [1, 0, 0, 2] 3단계(축소): W2는 2×4 행렬 W2 = [[1,1,1,0],[0,1,0,1]] 출력 = [1×1+1×0+1×0+0×2, 0×1+1×0+0×0+1×2] = [1, 2] 2차원 → 4차원 → 2차원. 입력과 출력의 차원이 같아서 다음 블록에 그대로 넘길 수 있습니다.
정답: 아니요. FFN은 각 토큰 위치에 독립적으로 적용되므로, 이 단계에서 토큰끼리는 서로를 보지 않습니다. 토큰 간 정보 교환은 어텐션이 담당합니다.
정답: 아니요. 모든 토큰 위치가 같은 가중치(같은 신경망)를 공유합니다. 하나의 FFN이 100개 토큰 각각에 동일하게 적용됩니다. 그래서 "position-wise(위치별) 동일 적용"이라고 부릅니다.
정답: Transformer는 같은 구조의 블록을 여러 층 쌓고 잔차연결로 입력을 더하기 때문에, 블록의 입력과 출력 차원(d_model)이 같아야 다음 블록으로 그대로 이어 붙일 수 있습니다. 그래서 내부에서만 넓혔다가 다시 원래 차원으로 줄입니다.