HF Rotary Embeddings 유틸 — 구현과 rope_type

HF Rotary Embeddings 유틸 — 구현과 rope_type

Hugging Face Transformers 의 로터리 임베딩 유틸 문서는 RoPE가 내부에서 어떻게 구현되고, rope_type 과 확장 파라미터로 어떻게 변형을 고르는지를 설명해요.

핵심 내용

  • 쿼리·키 벡터를 복소 평면에서 회전시켜 상대 위치를 반영해요.
  • rope_type 으로 변형 선택: default, linear, dynamic, yarn, longrope, llama3.
  • rope_theta(기본 10000.0), factor, original_max_position_embeddings 등으로 확장을 조절해요.
from transformers import Gemma3Config
config.rope_parameters = {
    "full_attention": {"rope_type": "dynamic", "rope_theta": 1000000.0, "factor": 8.0},
}

사용 팁

  • 짧은 컨텍스트 모델을 긴 컨텍스트로 확장할 때 yarn/dynamic/longrope 같은 변형을 써요.
  • partial_rotary_factor 로 RoPE를 적용할 차원 비율을 조절할 수 있어요.

더 알아보기