[AI Paper] ๐ Self-RAG: Learning to Retrieve, Generate, and Critique
๐ Self-RAG: Learning to Retrieve, Generate, and Critique
๐ ๋ฉํ ์ ๋ณด
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ๋ ผ๋ฌธ ์ ๋ชฉ | Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection |
| ์ ์ | Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil, Hannaneh Hajishirzi |
| ์์ | University of Washington, IBM Research AI, Allen Institute for AI |
| ๋ฐํ | ICLR 2024 (Oral Presentation, ์์ 1%) |
| ์ฐ๋ | 2024 |
| arXiv | 2310.11511 |
| GitHub | AkariAsai/self-rag |
| ํ๋ก์ ํธ | selfrag.github.io |
| HuggingFace | selfrag/selfrag_llama2_7b, selfrag/selfrag_llama2_13b |
๐ฏ ํ์ค ์์ฝ
Self-RAG๋ LLM์ด Reflection Token์ ํตํด ๊ฒ์ ํ์์ฑ์ ์ค์ค๋ก ํ๋จํ๊ณ , ๊ฒ์๋ ๋ฌธ์์ ๊ด๋ จ์ฑ๊ณผ ์์ฑ ๊ฒฐ๊ณผ์ ํ์ง์ ์์ฒด ํ๊ฐํ์ฌ ์ฌ์ค์ฑ๊ณผ ์ ํ๋๋ฅผ ํฌ๊ฒ ํฅ์์ํค๋ ์๊ธฐ ๋ฐ์ฑ์ (Self-Reflective) RAG ํ๋ ์์ํฌ์ด๋ค.
๐ ์ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ๋๊ธฐ
LLM์ ๊ทผ๋ณธ์ ํ๊ณ
LLM์ ํ๋ผ๋ฏธํฐ์ ์ธ์ฝ๋ฉ๋ ์ง์(Parametric Knowledge)์๋ง ์์กดํ์ฌ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค:
- ์ฌ์ค์ ์ค๋ฅ(Hallucination): ์กด์ฌํ์ง ์๋ ์ ๋ณด๋ฅผ ๋ง์น ์ฌ์ค์ฒ๋ผ ์์ฑ
- ์ง์ ๋จ์ (Knowledge Cutoff): ํ์ต ๋ฐ์ดํฐ ์ดํ์ ์ ๋ณด์ ๋์ ๋ถ๊ฐ
- ์ ๋ฌธ ๋๋ฉ์ธ ์ทจ์ฝ์ฑ: ํน์ ๋ถ์ผ์ ์ธ๋ถ ์ง์ ๋ถ์กฑ
๊ธฐ์กด RAG์ ํ๊ณ์
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๊ธฐ์กด RAG์ ๊ตฌ์กฐ์ ๋ฌธ์ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Query โโโบ [๋ฌด์กฐ๊ฑด ๊ฒ์] โโโบ Top-K ๋ฌธ์ โโโบ LLM ์์ฑ โ
โ โ
โ ๋ฌธ์ ์ : โ
โ 1. ๊ฒ์ ํ์์ฑ ํ๋จ ์์ด ํญ์ ๊ฒ์ (๋นํจ์จ) โ
โ 2. ๊ฒ์ ๊ฒฐ๊ณผ์ ๊ด๋ จ์ฑ ๊ฒ์ฆ ์์ (๋
ธ์ด์ฆ ์ ์
) โ
โ 3. ์์ฑ ๋ด์ฉ์ด ๊ฒ์ ๋ฌธ์์ ๊ทผ๊ฑฐํ๋์ง ํ์ธ ๋ถ๊ฐ โ
โ 4. ํ์คํฌ๋ณ ์ ์ฐํ ๋์ ์กฐ์ ๋ถ๊ฐ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1. ๋ฌด๋ถ๋ณํ ๊ฒ์ (Indiscriminate Retrieval)
- ๊ธฐ์กด RAG๋ ๊ฒ์์ด ํ์ํ์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ํญ์ ๊ณ ์ ๋ ์์ ๋ฌธ์๋ฅผ ๊ฒ์
- ๊ฐ๋จํ ์์ ์ง๋ฌธ์๋ ๋ถํ์ํ๊ฒ ๊ฒ์ ์ํํ์ฌ ํจ์จ์ฑ ์ ํ
- ์: “2+2๋ ๋ฌด์์ธ๊ฐ?” ๊ฐ์ ์ง๋ฌธ์๋ Wikipedia ๊ฒ์
2. ๊ฒ์ ํ์ง ํ๊ฐ ๋ถ์ฌ
- ๊ฒ์๋ ๋ฌธ์๊ฐ ์ค์ ๋ก ์ฟผ๋ฆฌ์ ๊ด๋ จ์ฑ์ด ์๋์ง ํ๊ฐํ์ง ์์
- ๋ฌด๊ดํ๊ฑฐ๋ ์๋ชป๋ ์ ๋ณด๊ฐ ์์ฑ ๊ณผ์ ์ ํฌํจ๋์ด ์คํ๋ ค ํ์ง ์ ํ
- Retriever์ ํ๊ณ๋ก ๋ ธ์ด์ฆ๊ฐ ๊ทธ๋๋ก LLM์ ์ ๋ฌ๋จ
3. ์์ฑ-์ฆ๊ฑฐ ๋ถ์ผ์น
- ์์ฑ๋ ๋ด์ฉ์ด ๊ฒ์๋ ๋ฌธ์์ ์ํด ์ค์ ๋ก ์ง์ง(Support)๋๋์ง ๊ฒ์ฆ ๋ถ๊ฐ
- LLM์ด ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฌด์ํ๊ณ ์์ฒด ์ง์์ผ๋ก ๋ต๋ณํ๋ ๊ฒฝ์ฐ ๋ฐ์
- ์ธ์ฉ๊ณผ ๋ด์ฉ ๊ฐ์ ๋ถ์ผ์น ๋ฌธ์
4. ์ ์ฐ์ฑ ๋ถ์กฑ
- ๋ค์ํ ํ์คํฌ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ๋ชจ๋ธ ๋์์ ์กฐ์ ํ ์ ์์
- ์ฌ์ค ๊ฒ์ฆ ํ์คํฌ vs ์ฐฝ์์ ๊ธ์ฐ๊ธฐ ๋ฑ ๋ค๋ฅธ ์๊ตฌ์ ๋์ผํ๊ฒ ๋์
๐ก ํต์ฌ ์์ด๋์ด
1. Self-Reflection Tokens (์๊ธฐ ์ฑ์ฐฐ ํ ํฐ)
Self-RAG์ ํต์ฌ ํ์ ์ Reflection Token์ด๋ผ๋ ํน์ ํ ํฐ์ ๋ชจ๋ธ ์ดํ์ ์ถ๊ฐํ์ฌ, ๋ชจ๋ธ์ด ์์ ์ ๋์์ ์ ์ดํ๊ณ ํ๊ฐํ๋๋ก ํ๋ ๊ฒ์ด๋ค.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Reflection Tokens ์ฒด๊ณ โ
โโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [Retrieve] โ ๊ฒ์์ด ํ์ํ์ง ํ๋จ (On-demand) โ
โ [ISREL] โ ๊ฒ์๋ ๋ฌธ์์ ๊ด๋ จ์ฑ ํ๊ฐ โ
โ [ISSUP] โ ์์ฑ ๋ด์ฉ์ด ๋ฌธ์์ ์ํด ์ง์ง๋๋์ง ํ๊ฐ โ
โ [ISUSE] โ ์ต์ข
๋ต๋ณ์ ์ ์ฒด์ ์ ์ฉ์ฑ ํ๊ฐ โ
โโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ํต์ฌ ์ฅ์ :
– ๋ณ๋์ ์ธ๋ถ ํ๊ฐ ๋ชจ๋ธ ์์ด ๋จ์ผ ๋ชจ๋ธ ๋ด์์ ์ฒ๋ฆฌ
– ์ถ๋ก ์์ ์ ํ ํฐ ๊ฐ์ค์น ์กฐ์ ์ผ๋ก ๋์ ์ ์ด ๊ฐ๋ฅ
– End-to-end ํ์ต์ผ๋ก ์ต์ ํ๋ ์ฑ๋ฅ
2. Adaptive Retrieval (์ ์์ ๊ฒ์)
๊ธฐ์กด RAG: Query โ [ํญ์ ๊ฒ์] โ Documents โ Generation
Self-RAG: Query โ [๊ฒ์ ํ์?] โ [์ ํ์ ๊ฒ์] โ [ํ์ง ํ๊ฐ] โ Generation
- On-demand Retrieval: ๊ฒ์์ด ์ค์ ๋ก ํ์ํ ๊ฒฝ์ฐ์๋ง ์ํ
- Multi-step Retrieval: ์์ฑ ์ค ์ฌ๋ฌ ๋ฒ ๊ฒ์ํ๊ฑฐ๋ ์์ ํ ๊ฑด๋๋ธ ์ ์์
- Task-adaptive: ํ์คํฌ ํน์ฑ์ ๋ฐ๋ผ ๊ฒ์ ๋น๋ ์๋ ์กฐ์
- ์ฌ์ค ๊ฒ์ฆ ํ์คํฌ: ๋ ์์ฃผ ๊ฒ์ํ์ฌ ์ ํ์ฑ ํ๋ณด
- ์ฐฝ์์ ์๋ฌธ: ๊ฒ์ ์ต์ํํ์ฌ ์ ์ฐฝ์ฑ ์ ์ง
3. Critique and Generation (๋นํ๊ณผ ์์ฑ์ ํตํฉ)
Self-RAG๋ ์์ฑ๊ณผ ํ๊ฐ๋ฅผ ํ๋์ ๋ชจ๋ธ์์ ํตํฉ ์ํ:
- Retrieval Decision: ํ์ฌ ์ปจํ ์คํธ์์ ๊ฒ์์ด ๋์์ด ๋ ์ง ํ๋จ
- Relevance Evaluation: ๊ฒ์๋ ๊ฐ ๋ฌธ์์ ๊ด๋ จ์ฑ ํ๊ฐ
- Support Assessment: ์์ฑ ๋ด์ฉ์ด ์ฆ๊ฑฐ์ ๊ทผ๊ฑฐํ๋์ง ํ์ธ
- Utility Scoring: ์ต์ข ๋ต๋ณ์ ์ ์ฒด์ ์ ์ฉ์ฑ ํ๊ฐ
๐๏ธ ์ํคํ ์ฒ / ๋ฐฉ๋ฒ๋ก
Reflection Token ์์ธ ์ค๋ช
1. Retrieve Token (๊ฒ์ ๊ฒฐ์ ํ ํฐ)
| ํ ํฐ | ์๋ฏธ | ์ฌ์ฉ ์์ |
|---|---|---|
[Retrieve=Yes] |
์ธ๋ถ ์ง์ ํ์ | ์ฌ์ค ๊ธฐ๋ฐ ์ ๋ณด, ์ต์ ์ ๋ณด, ์ ๋ฌธ ์ง์ ํ์ ์ |
[Retrieve=No] |
๋ด๋ถ ์ง์ ์ถฉ๋ถ | ์์, ์ผ๋ฐ ์ง์, ์ฐฝ์์ ์์ ์ |
[Retrieve=Continue] |
์ด์ ๊ฒ์ ๊ฒฐ๊ณผ ๊ณ์ ์ฌ์ฉ | ๊ธด ๋ต๋ณ ์์ฑ ์ค ๋์ผ ๋งฅ๋ฝ ์ ์ง ์ |
ํ๋จ ๊ธฐ์ค:
– ํ์ฌ ์ฟผ๋ฆฌ์ ๋ํด ๋ชจ๋ธ์ ๋ด๋ถ ์ง์๋ง์ผ๋ก ์ ๋ขฐ์ฑ ์๊ฒ ๋ต๋ณ ๊ฐ๋ฅํ์ง
– ๊ฒ์์ด ๋ต๋ณ ํ์ง ํฅ์์ ์ค์ง์ ์ผ๋ก ๊ธฐ์ฌํ๋์ง
2. ISREL Token (๊ด๋ จ์ฑ ํ ํฐ)
| ํ ํฐ | ์๋ฏธ | ํ์ ์ฒ๋ฆฌ |
|---|---|---|
[ISREL=Relevant] |
๋ฌธ์๊ฐ ์ฟผ๋ฆฌ ํด๊ฒฐ์ ์ ์ฉ | ํด๋น ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ ์งํ |
[ISREL=Irrelevant] |
๋ฌธ์๊ฐ ์ฟผ๋ฆฌ์ ๋ฌด๊ด | ํด๋น ๋ฌธ์ ์ ์ธ, ๋ค๋ฅธ ๋ฌธ์ ์ฌ์ฉ |
ํ๊ฐ ๊ด์ :
– ๊ฒ์๋ passage๊ฐ ์
๋ ฅ ์ง๋ฌธ์ ํด๊ฒฐํ๋ ๋ฐ ์ค์ ๋ก ๋์์ด ๋๋ ์ ๋ณด๋ฅผ ํฌํจํ๋์ง
3. ISSUP Token (์ง์ง ํ ํฐ)
| ํ ํฐ | ์๋ฏธ | Hallucination ์ํ๋ |
|---|---|---|
[ISSUP=Fully Supported] |
๋ชจ๋ ์ฃผ์ฅ์ด ๋ฌธ์์ ๊ทผ๊ฑฐ | ๋ฎ์ |
[ISSUP=Partially Supported] |
์ผ๋ถ๋ง ๋ฌธ์์ ๊ทผ๊ฑฐ | ์ค๊ฐ |
[ISSUP=No Support] |
๋ฌธ์์ ๊ทผ๊ฑฐ ์์ | ๋์ |
ํต์ฌ ์ญํ :
– ์์ฑ๋ ๋ต๋ณ์ ๊ฐ ๊ฒ์ฆ ๊ฐ๋ฅํ ์ง์ (Verifiable Statement)์ด ๊ฒ์ ๋ฌธ์์ ์ํด ๋ท๋ฐ์นจ๋๋์ง ํ์ธ
– Hallucination ๋ฐฉ์ง์ ํต์ฌ ๋ฉ์ปค๋์ฆ
4. ISUSE Token (์ ์ฉ์ฑ ํ ํฐ)
| ํ ํฐ | ์ ์ | ์๋ฏธ |
|---|---|---|
[ISUSE=5] |
5์ | ์๋ฒฝํ๊ฒ ์ ์ฉํ ๋ต๋ณ |
[ISUSE=4] |
4์ | ๋งค์ฐ ์ ์ฉํจ |
[ISUSE=3] |
3์ | ์ ์ ํ ์ ์ฉํจ |
[ISUSE=2] |
2์ | ๋ค์ ์ ์ฉํจ |
[ISUSE=1] |
1์ | ์ ์ฉํ์ง ์์ |
ํ๊ฐ ๊ธฐ์ค:
– ๊ฒ์ ๋ฌธ์์ ๋
๋ฆฝ์ ์ผ๋ก ์ต์ข
๋ต๋ณ์ด ์๋ ์ง๋ฌธ์ ์ผ๋ง๋ ์ ์ฉํ์ง ์ข
ํฉ ํ๊ฐ
ํ์ต ํ์ดํ๋ผ์ธ
Self-RAG๋ 4๋จ๊ณ ํ์ต ํ์ดํ๋ผ์ธ์ ํตํด ํ๋ จ๋๋ค:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Self-RAG Training Pipeline โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 1: Critic Data Creation (GPT-4 ํ์ฉ) โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โข GPT-4์ few-shot prompting์ผ๋ก Reflection Token ์์ฑ โ โ
โ โ โข ๊ฐ ํ ํฐ ํ์
๋ณ 4K-20K ์ํ ์์ง โ โ
โ โ โข Human evaluation๊ณผ ๋น๊ตํ์ฌ ํ์ง ๊ฒ์ฆ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 2: Critic Model Training โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โข Llama 2-7B๋ฅผ base model๋ก ์ฌ์ฉ โ โ
โ โ โข Reflection Token๋ค์ vocabulary์ ์ถ๊ฐ โ โ
โ โ โข Standard next-token prediction์ผ๋ก ํ์ต โ โ
โ โ โข GPT-4 ์์ธก๊ณผ 90% ์ด์ ์ผ์น์จ ๋ฌ์ฑ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 3: Generator Data Creation โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โข ํ์ต๋ Critic + Retriever๋ก ์๋ณธ ์ฝํผ์ค ์ฆ๊ฐ โ โ
โ โ โข ๊ฐ segment์ Reflection Token ์คํ๋ผ์ธ ์ฝ์
โ โ
โ โ โข Retrieve=Yes์ธ ๊ฒฝ์ฐ Top-K ๋ฌธ์ ์ถ๊ฐ โ โ
โ โ โข ๊ฒ์๋ ํ
์คํธ ์ฒญํฌ๋ ํ์ต ์ ๋ง์คํน โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Step 4: Generator Model Training โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โข ํ์ฅ๋ vocabulary๋ก ์ต์ข
Generator ๋ชจ๋ธ ํ์ต โ โ
โ โ โข Target output + Reflection Token ๋์ ์์ธก โ โ
โ โ โข RLHF ๋๋น ํจ์ฌ ๋ฎ์ ํ์ต ๋น์ฉ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ํ์ต ํจ์จ์ฑ์ ํต์ฌ:
– Critic ๋ชจ๋ธ์ ์คํ๋ผ์ธ์ผ๋ก ์ฌ์ฉํ์ฌ ํ ํฐ ์ฝ์
– ํ์ต ์์ ์ Critic ๋ชจ๋ธ์ ํธ์คํ
ํ ํ์ ์์
– RLHF(PPO ๋ฑ) ๋๋น ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ์ด๊ณ ์์ ์
์ถ๋ก ์๊ณ ๋ฆฌ์ฆ
Input Query
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ [Retrieve] ์์ธก โ
โ โโโโโโโโโโโโโโโโโ โ
โ ๊ฒ์ ํ์์ฑ ํ๋จ โ
โโโโโโโโโโโโโโโโโโโโโโ
โ
โโโ [Retrieve=No] โโโโโโโโโโโโโโโโโโโโโโโ
โ โผ
โ โโโโโโโโโโโโโโโโโโโ
โ โ ์ง์ ์์ฑ โ
โ โ (๋ด๋ถ ์ง์) โ
โ โโโโโโโโโโโโโโโโโโโ
โ
โโโ [Retrieve=Yes/Continue]
โ
โผ
โโโโโโโโโโโโโโโโโโ
โ Retriever โ
โ (Top-K ๊ฒ์) โ
โโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ [ISREL] ํ๊ฐ โ
โ โโโโโโโโโโโโโโโโ โ
โ ๊ฐ ๋ฌธ์ ๊ด๋ จ์ฑ โ
โ ํ๊ฐ ๋ฐ ํํฐ๋ง โ
โโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ Segment ์์ฑ โ
โ โโโโโโโโโโโโโโโโ โ
โ ๊ด๋ จ ๋ฌธ์๋ณ๋ก โ
โ ์๋ต ํ๋ณด ์์ฑ โ
โโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ [ISSUP] ํ๊ฐ โ
โ โโโโโโโโโโโโโโโโ โ
โ ์์ฑ ๋ด์ฉ์ โ
โ ์ฆ๊ฑฐ ์ง์ง๋ ํ์ธ โ
โโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ [ISUSE] ํ๊ฐ โ
โ โโโโโโโโโโโโโโโโ โ
โ ์ ์ฒด ์ ์ฉ์ฑ ์ ์ โ
โโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโ
โ Segment-level โ
โ Beam Search โ
โ โโโโโโโโโโโโโโโโ โ
โ Critique Score โ
โ ๊ธฐ๋ฐ ์ต์ ์ ํ โ
โโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
Final Output
Critique Score ๊ณ์ฐ
Segment-level beam search์์ ๊ฐ segment์ ์ ์๋ Reflection Token ํ๋ฅ ์ ๊ฐ์ค ํฉ์ผ๋ก ๊ณ์ฐ:
Score = w_rel ร P([ISREL]=Relevant)
+ w_sup ร P([ISSUP]=Fully_Supported)
+ w_use ร P([ISUSE]=5)
| ๊ฐ์ค์น | ์ญํ | ์กฐ์ ๋ฐฉํฅ |
|---|---|---|
w_rel |
๊ด๋ จ์ฑ ์ค์๋ | ๋ ธ์ด์ฆ ํํฐ๋ง ๊ฐํ ์ ์ฆ๊ฐ |
w_sup |
์ง์ง๋ ์ค์๋ | Hallucination ๋ฐฉ์ง ๊ฐํ ์ ์ฆ๊ฐ |
w_use |
์ ์ฉ์ฑ ์ค์๋ | ๋ต๋ณ ํ์ง ๊ฐ์กฐ ์ ์ฆ๊ฐ |
์ถ๋ก ์ ์ ์ด ๊ฐ๋ฅ์ฑ:
– ์ด ๊ฐ์ค์น๋ค์ ์กฐ์ ํ์ฌ ํ์คํฌ๋ณ ๋ง์ถค ๋์ ๊ฐ๋ฅ
– ์ฌ์ค์ฑ ์ค์ vs ์ฐฝ์์ฑ ์ค์ ๊ฐ trade-off ์กฐ์
๐ ์คํ ๋ฐ ๊ฒฐ๊ณผ
ํ๊ฐ ๋ฐ์ดํฐ์
| ๋ฐ์ดํฐ์ | ํ์คํฌ ์ ํ | ํน์ง | ํ๊ฐ ์งํ |
|---|---|---|---|
| PopQA | Open-domain QA | WikiData ๊ธฐ๋ฐ, ์ต์ ์ํฐํฐ ํฌํจ | Accuracy |
| TriviaQA | Open-domain QA | Trivia ์ง๋ฌธ | Accuracy (EM) |
| PubHealth | Fact Verification | ๊ฑด๊ฐ ์ ๋ณด ์ฌ์ค ๊ฒ์ฆ | Accuracy |
| ARC-Challenge | Reasoning | ๊ณผํ ์ถ๋ก | Accuracy |
| ASQA | Long-form QA | ๋ชจํธํ ์ง๋ฌธ, ์ข ํฉ ๋ต๋ณ ํ์ | FactScore, Citation Precision/Recall |
| Biography | Long-form Generation | ์ธ๋ฌผ ์ ๊ธฐ ์์ฑ | FactScore |
์ฃผ์ ์คํ ๊ฒฐ๊ณผ
Short-form Generation (QA, Fact Verification, Reasoning)
| Model | PopQA | TriviaQA | PubHealth | ARC-C |
|---|---|---|---|---|
| Llama2-13B (No Retrieval) | 14.7% | 47.0% | – | 29.4% |
| Alpaca-13B (No Retrieval) | 24.4% | 66.9% | 51.1% | 57.6% |
| Llama2-chat + RAG | – | – | – | – |
| ChatGPT | 29.3% | – | 70.0% | – |
| Self-RAG 7B | 50.5% | 66.4% | 72.4% | 67.3% |
| Self-RAG 13B | 55.8% | 69.3% | 74.5% | 73.1% |
Long-form Generation (Citation ํ์ ํ์คํฌ)
| Model | ASQA EM | Citation Prec. | Citation Rec. | Bio FactScore |
|---|---|---|---|---|
| Llama2-chat-13B + RAG | 17.1% | 41.7% | 17.4% | – |
| ChatGPT | 25.2% | 61.8% | 68.9% | 71% |
| Retrieval-augmented ChatGPT | – | – | – | – |
| Self-RAG 13B | 29.3% | 70.3% | 71.3% | 80% |
ํต์ฌ ๋ฐ๊ฒฌ:
– Self-RAG 7B/13B๊ฐ ChatGPT์ ๊ธฐ์กด RAG ๋ชจ๋ธ ๋๋น ์ผ๊ด๋ ์ฑ๋ฅ ํฅ์
– ํนํ Citation Precision์์ ํ์ ํ ๊ฐ์ (70.3% vs 61.8%)
– Biography ์์ฑ์์ FactScore 80% ๋ฌ์ฑ
Ablation Study ๊ฒฐ๊ณผ
| ์ค์ | PopQA | PubHealth | ASQA |
|---|---|---|---|
| Full Self-RAG | 54.9% | 72.2% | 28.7% |
| w/o Retriever | 32.9% (-40%) | 70.8% (-2%) | 25.1% |
| w/o Critic | 47.2% | 68.4% | 26.9% |
| Always Retrieve (Top-1) | 51.3% | 71.5% | 27.8% |
| No Adaptive Retrieval | – | ์ํญ ํ๋ฝ | – |
Ablation ๋ถ์:
- Retriever ์ ๊ฑฐ ์:
- PopQA: 40% ์ฑ๋ฅ ํ๋ฝ (๊ฒ์์ด ํต์ฌ์ )
- PubHealth: 2% ํ๋ฝ (๋ด๋ถ ์ง์์ผ๋ก๋ ์ด๋ ์ ๋ ๋์ ๊ฐ๋ฅ)
- ํ์คํฌ ํน์ฑ์ ๋ฐ๋ผ ๊ฒ์ ์ค์๋๊ฐ ๋ค๋ฆ์ ์ ์ฆ
- Critic ์ ๊ฑฐ ์:
- ์ ๋ฐ์ ์ฑ๋ฅ ์ ํ ๋ฐ์
- ์๊ธฐ ํ๊ฐ ๋ฉ์ปค๋์ฆ์ ์ค์์ฑ ํ์ธ
- Always Retrieve (๊ด๋ จ์ฑ ๋ฌด์):
- PopQA, ASQA์์ ํฐ ์ฑ๋ฅ ํ๋ฝ
- ๋ฌด๊ดํ ๋ฌธ์๊ฐ ๋ ธ์ด์ฆ๋ก ์์ฉํจ์ ํ์ธ
- ๊ฒ์ ๋น๋์ ๋ฐ๋ฅธ ์ฑ๋ฅ:
- PubHealth: ๊ฒ์ ๋น๋ ๋ฎ์ถฐ๋ ์ฑ๋ฅ ์ ํ ์์
- PopQA: ๊ฒ์ ๋น๋ ๋ฎ์ถ๋ฉด ์ฑ๋ฅ ์ ํ ํผ
- Adaptive retrieval์ ํ์์ฑ ์ ์ฆ
๐ช ๊ฐ์ ๋ฐ ๊ธฐ์ฌ
1. ์ ์์ ๊ฒ์ ๋ฉ์ปค๋์ฆ (Adaptive Retrieval)
- ์ฟผ๋ฆฌ์ ํ์คํฌ ํน์ฑ์ ๋ฐ๋ผ ๊ฒ์ ์ฌ๋ถ ๋ฐ ๋น๋๋ฅผ ๋์ ์ผ๋ก ๊ฒฐ์
- ๋ถํ์ํ ๊ฒ์์ผ๋ก ์ธํ ๋ ธ์ด์ฆ ์ ๊ฑฐ
- ํจ์จ์ฑ๊ณผ ์ ํ์ฑ์ ๊ท ํ ๋ฌ์ฑ
2. ๋ค๋จ๊ณ ์๊ธฐ ํ๊ฐ (Multi-level Self-Assessment)
- Retrieve โ Relevance โ Support โ Utility 4๋จ๊ณ ํ๊ฐ
- ์ธ๋ถํ๋ ํ์ง ๊ด๋ฆฌ๋ก hallucination ๋ํญ ๊ฐ์
- ๊ฐ ๋จ๊ณ์์ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ ๋ฐ๊ฒฌํ๊ณ ๋์
3. ํจ์จ์ ์ธ ํ์ต ๋ฐฉ๋ฒ
- RLHF ๋๋น ํจ์ฌ ๋ฎ์ ํ์ต ๋น์ฉ
- Critic ๋ชจ๋ธ์ ํตํ ์คํ๋ผ์ธ ํ ํฐ ์ฝ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํจ์จ์
- GPT-4 ์ง์์ ์ํ Critic ๋ชจ๋ธ๋ก ์ง์ ์ฆ๋ฅ(Distillation)
4. ์ถ๋ก ์์ ์ ์ด ๊ฐ๋ฅ์ฑ (Inference-time Controllability)
- Reflection Token ๊ฐ์ค์น ์กฐ์ ์ผ๋ก ํ์คํฌ๋ณ ๋ง์ถค ์ค์
- ์ฌ์ค์ฑ vs ์ฐฝ์์ฑ ๊ฐ trade-off ์ ์ฐํ๊ฒ ์กฐ์
- ๋ณ๋ ์ฌํ์ต ์์ด ๋์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
5. End-to-End ํตํฉ ํ๋ ์์ํฌ
- ๋ณ๋์ retriever, generator, critic ํ์ดํ๋ผ์ธ์ด ์๋ ๋จ์ผ ๋ชจ๋ธ
- ๋ชจ๋ ์ปดํฌ๋ํธ๊ฐ jointly ํ์ต๋์ด ์ต์ ํ
- ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ ๋ณต์ก๋ ๊ฐ์
6. ๋ฐ์ด๋ ์คํ ์ฑ๊ณผ
- 7B, 13B ๋ชจ๋ธ๋ก ChatGPT์ ๊ธฐ์กด RAG ๋๋น ์ฐ์ํ ์ฑ๋ฅ
- ํนํ ์ฌ์ค์ฑ(factuality)๊ณผ ์ธ์ฉ ์ ํ๋์์ ํฐ ํฅ์
- ๋ค์ํ ํ์คํฌ์์ ์ผ๊ด๋ ๊ฐ์
โ ๏ธ ํ๊ณ์
1. Token Probability ์ ๊ทผ ํ์
- Self-RAG ์๊ณ ๋ฆฌ์ฆ ์ ์ฉ์ ์ํด ํ ํฐ ํ๋ฅ ์ ๋ํ ์ ๊ทผ์ด ํ์
- API ๊ธฐ๋ฐ ๋ชจ๋ธ(GPT-4, Claude ๋ฑ)์๋ ์ง์ ์ ์ฉ ์ด๋ ค์
- ์คํ์์ค ๋ชจ๋ธ์์๋ง ์์ ํ ๊ธฐ๋ฅ ํ์ฉ ๊ฐ๋ฅ
2. ์ถ์ถํ ํ์คํฌ์ ์๋์ ๊ฐ์
- ๊ฒ์๋ ๋ฌธ์์์ ์ ๋ณด๋ฅผ ์ถ์ถ/๋ณต์ฌํ๋ ํ์คํฌ์์ ํจ๊ณผ์
- ์ถ๋ก ์ด๋ ์ข ํฉ์ด ํ์ํ ํ์คํฌ(PubHealth, ARC-Challenge)์์๋ ๊ฐ์ ํญ ์ ํ์
- ๋ณต์กํ ๋ค๋จ๊ณ ์ถ๋ก ์๋ ์ถ๊ฐ์ ์ธ ๋ฉ์ปค๋์ฆ ํ์
3. ํ์ต ๋ฐ์ดํฐ ์์กด์ฑ
- Critic ๋ชจ๋ธ ํ์ต์ GPT-4 ์์ฑ ๋ฐ์ดํฐ ํ์
- ๋ฐ์ดํฐ ํ์ง์ด ์ ์ฒด ํ์ดํ๋ผ์ธ ์ฑ๋ฅ์ ์ํฅ
- GPT-4 API ๋น์ฉ ๋ฐ ์ฌํ์ฑ ๋ฌธ์
4. ์์ ํ Hallucination ๋ฐฉ์ง ๋ถ๊ฐ
- Self-RAG๋ ์ฌ์ ํ ์ง์ง๋์ง ์๋ ์ฃผ์ฅ์ ์์ฑํ ์ ์์
- Critic ๋ชจ๋ธ์ ํ๊ฐ ์ ๋ขฐ์ฑ์ ์์กด
- ๊ฒ์ ์ฝํผ์ค์ ์๋ ์ ๋ณด์ ๋ํด์๋ ํ๊ณ
5. ๊ณ์ฐ ๋น์ฉ ์ฆ๊ฐ
- Segment๋ณ ๊ฒ์ ๋ฐ ํ๊ฐ๋ก ์ธํ ์ถ๋ก ์๊ฐ ์ฆ๊ฐ
- Beam search๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ฆ๊ฐ
- ๋๊ท๋ชจ Wikipedia ์๋ฒ ๋ฉ ์ ์ฅ์ ์ฝ 100GB RAM ํ์
6. ๊ฒ์ ์ฝํผ์ค ์์กด์ฑ
- ๊ฒ์ ์ฝํผ์ค์ ํ์ง๊ณผ ์ปค๋ฒ๋ฆฌ์ง์ ์ฑ๋ฅ ์์กด
- ์ง์ ์ต์ ์ฑ ์ ์ง ๋ฌธ์ (Wikipedia ์ ๋ฐ์ดํธ ์ฃผ๊ธฐ)
- ํน์ ๋๋ฉ์ธ์์๋ ๋ณ๋ ์ฝํผ์ค ๊ตฌ์ถ ํ์
๐ ๊ด๋ จ ๋ ผ๋ฌธ
์ ํ ์ฐ๊ตฌ – RAG ๊ธฐ๋ฐ ์ ๊ทผ๋ฒ
| ๋ ผ๋ฌธ | ์ฐ๋ | ํต์ฌ ์์ด๋์ด | Self-RAG์์ ์ฐจ์ด์ |
|---|---|---|---|
| RAG (Lewis et al.) | 2020 | Retrieval + Generation ๊ฒฐํฉ | ๊ณ ์ ๊ฒ์, ํ์ง ํ๊ฐ ์์ |
| REALM (Guu et al.) | 2020 | Retrieval๋ก ์ฌ์ ํ์ต | ๊ฒ์ ์์ ๊ณ ์ |
| RETRO (Borgeaud et al.) | 2022 | ๋๊ท๋ชจ ์ฌ์ ํ์ต์ retrieval ํตํฉ | ์ถ๊ฐ encoder ํ์, ์ ์์ ๊ฒ์ ์์ |
| Atlas (Izacard et al.) | 2022 | Few-shot learning + RAG | ์๊ธฐ ํ๊ฐ ๋ฉ์ปค๋์ฆ ์์ |
| REPLUG (Shi et al.) | 2023 | LLM ํผ๋๋ฐฑ์ผ๋ก retriever fine-tuning | Generator ํ์ต ์ ํจ |
์ ํ ์ฐ๊ตฌ – Active/Adaptive Retrieval
| ๋ ผ๋ฌธ | ์ฐ๋ | ํต์ฌ ์์ด๋์ด | Self-RAG์์ ์ฐจ์ด์ |
|---|---|---|---|
| FLARE (Jiang et al.) | 2023 | ์ ์ ๋ขฐ ํ ํฐ ์ ๊ฒ์ ํธ๋ฆฌ๊ฑฐ | ์์ฑ ํ์ง ํ๊ฐ ์์ |
| Active Retrieval (Jiang et al.) | 2023 | ํ ํฐ ํ๋ฅ ๊ธฐ๋ฐ ๊ฒ์ ํ์ด๋ฐ | Critique ๋ฉ์ปค๋์ฆ ์์ |
์ ํ ์ฐ๊ตฌ – Self-Critique/Reflection
| ๋ ผ๋ฌธ | ์ฐ๋ | ํต์ฌ ์์ด๋์ด | Self-RAG์์ ์ฐจ์ด์ |
|---|---|---|---|
| Self-Refine (Madaan et al.) | 2023 | ์์ฑ ํ ๋ฐ๋ณต์ ์๊ธฐ ํผ๋๋ฐฑ | Retrieval๊ณผ ๋ถ๋ฆฌ๋จ |
| Constitutional AI (Bai et al.) | 2022 | ์์น ๊ธฐ๋ฐ ์๊ธฐ ๋นํ | ๊ฒ์ ๋ฉ์ปค๋์ฆ ์์ |
ํ์ ์ฐ๊ตฌ
| ๋ ผ๋ฌธ | ์ฐ๋ | ๋ฐ์ ๋ฐฉํฅ |
|---|---|---|
| CRAG (Yan et al.) | 2024 | Corrective RAG – ๊ฒ์ ํ์ง ํ๊ฐ ํ ์น ๊ฒ์ ํด๋ฐฑ |
| Speculative RAG (Zhang et al.) | 2024 | ์ํ specialist LM์ผ๋ก ๋๋ํํ , ๋ํ ๋ชจ๋ธ๋ก ๊ฒ์ฆ |
| RAT (Liu et al.) | 2024 | RAG + Chain-of-Thought ๊ฒฐํฉ |
| Adaptive RAG | 2024 | ์ฟผ๋ฆฌ ๋ณต์ก๋์ ๋ฐ๋ฅธ ๋์ ์ ๋ต ์ ํ |
๋น๊ต ๋ถ์ ํ
| ๋ฐฉ๋ฒ | ์ ์์ ๊ฒ์ | ๊ด๋ จ์ฑ ํ๊ฐ | ์ง์ง๋ ํ๊ฐ | ์ ์ฉ์ฑ ํ๊ฐ | ํ์ต ๋ฐฉ์ |
|---|---|---|---|---|---|
| Standard RAG | X | X | X | X | ์์ |
| FLARE | O (๋ถ๋ถ) | X | X | X | ์์ |
| CRAG | X | O (์ธ๋ถ) | X | X | Plug-and-play |
| Self-RAG | O | O (๋ด๋ถ) | O (๋ด๋ถ) | O (๋ด๋ถ) | End-to-end |
๐ป ์ค๋ฌด ์ ์ฉ ํฌ์ธํธ
1. ์ ์ฉ ์ ํฉ ์๋๋ฆฌ์ค
| ์๋๋ฆฌ์ค | ์ ํฉ๋ | ์ด์ |
|---|---|---|
| Knowledge-intensive QA | ๋งค์ฐ ๋์ | ์ฌ์ค ๊ธฐ๋ฐ ๋ต๋ณ์ ๊ฒ์ ํ์ |
| Fact Verification | ๋งค์ฐ ๋์ | ์ฆ๊ฑฐ ๊ธฐ๋ฐ ๊ฒ์ฆ์ ์ต์ |
| Document-grounded Generation | ๋์ | ์ธ์ฉ ์ ํ๋ ํฅ์ |
| Citation-required Tasks | ๋์ | ์ถ์ฒ ๋ช ์๊ฐ ํ์ํ ํ์ /๋ฒ๋ฅ ๋๋ฉ์ธ |
| Customer Support Bot | ์ค๊ฐ | ์ ์ฑ /๋งค๋ด์ผ ๊ธฐ๋ฐ ๋ต๋ณ |
| Creative Writing | ๋ฎ์ | ๊ฒ์๋ณด๋ค ์ฐฝ์์ฑ์ด ์ค์ |
2. ๊ตฌํ ์ต์
Option A: ๊ณต์ Self-RAG ๋ชจ๋ธ ์ฌ์ฉ
# HuggingFace์์ Self-RAG ๋ชจ๋ธ ๋ก๋
from vllm import LLM, SamplingParams
model = LLM("selfrag/selfrag_llama2_7b", dtype="half")
sampling_params = SamplingParams(
temperature=0.0,
top_p=1.0,
max_tokens=100,
skip_special_tokens=False # Reflection tokens ํ์ธ์ฉ
)
# ์ฟผ๋ฆฌ ์คํ
prompt = "What is the capital of France?"
outputs = model.generate([prompt], sampling_params)
print(outputs[0].outputs[0].text)
Option B: LangGraph๋ฅผ ํ์ฉํ Self-RAG ํจํด ๊ตฌํ
from typing import TypedDict, List
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI
from langchain_community.vectorstores import Chroma
# State ์ ์
class GraphState(TypedDict):
question: str
generation: str
documents: List[str]
relevance_scores: List[float]
# ๋
ธ๋ ํจ์๋ค
def should_retrieve(state) -> str:
"""[Retrieve] ํ ํฐ ์ญํ - ๊ฒ์ ํ์์ฑ ํ๋จ"""
question = state["question"]
# LLM์ผ๋ก ๊ฒ์ ํ์์ฑ ํ๋จ
decision = retrieval_grader.invoke({
"question": question
})
return "retrieve" if decision == "yes" else "generate_direct"
def retrieve(state):
"""๋ฌธ์ ๊ฒ์"""
question = state["question"]
documents = retriever.invoke(question)
return {"documents": documents}
def grade_documents(state):
"""[ISREL] ํ ํฐ ์ญํ - ๋ฌธ์ ๊ด๋ จ์ฑ ํ๊ฐ"""
question = state["question"]
documents = state["documents"]
filtered_docs = []
for doc in documents:
# LLM์ผ๋ก ๊ด๋ จ์ฑ ํ๊ฐ
score = relevance_grader.invoke({
"question": question,
"document": doc.page_content
})
if score.binary_score == "relevant":
filtered_docs.append(doc)
return {"documents": filtered_docs}
def generate(state):
"""๋ต๋ณ ์์ฑ"""
question = state["question"]
documents = state["documents"]
generation = rag_chain.invoke({
"context": "\n\n".join([d.page_content for d in documents]),
"question": question
})
return {"generation": generation}
def grade_generation(state) -> str:
"""[ISSUP] + [ISUSE] ํ ํฐ ์ญํ """
# ํ๊ฐ ์ฒดํฌ (ISSUP)
hallucination_score = hallucination_grader.invoke({
"documents": state["documents"],
"generation": state["generation"]
})
if hallucination_score.binary_score == "no":
return "regenerate"
# ๋ต๋ณ ์ ์ฉ์ฑ ์ฒดํฌ (ISUSE)
answer_score = answer_grader.invoke({
"question": state["question"],
"generation": state["generation"]
})
return "useful" if answer_score.binary_score == "yes" else "not_useful"
# ๊ทธ๋ํ ๊ตฌ์ฑ
workflow = StateGraph(GraphState)
# ๋
ธ๋ ์ถ๊ฐ
workflow.add_node("retrieve", retrieve)
workflow.add_node("grade_documents", grade_documents)
workflow.add_node("generate", generate)
workflow.add_node("generate_direct", generate_direct)
# ์กฐ๊ฑด๋ถ ์ฃ์ง
workflow.set_conditional_entry_point(
should_retrieve,
{
"retrieve": "retrieve",
"generate_direct": "generate_direct"
}
)
workflow.add_edge("retrieve", "grade_documents")
workflow.add_conditional_edges(
"grade_documents",
lambda x: "generate" if x["documents"] else "websearch",
{"generate": "generate", "websearch": "websearch"}
)
workflow.add_conditional_edges(
"generate",
grade_generation,
{"useful": END, "not_useful": "websearch", "regenerate": "generate"}
)
app = workflow.compile()
3. ํ๋ผ๋ฏธํฐ ํ๋ ๊ฐ์ด๋
| ํ์คํฌ ์ ํ | w_rel |
w_sup |
w_use |
์ค๋ช |
|---|---|---|---|---|
| ์ฌ์ค ๊ฒ์ฆ | ๋์ | ๋งค์ฐ ๋์ | ์ค๊ฐ | Hallucination ๋ฐฉ์ง ์ต์ฐ์ |
| Open QA | ๋์ | ๋์ | ๋์ | ๊ท ํ ์กํ ์ค์ |
| Long-form ์์ฑ | ์ค๊ฐ | ๋์ | ๋งค์ฐ ๋์ | ์ ์ฉ์ฑ๊ณผ ํ์ง ์ค์ |
| ์ฐฝ์์ ์๋ฌธ | ๋ฎ์ | ๋ฎ์ | ๋งค์ฐ ๋์ | ์ ์ฐฝ์ฑ๊ณผ ์ฐฝ์์ฑ ์ค์ |
4. ๋ฐฐํฌ ์ ๊ณ ๋ ค์ฌํญ
| ํญ๋ชฉ | ๊ถ์ฅ ์ฌํญ |
|---|---|
| ๋ฉ๋ชจ๋ฆฌ | ์ ์ฒด Wikipedia ์๋ฒ ๋ฉ ์ 100GB+ RAM ํ์ |
| ๊ฒ์๊ธฐ | Contriever ๋๋ DPR ๊ถ์ฅ |
| ์ฒญํฌ ํฌ๊ธฐ | 250 ํ ํฐ ๊ถ์ฅ (๋ ผ๋ฌธ ์ค์ ) |
| ์ถ๋ก ์ต์ ํ | vLLM ์ฌ์ฉ์ผ๋ก ์ฒ๋ฆฌ๋ ํฅ์ |
| ๋ชจ๋ธ ์ ํ | 7B (์๋ ์ค์) vs 13B (ํ์ง ์ค์) |
| ์ฝํผ์ค | ๋๋ฉ์ธ๋ณ ์ปค์คํ ์ฝํผ์ค ๊ตฌ์ถ ๊ถ์ฅ |
5. ํ๊ฐ ์งํ ์ ํ
| ํ์คํฌ | ๊ถ์ฅ ์งํ |
|---|---|
| QA | Accuracy, Exact Match (EM), F1 |
| Long-form | FactScore, MAUVE, Citation Precision/Recall |
| Fact Verification | Accuracy, F1 |
| ์ผ๋ฐ | ROUGE, BERTScore |
6. ํ์ฉ ์๋๋ฆฌ์ค๋ณ ๊ถ์ฅ์ฌํญ
- ๊ธฐ์
QA ์์คํ
:
- ์ฌ๋ด ๋ฌธ์ ๊ธฐ๋ฐ RAG + Self-RAG ํจํด
- Citation ํ์๋ก ๋ต๋ณ ์ ๋ขฐ์ฑ ํฅ์
- ๋ฒ๋ฅ /์๋ฃ ๋๋ฉ์ธ:
- ๋์
w_sup์ค์ ์ผ๋ก ๊ทผ๊ฑฐ ๊ธฐ๋ฐ ๋ต๋ณ ๊ฐ์ - ๋๋ฉ์ธ ํนํ ์ฝํผ์ค ๊ตฌ์ถ ํ์
- ๋์
- ์ฐ๊ตฌ ๋ณด์กฐ ๋๊ตฌ:
- ASQA ์คํ์ผ์ ์ข ํฉ ๋ต๋ณ ์์ฑ
- ์ธ์ฉ ์ถ์ ๊ธฐ๋ฅ ํ์ฑํ
- ๊ณ ๊ฐ ์ง์ ๋ด:
- ์ ์ฑ /๋งค๋ด์ผ ๊ธฐ๋ฐ ์ผ๊ด๋ ๋ต๋ณ
- Adaptive retrieval๋ก ํจ์จ์ฑ ํ๋ณด
๐ท๏ธ Tags
#RAG #Self-RAG #Retrieval-Augmented-Generation #LLM #Self-Reflection #Adaptive-Retrieval #ICLR2024 #Hallucination-Reduction #Fact-Verification #Knowledge-Grounding #Critique-Model #Reflection-Tokens #Llama2 #LangGraph #NLP #InformationRetrieval