You need to agree to share your contact information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Log in or Sign Up to review the conditions and access this model content.

ColBERT-Ko YES24 Fine-tuned

ํ•œ๊ตญ์–ด ๋„์„œ ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ๋„๋ฉ”์ธ ํŠœ๋‹ํ•œ ColBERT ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ์™€ ์งˆ์˜๋ฅผ ํ† ํฐ ๋‹จ์œ„ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๊ณ  MaxSim์œผ๋กœ ๊ด€๋ จ๋„๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฌธ์„œ ์ปฌ๋ ‰์…˜์„ ๊ฒ€์ƒ‰ํ•˜๋Š” retriever์™€ ๊ฒ€์ƒ‰ ํ›„๋ณด์˜ ์ˆœ์„œ๋ฅผ ์กฐ์ •ํ•˜๋Š” reranker๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

This is a Korean multi-vector retrieval model fine-tuned on book-domain queryโ€“document supervision. It supports independent retrieval with a compatible multi-vector index and candidate reranking using late interaction.

๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ์—๋Š” Hugging Face ๊ณ„์ •์œผ๋กœ ์ ‘๊ทผ์„ ์š”์ฒญํ•˜๊ณ  ์ €์žฅ์†Œ ๊ด€๋ฆฌ์ž์˜ ์Šน์ธ์„ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Model overview

ํ•ญ๋ชฉ ๋‚ด์šฉ
์ €์žฅ์†Œ Ja-ck/colbert-ko-yes24-ft
๋ฒ ์ด์Šค ๋ชจ๋ธ yjoonjang/colbert-ko-v1
๋ฒ ์ด์Šค revision de14517efa38489a378a9648daf90bbd4a153909
Backbone ModernBERT
์ถœ๋ ฅ ํ† ํฐ๋‹น 128์ฐจ์› ๋ฒกํ„ฐ, ์ž…๋ ฅ๋ณ„ ๊ฐ€๋ณ€ ๊ฐœ์ˆ˜
์œ ์‚ฌ๋„ MaxSim: ์งˆ์˜ ํ† ํฐ๋ณ„ ์ตœ๋Œ€ ๋ฌธ์„œ ํ† ํฐ ์œ ์‚ฌ๋„๋ฅผ ํ•ฉ์‚ฐ
์งˆ์˜ ๊ธธ์ด 32 tokens, fixed query expansion
๋ฌธ์„œ ๊ธธ์ด ์ตœ๋Œ€ 128 tokens
ํ•™์Šต ๋„๋ฉ”์ธ ํ•œ๊ตญ์–ด ๋„์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰
์ตœ์ข… ์ฒดํฌํฌ์ธํŠธ F2, epoch 3; ๊ฒ€์ฆ NDCG@10์œผ๋กœ ์„ ํƒ
ํ•™์Šต ์™„๋ฃŒ 2026-09-08

๋‹จ์ผ ๋ฌธ์žฅ ๋ฒกํ„ฐ ๋ชจ๋ธ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ† ํฐ ๋ฒกํ„ฐ๋ฅผ ํ‰๊ท  poolingํ•˜๊ฑฐ๋‚˜ ์ผ๋ฐ˜ ๋‹จ์ผ ๋ฒกํ„ฐ ์ธ๋ฑ์Šค์— ๊ทธ๋Œ€๋กœ ๋„ฃ์œผ๋ฉด ์•„๋ž˜ ํ‰๊ฐ€์™€ ๋‹ค๋ฅธ ๋ชจ๋ธ ๋™์ž‘์ด ๋ฉ๋‹ˆ๋‹ค.

Usage

๊ฒ€์ฆ์— ์‚ฌ์šฉํ•œ ์ฃผ์š” ๋ฒ„์ „์€ Sentence Transformers 6.0.1, Transformers 5.16.1์ž…๋‹ˆ๋‹ค. GPU PyTorch๋Š” ์‹คํ–‰ ์žฅ๋น„์— ๋งž๊ฒŒ ๋จผ์ € ์„ค์น˜ํ•˜์‹ญ์‹œ์˜ค. ํ•™์Šตยทํ‰๊ฐ€๋Š” DGX Spark GB10์˜ NGC PyTorch ํ™˜๊ฒฝ์—์„œ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

