๐Ÿš€ ์™„์ „ ๊ด€๋ฆฌํ˜• Milvus์ธ Zilliz Cloud๋ฅผ ๋ฌด๋ฃŒ๋กœ ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”โ€”10๋ฐฐ ๋” ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ๊ฒฝํ—˜ํ•˜์„ธ์š”! ์ง€๊ธˆ ์ฒดํ—˜ํ•˜๊ธฐ>>

milvus-logo
LFAI
  • Home
  • Blog
  • ๐Ÿ”Ž ์ž„๋ฒ ๋”ฉ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ์—”์ง„ ์„ ํƒํ•˜๊ธฐ

๐Ÿ”Ž ์ž„๋ฒ ๋”ฉ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ์—”์ง„ ์„ ํƒํ•˜๊ธฐ

  • Scenarios
September 08, 2020
milvus

์™„์ธ ์•ฑ์€ ์Œ์•… ๊ณต์œ ๋ฅผ ์žฅ๋ คํ•˜๊ณ  ์Œ์•… ์• ํ˜ธ๊ฐ€๋“ค์ด ๋” ์‰ฝ๊ฒŒ ์Œ์•…์„ ์ž‘๊ณกํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ AI ๊ธฐ๋ฐ˜ ์Œ์•… ๊ณต์œ  ์ปค๋ฎค๋‹ˆํ‹ฐ์ž…๋‹ˆ๋‹ค.

Wanyin์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ์Œ์•…์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ์ž‘์—…์€ ์‚ฌ์šฉ์ž์˜ ์ด์ „ ํ–‰๋™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ด€์‹ฌ ์žˆ๋Š” ์Œ์•…์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ถ”์ฒœ ์‹œ์Šคํ…œ ๋ชจ๋ธ๋กœ ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง(์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ CF)๊ณผ ํ•ญ๋ชฉ ๊ธฐ๋ฐ˜ ํ˜‘์—… ํ•„ํ„ฐ๋ง(ํ•ญ๋ชฉ ๊ธฐ๋ฐ˜ CF)์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ๊ณ ์ „์ ์ธ ๋ชจ๋ธ์„ ์ž ์žฌ์  ์ถ”์ฒœ ์‹œ์Šคํ…œ ๋ชจ๋ธ๋กœ ํ‰๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ CF๋Š” ์œ ์‚ฌ์„ฑ ํ†ต๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํ˜ธ๋„๋‚˜ ๊ด€์‹ฌ์‚ฌ๊ฐ€ ๋น„์Šทํ•œ ์ด์›ƒ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰๋œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ด์›ƒ ์‚ฌ์šฉ์ž ์ง‘ํ•ฉ์„ ํ†ตํ•ด ์‹œ์Šคํ…œ์€ ๋Œ€์ƒ ์‚ฌ์šฉ์ž์˜ ๊ด€์‹ฌ์‚ฌ๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ์ถ”์ฒœ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Amazon์—์„œ ๋„์ž…ํ•œ ํ•ญ๋ชฉ ๊ธฐ๋ฐ˜ CF ๋˜๋Š” ํ•ญ๋ชฉ ๊ฐ„(I2I) CF๋Š” ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์ž˜ ์•Œ๋ ค์ง„ ํ˜‘์—… ํ•„ํ„ฐ๋ง ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹Œ ํ•ญ๋ชฉ ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ๊ณ„์‚ฐํ•˜๋ฉฐ, ๊ด€์‹ฌ ์žˆ๋Š” ํ•ญ๋ชฉ์€ ๋†’์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์€ ํ•ญ๋ชฉ๊ณผ ์œ ์‚ฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฐ€์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜ CF๋Š” ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ์ผ์ • ์ง€์ ์„ ๋„˜์–ด๊ฐ€๋ฉด ๊ณ„์‚ฐ ์‹œ๊ฐ„์ด ์—„์ฒญ๋‚˜๊ฒŒ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ ์ œํ’ˆ์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์Œ์•… ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด I2I CF๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณก์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋งŽ์ด ๋ณด์œ ํ•˜๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ณก ์ž์ฒด์—์„œ ํŠน์ง• ๋ฒกํ„ฐ(์ž„๋ฒ ๋”ฉ)๋ฅผ ์ถ”์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €ํฌ์˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ด๋Ÿฌํ•œ ๋…ธ๋ž˜๋ฅผ ๋ฉœ ์ฃผํŒŒ์ˆ˜ ์„ธํ”„์ŠคํŠธ๋Ÿผ(MFC)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ปจ๋ณผ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง(CNN)์„ ์„ค๊ณ„ํ•˜์—ฌ ๋…ธ๋ž˜์˜ ํŠน์ง• ์ž„๋ฒ ๋”ฉ์„ ์ถ”์ถœํ•œ ๋‹ค์Œ ์ž„๋ฒ ๋”ฉ ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์Œ์•…์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ”Ž ์ž„๋ฒ ๋”ฉ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ ์—”์ง„ ์„ ํƒํ•˜๊ธฐ

