Linkup Research의 SPARSEUP 공개: 149M 파라미터 오픈소스 희소 임베딩 모델 분석

Apache 2.0 라이선스의 149M 파라미터 ModernBERT 기반 희소 인코더. BEIR-13에서 nDCG@10 56.4점을 기록해 150M 미만 공개 희소 임베딩 모델 중 최고 성능이라고 Linkup 측은 설명합니다.

발행일: 2026년 1월 15일 · 최종 수정: 2026년 1월 15일 · 분량: 약 7분 · 분야: 정보 검색(IR), 임베딩, 오픈소스 AI

한 줄 요약: SPARSEUP이 뭔가요?

SPARSEUP은 Linkup Research가 2026년 1월에 공개한 오픈소스 희소 임베딩 모델(Sparse Embedding Model)입니다. 모델 크기는 149M 파라미터이며, ModernBERT라는 인코더를 백본(backbone)으로 사용합니다.

가장 큰 장점은 누구나 무료로 상업적으로 사용할 수 있다는 점입니다. 모델 가중치는 Apache 2.0 라이선스로 Hugging Face에 공개되어 있어, Transformers 또는 Sentence Transformers에서 trust_remote_code=True 옵션 한 줄로 바로 불러올 수 있습니다.

핵심 숫자 3개
• BEIR-13 nDCG@10 56.4점 — 150M 미만 공개 희소 인코더 중 1위
• 쿼리당 평균 380마이크로초(µs) 검색 속도 (Seismic 역색인)
• 정확 검색 대비 97% 이상 재현율 유지

왜 희소 임베딩 모델이 다시 주목받나요?

쉽게 말해 SPARSEUP은 "문서와 질문을 숫자로 바꿔주는 검색 전용 AI 모델"입니다. 네이버나 구글 검색창에 문장을 입력하면, 이 모델이 수백만 문서 중 답일 만한 문서를 빠르게 찾아 점수대로 줄을 세웁니다.

여기서 "희소(sparse)"라는 단어가 중요합니다. 흔히 쓰는 검색 모델은 밀집(dense) 모델로, 텍스트 하나당 길이가 768 같은 고정된 숫자 벡터를 만듭니다. 반면 SPARSEUP 같은 희소 임베딩 모델은 어휘(vocabulary) 전체 크기만큼의 차원을 가지지만, 대부분의 값은 0이고 실제 단어에 해당하는 위치에만 숫자가 있습니다. 결과적으로 벡터 안에 어떤 단어가 얼마나 중요한지 그대로 읽을 수 있습니다.

희소 임베딩 모델이 다시 주목받는 4가지 이유
① 해석 가능성 — 벡터를 보고 어떤 단어가 매칭됐는지 사람이 직접 읽을 수 있음
② 역색인 호환 — 기존 Lucene·OpenSearch 같은 검색 엔진에 그대로 적재 가능
③ 희귀 단어 강점 — BM25처럼 키워드 정확 매칭이 필요한 케이스에 강함
④ 비용 효율 — GPU 없이도 CPU에서 빠른 검색이 가능

이번 개발의 촉매는 무엇이었나요?

2025년 말 LightOn이 DenseOn(밀집 모델)과 LateOn(지연 상호작용 모델)을 같은 데이터로 함께 공개했습니다. 그런데 정작 "희소" 슬롯만 비어 있었습니다. SPARSEUP은 그 빈칸을 정확히 채우기 위해 만들어진 모델이며, 백본 계열과 학습 데이터를 동일하게 맞춰 세 가지 검색 방식을 1:1로 비교할 수 있도록 설계된 점이 큰 특징입니다.

SPARSEUP은 어떻게 만들어졌나요? — 핵심 트릭 3가지

연구팀은 ModernBERT 위에 기본 SPLADE를 그대로 얹으면, "the", "a", "of" 같은 불용어(stopwords)로 가득 찬 무의미한 벡터가 나온다는 문제를 발견했습니다. 이를 다음 세 가지 수정으로 해결했습니다.

① 로짓 시프팅(Logit shifting)

인코더가 log(1 + ReLU(x − 15)) 공식을 계산합니다. ModernBERT의 MLM 출력값이 너무 커서 로그가 포화(saturating)되는 현상을 막기 위한 조치입니다. 초기 학습 단계부터 벡터가 한쪽으로 밀집되지 않게 만들어 줍니다.