pip install "sentence-transformers==6.0.1" "transformers==5.16.1"

์งˆ์˜์™€ ๋ฌธ์„œ์˜ MaxSim ์ ์ˆ˜ ๊ณ„์‚ฐ

๋ชจ๋ธ ํŽ˜์ด์ง€์—์„œ ์ ‘๊ทผ ์Šน์ธ์„ ๋ฐ›์€ ๊ณ„์ •์œผ๋กœ hf auth login์„ ์‹คํ–‰ํ•œ ํ›„ ๋‹ค์Œ ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

from sentence_transformers import MultiVectorEncoder

model = MultiVectorEncoder(
    "Ja-ck/colbert-ko-yes24-ft",
    device="cuda",
    model_kwargs={"dtype": "float32", "attn_implementation": "sdpa"},
    config_kwargs={"reference_compile": False},
)

queries = ["์ดˆ๋“ฑํ•™์ƒ ์šฐ์ฃผ ๊ณผํ•™์ฑ…"]
documents = [
    "Title: ์–ด๋ฆฐ์ด๋ฅผ ์œ„ํ•œ ์šฐ์ฃผ ์ด์•ผ๊ธฐ\n"
    "Author: ์˜ˆ์‹œ ์ €์ž\n"
    "Category: ์–ด๋ฆฐ์ด\n"
    "Subcategory: ๊ณผํ•™\n"
    "GoodsType: ๋‹จํ–‰๋ณธ",
    "Title: ์ง‘์—์„œ ๋งŒ๋“œ๋Š” ๊ฐ„๋‹จํ•œ ์š”๋ฆฌ\n"
    "Author: ์˜ˆ์‹œ ์ €์ž\n"
    "Category: ์š”๋ฆฌ\n"
    "Subcategory: ์ƒํ™œ์š”๋ฆฌ\n"
    "GoodsType: ๋‹จํ–‰๋ณธ",
]

query_vectors = model.encode_query(queries)
document_vectors = model.encode_document(documents)
scores = model.similarity(query_vectors, document_vectors)

print(scores)  # shape: (number of queries, number of documents)
print(scores.argsort(dim=1, descending=True))

์˜ˆ์ œ ๋„์„œ๋ช…๊ณผ ์ €์ž๋Š” ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์ƒ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ถœ๋ ฅ ์ ์ˆ˜๋Š” ํ™•๋ฅ ์ด๋‚˜ 0โ€“1 ๊ด€๋ จ๋„ ๋ผ๋ฒจ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ €์žฅ๋œ query/document prompt๋Š” ๊ฐ๊ฐ [Q] ์™€ [D] ์ž…๋‹ˆ๋‹ค. encode_query์™€ encode_document๊ฐ€ ์ด๋ฅผ ์ ์šฉํ•˜๋ฏ€๋กœ ์ง์ ‘ ์ค‘๋ณตํ•ด์„œ ๋ถ™์ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ํ•™์Šต ๋ฐ์ดํ„ฐ์—๋Š” ์งˆ์˜ ์ •๊ทœํ™”์™€ Kiwi ๋„์–ด์“ฐ๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ์ ์šฉ๋์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ „์ฒ˜๋ฆฌ๋ฅผ ์“ฐ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ๋ฌธ์„œ ๊ฒ€์ƒ‰