์ด์ œ ํŠน์ง• ๋ฒกํ„ฐ๊ฐ€ ์ƒ๊ฒผ์œผ๋‹ˆ ๋‚จ์€ ๋ฌธ์ œ๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฒกํ„ฐ ์ค‘์—์„œ ํƒ€๊ฒŸ ๋ฒกํ„ฐ์™€ ์œ ์‚ฌํ•œ ๋ฒกํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ž„๋ฒ ๋”ฉ ๊ฒ€์ƒ‰ ์—”์ง„์— ๊ด€ํ•ด์„œ๋Š” Faiss์™€ Milvus ์‚ฌ์ด์—์„œ ๊ณ ๋ฏผํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. 2019๋…„ 11์›”์— ๊นƒํ—ˆ๋ธŒ์˜ ์ธ๊ธฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด๋˜ ์ค‘ Milvus๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ดํŽด๋ณด๋‹ˆ ์ถ”์ƒ์ ์ธ API๊ฐ€ ๋งˆ์Œ์— ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. (๋‹น์‹œ์—๋Š” v0.5.x ๋ฒ„์ „์ด์—ˆ๊ณ  ์ง€๊ธˆ์€ v0.10.2 ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.)

์ €ํฌ๋Š” Faiss๋ณด๋‹ค Milvus๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ํ•œํŽธ์œผ๋กœ๋Š” ์ด์ „์— Faiss๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์ด ์žˆ์–ด์„œ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์‹œ๋„ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ•œํŽธ์œผ๋กœ, Milvus์— ๋น„ํ•ด Faiss๋Š” ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๊ฐ€๊น๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ€๋ฒ„์Šค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณธ ๊ฒฐ๊ณผ, ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ ๋•Œ๋ฌธ์— ๊ฒฐ๊ตญ ๋ฐ€๋ฒ„์Šค๋ฅผ ์ฑ„ํƒํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค:

  • Milvus๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ž์ฒด ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋”ฐ๋ผ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ๋” ๋งŽ์€ ์ธ๋ฑ์Šค๋ฅผ ์ง€์›ํ•˜๋ฉฐ ์ž์„ธํ•œ ์ง€์› ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•ด, Milvus๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งค์šฐ ์นœ์ˆ™ํ•˜๋ฉฐ ๋ฌธ์„œ๋„ ๋งค์šฐ ์ƒ์„ธํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋Œ€๊ฐœ ๋ฌธ์„œ์—์„œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ Milvus ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ง€์›์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Milvus ํด๋Ÿฌ์Šคํ„ฐ ์„œ๋น„์Šค โ˜ธ๏ธ โฉ

Milvus๋ฅผ ํ”ผ์ฒ˜ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์—”์ง„์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ํ›„, ๊ฐœ๋ฐœ(DEV) ํ™˜๊ฒฝ์—์„œ ๋…๋ฆฝํ˜• ๋…ธ๋“œ๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉฐ์น  ๋™์•ˆ ์ž˜ ์‹คํ–‰๋˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณต์žฅ ์Šน์ธ ํ…Œ์ŠคํŠธ(FAT) ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ๊ณ„ํš์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ๋…๋ฆฝํ˜• ๋…ธ๋“œ๊ฐ€ ์ถฉ๋Œํ•˜๋ฉด ์ „์ฒด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Milvus๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ƒค๋”ฉ ๋ฏธ๋“ค์›จ์–ด์ธ Mishards์™€ ๊ตฌ์„ฑ์„ ์œ„ํ•œ Milvus-Helm์„ ๋ชจ๋‘ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Milvus ํด๋Ÿฌ์Šคํ„ฐ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๊ณผ์ •์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  Kubernetes์— ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ํŒจํ‚ค์ง•ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. Milvus์˜ ๋ฌธ์„œ์— ์žˆ๋Š” ์•„๋ž˜ ๋‹ค์ด์–ด๊ทธ๋žจ์€ Mishards์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค:

