์ด๊ฒ์ ์ต์ ๋ฆด๋ฆฌ์ค๋ฅผ v1.7.3.zip์ผ๋ก ๋ค์ด๋ก๋ํ ์ ์๋ Faiss๋ผ๋ Windows ์ฑ์ ๋๋ค. ์ํฌ์คํ ์ด์ ์ฉ ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์ธ OnWorks์์ ์จ๋ผ์ธ์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
Faiss with OnWorks๋ผ๋ ์ฑ์ ๋ฌด๋ฃ๋ก ์จ๋ผ์ธ์ผ๋ก ๋ค์ด๋ก๋ํ์ฌ ์คํํด ๋ณด์ธ์.
์ด ์ฑ์ ์คํํ๋ ค๋ฉด ๋ค์ ์ง์นจ์ ๋ฐ๋ฅด์ธ์.
- 1. ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ PC์ ๋ค์ด๋ก๋ํ์ต๋๋ค.
- 2. ํ์ผ ๊ด๋ฆฌ์ https://www.onworks.net/myfiles.php?username=XXXXX์ ์ํ๋ ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
- 3. ์ด๋ฌํ ํ์ผ ๊ด๋ฆฌ์์์ ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ๋ก๋ํฉ๋๋ค.
- 4. ์ด ์น์ฌ์ดํธ์์ ๋ชจ๋ OS OnWorks ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํ์ง๋ง ๋ ๋์ Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํฉ๋๋ค.
- 5. ๋ฐฉ๊ธ ์์ํ OnWorks Windows OS์์ ์ํ๋ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ํ์ผ ๊ด๋ฆฌ์ https://www.onworks.net/myfiles.php?username=XXXXX๋ก ์ด๋ํฉ๋๋ค.
- 6. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํฉ๋๋ค.
- 7. Linux ๋ฐฐํฌ ์ํํธ์จ์ด ์ ์ฅ์์์ Wine์ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ค์น๊ฐ ์๋ฃ๋๋ฉด ์ฑ์ ๋ ๋ฒ ํด๋ฆญํ์ฌ Wine๊ณผ ํจ๊ป ์คํํ ์ ์์ต๋๋ค. ์ธ๊ธฐ ์๋ Windows ํ๋ก๊ทธ๋จ ๋ฐ ๊ฒ์์ ์ค์นํ๋ ๋ฐ ๋์์ด ๋๋ Wine์ ํตํ ๋ฉ์ง ์ธํฐํ์ด์ค์ธ PlayOnLinux๋ฅผ ์ฌ์ฉํด ๋ณผ ์๋ ์์ต๋๋ค.
Wine์ Linux์์ Windows ์ํํธ์จ์ด๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ด์ง๋ง Windows๊ฐ ํ์ํ์ง ์์ต๋๋ค. Wine์ ๋ชจ๋ Linux ๋ฐ์คํฌํ์์ ์ง์ Windows ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ ์คํ ์์ค Windows ํธํ์ฑ ๊ณ์ธต์ ๋๋ค. ๋ณธ์ง์ ์ผ๋ก Wine์ Windows๊ฐ ํ์ํ์ง ์๊ณ ๋ชจ๋ Windows ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋๋ก Windows๋ฅผ ์ฒ์๋ถํฐ ์ถฉ๋ถํ ๋ค์ ๊ตฌํํ๋ ค๊ณ ํฉ๋๋ค.
์คํฌ๋ฆฐ ์ท
Ad
ํ์ด์ค
๊ธฐ์
Faiss๋ ํจ์จ์ ์ธ ์ ์ฌ์ฑ ๊ฒ์ ๋ฐ ๋ฐ์ง ๋ฒกํฐ ํด๋ฌ์คํฐ๋ง์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์ฌ๊ธฐ์๋ RAM์ ๋ง์ง ์๋ ๋ฒกํฐ๊น์ง ๋ชจ๋ ํฌ๊ธฐ์ ๋ฒกํฐ ์งํฉ์ ๊ฒ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ํ ํ๊ฐ ๋ฐ ๋งค๊ฐ๋ณ์ ์กฐ์ ์ ์ํ ์ง์ ์ฝ๋๋ ํฌํจ๋์ด ์์ต๋๋ค. Faiss๋ Python/numpy์ ๋ํ ์์ ํ ๋ํผ์ ํจ๊ป C++๋ก ์์ฑ๋์์ต๋๋ค. ๊ฐ์ฅ ์ ์ฉํ ์๊ณ ๋ฆฌ์ฆ ์ค ์ผ๋ถ๋ GPU์์ ๊ตฌํ๋ฉ๋๋ค. ํ์ด์ค๋ถ AI ๋ฆฌ์์น(Facebook AI Research)๊ฐ ๊ฐ๋ฐํ์ต๋๋ค. Faiss์๋ ์ ์ฌ์ฑ ๊ฒ์์ ์ํ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ธ์คํด์ค๋ ๋ฒกํฐ๋ก ํํ๋๊ณ ์ ์๋ก ์๋ณ๋๋ฉฐ ๋ฒกํฐ๋ L2(์ ํด๋ฆฌ๋) ๊ฑฐ๋ฆฌ ๋๋ ๋ด์ ๊ณผ ๋น๊ตํ ์ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์ฟผ๋ฆฌ ๋ฒกํฐ์ ์ ์ฌํ ๋ฒกํฐ๋ L2 ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๋ฎ๊ฑฐ๋ ์ฟผ๋ฆฌ ๋ฒกํฐ์์ ๋ด์ ์ด ๊ฐ์ฅ ๋์ ๋ฒกํฐ์ ๋๋ค. ๋ํ ์ ๊ทํ๋ ๋ฒกํฐ์ ๋ด์ ์ด๋ฏ๋ก ์ฝ์ฌ์ธ ์ ์ฌ์ฑ์ ์ง์ํฉ๋๋ค.
๊ธฐ๋ฅ
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๋ถ๋ถ C++๋ก ๊ตฌํ๋๋ฉฐ CUDA๋ฅผ ํตํด ์ ๊ณต๋๋ ์ ํ์ GPU ์ง์๊ณผ ์ ํ์ Python ์ธํฐํ์ด์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- Faiss๋ ๊ณ ์ ์ฐจ์ d(์ผ๋ฐ์ ์ผ๋ก ๋ช 10~100์ด)์ ๋ฒกํฐ ์ปฌ๋ ์ ์ ์ฒ๋ฆฌํฉ๋๋ค.
- CPU ๋ฒ์ ์๋ BLAS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. Makefile๋ก ์ปดํ์ผ๋๋ฉฐ docker ์ด๋ฏธ์ง๋ก ํจํค์ง๋ ์ ์์ต๋๋ค.
- Faiss๋ ๋ฒกํฐ ์ธํธ๋ฅผ ์ ์ฅํ๋ ์ธ๋ฑ์ค ์ ํ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ผ๋ฉฐ L2 ๋ฐ/๋๋ ๋ด์ ๋ฒกํฐ ๋น๊ต๋ฅผ ํตํด ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ ํ์ GPU ๊ตฌํ์ ๊ณ ์ฐจ์ ๋ฒกํฐ์ ๋ํ ๊ฐ์ฅ ๋น ๋ฅด๊ณ ์ ํํ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์ ๊ฒ์ ๊ตฌํ์ ์ ๊ณตํฉ๋๋ค.
- Faiss๋ Index ๊ฐ์ฒด๋ฅผ ์ค์ฌ์ผ๋ก ๊ตฌ์ถ๋์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฒกํฐ ์ธํธ๋ฅผ ์บก์ํํ๊ณ ์ ํ์ ์ผ๋ก ๊ฒ์์ ํจ์จ์ ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด ์ฌ์ ์ฒ๋ฆฌํฉ๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
C + +
์นดํ ๊ณ ๋ฆฌ
์ด๋ https://sourceforge.net/projects/faiss.mirror/์์๋ ๊ฐ์ ธ์ฌ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ๋ฌด๋ฃ ์ด์ ์์คํ ์ค ํ๋์์ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ์จ๋ผ์ธ์ผ๋ก ์คํํ๊ธฐ ์ํด OnWorks์์ ํธ์คํ ๋์์ต๋๋ค.