์œ„ ์˜ˆ์ œ๋Š” ์ „๋‹ฌํ•œ ๋ฌธ์„œ ๋ชฉ๋ก์˜ ์ ์ˆ˜ ๊ณ„์‚ฐ์ž…๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ์ง์ ‘ ๊ฒ€์ƒ‰์—๋Š” ๋‹ค์Œ ๊ณผ์ •์ด ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฌธ์„œ๋ณ„ token vectors๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. ํ˜ธํ™˜๋˜๋Š” multi-vector ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
  3. ์งˆ์˜ token vectors๋กœ ์ž์ฒด ์ธ๋ฑ์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ์ง์ ‘ ๊ฒ€์ƒ‰ ํ‰๊ฐ€์—๋Š” FastPlaid 1.7.0์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. 8-bit ์ธ๋ฑ์Šค์—์„œ ํ›„๋ณด๋ฅผ ์ฐพ๊ณ , ์›๋ณธ FP16 ํ† ํฐ ๋ฒกํ„ฐ๋กœ MaxSim์„ ๋‹ค์‹œ ๊ณ„์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒ€์ƒ‰๊ธฐ๊ฐ€ ์ƒ์„ฑํ•œ ํ›„๋ณด์— ์ œํ•œ๋œ ํ‰๊ฐ€๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋ชจ๋“  ColBERT ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ชจ๋ธ ํŒŒ์ผ์ด ์ˆ˜์ • ์—†์ด ํ˜ธํ™˜๋˜๋Š”์ง€๋Š” ๊ฒ€์ฆํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Training

ํ•™์Šต ๋ฐ์ดํ„ฐ๋Š” ๋‚ด๋ถ€ ๋„์„œ ๋„๋ฉ”์ธ ๋ฐ์ดํ„ฐ์…‹ triplet-v7.1์ž…๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ์ˆ˜๋Ÿ‰ / ์„ค์ •
์›๋ณธ triplet 574,950ํ–‰
์™„์ „ ์ค‘๋ณต ์ œ๊ฑฐ 7ํ–‰
์‹ค์ œ ํ•™์Šต 574,943ํ–‰ ์ „์ฒด, 449,911๊ฐœ ๊ณ ์œ  ์ •๊ทœํ™” ์งˆ์˜
์ถฉ๋Œ negative ์ฒ˜๋ฆฌ 1,620ํ–‰์˜ explicit negative๋งŒ ๋น„ํ™œ์„ฑํ™”; queryโ€“positive ํ•™์Šต ์œ ์ง€
๋ฌธ์„œ ํ…์ŠคํŠธ Title / Author / Category / Subcategory / GoodsType
Loss CachedMultiVectorMultipleNegativesRankingLoss, scale 1.0
์ตœ์ข… ์‹คํ–‰ ํ•™์Šต๋ฅ  1e-5
๋น„๊ต ์‹คํ–‰ ํ•™์Šต๋ฅ  3e-6
Batch / mini-batch 64 / 8
Optimizer AdamW, weight decay 0.01
Schedule Linear decay, 5% warmup
Precision FP32 parameters, BF16 autocast
Gradient clipping 1.0
Seed 42
Epochs ์‹คํ–‰๋ณ„ 3
ํ•™์Šต๋Ÿ‰ ์‹คํ–‰๋ณ„ 26,955 steps / 1,724,829ํšŒ ๋…ผ๋ฆฌ์  ํ–‰ ๋…ธ์ถœ

๋‘ ์‹คํ–‰์€ ๊ฐ™์€ ๊ณต๊ฐœ ๋ฒ ์ด์Šค์—์„œ ๊ฐ๊ฐ ์‹œ์ž‘ํ–ˆ๊ณ , backbone๊ณผ token projection์„ ๋ชจ๋‘ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ข… ๋ชจ๋ธ์€ lr=1e-5 ์‹คํ–‰์˜ 3 epoch์ž…๋‹ˆ๋‹ค. ๋งค epoch์— ๋ชจ๋“  ํ•™์Šต ํ–‰์„ ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ์ž๋™ ๊ฒ€์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ์•ฝ 5๋งŒ ์งˆ์˜ ํŒŒ์ผ๋Ÿฟ๊ณผ ์ „์ฒด ํ•™์Šต์€ ๋ณ„๊ฐœ์ด๋ฉฐ, ์ตœ์ข… ๋ชจ๋ธ์€ ํŒŒ์ผ๋Ÿฟ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์ด์–ด ํ•™์Šตํ•œ ๋ชจ๋ธ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ณธ ํ•™์Šต์€ ๋Œ€์กฐํ•™์Šต์ด๋ฉฐ Cross-Encoder soft-score ์ฆ๋ฅ˜๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์ˆ˜์ž‘์—… ๊ด€๋ จ๋„ ๋ผ๋ฒจ๋ง ์—†์ด ๊ธฐ์กด ๊ฐ๋… ๋ฐ์ดํ„ฐ์™€ ํ–‰๋™ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€ ์‹ ํ˜ธ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Evaluation

