모델별 실행 레시피

최종 업데이트

UltraBERT-Embed-150M으로 영어 문서 검색하기

평가 대상은 검색용 Embed-150M 체크포인트예요.

영어 문서 검색에 쓸 수 있는 150M 임베딩 모델이에요. 모델 카드 예제는 trust_remote_code=True를 요구하므로, 로딩 전에 원격 코드를 검토하고 영어 검색 집합에서 평가하세요.

실행 조건과 핵심 내용
  • UltraBERT-Embed-150M은 영어 검색용 임베딩 체크포인트예요.
  • UltraBERT-150M·380M backbone과 별도로 봐야 해요.

검색용 체크포인트를 골라요

UltraBERT는 인코더 계열의 기반 모델과 문장 검색용 임베딩 체크포인트1가 함께 공개돼요. 문서 검색에서는 dmis-lab/UltraBERT-Embed-150M을 사용하고, UltraBERT-150M 또는 UltraBERT-380M을 그대로 검색 임베더라고 부르지 않습니다.

공식 모델 카드는 영어 전용, 150M 파라미터, 768차원, 32K 토큰2, Apache-2.0으로 표기합니다. 출시 발표의 공개 MTEB 결과는 benchmark 값이며, 내 도메인 검색의 정확도나 장비 속도 측정이 아닙니다.

문서가 여러 검색 조각으로 나뉘고 일부가 로컬 컴퓨터로 향하는 장면
영어 문서·질문·정답 ID를 하나의 고정 평가 집합으로 만들어요.

같은 영어 평가 집합으로 검색해요

아래 코드는 영어 문서 세 개를 임베딩하고 질문 하나와의 유사도 순위를 출력하는 실행 예제예요. Hit@5·Recall@10 집계는 하지 않으므로, 모델 선택에는 정답이 표시된 더 큰 평가 집합을 사용하세요.

비교 대상은 BGE-M3처럼 다국어를 지원하는 모델도 포함할 수 있어요. 이 실험에서는 입력과 정답 라벨을 모두 영어로 고정해 UltraBERT-Embed-150M과 같은 코퍼스에서 비교합니다. 한국어 성능은 별도 한국어 평가로 확인하세요.

UltraBERT-Embed-150M — 3문서·1질의 예제
from sentence_transformers import SentenceTransformer

model = SentenceTransformer(
    "dmis-lab/UltraBERT-Embed-150M",
    revision="367d5343b5a0164d57b810cedf5de4b8983d5984",
    trust_remote_code=True,
)
documents = [
    "The battery health report is available in Settings under Power.",
    "Refunds are processed within five business days after cancellation.",
    "The delivery address can be changed before the order is prepared.",
]
query = "Where can I view the battery health report?"
doc_vectors = model.encode(documents, normalize_embeddings=True)
query_vector = model.encode(
    [query],
    prompt_name="query",
    normalize_embeddings=True,
)
scores = model.similarity(query_vector, doc_vectors)[0]
for index in scores.argsort(descending=True).tolist():
    print(f"{float(scores[index]):.4f}\t{documents[index]}")
UltraBERT 검색 실행 환경 설치
python -m venv .venv
source .venv/bin/activate
python -m pip install -U "sentence-transformers>=6.0" "transformers>=5"
질문별 기대 근거가 카드로 정리된 모습
문서 길이와 검색 순위 변화를 함께 기록해요.

원격 코드와 결과를 확인해요

예제는 trust_remote_code=True를 사용하며 모델 revision 367d5343b5a0164d57b810cedf5de4b8983d5984를 고정했어요. 실행 전에는 같은 revision의 저장소 코드를 검토하세요.

영어 벤치마크 점수, 내 평가의 검색 지표, 로컬 처리 시간을 세 열로 나눠 적으세요. 모델 카드 결과가 좋더라도 정답 페이지 누락이나 쿼리 지연이 목표를 벗어나면 청크 규칙이나 검색 후보 수를 조정해 다시 측정합니다.

한국어 문서를 검색해야 한다면 이 모델을 먼저 고르지 마세요. 영어 문서 안에서 정답 구절을 찾는 용도로 비교하고, 다른 언어는 그 언어를 명시한 임베딩 모델과 따로 평가해요.

두 장비에서 문서 색인과 검색 결과를 비교하는 장면
검색 품질과 지연·색인 크기를 같이 비교해요.

용어 각주

  1. 체크포인트 — 학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.

    본문으로 돌아가기
  2. 토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
영어 문서 검색에 쓸 수 있는 150M 임베딩 모델이에요. 모델 카드 예제는 `trust_remote_code=True`를 요구하므로, 로딩 전에 원격 코드를 검토하고 영어 검색 집합에서 평가하세요.
선택하지 않는 편이 좋은 경우는 언제인가요?
한국어 문서를 검색해야 한다면 이 모델을 먼저 고르지 마세요. 영어 문서 안에서 정답 구절을 찾는 용도로 비교하고, 다른 언어는 그 언어를 명시한 임베딩 모델과 따로 평가해요.