ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
CPU Optimized Embeddings with ๐Ÿค— Optimum Intel and fastRAG
Hugging Face BlogHugging Face Blog
AI/ML

Hugging Face Optimum Intel๊ณผ fastRAG๋ฅผ ํ™œ์šฉํ•ด BGE ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์„ CPU ์ตœ์ ํ™”ํ•˜์—ฌ Xeon ๊ธฐ๋ฐ˜ RAG ํŒŒ์ดํ”„๋ผ์ธ์˜ ๋ฌธ์„œ ์ธ๋ฑ์‹ฑยท์ฟผ๋ฆฌ ์ธ์ฝ”๋”ฉยท๋ฆฌ๋žญํ‚น ๋ ˆ์ดํ„ด์‹œ ๋‹จ์ถ•

CPU Optimized Embeddings with ๐Ÿค— Optimum Intel and fastRAG

2024๋…„ 3์›” 15์ผ10๋ถ„intermediate

Context

์˜๋ฏธ ๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ RAG ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์˜ ์ธ์ฝ”๋”ฉ ์—ฐ์‚ฐ์€ ๋†’์€ ์ง€์—ฐ์‹œ๊ฐ„๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ œ์•ฝ์„ ์ดˆ๋ž˜ํ•œ๋‹ค. ํŠนํžˆ ๋Œ€๊ทœ๋ชจ ๋ฌธ์„œ ์ปฌ๋ ‰์…˜ ์ธ๋ฑ์‹ฑ, ์‹ค์‹œ๊ฐ„ ์ฟผ๋ฆฌ ์ธ์ฝ”๋”ฉ, ๋‹ค์ค‘ ๋ฌธ์„œ ๋ฆฌ๋žญํ‚น ๊ณผ์ •์—์„œ ๊ณ„์‚ฐ ํšจ์œจ์„ฑ์ด ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์ด ๋œ๋‹ค.

Technical Solution

  • Optimum Intel ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋„์ž…: Intel AVX-512, VNNI, AMX ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ํ™œ์šฉํ•œ ์ €์ˆ˜์ค€ ๋Ÿฐํƒ€์ž„ ์ตœ์ ํ™” ์ ์šฉ
  • ์ •๋Ÿ‰ํ™” ๊ธฐ๋ฒ• ์ ์šฉ: BGE ๋ชจ๋ธ์„ INT8 ์ •์  ์ •๋Ÿ‰ํ™”(bge-small-en-v1.5-rag-int8-static, bge-large-en-v1.5-rag-int8-static)๋กœ ๋ณ€ํ™˜
  • fastRAG ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—ฐ๋™: QuantizedBiEncoderRetriever์™€ QuantizedBiEncoderRanker ์ปดํฌ๋„ŒํŠธ๋กœ ์ตœ์ ํ™”๋œ ๋ชจ๋ธ์„ RAG ํŒŒ์ดํ”„๋ผ์ธ์— ํ†ตํ•ฉ
  • ๋ฌธ์„œ ์ €์žฅ์†Œ ๊ตฌ์„ฑ: InMemoryDocumentStore ์‚ฌ์šฉ ๋ฐ update_embeddings()๋ฅผ ํ†ตํ•œ ๋ฐฐ์น˜ ์ธ์ฝ”๋”ฉ ์ฒ˜๋ฆฌ
  • ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•: retriever โ†’ ranker 2๋‹จ๊ณ„ ๊ตฌ์กฐ๋กœ ์ดˆ๊ธฐ ๊ฒ€์ƒ‰ ํ›„ ์˜๋ฏธ์  ๋ฆฌ๋žญํ‚น ์ˆ˜ํ–‰

Impact

์•„ํ‹ฐํด์— ์ •๋Ÿ‰์  ์„ฑ๋Šฅ ์ˆ˜์น˜(๋ ˆ์ดํ„ด์‹œ ๊ฐ์†Œ๋Ÿ‰, ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๊ฐ€์œจ, ์—๋„ˆ์ง€ ์†Œ๋น„ ์ ˆ๊ฐ)๊ฐ€ ๋ช…์‹œ๋˜์–ด ์žˆ์ง€ ์•Š์Œ.

Key Takeaway

๊ฒฝ๋Ÿ‰ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ(100-350M ํŒŒ๋ผ๋ฏธํ„ฐ)์€ CPU ๊ธฐ๋ฐ˜ ์˜๋ฏธ ๊ฒ€์ƒ‰์— ์ตœ์ ํ™”๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ •๋Ÿ‰ํ™”์™€ CPU ๊ฐ€์† ๋ช…๋ น์–ด ํ™œ์šฉ์„ ํ†ตํ•ด ์—ฃ์ง€ยท์˜จํ”„๋ ˆ๋ฏธ์Šค ํ™˜๊ฒฝ์—์„œ๋„ RAG ์‹œ์Šคํ…œ์˜ ์‹ค์‹œ๊ฐ„์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.


Xeon CPU ๊ธฐ๋ฐ˜ RAG ์‹œ์Šคํ…œ์„ ์šด์˜ํ•˜๋Š” ํŒ€์—์„œ Optimum Intel์˜ INT8 ์ •๋Ÿ‰ํ™”๋œ BGE ๋ชจ๋ธ(Intel/bge-small-en-v1.5-rag-int8-static ๋“ฑ)๊ณผ fastRAG์˜ QuantizedBiEncoderRetriever/Ranker๋ฅผ ์กฐํ•ฉ ์‚ฌ์šฉํ•˜๋ฉด, ๋ฌธ์„œ ์ธ๋ฑ์‹ฑ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ฆ๋Œ€, ์ฟผ๋ฆฌ ์ธ์ฝ”๋”ฉ ์ง€์—ฐ ๋‹จ์ถ•, ๋ฆฌ๋žญํ‚น ์†๋„ ๊ฐœ์„ ์„ ๋™์‹œ์— ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

์›๋ฌธ ์ฝ๊ธฐ