๊ฒ€์ฆ ์งˆ์˜ 3,605๊ฐœ๋กœ ํ•™์Šต๋ฅ ๊ณผ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ , ์ตœ์ข… ๋ชจ๋ธ์„ ๊ณ ์ •ํ•œ ํ›„ ํ…Œ์ŠคํŠธ ์งˆ์˜ 8,629๊ฐœ๋ฅผ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ColBERT ํ•™์Šต ์งˆ์˜์™€ dev/test๋Š” ์ •๊ทœํ™” query key ๊ธฐ์ค€์œผ๋กœ ๋ถ„๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ holdout์ด๋‚˜ ๋„์„œ ID ์ „์ฒด ๋ถ„๋ฆฌ๋ฅผ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ์ ์ˆ˜๋Š” ๋‚ด๋ถ€ ๋„์„œ ๊ฒ€์ƒ‰ ๋ฒค์น˜๋งˆํฌ์˜ ๊ฒฐ๊ณผ์ด๋ฉฐ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์…‹์˜ ์ง€ํ‘œ ์ ˆ๋Œ“๊ฐ’๊ณผ ์ง์ ‘ ๋น„๊ตํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

1. ์ „์ฒด ๋ฌธ์„œ ์ง์ ‘ ๊ฒ€์ƒ‰

๋ชจ๋“  ๋ชจ๋ธ์ด ๋™์ผํ•œ 3,396,913๊ฐœ ๋ฌธ์„œ์™€ ๋™์ผํ•œ ํ…์ŠคํŠธยทํ…Œ์ŠคํŠธ ์งˆ์˜ยท๊ด€๋ จ๋„ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ NDCG@10 MRR@10* Recall@100 Recall@200
๋„๋ฉ”์ธ Dense (bge-m3-yes24-ft) 0.1775 0.1977 0.2619 0.2858
๋„๋ฉ”์ธ Sparse (splade-ko-yes24-ft) 0.1719 0.1824 0.2747 0.3008
์ด ๋ชจ๋ธ 0.2629 0.2959 0.3435 0.3643
Dense + Sparse RRF 0.2008 0.2190 0.2956 0.3175
Dense + Sparse + ์ด ๋ชจ๋ธ RRF 0.2347 0.2562 0.3337 0.3551

RRF๋Š” k=60, ๋™์ผ ๊ฐ€์ค‘์น˜์ด๋ฉฐ ํ…Œ์ŠคํŠธ ์ ์ˆ˜์— ๋งž์ถฐ ํŠœ๋‹ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฒฐ๊ณผ์—์„œ๋Š” ์ด ๋ชจ๋ธ ๋‹จ๋…์ด ๋™์ผ ๊ฐ€์ค‘์น˜ ๊ฒฐํ•ฉ๋ณด๋‹ค ์šฐ์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ชจ๋ธ์˜ NDCG@10 ์ฐจ์ด์— ๋Œ€ํ•œ ์งˆ์˜๋ณ„ paired bootstrap 3,000ํšŒ, 95% ์‹ ๋ขฐ๊ตฌ๊ฐ„:

๋น„๊ต ์ ˆ๋Œ€ ์ฐจ์ด 95% CI
์ด ๋ชจ๋ธ โˆ’ Dense +0.08544 [+0.08148, +0.08933]
์ด ๋ชจ๋ธ โˆ’ Sparse +0.09099 [+0.08716, +0.09483]
์ด ๋ชจ๋ธ โˆ’ Dense+Sparse RRF +0.06207 [+0.05886, +0.06544]