1-how-mishards-works-in-milvus-documentation.png 1-how-mishards-works-in-milvus-documentation.png

Mishards๋Š” ์—…์ŠคํŠธ๋ฆผ์—์„œ ํ•˜์œ„ ๋ชจ๋“ˆ๋กœ ์š”์ฒญ์„ ์บ์Šค์ผ€์ด๋“œํ•˜์—ฌ ์—…์ŠคํŠธ๋ฆผ ์š”์ฒญ์„ ๋ถ„ํ• ํ•œ ๋‹ค์Œ ํ•˜์œ„ ์„œ๋น„์Šค์˜ ๊ฒฐ๊ณผ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์—…์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ์ƒค๋“œ ๊ธฐ๋ฐ˜ ํด๋Ÿฌ์Šคํ„ฐ ์†”๋ฃจ์…˜์˜ ์ „์ฒด ์•„ํ‚คํ…์ฒ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค:

2-mishards-based-cluster-solution-architecture.jpg 2-mishards-based-cluster-solution-architecture.jpg

๊ณต์‹ ๋ฌธ์„œ์—์„œ Mishards์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์†Œ๊ฐœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด Mishards๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ €ํฌ ์Œ์•… ์ถ”์ฒœ ์‹œ์Šคํ…œ์—์„œ๋Š” Milvus-Helm์„ ์‚ฌ์šฉํ•˜์—ฌ ์“ฐ๊ธฐ ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ 1๊ฐœ, ์ฝ๊ธฐ ์ „์šฉ ๋…ธ๋“œ 2๊ฐœ, Mishards ๋ฏธ๋“ค์›จ์–ด ์ธ์Šคํ„ด์Šค 1๊ฐœ๋ฅผ Kubernetes์— ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•œ๋™์•ˆ FAT ํ™˜๊ฒฝ์—์„œ ์„œ๋น„์Šค๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์‹คํ–‰ํ•œ ํ›„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ์•ˆ์ •์ ์œผ๋กœ ์šด์˜๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐ŸŽง I2I ์Œ์•… ์ถ”์ฒœ ๐ŸŽถ

์•ž์„œ ๋ง์”€๋“œ๋ฆฐ ๊ฒƒ์ฒ˜๋Ÿผ ๊ธฐ์กด ๊ณก์—์„œ ์ถ”์ถœํ•œ ์ž„๋ฒ ๋”ฉ์„ ํ™œ์šฉํ•ด ์™„์ธ์˜ I2I ์Œ์•… ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋กœ๋“œํ•œ ์‹ ๊ณก์˜ ๋ณด์ปฌ๊ณผ BGM์„ ๋ถ„๋ฆฌ(ํŠธ๋ž™ ๋ถ„๋ฆฌ)ํ•˜๊ณ , ํ•ด๋‹น ๊ณก์˜ ํŠน์ง• ํ‘œํ˜„์œผ๋กœ BGM ์ž„๋ฒ ๋”ฉ์„ ์ถ”์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์›๊ณก์˜ ์ปค๋ฒ„ ๋ฒ„์ „์„ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐ๋„ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋Ÿฌํ•œ ์ž„๋ฒ ๋”ฉ์„ Milvus์— ์ €์žฅํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋“ค์€ ๋…ธ๋ž˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ์‚ฌํ•œ ๋…ธ๋ž˜๋ฅผ ๊ฒ€์ƒ‰ํ•œ ๋‹ค์Œ ๊ฒ€์ƒ‰๋œ ๋…ธ๋ž˜๋ฅผ ์ •๋ ฌ ๋ฐ ์žฌ๋ฐฐ์—ดํ•˜์—ฌ ์Œ์•… ์ถ”์ฒœ์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค:

