
v1 sinusoidal PE 는 임베딩에 덧셈. RoPE (Su et al. 2021, LLaMA/Mistral/Qwen 표준) 는 회전을 적용:
벡터를 짝수/홀수 인덱스로 짝지어 2D 평면에서 회전. 위치 , 페어 , 각도 :
pos shape (L, 1), theta shape (d/2,) → angles = pos · theta shape (L, d/2).cos, sin 각각 (L, d/2) 로 broadcast.out[:, 0::2] = x_even * cos - x_odd * sinout[:, 1::2] = x_even * sin + x_odd * cos함수 apply_rope(x, base=10000.0) 를 완성하세요.
x shape (L, d), d 짝수.(L, d).| # | 이름 | 검증 |
|---|---|---|
| 1 | shape 동일 | |
| 2 | norm 보존 (row-wise) | ‖x_m‖ = ‖RoPE(x, m)‖ |
| 3 | pos=0 → identity | 첫 row 변하지 않음 |
| 4 | 상대 위치 속성 | q=k 일 때 ⟨q_m, k_n⟩ = f(n-m) |
| 5 | 다른 위치 → 다른 출력 | |
| 6 | d=2 순수 2D 회전 | |
| 7 | base 영향 | base=1 이면 주파수 1 |
A(m×n) @ B(n×p) — 안쪽 차원이 같아야 함.코드를 작성하고 실행하면 5개의 테스트가 각각 표시됩니다.