모델별 실행 레시피
최종 업데이트
UltraBERT-Embed-150M으로 영어 문서 검색하기
평가 대상은 검색용 Embed-150M 체크포인트예요.
영어 문서 검색에 쓸 수 있는 150M 임베딩 모델이에요. 모델 카드 예제는 trust_remote_code=True를 요구하므로, 로딩 전에 원격 코드를 검토하고 영어 검색 집합에서 평가하세요.
검색용 체크포인트를 골라요

같은 영어 평가 집합으로 검색해요
아래 코드는 영어 문서 세 개를 임베딩하고 질문 하나와의 유사도 순위를 출력하는 실행 예제예요. Hit@5·Recall@10 집계는 하지 않으므로, 모델 선택에는 정답이 표시된 더 큰 평가 집합을 사용하세요.
비교 대상은 BGE-M3처럼 다국어를 지원하는 모델도 포함할 수 있어요. 이 실험에서는 입력과 정답 라벨을 모두 영어로 고정해 UltraBERT-Embed-150M과 같은 코퍼스에서 비교합니다. 한국어 성능은 별도 한국어 평가로 확인하세요.
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]}")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의 저장소 코드를 검토하세요.
영어 벤치마크 점수, 내 평가의 검색 지표, 로컬 처리 시간을 세 열로 나눠 적으세요. 모델 카드 결과가 좋더라도 정답 페이지 누락이나 쿼리 지연이 목표를 벗어나면 청크 규칙이나 검색 후보 수를 조정해 다시 측정합니다.
한국어 문서를 검색해야 한다면 이 모델을 먼저 고르지 마세요. 영어 문서 안에서 정답 구절을 찾는 용도로 비교하고, 다른 언어는 그 언어를 명시한 임베딩 모델과 따로 평가해요.

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