티스토리 뷰
Transformer 모델에서의 Query, Key, Value
Transformer 모델에서의 Query, Key, Value는 attention 메커니즘의 핵심 요소로 사용됩니다. 이들은 주어진 입력의 정보를 기반으로 문맥을 이해하고, 정보의 중요성을 계산하는 데 사용됩니다.
- Query (쿼리): 현재의 입력 토큰 또는 단어가 다른 모든 토큰(단어)과 얼마나 관련이 있는지를 나타내는 벡터입니다. 주어진 입력이 다른 입력들과의 연관성을 평가하는 데 사용됩니다.
- Key (키): 모든 입력 토큰에 대해 생성된 벡터로, 입력 토큰들이 서로 어떤 관련성을 가지는지를 나타냅니다. Query와 비교하여 관련성 점수를 계산하는 데 사용됩니다.
- Value (값): 실제로 참조되는 정보나 내용을 포함하는 벡터입니다. Query와 Key의 연산 결과로 결정된 중요도에 따라 선택되고 가중치가 부여된 정보가 최종 결과에 반영됩니다.
작동 원리:
- Query와 Key의 유사성 계산: Query 벡터와 모든 Key 벡터 간의 유사성을 계산하여 각 Key의 중요도를 평가합니다. 보통 내적(dot product)을 사용하여 유사성을 측정합니다.
- Attention Score 계산: Query와 Key의 유사성 점수를 기반으로 Attention Score를 계산하고, 이를 소프트맥스(softmax) 함수에 적용하여 확률 분포를 생성합니다.
- Weighted Sum (가중합): Attention Score를 Value 벡터에 곱하여 가중 평균을 구합니다. 이 가중합이 최종적으로 출력으로 제공됩니다.