VectorDB ๋ž€?

Vector DB ๋ž€?

  1. Vector

    1. ์ˆซ์ž ๋ฐฐ์—ด๋กœ ๊ตฌ์„ฑ๋œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋กœ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹/๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์ถœ๋ ฅ์œผ๋กœ ์ƒ์„ฑ๋จ.

    2. ๋ฒกํ„ฐ๋Š” ๊ณ ์ฐจ์› ๊ณต๊ฐ„์—์„œ ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ์˜ค๋””์˜ค, ๋น„๋””์˜ค ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์น˜์ ์œผ๋กœ ํ‘œํ˜„ํ•จ.

    3. ์˜ˆ: ๊ฐ•์•„์ง€ -> [0.12, 0.54, 0.78,... 0.91] (512์ฐจ์› ์ž„๋ฒ ๋”ฉ)

  2. ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰(Similarity Search)

    1. ๋ฒกํ„ฐ ๊ฐ„์˜ ๊ฑฐ๋ฆฌ(์œ ์‚ฌ๋„) ๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ž…๋ ฅ ๋ฒกํ„ฐ์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฒกํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์ž„.

    2. ๋Œ€ํ‘œ์ ์ธ ๊ฑฐ๋ฆฌ ์ธก์ •๋ฒ•

      1. L2 Distance(Euclidean Distance) : ๋‘ ๋ฒกํ„ฐ ๊ฐ„์˜ ์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ

      2. Cosine Similarity : ๋‘ ๋ฒกํ„ฐ ๊ฐ„์˜ ๊ฐ๋„ ์œ ์‚ฌ๋„.

      3. Inner Product : ๋‘ ๋ฒกํ„ฐ ๊ฐ„์˜ ๋‚ด์  ๊ฐ’

  3. ๋ฒกํ„ฐํ™”(Embedding)

    1. ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ์˜ค๋””์˜ค ๋“ฑ์˜ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ†ตํ•ด ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ž„.

    2. ๋ชจ๋ธ ์˜ˆ์‹œ:

      1. ํ…์ŠคํŠธ : BERT, Sentence-BERT, OpenAI Embeddings

      2. ์ด๋ฏธ์ง€ : ResNet, CLIP

      3. ์˜ค๋””์˜ค : Wav2Vec

  4. ๊ณ ์ฐจ์› ๊ณต๊ฐ„(High-dimensional space):

    1. ๋ฒกํ„ฐ๋Š” ์ˆ˜๋ฐฑ์—์„œ ์ˆ˜์ฒœ ์ฐจ์›์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ „ํ†ต์ ์ธ DB์—์„œ ๋‹ค๋ฃจ๊ธฐ ์–ด๋ ค์šด ๊ตฌ์กฐ์ž„.

    2. Vector DB ๋Š” ๊ณ ์ฐจ์› ๊ณต๊ฐ„์—์„œ ํšจ์œจ์ ์œผ๋กœ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Œ.


Vector DB ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

  1. ๋ฒกํ„ฐ ์ €์žฅ

    1. ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ(์ˆซ์ž ๋ฐฐ์—ด)์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ (ํƒœ๊ทธ ,ํ‚ค์›Œ๋“œ ๋“ฑ) ์„ ํ•จ๊ป˜ ์ €์žฅํ•จ.

  2. ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰

    1. ์ž…๋ ฅ ๋ฒกํ„ฐ์™€ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ๋ฒกํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์Œ.

    2. ์ตœ๊ทผ์ ‘ ์ด์›ƒ ๊ฒ€์ƒ‰(Nearest Neighbor Search, NNS) ์„ ์‚ฌ์šฉํ•จ.

  3. ํ•„ํ„ฐ๋ง

    1. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์˜ˆ:ํƒœ๊ทธ) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ.

  4. ํ™•์žฅ์„ฑ

    1. ๋Œ€๊ทœ๋ชจ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Œ.

    2. ๋ถ„์‚ฐ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ ํ™•์žฅ ๊ฐ€๋Šฅ


