트랜스포머 — 어텐션을 손으로 계산한다 · 어텐션의 안쪽 · 퀴즈
트랜스포머 확인
문항 10개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
어텐션 점수를 `√d_k` 로 나누는 이유는?
- 나누면 계산이 빨라지기 때문에
- 나누지 않으면 점수 분산이 d 로 커져 소프트맥스가 포화되고 기울기가 사라져서
- 점수 행렬의 메모리를 아끼려고
- 원 논문의 관례를 따랐을 뿐 특별한 이유는 없다
소프트맥스에서 최댓값을 빼고 exp 하는 이유는?
- 빼면 결과 확률값이 달라진다
- 수학적으로 같은 값이지만 오버플로가 나지 않는다
- exp 계산이 더 빨라진다
- 입력에서 음수를 없애 준다
인과 마스크를 소프트맥스 **전에** -inf 로 적용해야 하는 이유는?
- 소프트맥스 계산이 더 빠르다
- -inf 를 쓰는 편이 수치적으로 더 정확해서
- 소프트맥스 후에 0을 곱하면 남은 가중치의 합이 1이 아니게 된다
- 마스크 행렬의 메모리를 아끼려고
위치 인코딩이 없으면 어떤 일이 생기나?
- 수렴이 늦어 학습이 느려진다
- 어텐션 점수에서 오버플로가 난다
- 인과 마스크가 적용되지 않는다
- 입력 순서를 섞어도 출력이 그대로 따라 섞일 뿐 값이 같다
헤드를 여러 개로 쪼개는 이유는?
- 소프트맥스 하나는 가중치 합이 1이라 한 종류의 관계만 표현할 수 있어서
- GPU 에서 병렬 처리를 하기 위해서
- 점수 행렬 메모리를 줄이기 위해서
- 헤드마다 다른 마스크를 걸려고
LayerNorm 이 BatchNorm 과 다른 결정적 지점은?
- 계산이 더 빠르다는 점
- 학습되는 파라미터가 아예 하나도 없다는 점
- GPU 에서만 동작한다는 점
- 배치가 아니라 특징 축으로 정규화해 배치 크기·시퀀스 길이에 영향받지 않는다
시퀀스 길이를 4k 에서 8k 로 늘리면 어텐션 점수 행렬은?
- 2배
- 4배
- 그대로
- 8배
GQA(그룹 질의 어텐션)가 줄이는 것은?
- 추론 시 KV 캐시 메모리
- 학습 시간
- 모델 파일 크기
- 토큰 수
RAG 의 임베딩에 인코더 모델(BERT/E5 계열)을 쓰는 이유는?
- 모델 크기가 더 작아서
- 디코더보다 빠르게 학습돼서
- 인과 마스크가 없어 모든 토큰이 문장 전체를 보기 때문
- 한국어 처리 성능이 좋아서
Whisper 같은 오디오 모델이 소리를 트랜스포머에 넣기 전에 하는 일은?
- 로그-멜 스펙트로그램으로 바꾸고 합성곱으로 시간축을 줄인다
- 파형 샘플을 그대로 넣는다
- 먼저 텍스트로 바꾼 뒤 넣는다
- FFT 결과를 그대로 입력으로 쓴다