๐Ÿ“˜ Jina-Embeddings-v4 ๋…ผ๋ฌธ ์š”์•ฝ

A.1) ๋ชจ๋ธ ๊ฐœ์š”

  • ๋ชจ๋ธ ํฌ๊ธฐ: ์•ฝ 3.8B ํŒŒ๋ผ๋ฏธํ„ฐ
  • ๊ธฐ๋ฐ˜ ๋ชจ๋ธ: Qwen2.5-VL-3B-Instruct
  • ์ž…๋ ฅ ๋ฒ”์œ„: ์ตœ๋Œ€ 32k ํ† ํฐ์˜ ํ…์ŠคํŠธ์™€ ์ตœ๋Œ€ 20MP ํ•ด์ƒ๋„์˜ ์ด๋ฏธ์ง€
  • ์ถœ๋ ฅ ๋ฐฉ์‹:
    • Single-vector ๋ชจ๋“œ: ์ „์ฒด ๋ฌธ์„œ๋ฅผ ํ•˜๋‚˜์˜ 2048์ฐจ์› ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„. Matryoshka ๋ฐฉ์‹์„ ํ†ตํ•ด 128~512์ฐจ์›์œผ๋กœ ์ถ•์†Œ ๊ฐ€๋Šฅ.
    • Multi-vector ๋ชจ๋“œ: ๊ฐ ํ† ํฐ์„ ๋…๋ฆฝ์ ์ธ 128์ฐจ์› ๋ฒกํ„ฐ๋กœ ํˆฌ์˜ํ•˜์—ฌ, ํ† ํฐ ์ˆ˜๋งŒํผ์˜ ๋ฒกํ„ฐ๋ฅผ ์ƒ์„ฑ.

A.2) Multi-vector ๋ฐฉ์‹

์ด ๋ฐฉ์‹์€ ์ž…๋ ฅ๋œ ๊ฐ ํ† ํฐ(ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€ ๋‹จ์œ„)์„ ๋…๋ฆฝ์ ์œผ๋กœ ์ž„๋ฒ ๋”ฉํ•˜์—ฌ ColBERT ์Šคํƒ€์ผ์˜ late interaction์„ ํ™œ์šฉํ•ด ์ฟผ๋ฆฌ์™€ ๋ฌธ์„œ๋ฅผ ๋งค์นญํ•œ๋‹ค.

์žฅ์ 

  • ํ‘œ, ์ฐจํŠธ, ์ฝ”๋“œ์™€ ๊ฐ™์€ ์„ธ๋ฐ€ํ•œ ๋‹จ์œ„์˜ ๊ฒ€์ƒ‰์— ๋›ฐ์–ด๋‚จ.
  • ์ฟผ๋ฆฌ์™€ ๋ฌธ์„œ์˜ ํŠน์ • ๋ถ€๋ถ„ ๊ฐ„ ์ง์ ‘์ ์ธ ๋งค์นญ ๊ฐ€๋Šฅ.

๋‹จ์ 

  • ๋ฒกํ„ฐ ์ˆ˜๊ฐ€ ํ† ํฐ ์ˆ˜์— ๋น„๋ก€ํ•˜๋ฏ€๋กœ ์ €์žฅ ๊ณต๊ฐ„๊ณผ ์—ฐ์‚ฐ๋Ÿ‰์ด ํฌ๊ฒŒ ์ฆ๊ฐ€.

๋Œ€์‘ ์ „๋žต

  • ์ค‘์š” ํ† ํฐ๋งŒ ์„ ํƒํ•˜์—ฌ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜,
  • ๊ธด ๋ฌธ์„œ๋Š” ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ฒ˜๋ฆฌ,
  • ๋˜๋Š” single-vector์™€ ๋ณ‘ํ–‰ ์‚ฌ์šฉ.

A.3) Single-vector ๋ฐฉ์‹

๋ชจ๋“  ํ† ํฐ ์ž„๋ฒ ๋”ฉ์„ ํ‰๊ท  ํ’€๋ง(mean pooling)ํ•ด ํ•˜๋‚˜์˜ ๊ณ ์ •๋œ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.

์žฅ์ 

  • ์ €์žฅ ํšจ์œจ๊ณผ ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ์šฐ์ˆ˜ํ•จ.
  • Matryoshka ์ฐจ์› ์ถ•์†Œ๋ฅผ ์ ์šฉํ•ด๋„ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ์ ์Œ.

๋‹จ์ 

  • ์„ธ๋ฐ€ํ•œ ์ •๋ณด(์˜ˆ: ํ‘œ ๋‚ด ํŠน์ • ๊ฐ’)์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์€ ๋‹ค์†Œ ๋–จ์–ด์ง.

A.4) LoRA ์–ด๋Œ‘ํ„ฐ (ํƒœ์Šคํฌ ๋งž์ถค ์ตœ์ ํ™”)