Dense/Sparse์˜ ๊ณผ๊ฑฐ ํ•™์Šต ๋ฐ์ดํ„ฐ ๋ฒ„์ „ยทํ•™์Šต๋Ÿ‰์€ ์ด ๋ชจ๋ธ๊ณผ ๋‹ค๋ฅด๋ฉฐ, ์‹ค์ œ split์ด ์—†์–ด ํ…Œ์ŠคํŠธ ์งˆ์˜์˜ ํ•™์Šต ๋…ธ์ถœ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐฐํฌ ํ›„๋ณด ๋ชจ๋ธ ๋น„๊ต์ด์ง€ ๋ชจ๋ธ ๊ตฌ์กฐ๋งŒ์˜ ํ†ต์ œ ์‹คํ—˜์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ณต๊ฐœ ๋ฒ ์ด์Šค ColBERT์˜ ์ง์ ‘ ๊ฒ€์ƒ‰ ํ‰๊ฐ€๋Š” ์ด ํ‘œ์— ํฌํ•จํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

2. ๋ฒ ์ด์Šค ๋Œ€๋น„ ๊ณ ์ • ํ›„๋ณด ์žฌ์ •๋ ฌ

๊ฐ™์€ ํ…Œ์ŠคํŠธ ์งˆ์˜ 8,629๊ฐœ์— ๋Œ€ํ•ด ๊ธฐ์กด Qwen ๊ฒ€์ƒ‰๊ธฐ๊ฐ€ 3,372,402๋ฌธ์„œ์—์„œ ์ฐพ์€ Top-200 ํ›„๋ณด๋ฅผ ์ •๋ ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ NDCG@10 MRR@10* Recall@100
yjoonjang/colbert-ko-v1 0.1711 0.1886 0.2634
์ด ๋ชจ๋ธ 0.2442 0.2779 0.2810

NDCG@10 ์ ˆ๋Œ€ ๊ฐœ์„ ์€ +0.07312, 95% CI๋Š” [+0.06969, +0.07666]์ž…๋‹ˆ๋‹ค. ์ด ๋น„๊ต๋Š” ๊ฐ™์€ ํ›„๋ณด์—์„œ์˜ ํŠœ๋‹ ํšจ๊ณผ๋ฅผ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ๊ฒ€์ƒ‰ ํ‘œ์™€ corpusยทํ›„๋ณด ์ œ์•ฝ์ด ๋‹ฌ๋ผ ๋‘ ํ‘œ์˜ ์ฐจ์ด๋ฅผ ํŠœ๋‹๋งŒ์˜ ํšจ๊ณผ๋กœ ํ•ด์„ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

์ง€ํ‘œ ์ •์˜

  • NDCG: ํ–‰๋™ ๊ธฐ๋ฐ˜ ๊ด€๋ จ๋„ ๋“ฑ๊ธ‰ 1/2/3์— ๋Œ€ํ•ด gain = 2^relevance - 1์„ ์‚ฌ์šฉํ•˜๊ณ , ์ด์ƒ์ ์ธ ์ˆœ์œ„๋กœ ์ •๊ทœํ™”ํ•œ ์งˆ์˜๋ณ„ ์ ์ˆ˜๋ฅผ ํ‰๊ท ํ•ฉ๋‹ˆ๋‹ค.
  • MRR@10*: ์งˆ์˜๋ณ„ ์ตœ๊ณ  ๊ด€๋ จ๋„ ๋“ฑ๊ธ‰ ๋ฌธ์„œ์˜ ์ฒซ ๋“ฑ์žฅ ์ˆœ์œ„ ์—ญ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ด€๋ จ ๋ฌธ์„œ ์ค‘ ์ฒซ ๋ฒˆ์งธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ binary MRR์™€ ์ •์˜๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
  • Recall: ์ƒ์œ„ k๊ฐœ์—์„œ ์ฐพ์€ qrels ๋ฌธ์„œ ์ˆ˜๋ฅผ ์งˆ์˜๋ณ„ ์ „์ฒด qrels ์ˆ˜๋กœ ๋‚˜๋ˆˆ ๋’ค ํ‰๊ท ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ์—๋Š” 67,293๊ฐœ์˜ ์งˆ์˜โ€“๋„์„œ ์ •๋‹ต ๊ด€๊ณ„๊ฐ€ ์žˆ๊ณ  corpus์— ๋ˆ„๋ฝ๋œ ์ •๋‹ต ๊ด€๊ณ„๋Š” 0๊ฐœ์ž…๋‹ˆ๋‹ค. ํ–‰๋™์— ๊ด€์ธก๋˜์ง€ ์•Š์€ ๊ด€๋ จ ๋„์„œ๋Š” ์ •๋‹ต ๋ชฉ๋ก์— ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NDCG 0.2629๋Š” ์ •ํ™•๋„ 26.29%๋ฅผ ์˜๋ฏธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Retrieval configuration and cost

