TL;DR
LlamaIndex 연구진은 약 0.05 ms의 CPU 처리 속도와 Transformer 없는 실행을 장점으로 삼는 static embedding에 ColBERT식 MaxSim 검색을 결합하려 했습니다. raw token 벡터를 그대로 MaxSim에 넣으면 exact-match 내부 질의의 R@3는 0.14에서 0.38로 올랐지만, NanoBEIR 평균 NDCG는 pooling의 0.5039보다 낮은 0.4179에 머물렀습니다. 주변 token을 섞는 약 2 MB convolution mixer를 추가하자 평균 NDCG가 0.5258로 개선됐지만, ColBERTv2 teacher 교체와 MaxSim 직접 학습은 추가 이득을 만들지 못했고 32M 파라미터 table fine-tuning도 실패했습니다. static embedding의 빠른 처리는 유지할 수 있었지만, 문맥화된 token 벡터를 전제로 하는 late-interaction 품질을 작은 보정층만으로 재현하기는 어려웠습니다.
빠른 이해
새로운 점
정적 임베딩의 token별 벡터에 MaxSim을 적용해 ColBERT식 late-interaction을 구현하려 했지만, 작은 mixer를 추가한 경우를 제외하면 pooling을 안정적으로 능가하지 못했습니다.
핵심 메커니즘
문장의 각 token을 512차원 static lookup table에서 조회하고, 필요할 때 주변 token을 kernel_size=7 convolution과 gate로 보정한 뒤, query token별 최고 document 유사도를 합산하는 MaxSim으로 검색 점수를 계산합니다.
핵심 수치
- CPU text line 임베딩 시간: 약 0.05 ms- Transformer forward pass 없이 lookup과 평균 계산만 수행
- Raw-MaxSim 평균 NDCG: 0.4179- NanoBEIR 13개 retrieval benchmark
- Original Pooled 평균 NDCG: 0.5039- NanoBEIR 13개 retrieval benchmark
- Mixer-MaxSim 평균 NDCG@10: 0.5258- 약 530k 파라미터 또는 약 2 MB convolution mixer 적용
- MiniLM-L6 대비 mixer 성능: 0.5258 vs 0.562- MiniLM-L6 점수의 약 94%, 기사 기준 약 100배 빠름
- Embedding table fine-tuning: MaxSim 0.418 → 0.435, pooled 0.504 → 0.487- 32M 파라미터 table에 MS MARCO contrastive objective 적용
섹션별 상세
정적 임베딩의 속도와 한계
Raw token에 MaxSim 적용
작은 convolution mixer의 보정
# tokens: the line's static vectors, one 512-dim row per token
# each token blends with 3 neighbours on each side
mixed = depthwise_conv(tokens, kernel_size=7)
# mix information across the 512 dimensions
mixed = linear(mixed)
# per-token: how much mixing to accept
gate = sigmoid(linear(tokens))
# small nudge on top of the original vector
out = l2_normalize(tokens + gate * mixed)각 token 벡터에 주변 token의 정보를 섞고 gate로 보정량을 조절한 뒤 정규화하는 530k 파라미터 규모의 mixer입니다.

NanoBEIR에서 확인된 편차
더 나은 teacher와 직접 최적화
Embedding table 미세 조정의 실패
용어 해설
- 정적 임베딩(Static Embeddings)
- — 정적 임베딩은 모델 어휘의 각 token에 미리 벡터를 할당하고, 입력 문장을 lookup table 조회와 평균 계산으로 벡터화하는 방식입니다. Transformer를 실행하지 않아 매우 빠르지만 token 주변 문맥을 반영하지 못하고 긴 문장에서는 의미가 평균에 희석되는 한계가 있습니다.
- Late Interaction
- — Late Interaction은 문장 전체를 하나의 벡터로 미리 합치지 않고 query와 document의 token 벡터를 유지한 뒤 검색 시점에 대응시키는 방식입니다. ColBERT는 각 query token이 가장 잘 맞는 document token을 찾고 그 점수를 합산하는 MaxSim으로 문맥 기반 검색 품질을 높입니다.
- MaxSim
- — MaxSim은 query의 각 token이 document 안에서 가장 유사한 token을 찾고, 이 최대 유사도들을 합산해 검색 점수를 계산하는 방법입니다. token별 신호를 보존한다는 장점이 있지만 입력 벡터가 문맥을 반영한다는 전제가 필요해 raw static token에는 불리하게 작동합니다.
- Knowledge Distillation
- — Knowledge Distillation은 큰 teacher 모델의 출력 방향이나 점수를 작은 student 모델이 모방하도록 학습시키는 방법입니다. 이 실험에서는 dense embedding 모델의 Transformer 출력을 기준으로 작은 convolution mixer가 static token 벡터를 보정하도록 훈련했지만, teacher의 깊은 문맥 구조까지 재현하지는 못했습니다.
- Contrastive Loss
- — Contrastive Loss는 관련 query와 passage의 점수는 높이고 무관한 쌍의 점수는 낮추도록 학습하는 목적 함수입니다. 연구진은 MS MARCO query와 passage 쌍에 MaxSim 점수를 직접 적용해 mixer와 embedding table을 최적화했지만, teacher 기반 학습과 거의 같은 결과에 머물렀습니다.
기술
- Static Embeddings
- Model2Vec
- tokenlearn
- Late Interaction
- MaxSim
- ColBERT
- minishlab/potion-retrieval-32M
- WASM
- depthwise convolution
- bge-base-en-v1.5
- ColBERTv2
- NanoBEIR
- MiniLM-L6
- MS MARCO
- C4
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.