3-music-recommender-system-implementation.png 3-music-recommender-system-implementation.png

๐Ÿšซ ์ค‘๋ณต ๋…ธ๋ž˜ ํ•„ํ„ฐ

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

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

์ด์ „ ์‹œ๋‚˜๋ฆฌ์˜ค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์œ ์‚ฌํ•œ ํŠน์ง• ๋ฒกํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ค‘๋ณต ๊ณก ํ•„ํ„ฐ๋ง์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋ณด์ปฌ๊ณผ BGM์„ ๋ถ„๋ฆฌํ•˜๊ณ  Milvus๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ ์‚ฌํ•œ ๊ณก์„ ๋‹ค์ˆ˜ ๊ฒ€์ƒ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ์ค‘๋ณต๊ณก ํ•„ํ„ฐ๋ง์„ ์œ„ํ•ด ๋Œ€์ƒ ๊ณก๊ณผ ์œ ์‚ฌ ๊ณก์˜ ์˜ค๋””์˜ค ์ง€๋ฌธ์„ ์ถ”์ถœํ•˜๊ณ (์—์ฝ”ํ”„๋ฆฐํŠธ, ํฌ๋กœ๋งˆํ”„๋ฆฐํŠธ ๋“ฑ์˜ ๊ธฐ์ˆ ๋กœ), ๋Œ€์ƒ ๊ณก์˜ ์˜ค๋””์˜ค ์ง€๋ฌธ๊ณผ ๊ฐ ์œ ์‚ฌ ๊ณก์˜ ์ง€๋ฌธ ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ณ„์‚ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ ์‚ฌ๋„๊ฐ€ ์ž„๊ณ„๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด ํ•ด๋‹น ๊ณก์„ ๋Œ€์ƒ ๊ณก์˜ ์ค‘๋ณต ๊ณก์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋””์˜ค ์ง€๋ฌธ ๋งค์นญ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ด ์ค‘๋ณต ๊ณก์„ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฉ๋Œ€ํ•œ ์Œ์•… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋…ธ๋ž˜๋ฅผ ํ•„ํ„ฐ๋งํ•  ๋•Œ๋Š” Milvus๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ๋น„ ๋‹จ๊ณ„๋กœ ํ›„๋ณด ์ค‘๋ณต ๋…ธ๋ž˜๋ฅผ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

4-using-milvus-filter-songs-music-recommender-duplicates.png 4-์‚ฌ์šฉ-๋ฐ€๋ฒ„์Šค-ํ•„ํ„ฐ-๊ณก-์Œ์•…-์ถ”์ฒœ-๋“€ํ”Œ๋ฆฌ์ผ€์ดํŠธ.png

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

์™„์ธ ์•ฑ ๐ŸŽถ์„ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”. (์ฐธ๊ณ : ์ผ๋ถ€ ์•ฑ ์Šคํ† ์–ด์—์„œ๋Š” ์ œ๊ณต๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

๐Ÿ“ ์ €์ž:

Jason, Stepbeats์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—”์ง€๋‹ˆ์–ด Shiyu Chen, Zilliz์˜ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด

๐Ÿ“š ์ฐธ๊ณ ์ž๋ฃŒ:

๋ฏธ์ƒค์ฆˆ ๋ฌธ์„œ: https://milvus.io/docs/v0.10.2/mishards.md ๋ฏธ์ƒค์ฆˆ: https://github.com/milvus-io/milvus/tree/master/shards ๋ฐ€๋ฒ„์Šค-ํ—ฌ๋ฆ„: https://github.com/milvus-io/milvus-helm/tree/master/charts/milvus

๐Ÿค— ๋‚ฏ์„  ์‚ฌ๋žŒ์ด ๋˜์ง€ ๋งˆ์‹œ๊ณ  ํŠธ์œ„ํ„ฐ์—์„œ ํŒ”๋กœ์šฐํ•˜๊ฑฐ๋‚˜ Slack์— ๊ฐ€์ž…ํ•˜์„ธ์š”!๐Ÿ‘‡๐Ÿป

Like the article? Spread the word

๊ณ„์† ์ฝ๊ธฐ