์ง์ ‘ ๊ฒ€์ƒ‰์˜ ColBERT ์„ค์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•ญ๋ชฉ ๊ฐ’
์ธ๋ฑ์Šค FastPlaid, 8-bit
IVF probes 512
Full-score candidates 65,536
์›๋ณธ MaxSim ์žฌ์ ์ˆ˜ํ™” ํ›„๋ณด 4,096
ANN ๋ณด์ • dev 16์งˆ์˜, ์ „์ฒด corpus ์ •ํ™• MaxSim๊ณผ ๋น„๊ต
Top-100 ID ํ‰๊ท  ์ผ์น˜์œจ 96.94%

ANN ์„ค์ •์€ dev๋กœ ๋ณด์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„ ์ผ์น˜์œจ์€ ํ…Œ์ŠคํŠธ ์ „์ฒด์˜ ANN recall์„ ์˜๋ฏธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ๊ฒ€์ƒ‰์šฉ ํŒŒ์ผ ํฌ๊ธฐ 8,629๊ฐœ ์งˆ์˜ ๋ฐฐ์น˜ ๊ฒ€์ƒ‰ ์งˆ์˜๋‹น ํ™˜์‚ฐ
Dense 12.96 GiB 197.1์ดˆ 22.8ms
Sparse 1.95 GiB 415.8์ดˆ 48.2ms
์ด ๋ชจ๋ธ 53.45 GiB 9,642.7์ดˆ 1,117.5ms

์ด ํ‘œ๋Š” ์˜จ๋ผ์ธ ์‘๋‹ต ์‹œ๊ฐ„ ๋ฒค์น˜๋งˆํฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์งˆ์˜ ๋ฒกํ„ฐ๊ฐ€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ฐฐ์น˜ ๊ฒ€์ƒ‰์ด๋ฉฐ ์งˆ์˜ ์ธ์ฝ”๋”ฉยท๋„คํŠธ์›Œํฌยท๋Œ€๊ธฐ ์‹œ๊ฐ„์€ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. Dense๋Š” GPU ์ „์ˆ˜ ๋‚ด์ , Sparse๋Š” CPU CSR ์ „์ˆ˜ ์—ฐ์‚ฐ, ColBERT๋Š” GPU ANN ๋ฐ ์›๋ณธ ์žฌ์ ์ˆ˜ํ™”๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„๊ณผ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ชจ๋ธ ๊ณ ์œ ์˜ ์†๋„ ์ฐจ์ด๋‚˜ SLA๋กœ ์ผ๋ฐ˜ํ™”ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

