VectorDB ๋?
Vector DB ๋?
Vector
์ซ์ ๋ฐฐ์ด๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ํฌ์ธํธ๋ก, ์ผ๋ฐ์ ์ผ๋ก ๋จธ์ ๋ฌ๋/๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ์ถ๋ ฅ์ผ๋ก ์์ฑ๋จ.
๋ฒกํฐ๋ ๊ณ ์ฐจ์ ๊ณต๊ฐ์์ ํ ์คํธ, ์ด๋ฏธ์ง, ์ค๋์ค, ๋น๋์ค ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ์์น์ ์ผ๋ก ํํํจ.
์:
๊ฐ์์ง
-> [0.12, 0.54, 0.78,... 0.91] (512์ฐจ์ ์๋ฒ ๋ฉ)
์ ์ฌ๋ ๊ฒ์(Similarity Search)
๋ฒกํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ(์ ์ฌ๋) ๋ฅผ ๊ณ์ฐํ์ฌ ์ ๋ ฅ ๋ฒกํฐ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฒกํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ ์.
๋ํ์ ์ธ ๊ฑฐ๋ฆฌ ์ธก์ ๋ฒ
L2 Distance(Euclidean Distance) : ๋ ๋ฒกํฐ ๊ฐ์ ์ ํด๋ฆฌ๋ ๊ฑฐ๋ฆฌ
Cosine Similarity : ๋ ๋ฒกํฐ ๊ฐ์ ๊ฐ๋ ์ ์ฌ๋.
Inner Product : ๋ ๋ฒกํฐ ๊ฐ์ ๋ด์ ๊ฐ
๋ฒกํฐํ(Embedding)
ํ ์คํธ, ์ด๋ฏธ์ง, ์ค๋์ค ๋ฑ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ํตํด ๋ฒกํฐ๋ก ๋ณํํ๋ ๊ณผ์ ์.
๋ชจ๋ธ ์์:
ํ ์คํธ : BERT, Sentence-BERT, OpenAI Embeddings
์ด๋ฏธ์ง : ResNet, CLIP
์ค๋์ค : Wav2Vec
๊ณ ์ฐจ์ ๊ณต๊ฐ(High-dimensional space):
๋ฒกํฐ๋ ์๋ฐฑ์์ ์์ฒ ์ฐจ์์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ ํต์ ์ธ DB์์ ๋ค๋ฃจ๊ธฐ ์ด๋ ค์ด ๊ตฌ์กฐ์.
Vector DB ๋ ๊ณ ์ฐจ์ ๊ณต๊ฐ์์ ํจ์จ์ ์ผ๋ก ๊ฒ์์ ์ํํ๋๋ก ์ค๊ณ๋์์.
Vector DB ์ ์ฃผ์ ๊ธฐ๋ฅ
๋ฒกํฐ ์ ์ฅ
๋ฒกํฐ ๋ฐ์ดํฐ(์ซ์ ๋ฐฐ์ด)์ ๋ฉํ๋ฐ์ดํฐ (ํ๊ทธ ,ํค์๋ ๋ฑ) ์ ํจ๊ป ์ ์ฅํจ.
์ ์ฌ๋ ๊ฒ์
์ ๋ ฅ ๋ฒกํฐ์ ๊ฐ์ฅ ์ ์ฌํ ๋ฒกํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์.
์ต๊ทผ์ ์ด์ ๊ฒ์(Nearest Neighbor Search, NNS) ์ ์ฌ์ฉํจ.
ํํฐ๋ง
๋ฉํ๋ฐ์ดํฐ(์:ํ๊ทธ) ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ ๋ฒ์๋ฅผ ์ ํํ ์ ์์.
ํ์ฅ์ฑ
๋๊ท๋ชจ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ ์ ์๋๋ก ์ค๊ณ๋์์.
๋ถ์ฐ ์ํคํ ์ฒ๋ฅผ ํตํด ์ฑ๋ฅ ํ์ฅ ๊ฐ๋ฅ
Vector DB ์ ํ์ฉ ์ฌ๋ก
๊ฒ์ ์์ง ์ต์ ํ
์ : ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ์ฟผ๋ฆฌ(ํ ์คํธ)๋ฅผ ๋ฒกํฐํํ์ฌ ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ๋ฌธ์๋ ํญ๋ชฉ์ ๊ฒ์.
์ฌ์ฉ ์ฌ๋ก:
๊ตฌ๊ธ ๊ฒ์, ์ถ์ฒ ์์คํ .
์ถ์ฒ ์์คํ
์ฌ์ฉ์์ ์ ํธ ๋ฐ์ดํฐ๋ฅผ ๋ฒกํฐํํ์ฌ ์ ์ฌํ ์์ดํ ์ถ์ฒ
์ : ๋ทํ๋ฆญ์ค ์ํ ์ถ์ฒ, ์ ์์๊ฑฐ๋ ์ํ ์ถ์ฒ
์ด๋ฏธ์ง ๊ฒ์
์ ๋ ฅ ์ด๋ฏธ์ง์ ์ ์ฌํ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์
์ : ํํฐ๋ ์คํธ, ์ผํ ํ๋ซํผ์์ ๋น์ทํ ์ ํ ์ฐพ๊ธฐ
์์ฐ์ด ์ฒ๋ฆฌ(NLP)
ํ ์คํธ ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์, ๋ฌธ์ฅ, ๋จ์ด๋ฅผ ๊ฒ์.
์ : ๋ํํ AI ์์คํ , ๋ฌธ์ ์์ฝ
์์ฑํ AI
์์ฑํ AI ์์ฉ์์ ์๋ฒ ๋ฉ์ ํ์ฉํ์ฌ ๋ฌธ๋งฅ ๊ธฐ๋ฐ ๊ฒ์
์ : OpenAI ์ GPT ์ ๊ฐ์ ๋ชจ๋ธ์ ์ํ ์ง์ ๋ฒ ์ด์ค ๊ฒ์.
Vector DB ์ ์ ํต์ ์ธ DB์ ์ฐจ์ด์
ํน์ง
Vector DB
RDBMS
๋ฐ์ดํฐ ๊ตฌ์กฐ
๊ณ ์ฐจ์ ๋ฒกํฐ
ํ ์ด๋ธ(ํ๊ณผ ์ด)
๊ฒ์ ๊ธฐ์ค
์ ์ฌ๋ ๊ธฐ๋ฐ (๊ฑฐ๋ฆฌ ๊ณ์ฐ)
์ ํํ ๋งค์นญ (SQL ์ฟผ๋ฆฌ)
๋ฐ์ดํฐ ์ ํ
๋น์ ํ ๋ฐ์ดํฐ (ํ ์คํธ, ์ด๋ฏธ์ง ๋ฑ)
์ ํ ๋ฐ์ดํฐ (์ซ์, ๋ฌธ์์ด)
ํ์ฅ์ฑ
๋ถ์ฐ ์ฒ๋ฆฌ ์ง์
์์ง ํ์ฅ (Scale-up)
์์ฉ ์ฌ๋ก
์ถ์ฒ ์์คํ , ์ด๋ฏธ์ง ๊ฒ์, NLP
๊ธ์ต ๋ฐ์ดํฐ, ์ฌ์ฉ์ ๊ด๋ฆฌ
๋ํ์ ์ธ Vector DB ์๋ฃจ์
Milvus
์คํ์์ค ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋๊ท๋ชจ ๋ฒกํฐ ๋ฐ์ดํฐ ๊ฒ์์ ์ต์ ํ
์ ์ฌ๋ ๊ฒ์ ๋ฐ ํํฐ๋ง ์ง์.
Weaviate
๋ฒกํฐ์ ๋ฉํ๋ฐ์ดํฐ ํตํฉ.
NLP ๋ฐ ํ ์คํธ ๊ธฐ๋ฐ ๊ฒ์์ ๊ฐ์ .
Pinecone
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
์ฌ์ฉ์๊ฐ ๋ฒกํฐ ๊ฒ์์ ์ง์คํ ์ ์๋๋ก ๊ด๋ฆฌํ ์๋น์ค ์ ๊ณต.
Qdrant
Rust ๊ธฐ๋ฐ์ ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ด ๋ฒกํฐ DB.
๊ณ ์ฑ๋ฅ ๊ฒ์๊ณผ ํํฐ๋ง ๊ธฐ๋ฅ
FAISS(Facebook AI Similarity Search)
Facebook ์์ ๊ฐ๋ฐํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ณ ์ฐจ์ ๋ฒกํฐ ๊ฒ์์ ์ง์
์์ ํ DB๋ ์๋์ง๋ง, ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ ์ต์ ํ์ ์ ์ฉ
Vector DB ์ ํ๊ณ
ํ ์คํธ ๊ฒ์ ํ๊ณ
์ ํต์ ์ธ ํ ์คํธ ๊ฒ์(RDB์
LIKE
,WHERE
์กฐ๊ฑด) ์ฒ๋ผ ์์ ํ ํค์๋ ๊ธฐ๋ฐ ๊ฒ์์ ์ด๋ ค์.์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ElasticSearch ๋๋ RDBMS ์์ ํตํฉ์ด ํ์ํจ.
ํ์ต ๋ฐ์ดํฐ ์์กด์ฑ
๋ฒกํฐํ์ ํ์ง์ ๋ชจ๋ธ๊ณผ ํ์ต ๋ฐ์ดํฐ์ ๋ฐ๋ผ ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์์.
๊ณ ์ฐจ์ ๊ณต๊ฐ์ ๋ณต์ก์ฑ
์ฐจ์์ด ๋์์ง์๋ก ๊ณ์ฐ๋์ด ์ฆ๊ฐํ์ฌ ํจ์จ์ ์ธ ์ธ๋ฑ์ฑ ๊ธฐ๋ฒ์ด ํ์ํจ.(์ : IVF, HNSW)
Last updated
Was this helpful?