Post

Deep Dive into Vector Databases by Hand

Original Article : ๐Ÿ‘‰ https://medium.com/towards-data-science/deep-dive-into-vector-databases-by-hand-e9ab71f54f80


Lilys AI : ๐Ÿ‘‰ https://lilys.ai/digest/659939

Below Summary Note

Deep Dive into Vector Databases by Hand โœ๏ธŽby Srijanie Dey, PhDTowards Data Science

1.๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์‹ฌ์ธต ํƒ๊ตฌ

  • ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋’ท๋ฉด์—์„œ ๋ฌด์Šจ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ํƒ๊ตฌ
  • Srijanie Dey, ๋ฐ•์‚ฌ์˜ ๊ธ€, ๋ฐ์ดํ„ฐ ๊ณผํ•™์„ ์œ„ํ•ด Towards Data Science์—์„œ ๋ฐœํ–‰
  • 8๋ถ„ ์†Œ์š”๋˜๋Š” ์ด ๊ธ€์€ 2024๋…„ 3์›” 20์ผ ๊ธฐ์ค€์œผ๋กœ 597๋ช…์ด ์ฝ์Œ
  • ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ธ€์„ ์ฝ๊ณ  ์‹ถ๋‹ค๋ฉด ๊ณต์œ  ๋˜๋Š” ์ฒญ์ทจ ๋งํฌ๋ฅผ ํ™•์ธ

2.๏ธ์•„์ด ์ฑ… ์ œ์ž‘: LLM์ด ๋„์™€์ฃผ๋Š” ๋ฒกํ„ฐ ์ด์•ผ๊ธฐ

  • ์ตœ๊ทผ ์ฆ๊ฒจ์“ฐ๋Š” ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ(LLL)์—๊ฒŒ 4์‚ด ๋ง‰๋‚ด์—๊ฒŒ ๋ฒกํ„ฐ๋ฅผ ์„ค๋ช…ํ•  ์ด์•ผ๊ธฐ๋ฅผ ๋ถ€ํƒํ–ˆ๋‹ค.
  • ์–ธ์–ด ๋ชจ๋ธ์€ ์‹ ๋น„ํ•œ ์ƒ๋ฌผ๊ณผ ๋งˆ๋ฒ•, ๋ฒกํ„ฐ๋กœ ๊ฐ€๋“ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด๋ƒˆ๊ณ , โ€˜LuminaVecโ€™๋ผ๋Š” ์œ ๋‹ˆ์ฝ˜์˜ ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์™”๋‹ค.
  • ์ด๋ ‡๊ฒŒ ๋‚˜์˜จ ์ƒˆ๋กœ์šด ์–ด๋ฆฐ์ด ์ฑ… ์Šค์ผ€์น˜๋Š” ์ธ์ƒ์ ํ–ˆ๋Š”๋ฐ, ๊ฑฐ์˜ 4์‚ด ์•„์ด์—๊ฒŒ ๊ตฌํ˜„๋œ โ€˜LuminaVecโ€™๋ฅผ ํฌํ•จํ•œ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์—ˆ๋‹ค.

3.๋ชจ๋ธ์ด ์ฐฝ์กฐ์ ์ธ ๋งค๋ ฅ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ชจ๋ธ์€ ๋‹จ์–ด๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ, ์ˆซ์ž์  ํ‘œํ˜„์ธ ๋ฒกํ„ฐ๋ฅผ ํ†ตํ•ด ์ดํ•ดํ•œ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋ฒกํ„ฐ๋Š” ๊ฐ ๋‹จ์–ด ๊ฐ„ ์œ ์‚ฌ์„ฑ์„ ์ฐพ๊ณ  ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•œ ์˜๋ฏธ ์žˆ๋Š” ์ •๋ณด์— ์ง‘์ค‘ํ•˜๋„๋ก ๋„์™€์ค€๋‹ค.
  • ์ž„๋ฒ ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜๋ฏธ๋ก ์  ๋ฐ ๋งฅ๋ฝ์  ์ •๋ณด๋ฅผ ํฌ์ฐฉํ•˜๋ ค๋Š” ๋‚ฎ์€ ์ฐจ์›์˜ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • LLM์—์„œ ์ด๋Ÿฌํ•œ ๋ฒกํ„ฐ๋“ค์„ ๋‹ค๋ฃฐ ๋•Œ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ์ˆ˜๋ฐฑ ๊ฐœ ์ด์ƒ์˜ ์ฐจ์›์— ๊ฑธ์ณ ๊ธธ๊ณ  ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฒ˜๋ฆฌ ์†๋„์™€ ๋น„์šฉ ์ฆ๊ฐ€๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ๋‹ค๋ค„์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

