モデル別実行レシピ
最終更新
UltraBERT-Embed-150Mで英語文書を検索する
backboneではなく検索用Embed-150M checkpointを評価します。
英語文書検索向けの150M embedding modelです。model cardの例はtrust_remote_code=Trueを要求するため、読み込み前にremote codeを確認し、英語検索セットで評価します。
検索用checkpointを選びます

同じ英語評価セットで検索します
下のcodeは英語文書3件を埋め込み、1つの質問との類似度順を表示します。Hit@5・Recall@10は集計しないため、model選定には正解付きのより大きなsetを使います。
BGE-M3のような多言語モデルも比較対象にできます。この実験では入力と正解ラベルをすべて英語にそろえ、UltraBERT-Embed-150Mと同じcorpusで比べます。韓国語は韓国語の評価セットで別に確認します。
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"
remote codeと結果を確認します
例はtrust_remote_code=Trueを使用し、model revision 367d5343b5a0164d57b810cedf5de4b8983d5984を固定します。実行前に同revisionのrepository codeを確認してください。
英語benchmark・手元の検索指標・ローカル処理時間を別列に記録します。公開スコアが高くても正解ページの欠落や遅延が目標外なら、chunk規則や候補数を調整して再測定します。
韓国語の文書を検索するなら、このモデルを先に選ばないでください。英語文書の中で該当箇所を探す用途で比較し、他の言語はその言語を明記した埋め込みモデルで別に評価します。

用語の注釈
よくある質問
- この記事で最初に確認すべきことは何ですか?
- 英語文書検索向けの150M embedding modelです。model cardの例は`trust_remote_code=True`を要求するため、読み込み前にremote codeを確認し、英語検索セットで評価します。
- 選ばないほうがよいのはどのような場合ですか?
- 韓国語の文書を検索するなら、このモデルを先に選ばないでください。英語文書の中で該当箇所を探す用途で比較し、他の言語はその言語を明記した埋め込みモデルで別に評価します。