ColBERT ํŒŒ์ผ ํฌ๊ธฐ์—๋Š” ์ธ๋ฑ์Šค์™€ ๊ฒ€์ƒ‰์— ํ•„์š”ํ•œ ์›๋ณธ FP16 token vectors๋ฅผ ํ•ฉ์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค. 53.45 GiB๋Š” ๋ชจ๋ธ ๊ฐ€์ค‘์น˜ ํฌ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์ด corpus์˜ ๊ฒ€์ƒ‰ ์ €์žฅ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. corpus ์ธ๋ฑ์Šค๋Š” ๋ชจ๋ธ ๊ฐ€์ค‘์น˜์™€ ๋ณ„๋„๋กœ ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Intended use and limitations

  • ํ•œ๊ตญ์–ด ๋„์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰, ํ›„๋ณด ์žฌ์ •๋ ฌ, ๋„์„œ ํƒ์ƒ‰ RAG์˜ ๊ฒ€์ƒ‰ ๊ตฌ์„ฑ์š”์†Œ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด ๋ชจ๋ธ์€ ๋‹ต๋ณ€ ์ƒ์„ฑ ๋ชจ๋ธ์ด ์•„๋‹ˆ๋ฉฐ, RAG ๋‹ต๋ณ€ ์ •ํ™•๋„๋‚˜ ๊ทผ๊ฑฐ ์ถฉ์‹ค์„ฑ์„ ์ง์ ‘ ๊ฒ€์ฆํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ๋„์„œ ๋ณธ๋ฌธ, ๋ฒ•๋ฅ ยท์˜๋ฃŒ ๋“ฑ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ, ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ๋™์ผํ•œ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ธด ์งˆ์˜๋Š” 32ํ† ํฐ์—์„œ ์ž˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธด ๋Œ€ํ™” ์ „์ฒด๋ฅผ ๊ฒ€์ƒ‰ ์งˆ์˜๋กœ ๊ทธ๋Œ€๋กœ ๋„ฃ์ง€ ๋ง๊ณ  ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ๋ณด์กดํ•˜๋Š” ๋ณ„๋„ ์งˆ์˜ ๊ตฌ์„ฑ ๋ฐฉ์‹์„ ๊ฒ€์ฆํ•˜์‹ญ์‹œ์˜ค.
  • ๋ฌธ์„œ๋„ 128ํ† ํฐ ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•™์Šต์— ์‚ฌ์šฉํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ณด๋‹ค ๊ธด ๋ณธ๋ฌธ์—๋Š” ๋ณ„๋„ chunking ๋ฐ ํ‰๊ฐ€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • seed๋ฅผ ๋ฐ”๊พผ ๋ฐ˜๋ณต ์‹คํ—˜์€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ž‘์€ ์ฒดํฌํฌ์ธํŠธ ๊ฐ„ ์ฐจ์ด์˜ ์žฌํ˜„์„ฑ์€ ๋ฏธํ™•์ธ์ž…๋‹ˆ๋‹ค.
  • ํ•™์Šต ๋ฐ์ดํ„ฐ์™€ ํ‰๊ฐ€ corpus๋Š” ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ์ด๋ฉฐ, ์ด ๋ชจ๋ธ ์นด๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์…‹์˜ ๊ณต๊ฐœ ๋ฐฐํฌ๋ฅผ ๋œปํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Provenance

์ด ๋ชจ๋ธ์€ ์œ„์— ๋ช…์‹œํ•œ yjoonjang/colbert-ko-v1 ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„๋ฉ”์ธ ํŠœ๋‹ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ข… backbone model.safetensors SHA-256:

97d37dec8c2e708fb1fc92494e0fe4ba404cdb040a75c80e9ed4ea013249e450

์ด ํ•ด์‹œ๋Š” backbone ํŒŒ์ผ๋งŒ์˜ ํ•ด์‹œ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ์‚ฌ์šฉ์—๋Š” 128์ฐจ์› projection, masking/normalization ๋ชจ๋“ˆ ์„ค์ •, tokenizer ๋ฐ prompt ์„ค์ •๋„ ํ•จ๊ป˜ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

References

Downloads last month
-
Safetensors
Model size
0.1B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Ja-ck/colbert-ko-yes24-ft

Finetuned
(1)
this model