② 위치별 top-k(Per-position top-k)

각 입력 토큰은 최대 풀링(max pooling)이 일어나기 전에 자신의 가장 강한 12개 어휘 차원만 유지합니다. 전체 벡터 길이가 아니라, 토큰당 확장(expansion)을 제한하는 방식입니다.

③ 케이스 폴딩(Case folding)

바이트 수준 BPE(Byte-level BPE)는 "heat", "Heat", "Ġheat", "ĠHeat"처럼 대소문자와 공백 때문에 나뉘던 ID들을 각각 별도로 저장합니다. SPARSEUP은 이를 하나의 ID로 합치고 가장 큰 가중치를 유지합니다. 그 결과 출력 차원이 약 5만 개에서 약 3.4만 개로 감소(약 32% 압축)했습니다.

이렇게 만든 모델은 쿼리와 문서 앞에 각각 [Q], [D] 프리픽스를 붙이고, 점수는 단순한 내적(dot product)으로 계산합니다. 평가 시 최대 길이는 쿼리 128 토큰, 문서 512 토큰입니다. 단일 H100 GPU로 학습 가능하다는 점도 주목할 만합니다.

학습 방식 자체는 간결합니다. LateOn-unsupervised 체크포인트에서 시작해 제거됐던 MLM 헤드(MLM Head)를 다시 결합(graft)했고, LightOn의 미세조정 혼합 데이터를 그대로 사용했습니다. 대조 학습(contrastive learning)만 적용했고, 각 쿼리당 50개 풀에서 샘플링된 7개의 하드 네거티브(hard negatives)와 배치 내 네거티브를 함께 사용합니다. 크로스 인코더 증류는 사용하지 않았습니다.

벤치마크 결과: 다른 모델과 비교

모델 카드에 공개된 BEIR-13(MS MARCO 제외) 기준 nDCG@10 점수입니다. nDCG@10은 검색/추천 시스템의 랭킹 품질을 평가하는 지표로, 1에 가까울수록 좋은 성능입니다.

모델파라미터nDCG@10
SPARSEUP149M56.4
opensearch-neural-sparse-encoding-doc-v3-gte—54.6
opensearch-neural-sparse-encoding-v1—52.44
ModernBERT-VT—52.4
splade-v3—51.7
granite-embedding-30m-sparse30M50.6
LACONIC-1B (참고, 다른 크기 등급)1B58.7

다만 통제된 비교(같은 백본, 같은 데이터)에서는 다음과 같이 LightOn 두 모델보다 약간 낮습니다.

모델유형BEIR-13 nDCG@10
LateOn지연 상호작용(Late-Interaction)58.9
DenseOn밀집(Dense)57.9
SPARSEUP희소(Sparse)56.4

SPARSEUP은 ArguAna와 Touché 2020 같은 어휘 매칭 중심 데이터셋에서 승리했고, HotpotQA에서는 DenseOn을 이겼습니다. 다만 의미적 매칭이 중요한 FiQA와 DBPedia에서는 상대적으로 약점을 보였습니다. 오염 제거(decontaminated)된 BEIR에서는 DenseOn과의 격차가 0.17점까지 좁혀지지만, Linkup 측은 해당 결과는 남은 쿼리 수가 너무 적어 신뢰하기 어렵다고 경고합니다.

공정한 비교가 중요한 이유
SPARSEUP은 근사 검색(Seismic)을, LightOn은 정확 검색(exact)을 보고했습니다. 측정 방식이 다르기 때문에 단순 점수 비교는 한계가 있고, "같은 조건에서 약 1.5점 낮다"는 사실이 더 정확한 시그널입니다.

속도와 희소성, 실무 활용 포인트

MS MARCO 데이터셋 기준 실제 사용 시 통계는 다음과 같습니다.

  • 쿼리당 평균 47개의 비영(non-zero) 단어 (SPLADE-v3은 25개)
  • 문서당 평균 190개의 비영 단어 (SPLADE-v3은 170개)
  • Seismic 역색인 사용 시 단일 스레드 380마이크로초(µs)로 정확 검색 대비 97% 이상 재현율

이는 "벡터 크기를 늘리면 BEIR 점수를 1~2점 더 올릴 수 있지만, 검색 속도와 인덱스 크기를 위해 의도적으로 희소성을 유지했다"는 Linkup 측의 설명과 맞닿아 있습니다.

