Active Dimensions란

Active Dimensions(활성 차원)은 sparse embedding 벡터에서 0이 아닌 값을 가진 차원의 수 를 말한다. SPLADE 같은 learned sparse retrieval 모델은 vocabulary 크기(e.g. 30,522 또는 50,000차원)의 벡터를 출력하는데, 대부분의 차원은 0이고 일부만 값을 가진다.

예를 들어 50,000차원 벡터에서:

[0, 0, 0, 1.2, 0, 0, 0.8, 0, ..., 0, 3.1, 0]
            ↑               ↑              ↑
         활성 차원         활성 차원       활성 차원

이 경우 active dimensions = 3이다.

Query와 Document 각각에 대해 별도로 측정하며, 보통 Document가 Query보다 활성 차원이 더 많다 (문서가 더 많은 정보를 담고 있으므로).

B) 왜 중요한가

Active dimensions 수는 검색 성능과 효율성 모두 에 직접적으로 영향을 미친다. Sparse retrieval은 inverted index를 사용하는데, 각 활성 차원은 해당 vocab 토큰의 posting list에 엔트리를 추가한다. 따라서 활성 차원이 많을수록 저장해야 할 posting이 늘어나고, 검색 시 순회해야 할 엔트리도 많아진다.

Active Dimensions의미문제
0모든 차원이 0 (영벡터)Representation collapse—검색 완전 불가
너무 적음 (e.g. < 30)원본 토큰 일부만 활성화, term expansion 미미의미적 확장 부족, BM25와 다를 바 없음
적당함 (e.g. 50~700)핵심 단어 + 의미적으로 확장된 단어 활성화이상적—효율적이고 정확함
너무 많음 (e.g. 1,000+)대부분의 vocab 토큰이 활성화Dense에 가까워짐, inverted index 이점 상실, 인덱싱 비용 급증

C) 실제 사례

SPLADE 한국어 백본 비교 실험에서 활성 차원 차이가 극명하게 나타났다:

모델Query 활성 차원Corpus 활성 차원상태
skt/A.X-Encoder-base84650적당한 sparsity
klue/roberta-base28188다소 보수적
gte-multilingual-base1,1152,728지나치게 많음 (dense에 근접)
jhu-clsp/mmBERT-base00완전 붕괴

gte-multilingual-base의 경우 250k vocab 중 2,728개가 활성화되어 sparse의 이점이 크게 줄어들었고, mmBERT-base는 활성 차원이 0으로 떨어지는 representation collapse가 발생했다.

D) 제어 방법

Active dimensions 수는 주로 FLOPS Regularization 으로 제어한다:

여기서 는 배치 내에서 vocab 토큰 의 평균 활성화 값이다. 이 정규화 항의 가중치(, )를 키우면 활성 차원이 줄어들고, 줄이면 늘어난다.

  • Query regularizer (): 보통 더 강하게 설정 → query를 더 sparse하게 만들어 검색 latency 감소
  • Document regularizer (): 보통 더 약하게 설정 → document는 더 많은 term을 포함하도록 허용

학습 시 활성 차원 수를 지속적으로 모니터링하여, 갑작스러운 감소(collapse 징후)나 과도한 증가(효율성 저하)를 조기에 감지하는 것이 중요하다.

E) References