본문으로 건너뛰기
ReviewRamble

주간 브리프

AI 리뷰를 받은편지함으로.

  • 도구, 모델, MCP 서버, 저장소의 새 리뷰(결론부터)
  • 변경이 있을 때 다시 확인한 가격과 평점
  • 새로 발행된 분석 글

모델, 에이전트, MCP 서버, 그리고 정말 시간을 들일 만한 도구.

일주일에 한 통입니다. 각 브리프의 링크로 구독을 해지할 수 있습니다. 이메일 사용 방식

AI 뉴스와 연구

뉴스 ·

Sentence Transformers, 멀티 벡터 색인을 줄이는 풀링 인식 학습을 추가했습니다

톰 아르센은 Sentence Transformers에 원본 문서 임베딩과 풀링한 임베딩을 함께 학습하는 손실 함수를 추가했습니다. ModernBERT 모델의 문서를 약 193개 벡터에서 49개로 풀링해도 풀링 전 검색 품질의 97.8%가 유지돼, 일반 학습의 94.6%보다 높았습니다. 벡터를 4개로 제한하면 nDCG@10이 5.78포인트 올랐습니다.

ColBERT 방식 모델로 자기 문서를 검색한다면 인덱스가 원하는 것보다 클 가능성이 큽니다. 이런 다중 벡터 모델은 문서당 하나가 아니라 토큰마다 벡터를 하나씩 저장해 정확하지만 저장 비용이 큽니다. Hugging Face 블로그의 새 글은 이제 Sentence Transformers로 이 벡터들을 압축한 뒤에도 정확도를 유지하도록 모델을 훈련할 수 있으며, 압축으로 보통 잃는 품질 대부분을 되찾을 수 있다고 보여 줍니다.

저장 문제는 구체적입니다. 좌표당 4비트일 때 128차원 벡터 200개는 문서당 12.8 KB, 문서 100만 개면 12.8 GB를 차지합니다. 문서마다 50개 벡터로 줄이면 3.2 GB가 됩니다. 라이브러리의 HierarchicalTokenPooling은 Ward 군집화로 비슷한 토큰 벡터를 합치는데, 고정 배율로 합칠 수도 있고 목표 평균에 맞춰 보정할 수 있는 거리 임계값으로 합칠 수도 있으며, 질의 벡터는 건드리지 않습니다. 풀링은 어떤 다중 벡터 모델에도 쓸 수 있지만, 이를 염두에 두고 훈련하지 않은 모델은 중요한 구분을 잃을 수 있습니다.

새로운 부분은 손실 함수 래퍼 MultiVectorTokenPoolingLoss로, 각 배치를 두 가지 형태로 학습합니다. 문서의 전체 벡터와 약 4분의 1로 줄인 버전입니다. 이는 더 짧은 앞부분도 쓸모 있도록 훈련하는 Matryoshka 임베딩과 비슷한 발상입니다. 저자의 실험에서는 ModernBERT-base 모델 두 개를 같은 MS MARCO 삼중항 120,000개로 1에폭 훈련했고, 손실 함수만 달리했습니다. 풀링 배율 4에서 일반 모델은 풀링 전 NanoBEIR 점수의 94.6%를 유지했고, 풀링을 고려해 훈련한 모델은 97.8%를 유지했으며, nDCG@10은 49.03에서 51.23으로 올랐고 저장하는 문서 벡터는 74.8% 줄었습니다. 풀링하지 않은 품질도 조금 나아졌습니다. 군집화용 GPU 커널은 SciPy보다 30-150x 빠르다고 합니다.

Sentence Transformers 위에 만든 LightOn의 ColBERT 방식 검색 라이브러리 PyLate를 쓰는 팀에게는 직접 관련이 있습니다. 이 작업은 LightOn 자체의 풀링 정규화 연구를 바탕으로 하며, 훈련 방법은 Hugging Face Jobs로 A10G 한 장에서 4시간 안에 돌아갑니다. 실용적인 조언은 양자화, 풀링, Matryoshka 잘라내기를 함께 쓰고 자기 말뭉치로 인덱스 크기와 품질을 재 보라는 것입니다.

단서는 저자 스스로 밝혔습니다. 하나의 기본 모델로 한 번 해 본 실험이며 하이퍼파라미터 탐색도 없었고, 작은 벤치마크 묶음인 NanoBEIR로 평가했습니다. 효과는 훈련할 때 쓴 풀링 배율에서 가장 분명하며 다른 설정에도 어느 정도 이어집니다. 긴 문서나 특정 분야 문서에서는 결과가 다를 수 있습니다.

결론: 팀들이 ColBERT 방식 검색을 꺼리는 주된 이유는 저장 공간인데, 벡터를 4분의 3 줄이고도 손실이 작다면 계산이 달라집니다. 다만 시험은 1에포크만 학습한 작은 모델로 했으니, 색인을 다시 만들기 전에 직접 데이터로 확인하십시오.

관련 리뷰:PyLate

출처: Hugging Face

다른 기사