[κ°μλ ΈνΈ] RAG From Scratch : RAG for long context LLMs
μλ³Έ κ²μκΈ: https://velog.io/@euisuk-chung/RAGλ-μ λ§λ‘-λλ¬μκΉ
RAG for long context LLMs
Introduction
μ΅κ·Ό LLM(Long Large Models)μ κΈκ²©ν λ°μ μΌλ‘ μΈν΄ κ±°λν μμ λ°μ΄ν°λ₯Ό ν λ²μ μ²λ¦¬ν μ μλ κ°λ₯μ±μ΄ μ΄λ¦¬κ³ μμ΅λλ€. νΉν, 100λ§ ν ν° μ΄μμ μ 보λ₯Ό ν λ²μ μ²λ¦¬ν μ μλ λͺ¨λΈλ€μ΄ λ±μ₯νλ©΄μ, κ³Όμ° RAG(Retrieval-Augmented Generation) μμ€ν μ΄ μ¬μ ν νμνμ§μ λν μλ¬Έμ΄ μ»€μ§κ³ μμ΅λλ€.
νμ§λ§, λ¨μν λ°μ΄ν°λ₯Ό λͺ¨λΈμ context windowμ λͺ¨λ λ£λ κ²μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμκΉμ? μ΄ κΈμμλ LangChainμ Lanceκ° μ€λͺ ν RAGμ νμ¬ μνμ μ₯λ¬Έ LLMμ΄ κ°μ Έμ€λ μλ‘μ΄ λμ κ³Ό κΈ°νμ λν΄ μμλ³΄κ² μ΅λλ€. (ν΄λΉ κΈμ μλ Youtube μμ μλ£λ₯Ό κ³΅λΆ νμ μ 리νμμ΅λλ€.)
μμ μ λͺ©
: RAG for long context LLMsμμ λ§ν¬
: https://youtu.be/SsHUNfhF32s
Background: RAGλ 무μμΈκ°?
RAGλ κ°λ¨ν λ§ν΄, λν μΈμ΄ λͺ¨λΈ(LLM)μ΄ μΈλΆ λ°μ΄ν°λ² μ΄μ€λ λ¬Έμμμ νμν μ 보λ₯Ό κ²μ(Retrieval)νκ³ μ΄λ₯Ό λ°νμΌλ‘ μλ΅μ μμ±(Generation)νλ κ³Όμ μ λλ€.
RAGλ λ€μκ³Ό κ°μ νλ¦μ λ°λ¦ λλ€:
-
λ¬Έμ μΈλ±μ±: μ 보λ₯Ό κ°μ§ λ¬Έμλ₯Ό 미리 μΈλ±μ±ν©λλ€.
-
λ¬Έμ κ²μ: μ§λ¬Έμ λ§λ λ¬Έμλ₯Ό κ²μν©λλ€. μ΄λ λ³΄ν΅ semantic similarityλ₯Ό μ¬μ©ν©λλ€.
-
LLM νμ©: κ²μλ λ¬Έμλ₯Ό κΈ°λ°μΌλ‘ LLMμ΄ μλ΅μ μμ±ν©λλ€.
μ₯λ¬Έ LLMμ RAGλ₯Ό λ체ν μ μμκΉ?
μ€λλ Claude 3λ GPT-4 κ°μ μ΅μ λͺ¨λΈλ€μ μ΅λ 100λ§ ν ν° μ΄μμ λ°μ΄ν°λ₯Ό ν λ²μ μ²λ¦¬ν μ μμ΅λλ€. μ΄ λ§μ μλ°± νμ΄μ§μ λ¬Έμλ₯Ό νκΊΌλ²μ λͺ¨λΈμ λ£μ μ μλ€λ λ»μ λλ€. κ·Έλ λ€λ©΄ μ΄λ κ² λ§μ λ°μ΄ν°λ₯Ό ν λ²μ μ²λ¦¬ν μ μλ λͺ¨λΈμ΄ RAG μμ€ν μ λ체ν μ μμκΉμ?
Lanceλ μ΄ μ§λ¬Έμ λ΅νκΈ° μν΄ λͺ κ°μ§ μ€νμ μ€κ³νμ΅λλ€.
μ€ν: Needle in a Haystack ν μ€νΈ
Needle in a Haystack(κ±΄μ΄ λλ―Έμμ λ°λ μ°ΎκΈ°) ν μ€νΈλ λκ·λͺ¨ λ¬Έλ§₯μμ νΉμ μ 보λ₯Ό μΌλ§λ μ μ°ΎμλΌ μ μλμ§λ₯Ό μΈ‘μ νλ μ€νμ λλ€. μ€νμ λͺ©νλ μ₯λ¬Έ LLMμ΄ μ¬λ¬ μ 보 μ‘°κ°(Needles)μ μΌλ§λ μ κ²μνκ³ μΆλ‘ ν μ μλμ§λ₯Ό μμ보λ κ²μ΄μμ΅λλ€.
Lanceλ μ΄ ν μ€νΈλ₯Ό μν΄ βνΌμ μ¬λ£βλ₯Ό μ΄μ©νμ΅λλ€. μλ₯Ό λ€μ΄, β무νκ³Ό(figs), νλ‘μν (prosciutto), μΌμ μΉμ¦(goat cheese)β κ°μ νΌμ μ¬λ£λ₯Ό λ¬Έλ§₯μ μ¬λ¬ μμΉμ μ¨κ²¨ λκ³ , λͺ¨λΈμκ² βμλ²½ν νΌμμ λΉλ° μ¬λ£λ 무μμΈκ°μ?βλΌκ³ μ§λ¬Έν ν, λͺ¨λΈμ΄ κ·Έ μ¬λ£λ₯Ό λͺ¨λ μ°Ύμ μ μλμ§ νμΈνμ΅λλ€.
κ²°κ³Ό: μ₯λ¬Έ LLMμ νκ³
- μ λ³΄κ° λ§μμλ‘ μ±λ₯ μ ν: λ¬Έλ§₯μ μ½μ λ μ 보μ μκ° λ§μμ§μλ‘, λͺ¨λΈμ΄ λͺ¨λ μ 보λ₯Ό μ νν κ²μν΄ λ΄λ λΉμ¨μ΄ λ¨μ΄μ‘μ΅λλ€.
- μΆλ‘ μ μ΄λ €μ: λ¨μν μ 보λ₯Ό κ²μνλ κ²λ³΄λ€, κ·Έ μ 보λ₯Ό κΈ°λ°μΌλ‘ μΆλ‘ μ ν΄μΌ ν λ μ±λ₯μ΄ λ λ¨μ΄μ‘μ΅λλ€. μλ₯Ό λ€μ΄, μ¬λ£μ 첫 κΈμλ₯Ό μΆλ‘ νλ μμ μμ μ±λ₯μ΄ λ λλΉ μ‘μ΅λλ€.
-
Recency Bias(μ΅κ·Όμ± νΈν₯): λ¬Έμμ μλΆλΆμ μμΉν μ 보λ λμ€μ μμΉν μ λ³΄λ³΄λ€ κ²μλκΈ° μ΄λ €μ μ΅λλ€. μ΄λ λͺ¨λΈμ΄ μ΅κ·Όμ μ 보λ₯Ό λ μ€μνκ² μ¬κΈ°λ Recency Bias λλ¬ΈμΌ κ°λ₯μ±μ΄ ν½λλ€.
- μ°Έκ³ λ Όλ¬Έ : https://arxiv.org/pdf/2310.01427
Recency Bias (μ΅μ μ± νΈν₯ λ¬Έμ )
: κΈ΄ λ¬Έλ§₯μμ μΈμ΄ λͺ¨λΈμ΄ κ°μ₯ μ΅κ·Όμ μ 보μ λ λ§μ μ£Όμλ₯Ό κΈ°μΈμ΄κ³ , μμ λ±μ₯ν μ€μν μ 보λ μλμ μΌλ‘ λ μ£Όλͺ©νλ νμμ΄ λ°μν©λλ€. μ΄λ λͺ¨λΈμ΄ λ¬Έλ§₯ λ΄μ μ 보λ₯Ό μΆ©λΆν νμ©νμ§ λͺ»νλ μμΈμ΄ λ©λλ€.Attention Sorting κΈ°λ²
: μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ βattention sortingβμ΄λΌλ λ°©λ²μ λμ ν©λλ€. λ¨Όμ ν λ¨κ³μ λμ½λ©μ μνν ν, λ¬Έμλ€μ΄ λ°μ μ£Όμ(attention) μ λμ λ°λΌ λ¬Έμλ₯Ό μ¬μ λ ¬ν©λλ€. μ£Όμλ₯Ό λ§μ΄ λ°μ λ¬ΈμμΌμλ‘ λ€μͺ½μ λ°°μΉλκ³ , μ΄λ₯Ό λ°λ³΅νμ¬ μλ‘μ΄ μμλλ‘ λ΅μ μμ±ν©λλ€.
νκ³μ : λ¨μν Context Stuffingμ λ¬Έμ
μ€ν κ²°κ³Ό, μ무리 κΈ΄ λ¬Έλ§₯μ μ²λ¦¬ν μ μλ LLMμ΄λΌλ λͺ¨λ μ 보λ₯Ό μλ²½νκ² κ²μν΄ λ΄μ§λ λͺ»νλ€λ κ²μ΄ λλ¬λ¬μ΅λλ€.
νΉν λ¬Έμμ μλΆλΆμ μλ μ 보λ μνμ§λ κ²½ν₯μ΄ μμμ΅λλ€. λ°λΌμ λ¨μν λ λ§μ μ 보λ₯Ό LLMμ context windowμ λ£λ κ²μ΄ λ₯μ¬κ° μλμ΄ λͺ λ°±ν΄μ‘μ΅λλ€. λν, μ΄λ¬ν λ°©λ²μ ν ν° λΉμ©μ΄ λ§€μ° λμμ§ μ μμΌλ©°, 보μκ³Ό μΈμ¦ λ¬Έμ κ° λ°μν μ μμ΅λλ€.
RAGμ λ―Έλ: λ³ννλ ν¨λ¬λ€μ
μμΌλ‘ λμ± λ κΈ΄ 컨ν μ€νΈλ₯Ό λ£μ΄μ€ μ μλ λͺ¨λΈλ€μ΄ λμ€κ² λ μλ μλλ°, κ·Έλ λ€λ©΄ RAGλ μ΄μ λλ κ²μΌκΉμ? λ°νμ Lanceλ κ·Έλ μ§ μλ€κ³ μ£Όμ₯ν©λλ€. RAGλ λ¨μν λ³ν λΏ, μ¬λΌμ§μ§ μμ κ²μ΄λΌκ³ μ΄μΌκΈ°ν©λλ€.
λ€μμ long context LLMs μλμμ RAGκ° μ΄λ»κ² λ³νν μ μμμ§μ λν λͺ κ°μ§ μ°κ΅¬λ€μ μκ°ν©λλ€. (μ΄μ μ±ν°λ€κ³Ό μ‘°κΈ κ²ΉμΉλ λ΄μ©λ€μ΄ μ‘°κΈ μμ΅λλ€.)
-
Document-Centric RAG
νμ¬μ RAG μμ€ν μ λ¬Έμλ₯Ό μμ λ©μ΄λ¦¬λ‘ μͺΌκ°μ μΈλ±μ±νκ³ , κ·Έ λ©μ΄λ¦¬ μ€ μ ν©ν κ²μ κ²μνλ λ°©μμ λλ€. νμ§λ§ μ₯λ¬Έ LLM μλμμλ λ¬Έμ μ체λ₯Ό μ μ²΄λ‘ κ²μνλ λ°©λ²μ΄ λ μ ν©ν μ μμ΅λλ€. μ΄λ μͺΌκ°λ λ°©μμ λν λΆνμν 볡μ‘μ±μ μ€μ΄κ³ , λ μμ°μ€λ¬μ΄ λ¬Έμ κ²μμ κ°λ₯νκ² ν©λλ€.
-
Multi-Representation Indexing
λ¬Έμλ₯Ό μͺΌκ°μ§ μκ³ μμ½μ ν΅ν΄ λ¬Έμμ λνμ μΈ ννμ μΈλ±μ±νλ λ°©λ²μ λλ€. κ²μ μμλ μ΄ μμ½μ νμ©ν΄ μ ν©ν λ¬Έμλ₯Ό μ°Ύκ³ , μ΅μ’ μ μΌλ‘λ μ 체 λ¬Έμλ₯Ό LLMμκ² λ겨주λ λ°©μμ λλ€.
- λ§ν¬ : https://arxiv.org/pdf/2312.06648
- μ λͺ© : Dense X Retrieval: What Retrieval Granularity Should We Use?
-
μ°κ΅¬ λ°°κ²½: Dense retrievalμ μ€ν λλ©μΈ NLP μμ μμ κ΄λ ¨ 컨ν μ€νΈλ μΈκ³ μ§μμ μ»κΈ° μν μ€μν λ°©λ²λ‘ μΌλ‘ λΆμνκ³ μμ΅λλ€. μ΄λ¬ν dense retrieval κΈ°λ²μ μ¬μ©ν λ μμ£Ό κ°κ³Όλλ μ€κ³ κ²°μ μ€ νλλ βμ΄λ€ λ¨μλ₯Ό κΈ°μ€μΌλ‘ κ²μν κ²μΈκ°βμ λλ€.
- κΈ°μ‘΄μ μ κ·Ό λ°©μμΈ λ¬Έμλ λ¬Έλ¨, λ¬Έμ₯ λ¨μ λμ , μ΄ μ°κ΅¬μμλ βproposition(μ μ)βμ΄λΌλ μλ‘μ΄ κ²μ λ¨μλ₯Ό μ μν©λλ€. μ΄ propositionμ ν μ€νΈ λ΄μμ μ립ν μ μλ νλμ μ 보 λ¨μλ‘, λ¨μνκ³ μμ‘±μ μΈ μμ°μ΄ νμμΌλ‘ ννλ©λλ€.
-
Contributions:
- Proposition κΈ°λ° κ²μ λ¨μ μ μ: κΈ°μ‘΄μ λ¬Έλ¨ λλ λ¬Έμ₯ κΈ°λ° κ²μκ³Ό λΉκ΅νμ¬, ν μ€νΈλ₯Ό λ μΈλ°νκ² λλμ΄ κ° proposition λ¨μλ‘ λλμ΄ κ²μνλ λ°©μμ μ μν©λλ€. μ΄λ₯Ό ν΅ν΄ κ²μλ ν μ€νΈκ° μ§λ¬Έκ³Ό λ λ°μ νκ² κ΄λ ¨λ μ 보λ₯Ό μ 곡νλ©°, λΆνμν μ 보μ νΌμ μ μ€μ¬μ€λλ€.
- FACTOIDWIKI μκ°: μ΄ μ°κ΅¬μμλ FACTOIDWIKIλΌλ μμ΄ μν€νΌλμ λ€νλ₯Ό μλ‘ κ°κ³΅νμ¬, κ° νμ΄μ§λ₯Ό 100λ¨μ΄ κΈΈμ΄μ λ¬Έλ¨, λ¬Έμ₯, proposition λ¨μλ‘ λλλ μμ μ μ§ννμ΅λλ€.
- κ²μ λ° λ€μ΄μ€νΈλ¦Ό μμ μ±λ₯ ν₯μ: proposition κΈ°λ° κ²μμ λ¬Έμ₯ λ° λ¬Έλ¨ κΈ°λ° κ²μλ³΄λ€ μ λ°μ μΈ μ±λ₯μ΄ μ°μνμΌλ©°, νΉν μ§λ¬Έμ κ΄λ ¨λ μ 보λ₯Ό λ λ°μ§λ ννλ‘ μ 곡νμ¬ QA(μ§λ¬Έ λ΅λ³) μμ μμ λμ± λ°μ΄λ μ±λ₯μ λ°ννμ΅λλ€.
-
RAPTOR: λ¬Έμ μμ½ ν΄λ¬μ€ν°λ§
RAPTORλ λ¬Έμλ₯Ό μμ½ν ν, μ΄λ₯Ό ν΄λ¬μ€ν°λ‘ λ¬Άκ³ , ν΄λ¬μ€ν° κ°μ μμ½μ λ°λ³΅νμ¬ μ΅μ’ μ μΌλ‘ μ 체 λ¬Έμ μ½νΌμ€μ λν κ³ μ°¨μ μμ½μ λ§λλ λ°©μμ λλ€. μ΄λ κ² μμ±λ μμ½μ λ°νμΌλ‘ μ¬λ¬ λ¬Έμμ κ±ΈμΉ μ 보λ₯Ό ν΅ν©νμ¬ κ²μν μ μμ΅λλ€.
- λ§ν¬ : https://arxiv.org/pdf/2401.18059
- μ λͺ© : RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval
-
μ°κ΅¬ λ°°κ²½: λν μΈμ΄ λͺ¨λΈ(LLM)μ λ§μ μμ μμ λ°μ΄λ μ±λ₯μ 보μ¬μ£Όκ³ μμ§λ§, μ΄ λͺ¨λΈλ€ μμ μΈκ³ μνμ λ³νλ κΈ΄ λ¬Έμμμμ 볡μ‘ν μ 보 ν΅ν©μ μ½μ μ κ°μ§κ³ μμ΅λλ€.
- νΉν λλΆλΆμ κΈ°μ‘΄ λͺ¨λΈλ€μ ν μ€νΈμ μμ μ°μμ μΈ λΆλΆλ§μ κ°μ Έμ μ΄ν΄νλ λ°©μμΌλ‘, μ 체 λ¬Έμμ λ§₯λ½μ μ¨μ ν λ°μνμ§ λͺ»νλ νκ³κ° μμ΅λλ€.
- μ΄λ₯Ό ν΄κ²°νκΈ° μν΄, RAPTORλ ν μ€νΈμ λ€μν μμ½ μμ€μ λ°νμΌλ‘ ν μ 보λ₯Ό ν¨κ³Όμ μΌλ‘ κ²μνκ³ ν΅ν©ν μ μλ λͺ¨λΈμ λλ€.
- Contributions:
- μ¬κ·μ μμ½: ν μ€νΈλ₯Ό ν΄λ¬μ€ν°λ§νκ³ μμ½νμ¬ νΈλ¦¬ κ΅¬μ‘°λ‘ κ΅¬μ±ν¨μΌλ‘μ¨, μλ‘ λ€λ₯Έ μΆμν μμ€μ μ 보λ₯Ό ν΅ν©ν μ μλλ‘ νμ΅λλ€.
- ν¨μ¨μ μΈ κ²μ λ° μ 보 ν΅ν©: μ΄ νΈλ¦¬ ꡬ쑰λ λ€μν μμ½ μμ€μμ μ 보λ₯Ό κ²μνμ¬, 볡μ‘ν μ§λ¬Έμ λν΄ ν¨κ³Όμ μΌλ‘ λ΅ν μ μκ² ν©λλ€. μ΄λ₯Ό ν΅ν΄, κΈ΄ λ¬Έμλ₯Ό μ²λ¦¬νλ μ§λ¬Έ-μλ΅ μμ μμ κΈ°μ‘΄ λ°©μλ³΄λ€ μ±λ₯μ΄ ν¬κ² ν₯μλμμ΅λλ€.
- μ΅μ μ±κ³Ό: RAPTORμ GPT-4λ₯Ό κ²°ν©νμ¬ QuALITY λ°μ΄ν°μ μμ 20% μ΄μμ μ±λ₯ κ°μ μ λ¬μ±νμΌλ©°, μ¬λ¬ QA μμ μμ μ΅κ³ μ±λ₯μ κΈ°λ‘νμ΅λλ€.
-
Self-RAG: μνμ RAG
RAG μμ€ν μ΄ ν λ²μ κ²μκ³Ό μλ΅ μμ±μΌλ‘ λλλ κ²μ΄ μλλΌ, λ°λ³΅μ μΌλ‘ μ§λ¬Έμ μμ νκ±°λ κ²μ κ²°κ³Όλ₯Ό νκ°νλ λ°©λ²μ λλ€. μ΄λ₯Ό ν΅ν΄ κ²μμ μ νλλ₯Ό λμ΄κ³ , hallucinationμ λ°©μ§ν μ μμ΅λλ€.
- λ§ν¬ : https://arxiv.org/pdf/2310.11511
- μ λͺ© : SELF-RAG: LEARNING TO RETRIEVE, GENERATE, AND CRITIQUE THROUGH SELF-REFLECTION
-
μ°κ΅¬ λ°°κ²½: λν μΈμ΄ λͺ¨λΈ(LLM)μ λ°μ΄λ λ₯λ ₯μ κ°μ§κ³ μμ§λ§, μ¬μ ν μ¬μ€μ μΈ μ€λ₯λ₯Ό μμ£Ό ν¬ν¨ν μλ΅(hallucination)μ μμ±νλ λ¬Έμ κ° μμ΅λλ€.
- κΈ°μ‘΄μ μ 보 κ²μ κΈ°λ° μμ±(RAG) λ°©μμ LLMμ΄ μΈλΆμμ κ΄λ ¨ μ 보λ₯Ό κ²μνμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €κ³ νμΌλ, 무쑰건μ μΌλ‘ κ³ μ λ κ°μμ λ¬Έμλ₯Ό κ²μνκ³ μ΄λ₯Ό μ¬μ©νλ©΄μ, λͺ¨λΈμ μ μ°μ±μ΄ λ¨μ΄μ§κ±°λ λΆμ μ ν μ 보λ₯Ό ν¬ν¨ν μλ΅μ΄ μμ±λ μ μλ€λ λ¨μ μ΄ μμμ΅λλ€.
-
Contributions:
- SELF-RAG νλ μμν¬ μ μ: μ΄ νλ μμν¬λ μΈμ΄ λͺ¨λΈμ΄ νμν λλ§ μ 보λ₯Ό κ²μνκ³ , κ²μλ μ 보λ₯Ό λ°μ±(reflection)νμ¬ μ€μ€λ‘ νκ°ν¨μΌλ‘μ¨, μλ΅μ μ¬μ€μ±μ λμ΄κ³ νμ§μ ν₯μμν€λ λ°©λ²μ λμ ν©λλ€.
- μκΈ° λ°μ± ν ν°(reflection tokens): νΉλ³ν ν ν°μ μ¬μ©νμ¬ λͺ¨λΈμ΄ μ€μ€λ‘ μμ±ν μΆλ ₯μ λν΄ λ°μ±νκ³ νκ°ν©λλ€. μ΄λ κ²μμ΄ νμνμ§ μ¬λΆλ₯Ό νλ¨νκ±°λ, μμ±λ μλ΅μ΄ μΌλ§λ μ¬μ€μ μΈμ§ νκ°νλ λ° μ¬μ©λ©λλ€.
- SELF-RAG λͺ¨λΈμ μκΈ° λ°μ± ν ν°μ ν΅ν΄ μ€μ€λ‘ μμ±ν μλ΅μ νκ°νκ³ λΉννλ λ₯λ ₯μ κ°μΆκ³ μμ΅λλ€. μ΄ νκ° κΈ°μ€μ
κ΄λ ¨μ±
,μ¬μ€μ±
,μ μ©μ±
μΌλ‘ ꡬλΆλλ©°, κ°κ°μ ν ν°μ μ¬μ©ν΄ νκ°λ₯Ό μνν λ€, μ΄λ₯Ό λ°νμΌλ‘ κ°μ₯ μ ν©ν μλ΅μ μ΅μ’ μ μΌλ‘ μ νν©λλ€.
- SELF-RAG λͺ¨λΈμ μκΈ° λ°μ± ν ν°μ ν΅ν΄ μ€μ€λ‘ μμ±ν μλ΅μ νκ°νκ³ λΉννλ λ₯λ ₯μ κ°μΆκ³ μμ΅λλ€. μ΄ νκ° κΈ°μ€μ
- μ μν κ²μ: SELF-RAGλ κΈ°μ‘΄μ RAG λ°©μκ³Ό λ¬λ¦¬, λ¬Έμ κ²μμ΄ νμν λλ§ κ²μμ μννμ¬ λͺ¨λΈμ ν¨μ¨μ±μ λμ΄κ³ , λΆνμν μ 보μ μ¬μ©μ μ€μ λλ€.
- λͺ¨λΈμ μ±λ₯ ν₯μ: SELF-RAGλ μ¬μ€ νμΈ, μ₯λ¬Έ μμ±, μ€ν λλ©μΈ μ§λ¬Έ μλ΅ λ± λ€μν κ³Όμ μμ κΈ°μ‘΄μ μ΅μ²¨λ¨ λͺ¨λΈλ€(μ: ChatGPT, Llama2)μ λ₯κ°νλ μ±λ₯μ 보μμ΅λλ€.
-
Corrective RAG: μΈλΆ κ²μ μ°λ
λ΄λΆ μΈλ±μ€μ μλ μ§λ¬Έμ΄ λ€μ΄μμ λ, μΈλΆ μΉ κ²μμ ν΅ν΄ μλ‘μ΄ μ 보λ₯Ό μ°Ύμλ΄λ λ°©λ²μ λλ€. μ΄λ₯Ό ν΅ν΄ out-of-domain μ§λ¬Έμλ λμν μ μμ΅λλ€.
- λ§ν¬ : https://arxiv.org/pdf/2401.15884
- μ λͺ© : Corrective Retrieval Augmented Generation
-
μ°κ΅¬ λ°°κ²½: λν μΈμ΄ λͺ¨λΈ(LLM)μ λ§€μ° μμ°μ€λ½κ³ μ μ°½ν ν μ€νΈ μμ± λ₯λ ₯μ 보μ΄μ§λ§, μ’ μ’ μ ννμ§ μμ μ 보λ₯Ό μμ±νλ βνκ°β νμμ 보μ λλ€. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ Retrieval-Augmented Generation (RAG) κΈ°λ²μ΄ μ¬μ©λλ©°, μΈλΆ μ§μ λ¬Έμμμ κ΄λ ¨ μ 보λ₯Ό κ²μν΄μ λͺ¨λΈμ΄ λ΅μ μμ±ν λ μ΄λ₯Ό μ°Έκ³ νκ² λ©λλ€. κ·Έλ¬λ, κ²μλ λ¬Έμκ° λΆμ ννκ±°λ κ΄λ ¨μ΄ μμ κ²½μ°, μμ±λ κ²°κ³Όκ° λ μ νλ μ μμ΅λλ€.
- λ³Έ λ Όλ¬Έμ μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ κ²μλ λ¬Έμμ μ νμ±μ νκ°νκ³ μμ νλ CRAG (Corrective Retrieval Augmented Generation) λ°©λ²μ μ μν©λλ€.
-
Contributions:
- μ€λ₯ μμ κΈ°λ² μ μ: κΈ°μ‘΄μ RAG λ°©μμ΄ λΆμ νν κ²μ κ²°κ³Όλ‘ μΈν΄ νκ° νμμ μΌμΌν€λ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄, λ³Έ λ Όλ¬Έμ κ²μλ λ¬Έμμ μ νλλ₯Ό νκ°νκ³ μμ νλ μ λ΅μ μ€κ³νμ΅λλ€. μ΄λ RAG κΈ°λ° λͺ¨λΈμ κ²¬κ³ μ±μ κ°ννλ 첫 λ²μ§Έ μλμ λλ€.
- κ²½λ νκ°μ μ€κ³: κ²μλ λ¬Έμμ νμ§μ νκ°νλ κ²½λ νκ°μλ₯Ό λμ
ν΄ λ¬Έμμ μ λ’°μ±μ νλ¨νκ³ , νμν κ²½μ° λκ·λͺ¨ μΉ κ²μμ ν΅ν΄ μΆκ°μ μΈ μ§μμ 보μν μ μμ΅λλ€.
- κ²½λ κ²μ νκ°μλ T5 κΈ°λ° λͺ¨λΈλ‘, λ¬Έμμ κ΄λ ¨μ±μ κ²½λνλ λ°©μμΌλ‘ νκ°νλ©°, μ/νν μκ³κ°μ ν΅ν΄ μ νμ±, λΆμ νμ±, λͺ¨νΈμ±μ ꡬλΆν©λλ€.
- μΉ κ²μμ 쿼리 μ¬μμ±μ ν΅ν΄ κ²μμ μννλ©°, μΉμμ κ²μλ μ 보λ₯Ό μ κ΅νκ² νν°λ§νκ³ μ¬κ΅¬μ±νμ¬ μ μ©ν μ§μμΌλ‘ λ³νν©λλ€.
- μ§μ ν΅ν©μ ν΅ν΄ λ΄λΆ λ¬Έμμ μΉμμ μ»μ λ°μ΄ν°λ₯Ό κ²°ν©νμ¬, μ€λ₯λ₯Ό μ΅μννκ³ LLMμ νκ° νμμ μ€μ΄λ κ²μ λͺ©νλ‘ ν©λλ€.
- λ€μν μ€νμ ν΅ν μ±λ₯ κ°μ μ¦λͺ : λ³Έ λ Όλ¬Έμ μ€ν κ²°κ³Ό, CRAGλ λ€μν λ°μ΄ν°μ μμ κΈ°μ‘΄ RAG λ°©μλ³΄λ€ μ°μν μ±λ₯μ 보μμΌλ©°, νΉν μ§§μ νμκ³Ό κΈ΄ νμμ ν μ€νΈ μμ± μμ λͺ¨λμμ μΌλ°ν κ°λ₯ν¨μ μ μ¦νμ΅λλ€.
Conclusion: RAGμ μλ‘μ΄ λ°©ν₯
κ²°λ‘ μ μΌλ‘, RAGλ λλμ§ μμμ΅λλ€. λ€λ§, μ₯λ¬Έ LLM μλμ λ§μΆ° λ³ννκ³ μμ λΏμ λλ€. μμΌλ‘λ λ¬Έμλ₯Ό μͺΌκ°λ 볡μ‘ν κ³Όμ λμ λ¬Έμ μ 체λ₯Ό κ²μνλ λ°©μμ΄ λ μ£Όλͺ©λ°μ κ²μ λλ€. λν, λ¬Έμ κ²μ μ΄ν μΆλ‘ μ λ°λ³΅νκ³ νκ°νλ λ°©λ²λ λ λ§μ΄ μ¬μ©λ κ²μΌλ‘ 보μ λλ€.
μ₯λ¬Έ LLMμ΄ κ³μν΄μ λ°μ ν¨μ λ°λΌ, RAG μμ€ν μ λ ν¨μ¨μ μ΄κ³ μ μ°ν λ°©ν₯μΌλ‘ μ§νν κ²μ λλ€. νμ§λ§ λ¨μν λͺ¨λ μ 보λ₯Ό ν λ²μ LLMμ λ£λ λ°©μμ΄ νμ μ΅μ μ΄ μλμ λͺ μ¬ν΄μΌ ν©λλ€. RAGλ μλ‘μ΄ μλμ λ§κ² λ³ννκ³ μμΌλ©°, κ·Έ μ€μμ±μ μ¬μ ν μ μ§λ κ²μ λλ€.