๊ฐ ํƒœ์Šคํฌ์— ๋งž๊ฒŒ ํ•™์Šต๋œ LoRA ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ์„ธ๋ถ„ํ™”ํ•œ๋‹ค.

์–ด๋Œ‘ํ„ฐ ์ข…๋ฅ˜์ฃผ์š” ๋ชฉ์ ํŠน์ง•
Retrieve ์–ด๋Œ‘ํ„ฐ๋น„๋Œ€์นญ ์ฟผ๋ฆฌโ€“๋ฌธ์„œ ๊ฒ€์ƒ‰์ ‘๋‘์‚ฌ ์ธ์ฝ”๋”ฉ + ํ•˜๋“œ ๋„ค๊ฑฐํ‹ฐ๋ธŒ ํ•™์Šต
Text Matching ์–ด๋Œ‘ํ„ฐ์˜๋ฏธ์  ์œ ์‚ฌ๋„ ๊ณ„์‚ฐCoSENT loss ๊ธฐ๋ฐ˜ ํ•™์Šต
Code ์–ด๋Œ‘ํ„ฐ์ฝ”๋“œโ€“์ž์—ฐ์–ด ๊ฒ€์ƒ‰์ฝ”๋“œ ์ „์šฉ ํ‘œํ˜„ ์ตœ์ ํ™”

A.5) ์ฃผ์š” ์„ฑ๋Šฅ ์ง€ํ‘œ

ํ‰๊ฐ€ ํ•ญ๋ชฉ๊ฒฐ๊ณผ ์š”์•ฝ
์‹œ๊ฐ ๋ฌธ์„œ ๊ฒ€์ƒ‰ (Jina-VDR)๊ธฐ์กด ColPali ๋Œ€๋น„ ๋†’์€ ์ ์ˆ˜
ViDoRe ๋ฒค์น˜๋งˆํฌmulti-vector ๋ชจ๋“œ์—์„œ ํ™•์‹คํ•œ ์šฐ์œ„
Cross-modal ๊ฒ€์ƒ‰(CLIP ๊ธฐ์ค€)jina-clip-v2 ๋Œ€๋น„ ๊ฐœ์„ ๋œ ์„ฑ๋Šฅ
STS(๋ฌธ์žฅ ์œ ์‚ฌ๋„)์˜์–ดยท๋‹ค๊ตญ์–ด ๋ชจ๋‘ ์•ˆ์ •์ ์ธ ๊ฒฐ๊ณผ
์ฝ”๋“œ ๊ฒ€์ƒ‰(CoIR)ํŠนํ™” ๋ชจ๋ธ๋ณด๋‹ค ๋‚ฎ์ง€๋งŒ ๋ฒ”์šฉ์„ฑ ๋Œ€๋น„ ์šฐ์ˆ˜

A.6) ํšจ์œจ์  ํ™œ์šฉ ์ „๋žต

์ƒํ™ฉ์ถ”์ฒœ ๋ชจ๋“œ
๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ, ๋น ๋ฅธ ๊ฒ€์ƒ‰ ํ•„์š” ์‹œSingle-vector (128~512์ฐจ์› ์ถ•์†Œ ํ™œ์šฉ)
์„ธ๋ฐ€ํ•œ ์ •๋ณด ํƒ์ƒ‰, ์ •๋ฐ€ ๋งค์นญ ํ•„์š” ์‹œMulti-vector ์‚ฌ์šฉ (ํŠนํžˆ ํ‘œยท์ฝ”๋“œยท์ด๋ฏธ์ง€ ๋ถ„์„์— ํšจ๊ณผ์ )
์‹ค์ œ ์„œ๋น„์Šค ํ™˜๊ฒฝsingle-vector๋กœ coarse filtering ํ›„ multi-vector๋กœ ์ •๊ตํ•œ reranking ์ˆ˜ํ–‰

A.7) โœ… ํ•ต์‹ฌ ์š”์•ฝ

Jina-Embeddings-v4๋Š” ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ, ๋‹ค๊ตญ์–ด, ์žฅ๋ฌธ ์ฒ˜๋ฆฌ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋Š” ๋ฒ”์šฉ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์ด๋‹ค. ํŠนํžˆ multi-vector ๋ฐฉ์‹์„ ํ†ตํ•ด ์ •๊ตํ•œ ํ‘œํ˜„๋ ฅ์„ ํ™•๋ณดํ•˜๋ฉด์„œ๋„, single-vector ๋ฐฉ์‹์„ ์ด์šฉํ•ด ํšจ์œจ์„ฑ๊ณผ ์‹ค์šฉ์„ฑ์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ๋ฒ•์„ ์ œ์•ˆํ•œ๋‹ค.

๐Ÿ”— jinaโ€‘embeddingsโ€‘v4 ๋ชจ๋ธ ํŽ˜์ด์ง€