Vector DB ์˜ ํ™œ์šฉ ์‚ฌ๋ก€

  1. ๊ฒ€์ƒ‰ ์—”์ง€ ์ตœ์ ํ™”

    1. ์˜ˆ : ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ฟผ๋ฆฌ(ํ…์ŠคํŠธ)๋ฅผ ๋ฒกํ„ฐํ™”ํ•˜์—ฌ ๊ฐ€์žฅ ๊ด€๋ จ์„ฑ ๋†’์€ ๋ฌธ์„œ๋‚˜ ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰.

    2. ์‚ฌ์šฉ ์‚ฌ๋ก€:

      1. ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰, ์ถ”์ฒœ ์‹œ์Šคํ…œ.

  2. ์ถ”์ฒœ ์‹œ์Šคํ…œ

    1. ์‚ฌ์šฉ์ž์˜ ์„ ํ˜ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒกํ„ฐํ™”ํ•˜์—ฌ ์œ ์‚ฌํ•œ ์•„์ดํ…œ ์ถ”์ฒœ

    2. ์˜ˆ : ๋„ทํ”Œ๋ฆญ์Šค ์˜ํ™” ์ถ”์ฒœ, ์ „์ž์ƒ๊ฑฐ๋ž˜ ์ƒํ’ˆ ์ถ”์ฒœ

  3. ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰

    1. ์ž…๋ ฅ ์ด๋ฏธ์ง€์™€ ์œ ์‚ฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฒ€์ƒ‰

    2. ์˜ˆ : ํ•€ํ„ฐ๋ ˆ์ŠคํŠธ, ์‡ผํ•‘ ํ”Œ๋žซํผ์—์„œ ๋น„์Šทํ•œ ์ œํ’ˆ ์ฐพ๊ธฐ

  4. ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP)

    1. ํ…์ŠคํŠธ ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ์„œ, ๋ฌธ์žฅ, ๋‹จ์–ด๋ฅผ ๊ฒ€์ƒ‰.

    2. ์˜ˆ : ๋Œ€ํ™”ํ˜• AI ์‹œ์Šคํ…œ, ๋ฌธ์„œ ์š”์•ฝ

  5. ์ƒ์„ฑํ˜• AI

    1. ์ƒ์„ฑํ˜• AI ์‘์šฉ์—์„œ ์ž„๋ฒ ๋”ฉ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰

    2. ์˜ˆ : OpenAI ์˜ GPT ์™€ ๊ฐ™์€ ๋ชจ๋ธ์„ ์œ„ํ•œ ์ง€์‹ ๋ฒ ์ด์Šค ๊ฒ€์ƒ‰.


Vector DB ์™€ ์ „ํ†ต์ ์ธ DB์˜ ์ฐจ์ด์ 

ํŠน์ง•

Vector DB

RDBMS

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

๊ณ ์ฐจ์› ๋ฒกํ„ฐ

ํ…Œ์ด๋ธ”(ํ–‰๊ณผ ์—ด)

๊ฒ€์ƒ‰ ๊ธฐ์ค€

์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ (๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ)

์ •ํ™•ํ•œ ๋งค์นญ (SQL ์ฟผ๋ฆฌ)

๋ฐ์ดํ„ฐ ์œ ํ˜•

๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ (ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€ ๋“ฑ)

์ •ํ˜• ๋ฐ์ดํ„ฐ (์ˆซ์ž, ๋ฌธ์ž์—ด)

ํ™•์žฅ์„ฑ

๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์ง€์›

์ˆ˜์ง ํ™•์žฅ (Scale-up)

์‘์šฉ ์‚ฌ๋ก€

์ถ”์ฒœ ์‹œ์Šคํ…œ, ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰, NLP

๊ธˆ์œต ๋ฐ์ดํ„ฐ, ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ


๋Œ€ํ‘œ์ ์ธ Vector DB ์†”๋ฃจ์…˜

  1. Milvus

    1. ์˜คํ”ˆ์†Œ์Šค ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

    2. ๋Œ€๊ทœ๋ชจ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”

    3. ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ๋ฐ ํ•„ํ„ฐ๋ง ์ง€์›.

  2. Weaviate

    1. ๋ฒกํ„ฐ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ†ตํ•ฉ.

    2. NLP ๋ฐ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์— ๊ฐ•์ .

  3. Pinecone

    1. ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

    2. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค ์ œ๊ณต.

  4. Qdrant

    1. Rust ๊ธฐ๋ฐ˜์˜ ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์šด ๋ฒกํ„ฐ DB.

    2. ๊ณ ์„ฑ๋Šฅ ๊ฒ€์ƒ‰๊ณผ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ

  5. FAISS(Facebook AI Similarity Search)

    1. Facebook ์—์„œ ๊ฐœ๋ฐœํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ณ ์ฐจ์› ๋ฒกํ„ฐ ๊ฒ€์ƒ‰์„ ์ง€์›

    2. ์™„์ „ํ•œ DB๋Š” ์•„๋‹ˆ์ง€๋งŒ, ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ตœ์ ํ™”์— ์œ ์šฉ


Vector DB ์˜ ํ•œ๊ณ„

  1. ํ…์ŠคํŠธ ๊ฒ€์ƒ‰ ํ•œ๊ณ„

    1. ์ „ํ†ต์ ์ธ ํ…์ŠคํŠธ ๊ฒ€์ƒ‰(RDB์˜ LIKE, WHERE ์กฐ๊ฑด) ์ฒ˜๋Ÿผ ์™„์ „ํ•œ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์€ ์–ด๋ ค์›€.

    2. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ElasticSearch ๋˜๋Š” RDBMS ์™€์˜ ํ†ตํ•ฉ์ด ํ•„์š”ํ•จ.

  2. ํ•™์Šต ๋ฐ์ดํ„ฐ ์˜์กด์„ฑ

    1. ๋ฒกํ„ฐํ™”์˜ ํ’ˆ์งˆ์€ ๋ชจ๋ธ๊ณผ ํ•™์Šต ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ.

  3. ๊ณ ์ฐจ์› ๊ณต๊ฐ„์˜ ๋ณต์žก์„ฑ

    1. ์ฐจ์›์ด ๋†’์•„์งˆ์ˆ˜๋ก ๊ณ„์‚ฐ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜์—ฌ ํšจ์œจ์ ์ธ ์ธ๋ฑ์‹ฑ ๊ธฐ๋ฒ•์ด ํ•„์š”ํ•จ.(์˜ˆ : IVF, HNSW)

Last updated

Was this helpful?