퀴즈: 회전 위치 임베딩
자리 벡터를 더하는 방식에서, 같은 간격인데도 점수가 흔들리는 까닭은?
- 더한 자리 벡터의 크기가 자리마다 달라지기 때문이다
- 사인과 코사인이 긴 자리에서 값을 잃기 때문이다
- 내적을 펼치면 한쪽 자리만 든 항이 남기 때문이다
- 자리 벡터를 질의에만 더하고 키에는 안 더하기 때문이다
RoPE 에서 질의와 키를 각각 제 자리만큼 돌린 뒤 내적하면 무엇이 남는가?
- 두 자리의 차이에만 의존하는 값이 남는다
- 두 자리의 합에만 의존하는 값이 남는다
- 질의 쪽 자리에만 의존하는 값이 남는다
- 자리와 무관하게 늘 같은 값이 남는다
thetas(64) 가 돌려주는 목록의 길이와 첫 값은?
- 길이 64, 첫 값은 10000.0 이다
- 길이 64, 첫 값은 0.0 이다
- 길이 32, 첫 값은 0.5 이다
- 길이 32, 첫 값은 1.0 이다
회전이 벡터의 길이를 바꾸지 않는다는 사실이 왜 쓸모 있는가?
- 자리 정보를 넣으면서 원래 값의 크기를 건드리지 않기 때문이다
- 자리가 커져도 부동소수점 오차가 생기지 않기 때문이다
- 회전한 벡터를 캐시에 두고 다시 돌려도 되기 때문이다
- 질의와 키가 서로 다른 밑을 써도 되기 때문이다
간격이 멀어질수록 그 거리를 제대로 구분하는 쌍이 줄어드는 까닭은?
- 느린 쌍의 각도가 너무 작아 계산에서 사라지기 때문이다
- 빠른 쌍이 한 바퀴를 넘겨 다른 거리와 같은 각도가 되기 때문이다
- 먼 자리에서는 회전이 노름을 조금씩 줄이기 때문이다
- 밑이 10000 이라 그보다 먼 거리는 각도가 정의되지 않기 때문이다
RoPE 를 쓰는 어텐션에서 회전을 적용하는 자리로 맞는 것은?
- 입력 임베딩에 한 번 적용하고 그대로 흘려보낸다
- 값(V)에만 적용하고 질의와 키는 그대로 둔다
- 질의와 키에 적용하고 값(V)은 그대로 둔다
- 소프트맥스를 지난 가중치에 적용한다