4.๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: ์Šค์ผ€์ผ ๋ฐ ์†๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ์†”๋ฃจ์…˜

  • ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์„ ํฌํ•จํ•˜๋Š” ํŠน์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ, ์œ ์‚ฌํ•œ ๊ฐ์ฒด๋Š” ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ์„œ๋กœ ๊ฐ€๊นŒ์šด ์œ„์น˜์— ์žˆ๊ณ , ๋‹ค๋ฅธ ๊ฐ์ฒด๋Š” ๋” ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋‹ค.
  • ๋งค๋ฒˆ ์ฟผ๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹ , ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ ๋ชจ๋ธ์„ ํ†ต๊ณผ์‹œํ‚ค๊ณ  ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜์—ฌ ํ•„์š”ํ•  ๋•Œ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.
  • ์ด๋กœ์จ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” LLM๋“ค์˜ ์Šค์ผ€์ผ๊ณผ ์†๋„ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐ•๋ ฅํ•œ ํ•ด๊ฒฐ์ฑ… ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋œ๋‹ค.
  • ๋ฌด์ง€๊ฐœ ์œ ๋‹ˆ์ฝ˜, ๋ฐ˜์ง์ด๋Š” ๋งˆ๋ฒ•, ๊ฐ•๋ ฅํ•œ ๋ฒกํ„ฐ์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋˜๋Œ์•„๋ณด๋ฉด, ๋ชจ๋ธ์— ๊ทธ ์งˆ๋ฌธ์„ ํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์น  ์ˆ˜ ์žˆ์—ˆ๋‹ค:
  • ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์ด ๋จผ์ € ์งˆ๋ฌธ์„ ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์˜€๋‹ค. ํ•ด๋‹น ๋ฒกํ„ฐ ์ž„๋ฒ ๋”ฉ์€ 5์„ธ์šฉ ์žฌ๋ฏธ์žˆ๋Š” ์ด์•ผ๊ธฐ์™€ ๋ฒกํ„ฐ์— ๋Œ€ํ•œ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋น„๊ต๋˜์—ˆ๋‹ค. ์ด ๊ฒ€์ƒ‰ ๋ฐ ๋น„๊ต์— ๋”ฐ๋ผ, ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ๋ฒกํ„ฐ๋“ค์ด ๋ฐ˜ํ™˜๋˜์—ˆ์„ ๊ฒƒ์ด๋‹ค.
  • ๊ฒฐ๊ณผ๋Š” ์ฟผ๋ฆฌ ๋ฒกํ„ฐ์™€ ์œ ์‚ฌ์„ฑ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ˆœ์œ„๊ฐ€ ๋งค๊ฒจ์ง„ ๋ฒกํ„ฐ ๋ชฉ๋ก์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ–ˆ๋‹ค.

5.๏ธ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘๋™ ๋ฐฉ์‹

  • ๋ฒกํ„ฐ ๋ฐ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ›Œ๋ฅญํ•œ ์ž‘ํ’ˆ์ด ์žˆ์–ด, ์ด๋ฅผ ํ†ตํ•ด ๋งˆ์ดํฌ๋กœ ๋ ˆ๋ฒจ์—์„œ ์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•ด๋ณด์ž.
  • 21๋‹จ์–ด์˜ ํ…์ŠคํŠธ์™€ 22๊ฐœ์˜ ๋ฒกํ„ฐ ํ…Œ์ด๋ธ”์„ ์ด์šฉํ•ด ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ, ๋งค์šฐ ์ž‘์€ ์ˆ˜์˜ feature vectors๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ์„ ํƒ€์ž„์— ๋”ฐ๋ผ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋‹จ๊ณ„๊นŒ์ง€ ์ง„ํ–‰๋œ๋‹ค.
  • ์ดํ›„ ๋‹จ์–ด๋ฅผ ์งˆ์˜ํ•ด ์ž„๋ฒ ๋”ฉ, ์ธ์ฝ”๋”ฉ, ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์ฟผ๋ฆฌ์˜ 2D-๋ฒกํ„ฐ ํ‘œํ˜„์„ ์–ป๊ฒŒ ๋˜๊ณ , ์ดํ›„ ๋‹ท ํ”„๋กœ๋•ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์•„๋‚ธ๋‹ค.
  • ์ดํ›„ ํ‰๊ท  ํ’€๋งํ•˜์—ฌ ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ ๋ฐ ๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ ์–ป๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ ์ธ์ ‘ ์ด์›ƒ ๋ถ„์„์„ ํ†ตํ•ด ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์•„๋‚ด ๋์ด ๋‚œ๋‹ค.

6. โ€˜๋Œ€๊ทœ๋ชจโ€™ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ค‘์š”์„ฑ

  • ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ๋ฌธ์žฅ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์…‹, ๊ฐ ๋ฌธ์žฅ์˜ ํ† ํฐ ์ˆ˜๋Š” ์ˆ˜๋งŒ ๊ฐœ, ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ ์ฐจ์›์€ ์ˆ˜์ฒœ ๊ฐœ์— ๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ์™€ ๋‹จ๊ณ„๋ฅผ ์ข…ํ•ฉํ•˜๋ฉด, ๊ต‰์žฅํžˆ ๋ฐฉ๋Œ€ํ•œ ํฌ๊ธฐ์˜ ์ฐจ์›์„ ๋‹ค๋ฃจ๊ฒŒ ๋œ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๊ฑฐ๋Œ€ํ•œ ๊ทœ๋ชจ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด, ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๊ทœ๋ชจ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์œผ๋กœ RAG๋ชจ๋ธ์˜ ํšจ์œจ์  ๊ฒ€์ƒ‰์„ ๊ฐ€๋Šฅ์ผ€ ํ•ด์ค€๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ(RAG) ๋ชจ๋ธ์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. ๋˜ํ•œ, ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ™•์žฅ์„ฑ๊ณผ ์†๋„๋Š” ํšจ์œจ์ ์ธ ์ƒ์„ฑ ๋ชจ๋ธ์„ ์œ„ํ•œ ๊ธธ์„ ์—ด์–ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ข…ํ•ฉํ•˜๋ฉด ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.
This post is licensed under CC BY 4.0 by the author.