๐ ์๋งจํฑ ์บ์ฑ โ LLM ํ์ฅ์ ์ํ ์์คํ ์ค๊ณ ๋น๋ฐ ๐ง ๐ธ
Source: Dev.to
์ ๋งํฌ์ ํฌํจ๋ ์ ์ฒด ํ ์คํธ๋ฅผ ์ ๊ณตํด ์ฃผ์๋ฉด, ํด๋น ๋ด์ฉ์ ํ๊ตญ์ด๋ก ๋ฒ์ญํด ๋๋ฆฌ๊ฒ ์ต๋๋ค. (์ฝ๋ ๋ธ๋ก, URL ๋ฐ ๊ธฐ์ ์ฉ์ด๋ ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค.)
์๊ฐ
์ฐ๋ฆฌ ์๋ก์ด ์๋ฆฌ์ฆ AI at Scale์ ์ฒซ ๋ฒ์งธ ํธ์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค. ๐
์ฐ๋ฆฌ๋ ์ง๋ ์ฃผ์ โResiliency Fortressโ๋ฅผ ๊ตฌ์ถํ์ต๋๋คโ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ Thundering Herds๋ก๋ถํฐ, ์๋น์ค๋ Cascading Failures๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค. ํ์ง๋ง ์ด์ ์ด์ ์ LLM๊ณผ ์์ฑ AI๋ก ์ฎ๊ธฐ๋ฉด์ ์์ ํ ์๋ก์ด ๋ณ๋ชฉ ํ์์ด ๋ํ๋ฌ์ต๋๋ค.
์ ํต์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋น ๋ฅด๊ณ ์ ๋ ดํฉ๋๋ค. LLM์ ๋๋ฆฌ๊ณ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค.
ํ๋ก๋์ ์์ค์ AI ์ฑ์ ๊ตฌ์ถํ๋ ์์ง๋์ด ๐ท๐ปโโ๏ธ๋ผ๋ฉด, ๋ชจ๋ ์ฌ์ฉ์ ์์ฒญ๋ง๋ค LLM API๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ๋ง๋ํ ํด๋ผ์ฐ๋ ๋น์ฉ๊ณผ ๋๋ฆฐ ์ฌ์ฉ์ ๊ฒฝํ์ ์ด๋ํ๋ค๋ ๊ฒ์ ๊ธ๋ฐฉ ๊นจ๋ซ๊ฒ ๋ ๊ฒ์ ๋๋ค.
ํด๊ฒฐ์ฑ ? Semantic Caching.
๋ฌธ์ : ์ ํต์ ์ธ ์บ์ฑ์ด AI์์ ์คํจํ๋ ์ด์
์ด์ ํฌ์คํธ๋ค์์ ์ฐ๋ฆฌ๋ ํคโ๊ฐ ์บ์ฑ(์: Redis)์ ์ฌ์ฉํ์ต๋๋ค. ์ฌ์ฉ์๊ฐ โTaylorโฏSwiftโs Birthdayโ๋ฅผ ๋ฌผ์ด๋ณด๋ฉด, ํค๋ ์ ํํ ๊ทธ ๋ฌธ์์ด์ด ๋ฉ๋๋ค. ๋ค์ ์ฌ์ฉ์๊ฐ ๋ค์ โTaylorโฏSwiftโs Birthdayโ๋ฅผ ๋ฌผ์ด๋ณด๋ฉด, ์ฐ๋ฆฌ๋ ๋งค์น๋ฅผ ์ฐพ์ต๋๋ค.
ํ์ง๋ง ์์ฐ์ด ์ธ๊ณ์์๋ ์ฌ์ฉ์๊ฐ ๊ฐ์ ๋ด์ฉ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฌป์ง ์์ต๋๋ค:
- UserโฏA: โWhat is TaylorโฏSwiftโs birthday?โ
- UserโฏB: โWhen was TaylorโฏSwift born?โ
- UserโฏC: โBirthday of TaylorโฏSwift?โ
์ ํต์ ์ธ ์บ์ ์ ์ฅ์์๋ ์ด ์ธ ๊ฐ์ง๊ฐ ์๋ก ๋ค๋ฅธ ํค์ ๋๋ค. LLM ์ ์ฅ์์๋ ๋์ผํ ์๋๋ฅผ ๋ํ๋ ๋๋ค. ๋ฐ๋ผ์ ์ ํต์ ์ธ ์บ์ฑ์ ์ฌ๊ธฐ์ 0โฏ% ํํธ์จ์ ๋ณด์ด๋ฉฐ, ๊ฐ์ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ์ธ ๋ฒ์ ๋น์ฉ์ด ๋ง์ด ๋๋ API ํธ์ถ์ ๊ฐ์ํฉ๋๋ค.
์๋ฏธ ๊ธฐ๋ฐ ์บ์ฑ์ด๋?
Semantic Caching์ ๊ธ์๋ฅผ ๋ณด์ง ์๊ณ ์๋ฏธ๋ฅผ ๋ด ๋๋ค. ๊ฐ๋จํ์ฃ !
๋ฌธ์์ด์ ์ ์ฅํ๋ ๋์ ๋ฒกํฐ(์๋ฏธ๋ฅผ ์ํ์ ์ผ๋ก ํํํ ๊ฒ)๋ฅผ ์ ์ฅํฉ๋๋ค. ์๋ก์ด ์ง๋ฌธ์ด ๋ค์ด์ค๋ฉด ์ด๋ฅผ ๋ฒกํฐ๋ก ๋ณํํ๊ณ ์บ์์๊ฒ ๋ฌป์ต๋๋ค: โ์ด์ ์ํ์ ์ผ๋ก ์ถฉ๋ถํ ๊ฐ๊น์ด ๊ฒ์ด ์๋์?โ
3โ๋จ๊ณ ์ํฌํ๋ก์ฐ
- Embedding โ ์ฌ์ฉ์์ ํ๋กฌํํธ๋ฅผ ์๋ฒ ๋ฉ ๋ชจ๋ธ(์: OpenAI์
textโembeddingโ3โsmall)์ ์ฌ์ฉํด ๋ฒกํฐ๋ก ๋ณํํฉ๋๋ค. - Vector Search โ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Pinecone, Milvus, ๋๋ ๋ฒกํฐ๋ฅผ ์ง์ํ๋ Redis)์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ด์์ ๊ฒ์ํฉ๋๋ค.
- Similarity Threshold โ ์๋ก์ด ํ๋กฌํํธ์ ์บ์๋ ํ๋กฌํํธ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ ์ฌ๋๊ฐ ๋งค์ฐ ๋์ ๊ฒฝ์ฐ(์:โฏ0.98), ์บ์๋ ์๋ต์ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด LLM์ ํธ์ถํฉ๋๋ค.
โ์ค์ โ ๋์ ๊ณผ์ : ๋ฌด์์ด ์๋ชป๋ ์ ์์๊น?
1. ์ ์ฌ๋ ์๊ณ๊ฐ (๊ณจ๋๋ฝ์ค ๋ฌธ์ )
- ๋๋ฌด ๋์ (0.99) โ ์บ์ ์ ์ค์ด ๋๋ฌผ๋ฉฐ, ์ฌ์ ํ ๋ฒกํฐ ๊ฒ์ ๋ฐ LLM ํธ์ถ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค.
- ๋๋ฌด ๋ฎ์ (0.85) โ โ์ผ์ดํฌ ๊ตฝ๋ ๋ฐฉ๋ฒโ์ ๋ํ ๋ต๋ณ์ โํ์ด ๋ง๋๋ ๋ฐฉ๋ฒโ์ ๋ฌป๋ ์ฌ๋์๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ ์ ํ ์ง์ ์ ์ฐพ์ผ๋ ค๋ฉด ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง๊ณผ ๋ฏธ์ธ ์กฐ์ ์ด ํ์ํฉ๋๋ค.
2. ์บ์ ์ค๋๋จ (โ์ง์คโ ๋ฌธ์ )
์ฌ์ฉ์๊ฐ โApple์ ํ์ฌ ์ฃผ๊ฐ๊ฐ ์ผ๋ง์ธ๊ฐ์?โ ๋ผ๊ณ ๋ฌผ์์ ๋, 3์๊ฐ ์ ์ ์บ์๋ ๋ต๋ณ์ ์ ๊ณตํ๋ค๋ฉด ์ด๋ ์คํจ์ ๋๋ค. ์ ์ ๋ฐ์ดํฐ์ ๋ฌ๋ฆฌ ์๋ฏธ ๊ธฐ๋ฐ ์บ์๋ ์ข ์ข ๋ฉํ๋ฐ์ดํฐ ํํฐ๋ง์ด ํ์ํฉ๋๋ค (์: โ๋ฐ์ดํฐ๊ฐ 5๋ถ ๋ฏธ๋ง์ผ ๋๋ง ์ด ์บ์๋ฅผ ์ฌ์ฉโ).
์ด๊ฒ์ด ๋น์ ์ ๊ฒฝ๋ ฅ์ ์ค์ํ ์ด์
์ต๊ณ ์์ค์ ๊ธฐ์ ์ ๋ฉด์ ์ ๋ณผ ๋, ๊ทธ๋ค์ ๋จ์ํ โAPI์ ์ฐ๊ฒฐํ ์ ์๋โ ์ฌ๋์ ์ฐพ๋ ๊ฒ์ด ์๋๋๋ค. ์ต์ ํํ ์ ์๋ ์ค๊ณ์๋ฅผ ์ํฉ๋๋ค.
์๋งจํฑ ์บ์ฑ์ ์ธ๊ธํ๋ฉด ๋ค์์ ์ดํดํ๊ณ ์์์ ๋ณด์ฌ์ค๋๋ค:
- ๋น์ฉ ๊ด๋ฆฌ โ ํ ํฐ ์ฌ์ฉ๋ ๊ฐ์.
- ์ง์ฐ ์๊ฐ ์ต์ ํ โ 2์ด ๊ฑธ๋ฆฌ๋ LLM ๋๊ธฐ ์๊ฐ์ 50โฏms ์บ์ ์ ์ค์ผ๋ก ๋จ์ถ.
- ๋ฒกํฐ ์ธํ๋ผ โ ํ๋ AI์ ํต์ฌ์ธ ๋ฐฑ๋ณธ์ ๋ํ ๊ฒฝํ.
๋ง๋ฌด๋ฆฌ ๐
Semantic Caching์ ๋ณธ์ง์ ์ผ๋ก AI ์๋๋ฅผ ์ํ โCelebrity Problemโ ํด๊ฒฐ์ฑ ์ ๋๋ค. ์ค๋ณต ์์ ์ ๋ฐฉ์งํ๊ณ ์๋ฐฑ๋ง ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ์ฅํ ๋ ์ธํ๋ผ๋ฅผ ๊ฐ๋ณ๊ฒ ์ ์งํฉ๋๋ค.
โAI at Scaleโ ์๋ฆฌ์ฆ ๋ค์ ํธ: Vector Database Sharding โ ์ ์ ์ด ๋๊ฐ์ง ์๊ณ ์์ญ์ต ๊ฐ์ ์๋ฒ ๋ฉ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ.
๋น์ ์๊ฒ ์ง๋ฌธ: ์๋งจํฑ ์บ์ฑ์ ๊ตฌํํ๋ค๋ฉด, ์ ํ๋์ ๋น์ฉ ์ ๊ฐ ์ฌ์ด์ โ์ต์ ์ โ์ด๋ผ๊ณ ์๊ฐํ๋ ์ ์ฌ๋ ์๊ณ๊ฐ(์:โฏ0.92,โฏ0.95)์ ๋ฌด์์ธ๊ฐ์? ์๋์ ์ฌ๋ฌ๋ถ์ ์์น๋ฅผ ๊ณต์ ํด์ฃผ์ธ์! ๐