어떤 워크플로에 가장 잘 맞나요?

  • RAG 파이프라인의 1차 검색(Retriever): BM25보다 정확하고, 밀집 모델보다 빠른 구간을 노릴 수 있음
  • 하이브리드 검색: 밀집 모델과 함께 쓰면서 키워드 매칭 약점을 보완
  • 레거시 역색인 시스템 교체: 기존 Lucene·OpenSearch 인덱스에 그대로 적재 가능
  • 희귀 단어·도메인 특화 매칭: 의료·법률·전공 분야 키워드에 강점

핵심 요약 5가지

  • ① SPARSEUP은 Linkup Research의 첫 오픈 모델로, Apache 2.0 라이선스의 149M 파라미터 희소 인코더입니다.
  • ② BEIR-13 nDCG@10 56.4점으로, 150M 미만 공개 희소 인코더 중 최고 성능을 기록했습니다.
  • ③ 가능하게 한 3가지 수정: 로짓 시프트 15, 토큰당 top-12 확장, 케이스 폴딩입니다.
  • ④ 같은 데이터 조건에서 DenseOn보다 1.52점, LateOn보다 2.5점 낮습니다.
  • ⑤ MS MARCO에서 Seismic 사용 시 380µs / 97%+ 재현율을 달성합니다.

자주 묻는 질문 (FAQ)

Q1. SPARSEUP은 정말 무료인가요?
네. Apache 2.0 라이선스로 공개되어 상업적 이용, 수정, 재배포 모두 자유입니다. Hugging Face에서 즉시 다운로드할 수 있습니다.
Q2. 어떻게 코드로 로드하나요?
Hugging Face Transformers 또는 Sentence Transformers에서 model = AutoModel.from_pretrained("linkup/sparse-up", trust_remote_code=True) 형식으로 한 줄로 불러옵니다. 토크나이저와 모델 가중치가 자동으로 다운로드됩니다.
Q3. 밀집 모델(DenseOn)보다 못한 건가요?
같은 데이터·백본 조건에서 BEIR-13 점수는 약 1.52점 낮습니다. 그러나 희소 모델은 역색인과 직접 호환되어 검색 속도와 운영 비용 면에서 장점이 있어, 용도에 따라 선택이 갈립니다. 어휘 매칭이 중요한 도메인에서는 SPARSEUP이 더 유리할 수 있습니다.
Q4. 어떤 하드웨어가 필요한가요?
학습은 단일 H100 GPU면 가능했다고 Linkup 측은 보고합니다. 추론은 일반 CPU에서도 가능하며, Seismic 역색인을 쓰면 단일 스레드로도 마이크로초 단위 응답이 가능합니다. GPU가 반드시 필요한 밀집 모델 대비 배포 부담이 적습니다.
Q5. SPLADE-v3과 구체적으로 뭐가 다른가요?
둘 다 희소 임베딩 계열이지만 SPARSEUP은 ModernBERT 백본과 케이스 폴딩·로짓 시프팅·top-k 제약을 도입해 출력 차원 수가 약 32% 줄었습니다. SPLADE-v3 대비 비영 차원 수는 늘었지만, 더 강한 ModernBERT 표현력으로 BEIR-13 점수를 4.7점 끌어올렸습니다.
Q6. 어디서 더 자세한 수치를 확인할 수 있나요?
Linkup Research의 Hugging Face 모델 카드와 LightOn의 DenseOn·LateOn 공개 자료가 1차 출처입니다. 표준 검색 벤치마크 BEIR은 github.com/beir-cellar/beir 저장소에서 확인할 수 있습니다.

참고 자료

  • Linkup Research 공식 모델 카드 및 Hugging Face 저장소
  • BEIR-13 벤치마크 (github.com/beir-cellar/beir)
  • SPLADE 논문 및 Naver Research 공개 자료 (SIGIR 2021/2022)
  • ModernBERT 백본 관련 Answer.AI·LightOn 공개 자료

이 글은 정보 전달을 위한 요약 정리이며, 모든 수치는 원본 모델 카드와 공개 벤치마크 결과를 그대로 옮긴 것입니다. 인용·재배포 시 출처를 함께 표기해 주세요.