HyDE๋
TMT๐ก HyDE๋?
**HyDE (Hypothetical Document Embeddings)**๋ OpenAI๊ฐ ์ ์ํ ๊ธฐ๋ฒ์ผ๋ก,
**"์ง๋ฌธ(query)์ ๋ํ ์ค์ ๋ฌธ์๋ฅผ ์์ฑํ๊ณ , ๊ทธ ๋ฌธ์์ ์๋ฒ ๋ฉ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์์ ์ํํ๋ ๋ฐฉ์"**์
๋๋ค.
๐ HyDE์ ํต์ฌ ์์ด๋์ด
์ผ๋ฐ์ ์ธ RAG (Retrieval-Augmented Generation) ์์คํ ์์๋ ๋ค์๊ณผ ๊ฐ์ ํ๋ฆ์ ๊ฐ์ง๋๋ค:
์ง๋ฌธ โ ์๋ฒ ๋ฉ โ ๋ฒกํฐ DB์์ ์ ์ฌ ๋ฌธ์ ๊ฒ์ โ LLM์ ์ ๋ฌ
ํ์ง๋ง ์ด ๊ฒฝ์ฐ, ์งง๊ณ ๋ถ์์ ํ ์ง๋ฌธ์ ๊ฒ์ ์ฑ๋ฅ์ด ๋ฎ์ ์ ์์ต๋๋ค.
HyDE๋ ์ฌ๊ธฐ์ ํ ๋จ๊ณ๋ฅผ ๋ ์ถ๊ฐํฉ๋๋ค:
์ง๋ฌธ โ LLM์ด "๊ฐ์์ ๋ต๋ณ(Hypothetical Answer)" ์์ฑ
โ
์ด ๊ฐ์์ ๋ฌธ์(๋๋ ๋ต๋ณ)๋ฅผ ๋ฒกํฐํ
โ
์ด ์๋ฒ ๋ฉ์ ์ด์ฉํด ๋ฒกํฐ DB์์ ์ ์ฌ ๋ฌธ์ ๊ฒ์
โ
๊ฒ์๋ ๋ฌธ์๋ฅผ ์ค์ LLM ์๋ต์ ํ์ฉ
์ฆ, **"์ข์ ์ง๋ฌธ์ด ์๋๋ฉด, ๋จผ์ ์ข์ ๋ต์ ์์ํด์ ๋ฌธ์๋ฅผ ์ฐพ์"**๋ ์ ๊ทผ์ด์์.
๐ HyDE vs ์ผ๋ฐ RAG
ํญ๋ชฉ | ์ผ๋ฐ RAG | HyDE |
---|---|---|
์๋ฒ ๋ฉ ๊ธฐ์ค | ์ฌ์ฉ์ ์ฟผ๋ฆฌ ์์ฒด | LLM์ด ์์ฑํ ๊ฐ์ ๋ฌธ์ |
๊ฒ์ ์ ํ๋ | ์ฟผ๋ฆฌ๊ฐ ๋ชจํธํ๋ฉด ๋ฎ์ | ๋์ ๊ฐ๋ฅ์ฑ (๋ ๊ธด ํ ์คํธ, ๋ฌธ๋งฅ ํฌํจ) |
์ ์ฉ์ฑ | ์ฟผ๋ฆฌ๊ฐ ๋ช ํํ ๊ฒฝ์ฐ์ ์ ํฉ | ์ฟผ๋ฆฌ๊ฐ ๋ถ๋ช ํํ๊ฑฐ๋ ์งง์ ๊ฒฝ์ฐ ์ ๋ฆฌ |
๐ ๏ธ HyDE์ ๊ตฌ์ฑ ์์
- Query: ์ฌ์ฉ์ ์ง๋ฌธ
- LLM: ๊ฐ์์ ๋ฌธ์(๋๋ ๋ต๋ณ)๋ฅผ ์์ฑ (์: "์ด ์ง๋ฌธ์ ๋ํ ๋ฌธ์๋ฅผ ํ๋ ๋ง๋ค์ด์ค")
- Embedding Model: ์์ฑ๋ ๋ฌธ์๋ฅผ ๋ฒกํฐํ
- Vector DB: ์ด ๋ฒกํฐ๋ก ์ค์ ๋ฌธ์ ๊ฒ์
- LLM ์๋ต ์์ฑ: ๊ฒ์๋ ๋ฌธ์๋ฅผ ๋ฐํ์ผ๋ก ์ค์ ๋ต๋ณ ์์ฑ
๐ HyDE์ ์ค์ ์ฌ์ฉ ์ (์์)
์ง๋ฌธ: "์ฟ ๋ฒ๋คํฐ์ค์์ ํ๋๋ ์ด๋ป๊ฒ ์ค์ผ์ผ๋ง๋๋์?"
HyDE๋ ๋จผ์ LLM์ ์ด์ฉํด ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ๋ฌธ์๋ฅผ ์์ฑํฉ๋๋ค:
"์ฟ ๋ฒ๋คํฐ์ค์์ ํ๋๋ Horizontal Pod Autoscaler(HPA)๋ฅผ ํตํด ์๋ ์ค์ผ์ผ๋ง๋ฉ๋๋ค..."
โ ์ด ๊ฐ์ ๋ฌธ์๋ฅผ ์๋ฒ ๋ฉํด์ ๊ด๋ จ ๋ฌธ์๋ฅผ ๋ฒกํฐ DB์์ ๊ฒ์
โ ๋ ์ ํํ๊ณ ํ๋ถํ ์ ๋ณด๊ฐ ๋ด๊ธด ๋ต๋ณ ์์ฑ ๊ฐ๋ฅ
๐ค HyDE๋ ์ด๋์ ์ฌ์ฉ๋๋๊ฐ?
- Retrieval + Generation ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถ ์ฑ๋ด
- ๋ชจํธํ๊ฑฐ๋ ์งง์ ์ง๋ฌธ์ด ์์ฃผ ๋ค์ด์ค๋ QA ์์คํ
- ์ฌ๋ด ๋ฌธ์ ๊ฒ์ ๋ฐ ์ง๋ฌธ์๋ต ์์คํ
- PR ๋ฆฌ๋ทฐ ๋ณด์กฐ AI, ์ฝ๋๋ฒ ์ด์ค ์ง๋ฌธ ๋ต๋ณ ๋ฑ
๐ง HyDE๊ฐ ์ ํจํ ์ด์
LLM์ "์ด๋ฐ ์ง๋ฌธ์ด๋ฉด ์๋ง ์ด๋ฐ ๋ฌธ์๊ฐ ์๊ฒ ์ง?" ํ๋ ์ฌ์ ์ง์ ๊ธฐ๋ฐ์ ์ถ๋ก ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์,
HyDE๋ ์ด๋ฅผ ํ์ฉํด ๊ฒ์์ ์ ํ๋๋ฅผ ๋ณด์ํ๋ ๊ตฌ์กฐ์
๋๋ค.