0. Abstract

  • 연구 배경과 문제점
    • RAG는 LLM의 지식 부족을 극복하는데 도움을 줌
    • 하지만 현재 RAG 방법들은 복잡한 추론에 필요한 정보의 깊이와 완전성이 부족
  • 제안 모델: Think-on-Graph 2.0 (ToG-2)
    • hybrid RAG 프레임워크, 비정형 및 정형 지식 소스를 tight-coupling 방식으로 활용
    • 작동 방식:
      • KG를 통해 entity 기반으로 문서 연결
      • 문서를 entity context로 활용
      • Graph retrieval과 context retrieval을 번갈아가며 수행
    • 장점 : 
      • 검색 프로세스의 긴밀한 결합 : Context retrieval을 KG로 강화, Context 기반의 신뢰성 있는 graph retrieval 가능
      • 강화된 추론 능력 : Context와 KG 간 반복적 knowledge retrieval, 깊이 있고 신뢰할 수 있는 LLM 추론 달성
      • 실용적 : Training Free 다양한 곳에서 호환 가능

 

1. Introduction

  • 연구 배경과 문제점
    • 현재 RAG의 한계
      • LLM이 복잡한 작업에서 인간과 같은 추론 경로 유지 어려움, 단편화된 정보와 구조적 관계 통합에 지속적 노력 필요
    • 기존 Text-based RAG의 한계
      • 주로 vector retrieval에 의존
      • 구조화된 관계 포착 어려움 (Figure 1a의 Crig Virgin과 Verzbicas의 구조적 관계를 간과)
      • Entity 간 knowledge-level 연관성 간과 (예: "Global Financial Crisis"와 "The 2008 Recession")
      • 다단계 추론과 논리적 연결 추적 부적합
    • 기존 KG-based RAG의 한계
      • 장점 : 트리플 형태로 정보를 저정하고, 엔티티간의 구조적 관계를 설립하여 관계를 구조화 하는데 효과적임.
        -> High-level 개념과 관계를 구조화 하는데 효과적임
      • 단점: 내부 불완전성 존재, Out of distribution를 벗어난 정보 부족, 상세한 정보 제공 한계
        -> Figure 1(b)의 Lukas Verzbicas의 경기 기록에 대한 상세한 정보를 제공할 수 없음.
    • 기존 Hybrid 접근방식(KG+Text)의 한계
      • 설명 : 텍스트 기반 KG + RAG시스템을 통합하는 연구들이 있음.
        -> 정형 및 비정형 지식 source에서 검색된 정보를통해 LLM이 질문을 답하도록 프롬프팅에 통합 
      • (Figure 1(c))느슨한 결합으로 인한 한계, 한 지식 소스의 검색 결과를 다른 소스로 개선 못함, 복잡한 쿼리 처리 한계
        -> 느슨한 결합 : 단순히 KG와 텍스트 데이터를 병렬적으로 사용.
        -> 한 지식 소스의 검색 결과를 다른 소스로 개선 못함 : KG에서 찾은 구조화 관계를 텍스트 검색에 활용하지 못함(vise versa)
  • 제안하는 솔루션 : ToG-2 (Figure 1d)
    • 작동 방식
      • 질문에서 topic entity 추출로 시작
      • KG에서 relation retrieval 수행
      • 후보 entity 관련 텍스트 검색
      • Context retrieval 결과로 후보 entity 정리
      • LLM 프롬프팅으로 답변 생성 또는 추가 검색

2. Related Works

  1. Text-based RAG : Query <-> Text간의 의미적 유사성 기반 정보 검색
    • 한계 :
      • retrieve텍스트 간 심층적 관계 포착 어려움( Retrieve document들을 독립적으로 보게 됨)
      • retrieve텍스트 간 중복된 내용이 포함될 수 있음.
    • 극복 하려했던 연구:(ITER-RETGEN: 검색과 생성을 반복적으로 병합), (Trivedi et al.: RAG와 Chain of Thought(CoT) 결합
  2. KG-based RAG : 
    • 초기 접근 : KG지식을 LLM의 neural network에 직접 임베딩
    • 최근 접근 : KG를 외부 보강 도구로 활용함., 구조화된 지식을 텍스트 프롬프트로 변환(tiplet -> 자연어)
    • 한계점 : KG의 지식 불완전성, 상세한 맥락 정보들이 사라짐
  3. Hybrid RAG : 
    • 연구
      • Chain-of-Knowledge(CoK) : LLM 출력의 grounding(지식 맵핑, 검증) 강화
      • GraphRAG : 문서에서 KG를 구축하고, KG-enhanced text retrieval을 함
      • HybridRAG : vector데이터 베이스와 KG 모두에서 정보를 검색
    • 한계
      • 기존 Hybrid는 단순히 KG와 텍스트에서 검색한 정보를 집계할 뿐, 한 지식 소스에서 검색된 결과를 다른 소스를 통해 개선하지는 않음.

해당 연구는 KG-based RAG와 Text-based RAG방법을 긴밀하게 결합하여 심층적인 context retrieval과 정확한 Graph retrieval을 모두 가능하게 하여 Complex reasoning성능을 향상 시키는 것을 목표로 함.

 

3. Methodology

  • ToG-2는 ToG 접근 방식을 차용
    • 쿼리에서 식별된 주요 entity들에서 시작. LLM + prompt를 통해 entity와 관계를 추출하고, entity기반으로 외부 탐색
    • ToG-2는 triple 기반의 논리적 체인 확장 :
      • knowledge-guided context retrieval : KG에서 발견된 것으로 관련문서를 더 정확하게 검색
      • context-enhance graph retrieval : 검색된 텍스트 문석의 맥락 정보로 다시 KG탐색을 함
  • 구체적으로...
    • 주어진 질문에서 entity들을 추출, 초기 topic entity 시작
    • graph retrieval, context retrieval, LLM reasoning의 반복 프로세스를 수행
      • 각 반복의 시작에서 KG에서 현재 topic entity들과 인접한 entity들을 선택적으로 탐색 -> 검색 범위를 한정
      • ToG-2는 쿼리와 관련 문서에서 검색된 맥락 지식을 기반으로 entity들의 순위를 매기
      • LLM은 triple 경로와 entity 컨텍스트를 포함한 이종의 지식을 활용하여 질문에 답
      • 수집된 정보가 불충분한 경우 추가 검색 진행.

3.1 INITIALIZATION

  1. Entity 식별 및 연결 :
    1. 입력 : query
    2. 실행 : query에서 LLM을 통해 entity들을 식별하고 KG의 entity들과 연결
      Query : Where was one of the runners born who almost broke Crag Virgin's Illinois Boys Cross Country record?
  2. Topic Prune(TP) : 
    1.  KG에서 탐색을 시작하기에 적합한 entity들을 선택
      (LLM이 q와 추출된 entity들을 평가하여 topic entity $E^0_{topic} = {e_1, e_2, ..., e_N}$ 을 선택 - N개)

      Crag Virgin's(o) Illinois(o) Cross Country(x) <- $E^0_{topic}$
      여기서 0은 몇번 째 iteration인지를  의미함

  3. 초기 문서 검색 : 
    1. 입력 : 선택된 Topic entitiy
    2. 방법 : dense retrieval model사용하여, $E_0_{topic}$와 관련된 문서에서 상위 K개의 chunk 추출.
      Cosin Sim과 같은 방법을 사용해서 Crag Virgin's, Illinois와 관련된 문서들을 추출
  4. 평가 : 추출된 정보가 충분한지 평가 -> 충분하면 프로세스 종료

3.2 Hybrid knowledge exploration

다른 지식을 어떻게 긴밀하게 조화시키는지 설명 (Triplet, Document).
다른 지식이라 하면 (그래프 구조 & Dense Retrieve Document)

Formula :

  • $E^i_{topic}$ : i번째 반복에서 topic entity들의 집합  {$e^i_1, e^i_2, ..., e^i_j$}
  • $P^{i-1}$ : i번째 반복 직전의 triple path 집합 $P^{i-1}$ = {$P^{i-1}_1, P^{i-1}_2, ..., P^{i-1}_j$}
    • $P^{i-1}_j$ = {$p^0_j, p^1_j, ..., p^{i-1}_j$}로 표시 가능
    • $j \in [1, W]$ : W는 각 반복에서 유지되는 topic entity들의 최대수를 나타내는 exploration width
      -> 최고로 좋은 entity W개만을 추출
    • $p^{i-1}_j$ : 단일 triple $(e^{i-1}_j, r^{i-1}_j, e^i_j)$
      i-1 번째 entity로 i번째 entity로 연결하는 구조
    • $r^{i-1}$ :  $e^{i-1}$와 $e^i_j$ 사이의 관계(양방향 가능)
  • 더보기
    초기 단계 (i = 0):
    - $E^0_{topic}$ = {"Craig Virgin", "Illinois"}
    - $P^0$ = {} (비어있음)

    첫 번째 반복 (i = 1):
    Topic entity "Craig Virgin"으로부터:
    • $e^1_1$ = "Lebanon High School"
    • $e^1_2$ = "1984 Summer Olympics"
    • $P^1_1$ = {(Craig Virgin, attended_at, Lebanon High School)}
    • $P^1_2$ = {(Craig Virgin, participated_in, 1984 Summer Olympics)}

    두 번째 반복 (i = 2): 

    • 이전 단계에서 발견된 entity들을 기반으로:
      • $e^2_1$ = "IHSA"
      • $P^2_1$ = {(Craig Virgin, attended_at, Lebanon High School), (Lebanon High School, member of, IHSA)}

     

3.2.1 Knowledge-guided graph search

  • KG의 풍부한 구조적 연결성을 활용하여, graph search는 semantic 공간에서 서로 멀어 보이는 질문과 타겟팅하는 정보 사이의 high-level 개념과 관계를 탐색.
  • Relation Discovery : i-th iteration에서 시작할 때, Edge함수를 통해 모든 관계를 찾음.
    • $Edge(e^i_j)$ =  {$(r^i_{j,m}, h_m) | h \in {True, False}$} (1)
      • Edge()는 entity들의 관계를 검색하는 함수
      • h는 해당 관계 $r^i_{j,m}$의 방향이 topic entity $e^i_j$를 가리키고 있는지를 나타냄
      • $e^i_j$ : initial에서 얻은 entity, 혹은 i-1번째에서 얻은 Topic entity들
      • Formula
        • m : 발견된 m번째 관계
        • j : j번째 topic entity
        • $e^i_j$ : i번쨰 iteration에서 topic entity
        • $r^i_{j,m}$ : i번쨰 iteration에서 topic entity를 포인팅하는지 관계 여부
      • 더보기
        개인적인 견해 : 논문에서는 Edge라는 함수로 관계가 유효한지 안한지 판단하나, 이는 Target정보도 들어가야 하는 것이 아닌가 싶다.

        초기 topic entity: "Craig Virgin" ($e^0_1$)

        Edge("Craig Virgin")의 결과:
        1. (place_of_birth, False): Craig Virgin -> place_of_birth -> Illinois
        2. (studied_at, False): Craig Virgin -> studied_at -> Lebanon High School
        3. (participated_in, False): Craig Virgin -> participated_in -> 1984 Summer Olympics
        4. (has student, True) : Lebanon High School -> has student -> Craig Virgin

        False : 역방향
        True : 정방향
  • Relation Prune : 수집된 관계 집합 ${Edge(e^i_j)}^W_{j=1}$에서, LLM에게 q를 해결하는 데 도움이 될것 같은 entity들 찾음.
    구체적으로 점수를 매기도록 프롬프팅 : 2가지 방법 (Appendix E table 10, 11, 12)
    • 수식 부연 설명
      • ${Edge(e^i_j)}^W_{j=1}$ : i번째 반복에서 후보가 되는 entity의 갯수(j)는 W개 이다.
    • $PROMPT_{RP}(e^i_j, q, Edge(e^i_j))$ (2)
      • 여러번 API콜을 수행
        • 더보기
          단일 topic entity($e^i_j$)에 대해서, 관계가 있는 entity들을 개별로 API콜을 진행

          Call 1: PROMPT_RP("Craig Virgin", q, Edge("Craig Virgin"))
          Call 2: PROMPT_RP("Lebanon High School", q, Edge("Lebanon High School"))
          ...
    • $PROMPT_{RP_(cmb)}(E^i_{topic}, q, {Edge(e^i_j)}^W_{j=1})$ (3)
      • 2번 식 보다 더 적은 API콜 진행.
        • 모든 topic entity들을 한번에 처리
        • 입력이 길어질 경우 LLM에게 부담이 될 수 있음.
        • 더보기
          PROMPT_RP_cmb(
            ["Craig Virgin", "Lebanon High School"],
            q,
            [Edge("Craig Virgin"), Edge("Lebanon High School")]
          )
  • Entity Discovery : LLM을 사용하는 것은 아니고, graph구조에서 연결된 정보를 사용.
    • $E^i_{topic}$의 topic entity $e^i_j$와 그에 해당하는 $R^i$의 선택된 관계 $r^i_{j,m}$이 주어지면,
    • 함수
      • $Tail(e^i_j,(r^i_{j,m}, h_m)) = c^i_{j,m}$ (4)
      • 관계 $(r^i_{j,m}, h_m)$를 통해 topic entity $e^i_j$와 연결된 entity들 ${c^i_{j,m}}$을 식별
      • formula :
        • $Tail$: 연결된 entity를 찾는 함수
        • $e^i_j$: i번째 반복에서의 j번째 topic entity
        • $r^i_{j,m}$: i번째 반복에서 j번째 entity의 m번째 관계
        • $h_m$: 관계의 방향을 나타내는 boolean 값 (True/False)
        • $c^i_{j,m}$: 찾은 entity
    • Figure 2의 예에서, Craig Sandburg High School, Evan Jager는 Craig Sandburg High School 이후의 entity discovery에서 연결된 entity들임.
    • 이후에 context-based entity prune 단계가 실행되어 모든 연결된 entity들 중에서 상위-W개의 entity들을 새로운 topic entity들 $E^{i+1}_{topic}$으로 선택함으로써 전체 graph retrieval 단계를 완료

정리하면!

더보기

Topic Entity: "Craig Virgin"

Relation Discovery: 모든 관계와 방향성 찾기 (아무것도 제거하지 않음)
- (has_student, True): Lebanon High School -> has_student -> Craig Virgin
- (attended_by, True): 1984 Olympics -> attended_by -> Craig Virgin
- (born_in, False): Craig Virgin -> born_in -> Illinois
- (alumni_of, True): Lebanon High School -> alumni_of -> Craig Virgin

Relation Prune: 질문에 관련 있는 관계 선택 (LLM이 유용성 평가)
- (has_student, True): 선택됨 (점수: 8/10) - 교육 경력 관련 정보
- (attended_by, True): 선택됨 (점수: 9/10) - 운동 선수 경력 정보
- (born_in, False): 선택되지 않음 (점수: 2/10) - 질문과 관련성 낮음
- (alumni_of, True): 선택됨 (점수: 7/10) - 교육 경력 관련 정보

Entity Discovery: 선택된 관계들의 source entities 찾기
- has_student(True)를 통해: Lebanon High School 발견
- attended_by(True)를 통해: 1984 Olympics 발견
- alumni_of(True)를 통해: Lebanon High School 발견

 

 

3.2.2 KNOWLEDGE-GUIDED CONTEXT RETRIEVAL

  • ToG-2는 KG에서 추출한 high-level 지식을 바탕으로 세부적인 정보를 발굴
    • 함수 4(Entity Discovery)를 통해 모든 후보 entity들을 얻으면, 각 후보 entity $c^i_{j,m}$와 관련된 문서들을 수집
    • 현재 반복에 대한 후보 entity들의 context pool을 형성
    • Figure 2의 예에서, 첫 번째 반복의 context pool은 Craig Sandburg High School, Evan Jager, Lebanon High School, 1984 Summer Olympics 등을 포함한 후보 entity들과 관련된 문서들을 포함
  • Entity-guided Context Retrieval: 
    • 후보 entity들의 문서 맥락 내에서 유용한 정보를 찾기 
      • DRM을 적용하여 문단들의 관련성 점수를 계산
        DRM : Dense Retrieval Model
      • 후보 entity $c^i_{j,m}$의 현재 triple $Pc^i_{j,m} = (e^i_j, r^i_{j,m})$을 간단한 문장으로 변환 후 이를 가지고 점수를 계산
      • $c^i_{j,m}$의 z-번째 chunk의 관련성 점수를 다음과 같이 공식화:
        • $s^i_{j,m,z} = DRM(q, [triple$_$sentence(Pc^i_{j,m}) : chunk^i_{j,m,z}])$ (5)
      • 상위-K 점수를 받은 chunk들 $Ctx^i$가 추론 단계에서 참조하게 됨.
    • 더보기
      예)

      질문(q): "Craig Virgin의 Illinois Boys Cross Country record를 누가 근접했나요?"
      - topic entity (e^i_j): Craig Virgin
      - relation (r^i_{j,m}): attended
      - candidate entity (c^i_{j,m}): Lebanon High School

      Triple을 문장으로 변환 : 
      $Pc^i_{j,m}$ = (Craig Virgin, attended, Lebanon High School)

      triple_sentence = "Craig Virgin attended Lebanon High School"

      문서 chunk예 :
      chunk^i_{j,m,z} = "Lebanon High School의 Lukas Verzbicas는 2011년 state meet에서 13:53.84의 기록을 세워 Craig Virgin의 14:07.2 기록에 근접했습니다."

      식 5) 관련성 점수 계산
      $s^i_{j,m,z}$ = DRM(
          q = "Craig Virgin의 Illinois Boys Cross Country record를 누가 근접했나요?",
          context = [
              "Craig Virgin attended Lebanon High School" :  // triple_sentence
              "Lebanon High School의 Lukas Verzbicas는 2011년 state meet에서 13:53.84의 기록을 세워 Craig Virgin의 14:07.2 기록에 근접했습니다."  // chunk
          ]
      )

      식 6) 가중치고려 Entity Prune
      예를 들어, K=3(상위 3개 chunk 고려)이고 α=0.5라고 가정하면:

      w1 = e^(-0.5 * 1) = 0.607  // 첫 번째 chunk의 가중치
      w2 = e^(-0.5 * 2) = 0.368  // 두 번째 chunk의 가중치
      w3 = e^(-0.5 * 3) = 0.223  // 세 번째 chunk의 가중치

      특정 entity 'Lebanon High School'에 대해:
      - chunk1 점수(s1) = 0.9, chunk가 해당 entity의 것임 (I=1)
      - chunk2 점수(s2) = 0.7, chunk가 해당 entity의 것임 (I=1)
      - chunk3 점수(s3) = 0.8, chunk가 다른 entity의 것임 (I=0)

      score(Lebanon High School) 
      = (0.9 * 0.607 * 1) + (0.7 * 0.368 * 1) + (0.8 * 0.223 * 0)
      = 0.546 + 0.258 + 0
      = 0.804
  • Context-based Entity Prune :
    • 후보 entity들의 선택 : contextual chunk들의 순위 점수를 기반으로 후보 선택
    • 후보 entity $c^i_{j,m}$의 순위 점수는 상위-K에 가중치를 주어 계산이 된다. 수식은 아래와 같다.
      가중치는 지수적으로 감소하는 함수
      • $score(c^i_{j,m}) = \sum^K_{k=1} s_k \cdot w_k \cdot I$ (6)
        • $c^i_{j,m}$ : i번째 반복에서, j번째 topic entity와 연결된 m번째 후보 entity
        • $w_k = e^{-\alpha \cdot k}$ : weight decay
        • $s_k$ : k-번째로 순위가 매겨진 chunk 점수(entity-guided context retrieval에서 구한 점수)
        • I : k-번째 chunk가 $e^i_{j,m}$에 속하면 1이 되는 indicator 함수
        • i : iteration
        • j : topic entity의 인덱스
        • m : 각 topic entity와 연결된 관계/후보 entity의 인덱스
        • K와 α는 하이퍼파라미터

3.3 REASONING WITH HYBRID KNOWLEDGE

  • $Clues^{i-1}$ : 이전 반복에서 획득한 유용한 정보들.
    • 이전 단계에서 발견한 중요한 정보 요약
    • 다음 검색에 도움이 될 수 있는 핵심 정보
    • 최종 답변으로 이어지는 중간 추론 과정들
    • 더보기
      예)
      Question: "Creatfallen's artwork is done by photographer of which nationality?"

      Clues0: null

      Clues1: {the photographer who contributed to several Smashing Pumpkins videos and album art was Ukrainian photographer Yelena Yemchuk}

      Answer: {Ukrainian}
  • $PROMPT_{rs}(q,P^i, Ctx^i, Clues^{i-1}) = \begin{cases} Ans., & \text{if the knowledge is sufficient} \ Clues^i, & \text{otherwise} \end{cases}$ (7)
    • 해당 정보를 바탕으로 query에 대답하기에 적절한지 판단
      Prompt는 Appendix E. Table 13,14
    • 적절하지 않다고 판단하면, LLM에게 기존 지식들로 부터 유용한 정보들만 요약 -> $Clues^i$요약
    • 정확한 정보를 기반으로 깊이 D에 도달할 때 까지 쿼리를 최적화 하도록 프롬프팅

4. Experiments

4.1 Dataset and Metrics

4.2 Baselines

  1. LLM만 사용하는 방법들 : 
    1. Direct Reasoning
    2. CoT
    3. Self-Consistency
  2. Vanilla RAG: entity 문서에서 직접 검색하는 RAG 방법
  3. KG-based RAG : Think on Graph - KG기반 RAG
  4. Chain of Knowledge : Wikipedia, Wikidata, Wikitable에서 지식을 검색하는 hybrid RAG
  5. GraphRAG : 먼저 문서에서 KG구축

EM : Exact Match, Acc : Accuracy

4.3 IMPLEMENTATION DETAILS

  • Model : GPT-3.5-turbo, GPT-4o, Llama3-8B, Qwen2-7B
  • Context Retrieval Model : BGE-embedding
  • K : entity prune에서는 entity 점수를 계산하기 위해 상위 10개(K = 10)
  • Temperature : 0.4(exploration), 0(inference)
  • W : 3
  • Depth : 3

4.4 Main Results

4.5 Ablation Study

4.5.1 Ablation of LLM backbones

  • To what extent do LLMs with varying capabilities benefit from the knowledge enhancement of ToG-2?
    • 약한 추론능력을 갖는 Llama3-8B, Qwen2-7B는 강한 추론능력을 갖는 GPT-3.5-turbo 수준으로 끌어올림
    • 강한 추론능력을 갖는 GPT-3.5-turbo, GPT-4o와 같은 LLM도 ToG-2를 통해 Knowledge reasoning작업에서 성능 더욱 향상시킬 수 있음.

4.5.2 Choices of Entity Pruning Tools

  • What kind of tools are most suitable for tight coupling graph-based knowledge and documentbased knowledge?(Figure 3)
    • Figure 3a : (K=10고정) - 생성 기반/임베딩 기반 비슷한 성능을 보여줌, BM25도 준수한 성능을 보임.
    • Figure 3b : (context수인 K 최적화)
      - BGE-Reranker : 긴 맥락에서 더 좋은 성능.
      - LLM : 긴 맥락에서 성능 저하

4.5.3 Width & Depth Settings

 

  • 더 넓은 탐색 범위가 반드시 더 나은가?
  • 너비(Width)의 영향
    - 너비 2에서 3으로 증가 시 성능이 점진적으로 향상
    - 너비 3을 초과하면 성능 향상의 한계 발생
  • 깊이(Depth)의 영향
    - 깊이 3을 초과하면 성능 향상이 정체
    - 깊은 탐색이 반드시 더 나은 결과를 보장하지 않음

 

 

 

 

4.6 Runtime Analysis : 생략

4.7 Manual Analysis

  • ToG-2는 triple 링크와 맥락 정보를 어느 정도로 활용하는가?
    • AdvHotpotQA 추론 결과 50개를 무작위로 선택하여 triple 링크 추론, 링크 내의 entity들의 맥락 정보가 정답에 어떻게 기여하는지에 대해 분석을 수행
    • Doc-enhanced Answers(문서 강화 답변)가 약 42%로 가장 높은 비율을 차지하는 반면, Triple-enhanced Answers(triple 강화 답변)는 가장 적은 비율을 보임
      • 복잡한 QA 작업에서 텍스트 맥락이 가장 중요한 정보 소스임을 나타냄. Triple 링크만으로는 상세한 맥락이 부족하여 더 깊은 통찰을 제공하기 어려움.

 

0. Abstract

  • 기존 방법 문제
    • LLM은 복잡한 추론이 필요한 작업에서 hallucination 문제가 있음
    • 기존 방식들은 KG를 단순 정보 검색용으로만 활용
  • 방법론 제안
    • 새로운 패러다임 "LLM ⊗ KG" 제안
      • LLM을 단순 도구가 아닌 추론하는 agent로 활용
      • KG에서 반복적으로 beam search를 수행하며 추론
    • ToG(Think-on-Graph)의 핵심 장점
      1. 더 나은 심층 추론 능력
      2. 지식의 추적 가능성과 수정 가능성
      3. 다양한 LLM, KG와 호환되는 plug-and-play 특성
      4. 추가 학습 불필요 (training-free)
  • 방법론적 특징
    • 3단계 프로세스: Initialization → Exploration → Reasoning
    • Beam search를 통한 체계적 탐색
    • 반복적인 Search와 Prune 작업으로 최적 경로 발견

1. Introduction

  • LLM의 한계
    • 1. 추론시 한계 : out of distribution, 긴 sequence, multi-hop 추론에서 정확한 답변을 생성하지 못함.(figure 1a)
    • 2. 설명성 부족 : LLM은 책임성, 설명 가능성, 투명성이 부족하여 hallucination이나 유해한 텍스트의 위험에 대한 우려를 제기
    • 3. 비용 : LLM의 학습 과정은 비용이 많이 들고 시간이 오래 걸려 지식을 최신 상태로 유지하기 어렵다
  • 극복 노력 : LLM + KG (figure 1b)
    • KG를 단순한 정보 검색용으로 활용
    • 그래프 추론과정에서 LLM은 관여 안함(LLM은 단순한 번역기 역할만 수행)
      -> KG의 완전성 및 품질에 과도하게 의존함.
  • 제안하는 방법 : LLM ⊗ KG (figure 1c)
    • LLM과 KG의 긴밀한 통합, Think on graph
    • Beam Search를 활용한 동적 추론 경로 탐색
    • 장점 : Deep reasoning(multi hop 추론), responsible reasoning, flexibility and efficiency

2. Methods

  • Think on Graph : ToG는 LLM이 knowledge graph에서 beam search를 한다
    • LLM이 질문에 대해 현재 추론 경로를 기반으로 답변할 수 있다고 판단할 때까지 KG에서 여러 가능한 추론 경로를 반복적으로 탐색하도록 prompt를 입력함.
    • 매 반복마다 질문 x에 대한 상위-N 추론 경로 $P = {p_1, p_2, ..., p_N}$를 지속적으로 업데이트하고 유지
    • ToG의 추론 과정은 initialization(초기화), exploration(탐색), reasoning(추론)의 3단계를 포함

2.1 Think-on-Graph

2.1.1 INITIALIZATION OF GRAPH SEARCH

  • 주어진 질문에 대해, ToG는 LLM을 활용하여 knowledge graph에서 추론 경로의 초기 엔티티 찾음
    초기 출발점이 될 수 있는 여러 시작점을 찾음 (상위N 추론 경로 P의 초기화로 볼 수 있음)
  • LLM에게 질문의 엔티티들을 자동으로 추출하도록 함.
    질문에 대한 상위-N 토픽 엔티티 $E^0 = {e^0_1, e^0_2, ..., e^0_N}$를 얻음. (주제 엔티티의 수가 N보다 적을 수 있음)

2.1.2 Exploration(탐색) : 결과  경로 P가 한 단계(depth) 증가

  • D번째 반복(hop)에서, 각 경로 $p_n$은 D-1개의 triple로 구성.
    • triple 구성 : $(e^d_{s,n}, r^d_{j,n}, e^d_{o,n})$
      • $e^d_{s,n}$: d번째 깊이에서 n번째 경로의 주어(subject) 엔티티
      • $r^d_{j,n}$: d번째 깊이에서 n번째 경로의 j번째 관계(relation)
        예) 서울은 한국의 수도이다, 서울은 한국의 중심이다 ... 
              - 여기서 r_1은 수도, r_2는 중심이 될 수 있음.
      • $e^d_{o,n}$: d번째 깊이에서 n번째 경로의 목적어(object) 엔티티
    • $(e^d_{s,n}, r^d_{j,n}, e^d_{o,n})$과 $(e^{d+1}{s,n}, r^{d+1}{j,n}, e^{d+1}_{o,n})$는 서로 연결되어 있음
      • 더보기
        논문에서는 위와 같이 언급하였으나, 아래와 같은 것을 의미한 것이 아닌가 싶다.

        d번째 triple: (Arthur Miller, influenced_by, William Shakespeare)
                                                                                    ↓
        d+1번째 triple:                            (William Shakespeare, influenced_by, Lucian)

        d번째 목적어가 d+1번째의 주어가 되어, 체인처럼 엮인 구조로 생각됨. 
    • P의 꼬리 엔티티 : $E^{D-1} = {e^{D-1}_1, e^{D-1}_2, ..., e^{D-1}_N}$
    • P의 관계 엔티티 : $R^{D-1} = {r^{D-1}_1, r^{D-1}_2, ..., r^{D-1}_N}$
  • 탐색 방법 : 
    • D번째 depth(hop, 반복)에서 목표 : 현재 경로를 확장해 더 나은 추론 경로를 찾는 것
      -> 현재 가지고 있는 엔티티들($E^{D-1}$)로부터 다음 단계의 가장 관련성 높은 엔티티들($E^D$)를 찾음.
    • 문제점 : 
      • Knowledge Graph에서 각 엔티티는 수많은 이웃 엔티티들과 연결되어 있음

  • 해결책 : 두 단계 (1.관계 탐색, 2.엔티티 탐색)
    • 1. 관계 탐색 : Search, Prune
      • Search : D번째 Hop(Depth,반복)에서 시작할 때:
        • 각 추론 경로 $p_n$을 검토, 각 경로의 마지막 엔티티($e^{D-1}n$)와 연결된 모든 관계($R^D{cand,n}$)를 찾음. 찾은 모든 관계들을 집합($R^D_{cand}$)로 정의함.
        • 더보기
          예) Figure2기준 :
          - $E^1$ = {Canberra}인 경우
          - $R^1_{cand}$는 Canberra와 연결된 모든 incoming/outgoing 관계를 포함
      • Prune : LLM이 질문 x의 문맥을 고려, 후보 관계들 중에서 가장 관련성 높은 것들을 선택, 상위 N개의 관계만 남기고 나머지는 제거
        • 더보기
          예) Figure 2기준 :
          - Canberra의 경우 상위 3개 관계 선택: {capital of, country, territory}
          - 최종 경로 업데이트: {(Canberra, capital of), (Canberra, country), (Canberra, territory)}
    • 2. 엔티티 탐색 : 
      • Search : 각 추론 경로에 대해 가능한 후보 엔티티 찾는 것
        • 입력 : 상위-N 추론 경로 P
        • 엔티티 탐색 과정 : 
          • 정방향: $(e^{D-1}_n, r^D_n, ?)$ 현재 엔티티를 통해 연결될 수 있는 목적어 엔티티 탐색
          • 역방향: $(?, r^D_n, e^{D-1}_n)$ 현재 엔티티를 목적어로 연결될 수 있는 주어 엔티티 탐색
          • 각 경로별로 찾은 후보 엔티티들을 $E^D_{cand,n}$ 집합으로 구성
          • 더보기
            Figure 2의 경우, Canberra와 연결된 관계들을 통해 {Australia, Australia, Australian Capital Territory}라는 후보 엔티티 집합 생성

            Figure 2의 경우 정방향만 보여주고 있는데, 역방향은 아래와 같지 않을까 싶음.
            1) ? --capital of--> Canberra
            2) ? --country--> Canberra 
            3) ? --territory--> Canberra
      • Prune : 후보 엔티티들 중에서 질문에 가장 관련성 높은 엔티티들을 선택
        • 입력:
          • 후보 엔티티 집합 $E^D_{cand}$
          • 확장된 추론 경로 $P_{cand}$
        • Prune 과정 : 질문의 문맥과 의미를 고려하여 가장 관련성 높은 상위-N개의 엔티티 선택
        • 더보기
          Figure 2에서, capital of, country, territory 관계들은 각각 하나의 목적어 엔티티만 연결되어 있어 각각 점수 1을 받음

          논문에서는 나오지 않으나, 여러 엔티티에 연결되어 있으면,,? 연관성을 CosinSim 과 같은것으로 평가 할 것으로 예상.
          - Entity A: 0.7 (질문과 가장 관련성 높음)
          - Entity B: 0.2
          - Entity C: 0.1
          총합: 1.0

2.1.3 Reasnoning

  • 평가 : 
    • 탐색 과정을 거쳐 얻은 추론경로 P를 LLM에 입력하여, 이 추론 경로가 질문에 답변하기 충분한 정보를 포함하고 있는지 평가
    • Y/N 이진 형태의 결과
    • Y의 경우 : 
      • 질문(Query)과 추론 경로(Reasoning Paths)를 함께 입력으로 사용, LLM이 최종 답변 생성
        구체적인 프롬프트는 E.3.4
    • N의 경우 : 
      • Exploration(탐색)과 Reasoning(추론) 단계를 반복
      • Until : a) 긍정적 평가를 받을 때까지 b) 최대 검색 깊이 $D_{max}$에 도달할 때까지
    • 최대 깊이 도달 시 :
      • LLM의 자체적인 지식(inherent knowledge)만을 사용하여 답변 생성

2.2 ToG-R : Relation-based Think-on-Graph

  • 차별점 :
    • Triple 기반 대신 관계 중심의 탐색
    • 위에서는 엔티티에서 pruning을 진행했으나, 여기서는 relation에서 purning진행
      Top-N relation을 pruning함
      -> {$p_n = (e^0_n, r^1_n, r^2_n, ..., r^D_n)$}
    • 과정 : 
      • Query에서 엔티티 추출
      • 관계 탐색 (r_n들), Relation Prune 진행
      • r_n과 연결되어 있는 Entity들을 검색, 이들 중 무작위로 엔티티들을 선택(entity prune)
      • 현재 경로가 충분한 정보를 갖고 있는지 확인.
        -> 없다면 관계 탐색 시작
  • 더보기
    예)
    입력 질문: "What state is Harvard College located in?"

    Step 1 (D=1):
    - Topic Entity: Harvard College
    - Relations: [location, founded_in, part_of]
    - Selected Relation: location (relation 단위에서 purne 진행)

    Step 2 (D=2):
    - Entities: [Cambridge, Massachusetts] (randomly selected from location)
    - Random Selected: Massachusetts
    - Path: Harvard College -> location -> Massachusetts

    Final Answer: "Massachusetts"

 

3. Experiments

3.1 Experimental Design

3.1.1 Datasets and evaluation Metrics

  • Dataset : MultiHop측정할 수 있는 데이터(CWQ, WebQSP, GrailQA, QALD10-en 등), Open-domain QA 외
  • Metric : 정확한 일치도를 측정(Hits@1)

3.1.2 Methods Selected For Comparison

  • 비교 대상 : 기본 프롬프팅, CoT Prompt, Self Consistency
  • SOTA 연구들과 비교

3.1.3 Experiment Details

  • 사용 모델 : GPT-3.5-turbo, GPT-4, Llama-2-70B-Chat
  • 실험 설정 :
    • BeamSearch의 N : 3, D_n : 3으로 설정
    • 최대 토큰 : 256
    • Temperature : exploration 과정에서 0.4, reasoning과정에서 0

3.2 Main Results

3.2.1 Comparison to Other Methods :
    - GPT4가 좋았으며, Multi-hop데이터에서 강점 보임, KG사용시 많은 성능 향상. ToG가 ToG-R보다 나은 성능을 보임

3.2.2 PERFORMANCES WITH DIFFERENT BACKBONE MODELS :
    - 모델 크기가 클수록 성능 향상. 모델이 클수록 CoT와 ToG의 성능 격차도 증가. Llama2, ToG를 사용해도 GPT-4,CoT성능을 능가.

3.2.3 Ablation Study

  • Do search depth and widh matter for ToG? (Figure3)
    • Widths, Depth : 1~4실험 진행
    • 검색 깊이와 너비가 증가할수록 성능 향상, Computation Cost로 3이 최적이라고 생각했음

  • Do different KGs affect ToG’s performance? Yes
    • FreeBase, Wikidata는 대표적인 KG
    • 규모, 성격에 따라 성능이 다름.
  •  How do different prompt designs affect ToG?
    - Triples : (Canberra, capital of, Australia), (Australia, prime minister, Anthony Albanese)와 같은 형태
    - Sequences : Canberra - capital of - Australia - prime minister - Anthony Albanesee

    - Sentences : Triples를 자연어 문장으로 변환
  • ToG :  Triple형태의 표현이 가장 우수함
  • ToG-R : 엔티티 중심이 아니고, 관계 중심으로, 자연어로 변환하면 과도하게 긴 프롬프트가 생성이 되어 성능이 하락함.
  •  Comparing the affects from different pruning tools : 
    • 유사도 측정이 가능한, BM25, SentenceBERT와 같은 모델들로 pruning을 진행해 보았으나, ChatGPT의 성능이 가장 좋음.

3.3 KNOWLEDGE TRACEABILITY AND CORRECTABILITY IN TOG : 생략

4. Related Work

  • LLM Prompting : 
    • CoT : 발전하여 Auto-CoT, Complex-CoT, Self-Consistency, Zero-Shot-CoT, Iter-CoT, ToT, GoT등이 있음
  • KG-enhanced LLM :
    • 초기 연구 : 사전학습, fine-tuning단계에서 KG의 구조화된 지식을 신경망에 넣는 것을 함.
      • 단점 : KG의 장점인 동적인 활용이 무색해짐
    • 최근 연구 : LLM과 KG를 결합할 때 KG의 관련 구조화된 지식을 텍스트 프롬프트로 변환하는 방식 채택
    • 모든 방법이 KG에서 추가 정보를 검색하여 LLM 프롬프트를 보강하는 고정된 파이프라인을 따르며 이는 LLM ⊕ KG 패러다임에 속함
  • 이 논문은 LLM ⊗ KG에 속함
  • LLM ⊕ KG와 LLM ⊗ KG의 주요 차이점
    • LLM ⊕ KG (기존 방식): 느슨한 결합(Loose coupling) 방식
      • 작동 방식:
        • LLM은 단순히 번역기(translator) 역할만 수행
        • 입력 질문을 KG 검색을 위한 기계가 이해할 수 있는 명령어로 변환
        • KG에서 정보를 검색하고 프롬프트를 보강
        • 보강된 프롬프트를 LLM에 입력
      • 한계:
        • KG의 완전성과 품질에 크게 의존
        • LLM이 그래프 추론 과정에 직접 참여하지 않음
        • KG에서 필요한 관계가 없으면 실패할 수 있음
    • LLM ⊗ KG (제안하는 방식): 긴밀한 결합(Tight coupling) 방식
      • 작동 방식:
        • LLM이 agent로서 KG를 탐색하고 추론에 직접 참여
        • KG의 지식LLM의 내재된 지식결합하여 추론
  • 논문의 Figure 1b, 1c에서 보여주는 예시 
    • LLM ⊕ KG: "majority party" 관계가 KG에 없어서 답변 실패
    • LLM ⊗ KG: KG에서 "prime minister" 관계를 찾고, LLM의 내재된 지식(Anthony Albanese의 정당 소속)을 결합하여 올바른 답변 도출

 

0 Abstract

  • LLM을 통해 자동 평가 방법은 여전히 어려운 과제.
  • ROUGE와 같은 전통적인 메트릭은 실제 인간의 판단과 약한 상관관계를 보임.
    -> LLM의 판단과 사람의 판단이 일치하지 않음.
  • (위 한계를 극복하고자)LLM 기반 방법인 G-Eval이 연구되었음.
    GPT-4를 사용하여 뉴스 도메인에서 인간 판단과 0.5 이상의 상관 계수를 보임.
    • 허나, 현재의 LLM 기반 자동 평가 방법이 여전히 정확한 평가에 미치지 못한다고 생각함.
    • 평가 파이프라인과 평가 차원에서 아쉬운 부분이 있음.
      • 현재, 충실성, 일관성, 관련성과 같은 평가는 요약 수준에서 평가되어 각 요약에 대한 리커트 척도 점수를 산출.
        -> 구체적인 평가 정의가 없음.
      • 이러한 리커트 척도 채점 방식은 생성된 요약의 오류에 대한 세부 정보가 부족함.
      • 예를 들어, 품질 문제가 있는 요약 문장의 수나 각 문장에 존재하는 오류 유형을 명시하지 않음
  • 제안 :
    • 세밀한 평가기인 FineSure 도입
      • Faithfulness, completeness, conciseness 측면
      • 문장 수준의 세밀한 측정 (fact checking, alignment)

 

1. Introduction

  • 텍스트 요약의 정의 : 텍스트의 핵심 정보를 유지하며, 압축된 요약을 생성하는 것을 목표로함.
    • 다만, LLM이 좋은 성능을 갖더라도, 자동으로 평가하는 방법은 어려움.
    • ROUGE와 같은 전통적인 메트릭은, 인간이 평가한 지표와 상관성이 너무 낮음.
      -> 이로인해 자동화된 메트릭을 사용하지 못하고, 비용이 많이 들어가는 사람 평가에 의존
  • 자동화된 평가의 필요성 대두 : 
    • 다양한 연구들이 있었으나, 최신 LLM평가 방법인 G-Eval은 뉴스 도메인 요약에서 (자동화된 지표와, 인간의 점수)와 0.5이상의 상관 계수를 보임.
      -> 비용 집약적임.
  • 허나, 이러한 발전에도 LLM 기반 자동 평가 방법들이 여전히 정확한 평가를 달성하지 못하고 있다고 주장
    • 이유 : 주관적이며, 구체성이 없음 - 주로 평가 파이프라인이 coarse-grained(대략적)이며 평가 차원의 모호성 때문
    • 구체적으로 coarse-grained 평가의 경우, faithfulness, coherence, relevance와 같은 평가 차원들이 주로 요약 수준에서 평가되어 각 요약에 대해 Likert-scale(int 1-5) 점수를 산출
      (예, 품질 문제가 있는 요약 문장의 수, 어느 문장이 문제가 있는지, 구체적인 문제이유 등)

  • FinSurE제안 : 자동화 메트릭
    • 평가 지표 :
      • faithfulness : factuality오류를 최소화
      • completeness : 원본 글에서 keyfact를 얼마나 포함하는지
      • conciseness : 불필요한 세부 사항을 얼마나 사용하지 않았는지
    • (figure 1) fact checking : 각 요약 문장에 존재하는 특정 factuality 오류 식별
      -> faithfulness
    • (figure 1) keyfact alignment : 각 keyfact와 요약 문장과 연결하는데 중점을 둠.
      -> completeness, conciseness

2. Related Work

  • Similarity-based Evaluator : 인간 평가와 상관성 낮음.
    • ROGUE, BLEU, METEOR : n-gram
    • BERTScore, MoverScore, BARTScore : Semantic simliarity
  • NLI-based Evaluator : faithfulness 평가에만 중점
    • 입력 텍스트에서 관련 증거들을 검색해서 사실 확인, 생성된 텍스트의 주장 검증
    • DAE, SummaC (구체적인 방법론은 모르겠음.)
  • QA-based Evaluator : 질문과 답변 생성을 위한 모델 훈련이 필요
    • reference 텍스트에서 질문 생성, 생성된 텍스트를 기반으로 답변 평가
    • QAGS, QAFactEval -> Faithfulness
    • UniEval : Faithfulness, coherence, relevance, fluency
  • LLM-Based Evaluator : 세밀한 평가 부족, Faithfulness에만 중점.
    • edited text, atomic facts, 외부 KB사용

3. FineSurE Framework

3.1 Evaluation Dimensions

  • LLM은 hallucination, 정보 누락, 장황함(verbosity)의 문제를 겪고 있어 평가 메트릭을 고심함.
    • Faithfulness: 원본 문서의 정보만을 갖고 요약을 생성했는지
      -> LLM이 갖고 있는 지식을 사용하지 않았는지
      -> 7가지 factuality (Out of context, predicate, entity, circumstance, coreference, discourse link, grammatical)
      -> 2가지 other error, no error 추가
    • Completeness: 모델이 원본 문서의 모든 keyfact를 요약문에 포함하도록 보장하는 것
      -> 필요한 말들을 다 포함하는지 체크
    • Conciseness: 모델이 출력에서 keyfact 외의 정보를 포함하지 않고, 간결하고 집중된 요약을 유지하는 것
      -> 이상한 말을 하지 않는지 체크

3.2 Evaluation Pipeline

  • LLM을 fact checking과 keyfact alignment 작업을 수행하도록 함.(Figure3,4)

  • 3.2.1 Fact Checking : 
    • 7가지 factuality오류 확인 (Out of context, predicate, entity, circumstance, coreference, discourse link, grammatical)
    • 2가지 other error, no error 추가 확인
    • 9개 카테고리중 하나로 분류된 오류 유형을 출력
  • 3.2.2 Keyfact Alignment :
    • 각 keyfact가 요약본에서 확인할 수 있는지 확인. 확인이 된다면 요약본 몇번째 라인인지 확인
    • keyfact의 정의 : 원본에서 확인할 수 있는 entity 2-3개로 문장 재구성 (다 문항으로 재구성)
  • 3.2.3 Parsing Scoring : 
    • $Faithfulness(D, S) = |S_{fact}|/|S|$
      • $D$ : 문서
      • $S = {s_1, ..., s_N}$ : N개의 문장의 요약
      • $S_{fact} \subseteq S$ : no error라고 판별된 부분집합
    • $Completeness(K, S) = |{k|(k, s) \in E}|/|K|$
      • $K = {k_1, ..., k_M}$ : M개의 keyfact 목록 (원본에서 keyfact 추출 생성)
      • $E = {(k, s) : k → s | k \in K \wedge s \in S}$ : keyfact와 요약문이 align되는 집합들
      • completeness를 쉽게 설명하자면, (keyfact와 요약문이 align되는 수) / (Keyfact수)
    • $Conciseness(K, S) = |{s|(k, s) \in E}|/|S|$
      • conciseness 쉬운 설명 : (keyfact와 요약문이 align되는 수) / (요약문 수)

3.3 Prompt Engineering

  • 시도한 방법 : 
    • Basic Prompt: "요약 문장이 transcript에 의해 뒷받침되는가?"와 같은 일반 텍스트의 기본적인 질문 프롬프트
    • Instruction: "Instruction:"을 사용하여 단계별 지침으로 제공되는 프롬프트
    • Categorization: 대상 카테고리를 제공하여 분류 작업을 수행하는 프롬프트
    • Reasoning: chain-of-thought 접근 방식을 사용하여 추론 단계를 포함하는 프롬프트
    • Evidence Mapping: LLM이 내린 결정을 확인하기 위해 입력에서 정확한 인용을 요청하는 프롬프트
  • 정리 : 모든 기술을 결합한것이 좋은 성능을 가져온 것은 아님. faithfulness의 경우, instruction, categorization, reasoning을 결합한 것이 좋았으며, completeness, conciseness는 Instruction만 사용한 것이 좋았음.

3.4 Keyfact Extraction

 

  • completeness와 conciseness를 평가하기 위해서는 keyfact가 필요
  • 인간이 keyfact를 생성하는데 가장 좋으나, (현실적으로 불가능하기에) LLM을 사용해 자동으로 keyfact 추출
  • 한계점 : 문장의 길이와 무관하게 16개의 Keyfact만을 추출하게 하였음.

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Evaluation

  • Dataset :
    • FRANK : factuality오류 유형에 대한 주석이 있음.
    • REALSumm : 인간의 keyfact와, keyfact와 요약에 존재하는지 주석이 있음.
  • LLMs as Evaluators : GPT4, Mixtral, Phi-2, Llama2,3, GPT3.5, GPT4o
  • Baselines : ROGUE1,2,L, BERTScore, BARTScore, CummaC-Conv, UniEVAL, QAFactEval, G-Eval
  • Performance : 인간의 평가를 ground-truth로 놓고, LLM의 평가와 상관성을 측정

4.1 Main Results : Evaluators Comparison

4.1.1 Faithfulness : factuality확인

  • 데이터셋에는 요약마다 오류가 있는지 없는지 label이 있음
    -> recall, precision을 계산할 수 있고, bAcc(=(recall+precision)/2)지표 계산
  • 86.4%의 정확도로 인간과 일치도를 보여줌.

  • Faithfulness는 7가지 faculty오류를 분류하는데,Table2와 같이 zeroshot추론에서 위와 같은 정확도 성능을 보임.
  • 허나 정확한 오류 유형을 식별하는데 있어 많은 실수가 있긴 함.

4.1.2 Completeness, Conciseness

  • FineSurE의 성능이 좋음. 인간과 매우 높은 일치 보임.
  • G-Eval과 같은 LLM 방법으로는 달성할 수 없는, 요약에서 중요한 정보를 검증하는데 keyfact alignment가 필수적임.
  • FineSurE+는 자동화된 keyfact extraction으로 타 메트릭보다 높은 성능을 보임

4.1.3 Stability in Evaluation Results

  • temperature가 0이더라도 LLM의 무작위성으로 안정성이 우려됨
  • G-Eval과 같이 리커트 점수를 사용하는 경우 변동성이 있음
  • FineSurE는 세번의 서로 다른 실험에서 요약 수준 평가 ㅈ머수에서 높은 일치도를 유지함.
    IAA(답변 쌍이 일치하는지 확인)

4.2 LLMs as Evaluators Comparison : 다양한 LLM에서 실험 - 생략

4.3 Evaluation using FineSurE

  • GPT의 다양한 버전을 포함한 proprietary LLM은 오픈소스 대응 모델들과 비교하여 높은 품질의 요약을 생성
  • GPT-4-omni는 Tables 5-6에서 자동 평가자로서 인간과 가장 높은 일치도를 보여주지만, faithfulness와 completeness 점수는 GPT-3.5-turbo보다도 상당히 낮음.
  • 결과적으로, GPT-4-omni는 요약 생성에서 더 많은 hallucination을 포함. 많은 중요한 keyfact를 놓칠 가능성이 높음.
    일반화 해서 말할 수 있는 것인가?

 

 

0 Abstract

  • 연구 발단
    • RAG 시스템의 성능과 효율성 동시 개선
    • 긴 컨텍스트 처리 시 발생하는 position bias 문제 해결
  • 방법론
    • 작은 모델(RAG drafter)과 큰 모델(RAG verifier) 역할 분담
      • Drafter: 병렬로 여러 답변 초안 생성
      • Verifier: 초안들을 검증하여 최적의 답변 선택
    • 문서 처리 방식 개선
      • 유사 문서 클러스터링
      • 각 클러스터에서 하나씩 샘플링하여 다양성 확보

1. Introduction

 

연구 배경 및 문제점

  • LLM은 질문답변에 강점이 있으나, 최신/희귀 정보에서는 hallucination 발생
  • RAG는 외부 데이터베이스 활용으로 이를 보완하지만, 새로운 문제 발생 :
    • 여러 문서를 검색하면서 입력 길이 증가 : RAG정보를 model의 입력으로 사용 
    • 긴 컨텍스트로 처리 문제 : Lost in the middle?, 시간, 비용
    • 복잡한 추론 필요성 증가 : 

기존 해결책의 한계

  • 검색 품질 개선에만 초점 : 이 논문에서는 효율성에도 초점을 맞춤.
  • 추가적인 instruction tuning 필요 : SAIL, Self Reflective RAG
  • 지연 시간 문제 해결 미흡
  • Position bias 문제 존재 : Lost in the middle.

제안 방법 : Speculative(추측성) RAG

  1. 문서 검색 및 클러스터링
  2. 다양한 Subset생성
  3. 초안 생성(RAG Drafter)
  4. 검증준비
  5. 검증
  6. 최종 답변 선택

 

 

구체적인 내용은 Method부분에서 다룰 예정

 

2. Related Work

  • RAG : 관련 문서 검색하여 생성 프로세스에 통합하여 LLM성능 향상에 의의
    • SAIL : 검색된 데이터에 대해서 필요없는 문서를 제외하도록 FineTuning
    • Self-Reflective RAG : Reflection 토큰을 도입하여, 검색이 필요한 시점 및 답변의 품질을 평가할 수 있게 FineTuning.
      예시 토큰 : [Need Retrieval], [Relevant/Irrelevant], [Supported]
  • Speculative Decoding
    • draft-then-verify 패러다임을 통해 auto regressive 디코딩 지연 시간을 줄이는 것을 목표로 함
    • 작은 모델로 여러 토큰을 초안으로 작성하고, 검증하는 과정이 있음.
    • 이 논문은, 이것에 영감을 받아 토큰 수준 초안 작성에서 답변 수준으로 확장함.

 

3. Speculative Retrieval Augmented Generation through Drafting

Problem Formulation

  • 지식 집약적 task는 (Q,D,A)로 표현할 수 있음. (지식 집약적 : 단순 기억이나 패턴 매칭으로는 해결할 수 없고, 깊은 도메인 지식 필요
    • Q : 추가 지식이 필요한 질문이나 진술
    • D = {d₁, ..., dₙ}은 데이터베이스에서 검색된 n개 문서의 집합
    • A는 예상되는 답변
  • 구체적인 예
    • 질문 답변 작업에서, Q와 A는 자연어 형태의 질문과 예상 답변
    • 진술 검증 작업에서, Q는 진술이고 A ∈ {True, False}는 진술의 정확성을 나타내는 Boolean 값
    • 객관식에서, A ∈ {A, B, C, ...}는 정답의 인덱스

 

3.1 Overview

  • 목적 : 
    • 처리 속도를 늦추지 않으며, 성능을 올리는 것을 목표로함.
    • 큰 모델에서 instruction tuning하는 대신 분할 정복 접근
      • 기존 접근은(Self-Reflective RAG) 큰 규모의 LM전체를 instruction tuning진행
      • 여기서는 작은 M_Drafter만 Instruction tuning진행.
    • 1. RAG drafter : 작은 모델로 검색 결과를 바탕으로 여러 답변 초안을 빠르게 생성하기 위함.
    • 2. RAG verifier : 더 큰 모델로, 초안들을 평가하고 최선의 것을 선택하여 생성 결과에 통합함.
  • 프로세스 : 
    • 1. 검색된 문서를 여러 Subset으로 분할하여 답변 후보를 초안으로 작성
    • 2. 콘텐츠 유사성으로 문서들을 클러스터링
    • 3. 각 클러스터에서 하나의 문서들만 샘플링하여 subset을 형성함 -> 이로서 중복을 최소화하고 다양성을 최대화
    • 4. 문서 subset들을 병렬로 RAG drafter LLM에 제공하여 근거와 함께 초안 답변 생성
    • 5. 답변 검증(RAG verifier)
    •  
    • 더보기
      예)

      2번) 에서 3개의 클러스터가 생성되었다고 가정
      - 1번 클러스터 : 문서1, 문서2, 문서3
      - 2번 클러스터 : 문서4, 문서5
      - 3번 클러스터 : 문서6

      3번) Subset샘플링
      - 1번 Subset : 문서1,문서4,문서6 <- 각 클러스터에서 하나씩의 문서를 추출
      - 2번 Subset : 문서2,문서4,문서6
      - 3번 Subset : 문서3,문서4,문서6
      ...

3.2 Specialist RAG Drafter

  • M_Drafter :
    • 작은 specialist LM, retrieve document를 이해하며 query에 답변하는 것에 특화됨
    • 검색된 문서 읽기 -> 관련 내용 찾기 -> 답변 생성 이라는 특정 작업만 수행
    • <-> GPT-4, Claude처럼 다양한 작업을 수행할 수 없음.
      예를들어) GPT4와 같은 경우, 의사로 지칭할 수 있으며 다양한 의료문제를 전반적으로 다룸

      반면, M_Drafter는 방사선 전문의처럼 특정 영역에만 특화된 전문가임.
  • 기존의 방법론 : 큰 규모의 generalist LM전체를 RAG를 위해 fine-tuning함.
  • 제안하는 방법론 : 더 작은 규모의 specialist LM인 M_Drafter를 훈련하여, 답변 초안과 근거 생성하도록 함.

Instruction Tuning

  1. 학습 데이터 구성(Q,A,D)
    Q : 일반 쿼리, A : 응답, D : 검색된 지원 문서
    더보기
    예)
    Q(질문): "언제 기독교가 로마의 공식 종교가 되었나요?"
    D(검색된 문서): "기독교는 상당한 대중적 지지를 받았지만... 380년 2월 27일 'De fide catolica' 칙령에 의해 가톨릭 기독교가 로마 제국의 국교로 선포되었다..."
    A(답변): "380년에 공식 종교가 되었습니다."
  2. 근거(E) 생성 (Synthetic Dataset)
    큰 모델 ( GPT-4, Gemini-Ultra)를 사용해 (Q,A,D)데이터 셋에 대한 근거(E)를 자동 생성
    이때, 근거는 원본 문서 D에서 핵심 정보만 추출, 질문 Q와 답변 A사이의 논리적 연결 제공, 원본 문서보다 짧지만 핵심 정보 유지
    더보기
    예)
    E(생성된 근거): "가톨릭 기독교는 380년 2월 27일 'De fide catolica' 칙령을 통해 로마 제국의 공식 국교로 선포되었습니다."
  3. 학습 데이터셋 구성
    더보기
    최종 학습 데이터 형태: (Q, A, D, E)
    예시:
    Q: "언제 기독교가 로마의 공식 종교가 되었나요?"
    D: (원본 긴 문서)
    A: "380년에 공식 종교가 되었습니다."
    E: "가톨릭 기독교는 380년 2월 27일 'De fide catolica' 칙령을 통해 로마 제국의 공식 국교로 선포되었습니다."
  4. M_Drafter 모델 학습
    더보기
    목표 : P(M_Drafter(A,E|Q,D))가 최대가 되도록 모델 학습
    - Q,D를 input으로, A,E를 생성하도록 학습
  5. inference 예
    더보기
    입력 : 
    Q : 새로운 질문
    D : 관련 검색된 문서들

    출력 : 
    A : 답변
    E : 답변에 대한 근거

Multi-Perspective Sampling

overview process에서 설명한 것임.

  1. 초기 검색 (Dense Retrieve - Contriever-MS MACRO사용)
    더보기
    질문(Q): "인공지능이 일자리에 미치는 영향은 무엇인가요?"

    검색된 문서들(D):
    D1: AI가 반복적인 사무직 일자리를 대체할 것이라는 전망
    D2: AI로 인한 제조업 자동화 증가 예측
    D3: 새로운 AI 관련 일자리 창출 전망
    D4: 사무직 일자리 감소 통계
    D5: AI 시대의 새로운 직업군 등장
    D6: 제조업 로봇 도입으로 인한 고용 변화
    ...
    D10: AI 교육과 재취업 프로그램
  2. 문서 클러스터링 과정
    더보기
    instruction-aware embedding:
    - 질문 Q의 맥락을 고려하여 각 문서를 벡터로 변환
    - emb(D1) = [0.2, 0.8, 0.1, ...]
    - emb(D2) = [0.3, 0.7, 0.2, ...]


    K-Means 클러스터링 (k=3 예시):
    클러스터 1 (일자리 감소): D1, D4
    클러스터 2 (제조업 영향): D2, D6
    클러스터 3 (새로운 기회): D3, D5, D10
  3. subset 구성
    더보기
    Subset δ1: [D1(클러스터1), D2(클러스터2), D3(클러스터3)]
    Subset δ2: [D4(클러스터1), D6(클러스터2), D5(클러스터3)]
    Subset δ3: [D1(클러스터1), D6(클러스터2), D10(클러스터3)]
    Subset δ4: [D4(클러스터1), D2(클러스터2), D5(클러스터3)]

RAG Drafting

  • m개의 문서 subset에 대해 M_Drafter(instruct tuning된 모델)를 실행하여 해당하는 답변 초안을 생성(prompt는 Appendix B)
  • 문서 subset δ_j = {d_j1, ..., d_jk}가 주어졌을 때, LLM을 통해 '초안'과 '근거'를 생성함
    -> LLM(Q, d_j1, ..., d_jk) → α_j, β_j. (초안, 근거)
    •  j : subset j
    • k : retrieve document k
    • α : 답변 초안
    • β : 근거
  • 조건부 생성 확률인 ρ_Draft,j = P(β_j|Q, d_j1, ..., d_jk) + P(α_j|Q, d_j1, ..., d_jk, β_j)을 계산하여, 초안 답변과 근거 생성의 신뢰성 점수로 사용함 (model에서 j번쨰 근거가 생성되는 확률곱 + 초안이 생성되는 확률곱)
  • j개의 subset이 있고, j개의 score가 있을 것이고, 이들은 근거 생성의 신뢰성 및 답변 초안 생성의 신뢰도를 측정

3.3 Generalist RAG Verifier

generalist LM M_Verifier로 RAG Drafting 평가 :

  • 목표 : 신뢰성이 낮은 초안을 필터링, 최선의 답변을 선택
  • generalist LM : pretrained LLM(GPT4, claude, Llama3.1 ...)
  • 초안-근거 쌍(α, β)만을 고려하고 중복된 검색 결과는 생략
  • 초안-근거 쌍의 순위를 매기고 최종 답 선택

Evaluation Scores : 

  • 자기 일관성 점수(self-consistency score) :
    • ρ_Self-contain = P(α, β|Q)
    • 초안과 근거가 질문의 맥락에서 자기 일관성이 있는지 평가
    • 자기 일관성이 있는 초안-근거 쌍은 더 높은 확률을 가질 것으로 예상됨.
      -> OpenSource의 경우 Perplexity, NLL을 구할 수 있음.
      -> API사용시 우회하는 방법을 사용해야 될것으로 생각함.
  • 자기 반영 점수 (self-reflection score) :
    • ρ_Self-reflect = P("Yes"|Q, α, β, R)
    • LLM으로 하여, 스스로의 답변 품질을 평가하는 메커니즘
    •  
    • 더보기
      입력: 
      - Q: 원래 질문
      - α: 생성된 답변 초안
      - β: 제공된 근거
      - R: "근거가 답변을 지지한다고 생각하나요, 예 또는 아니오?"

      프로세스:
      1. LM에게 위 요소들을 제시
      2. "Yes" 또는 "No" 응답의 확률 계산
      3. "Yes" 응답의 조건부 확률을 점수로 사용

Computation Method : 

  • 논문에서는 한번에 효율적으로 계산할 수 있는 방법에 대해서 말하고 있음.
    • inference상황에서 : Query는 주어지는 것으로 생각
    • ρ_Self-Contain : P(t_i|Query, t<i)를 계산하여 토큰들의 확률곱을 구함
      -> 논문에서는 OpenSource의 경우만 고려한 것으로 보임.
      -> API를 사용하는 경우 우회적인 방법을 사용해야 할것으로 보임.
    • ρ_Self-Reflection : 또한 비슷하게 계산함.

그래서... 결론적으로?

최종 점수는 아래와 같은 방법으로 구한다.

  • 목적을 다시 살펴보면 : "질문에 대한 가장 신뢰할 수 있는 답변을 최종 답변으로 선택"
  • 최종점수 ρ_j = ρ_Draft,j · ρ_SC,j · ρ_SR,j
    • 여기서 j는 j번째 subset
    • ρ_Draft,j3.2에서 다루었고 구체적으로는 오른쪽과 같음 P(β_j|Q, d_j1, ..., d_jk) + P(α_j|Q, d_j1, ..., d_jk, β_j)
    • ρ_SC,j는 3.3의 Evaluation Scores 에서 다루었고 P(α, β|Q)
    • ρ_SR,j는 3.3의 Evaluation Scores 에서 다루었고 P("Yes"|Q, α, β, R)
  • j들 중에서 가장 높은 점수를 최종 답변으로 선택

 

4. Experiments

  • 평가 데이터셋
    • TriviaQA (unfiltered): 단일 문서에서 정확한 증거 필요
    • MuSiQue: 다단계 추론을 위해 여러 문서 필요
    • PubHealth: 의학 데이터셋
    • ARC-Challenge: 과학 시험 객관식 문제
  • 평가 메트릭:
    • 주관식 : 골드 답변 포함 여부 (문자열 매칭?)
    • Closed-set(객관식): 정확도(accuracy) 측정

4.1 Baseline

  • 평가 모델 : OpenSource(Mistral_7B, Mistral-Instruct_7B, Mixtral_8x7B, Mixtral-Instruct_8x7B, Alpaca_7B)
  • RAG방법론 : Self-Reflective RAG (Self-RAG), Corrective RAG (CRAG)
    • Self-RAG : 문서 검색 후, 낮은 품질의 문서 제거 개선 후 답변 생성
    • Corrective RAG : LLM이 instruction tuning을 통해 특별한 태그 생성하도록 학습
      특별한 태그 : 추가 정보가 필요함, 필요없는 정보 ... 등 을 생성하여 추가 행동 진행

4.2 Experiment Settings모델 설정

  • Base Model (RAG drafter):
    Mistral_7B (v0.1)
  • RAG verifier:
    • Mistral_7B (v0.1) - M_Verifier-7B
    • Mixtral_8x7B (v0.1) - M_Verifier-8x7B
    • 두 모델 모두 fine-tuning 없이 사용
  • 기술 구현
    • Embedding 모델: InBedder_Roberta (경량 instruction-aware 모델)
    • Decoding 방식: greedy decoding (temperature = 0)
  • 데이터에 초점, 파라미터 설정
    • TriviaQA, PubHealth, ARC-Challenge:
      • 검색 문서 수: 상위 10개
        10개 문서에서 -> N개의 클러스터 생성 -> 각 클러스터에서 1개씩 선택(N=2인 경우, 25가지 draft생성 가능)
      • 초안 생성 수: 쿼리당 5개 (m = 5)
        -> 5개의 draft생성
      • 초안당 문서 수: 2개 (k = 2)
        -> 클러스터 2개 생성
    • MuSiQue:
      • 검색 문서 수: 상위 15개
      • 초안 생성 수: 쿼리당 10개

4.3 Main Results

  • baseline대비 우수한 성능
  • RAG Drafter에서는 instruction tuning이 효과적(당연한 것 아닌가...싶은데)
    • Mistral_7B와 M_Drafter-7B를 비교했을 때 주목할 만한 성능 향상이 관찰
  • RAG Verifier의 신뢰할 수 있는 점수 평가
    M_Drafter-7B <-------> M_Verifier-7B + M_Drafter-7B를 비교했을 때 주목할 만한 성능 향상이 있음.

4.4 Latency Analysis

4.5 Ablation Studies

  • Diversity and reduced redundancy in retrieval improves draft quality significantly
    • multi-perspective sampling의 영향을 평가 (클러스터마다 하나의 문서만 추출)
      • 1. 클러스터링 없는 무작위 샘플링: 컨텍스트로 무작위로 문서 subset을 선택
      • 2. 동일 클러스터에서의 샘플링: 단일 클러스터에서 모든 문서를 선택
    • 결과 : 제안한 방법(다양한 draft만들 수 있는 방법)이 더욱 뛰어난 퍼포먼스를 보임
  • Scoring method on self-consistency and self-reflection refines draft quality effectively.
    • 신뢰도 점수인 ρ_Draft, ρ_Self-contain, ρ_Self-reflect를 각기 제거하며 실험
    • 결과 : 하나라도 제거하면 점수 하락

4.6 Effects of Generated Rationale for Verification

  • 이 논문에서 제안한 방법 : ρ = Score(α|Q, β) (3.2 Rag Drafting 쪽)
    α : 초안, β : 근거, δ : 문서
  • 실험 :
    • 근거를 검색된 문서로 대체 (ρ = Score(α|Q, δ))
    • 검색된 문서를 근거에 추가 (ρ = Score(α|Q, β, δ))
  • 결과 : 개인적인 시각에서는 성능에서는 크게 차이가 없으나, Latency는 증가한것이 보임.

 

 

 

 

0 Abstract

  • 과거 연구들의 문제 :
    • 긴 텍스트를 여러 chunk로 나누어 embedding하는 것이 일반적
    • 단점 : 기존 방식은 chunk 생성 시 주변 문맥 정보 손실
    • 강점 : Dense vector 검색은 짧은 텍스트에서 효과적
  • 제안 모델 :
    • 장점 : 문맥 정보 보존, 추가 학습 없이 적용 가능, 긴 embedding모델에 적용 가능
    • 방법 :
      • Step 1: 전체 텍스트를 transformer로 선 처리
      • Step 2: Token embedding 생성 후 chunking 수행
      • Step 3: Mean pooling으로 최종 chunk embedding 생성

1 Introduction

  • 배경 및 문제점
    • Neural 기반 Information Retrieval(IR)은 transformer 기반 텍스트 embedding 모델에 의존
      -> 방법 : 텍스트의 의미를 dense vector로 포착하여 코사인 유사도로 측정
    • RAG는 문서를 작은 chunk로 분할하여 데이터베이스에 저장
    • 문제점 : 긴 컨텍스트를 참고해야하면 의존성으로 인한 선능 하락 이슈.
      • 예: "Berlin"이 첫 문장에만 나오고 이후 "its", "the city"로 참조되는 경우 (Figure 1)
        -> Embedding 모델이 올바른 엔티티 연결에 어려움 겪음
  • 제안하는 방법론 : Late Chunking(Table 1)
    • 1. 전체 문서의 모든 token을 문맥과 함께 먼저 인코딩
    • 2. Token embedding 시퀀스를 chunk로 분할
    • 3. 각 chunk는 token embedding의 mean pooling으로 최종 embedding 생성
    • Table1을 살펴보면 LateChunking을 하면 Berlin의 단어와 Sim Late이 높아짐을 볼 수 있음.

  • 주요 기여점 : 
    • LateChunking 소개 : 추가 학습 불필요
    • Long Late Chunking알고리즘 개발 : ㄹ긴 문서 처리를 위한 확장 알고리즘
    • Fine-Tuning방법 제안

2 Related Work

  • 현대 Embedding모델의 특성 :
    • transformer사용, token embedding을 단일 vector로 변환하는 pooling operator 사용, Mean pooling이 가장 높은 성능을 보여 널리 사용
  • 기존의 Chunking방법 :
    • 단순한 방법 : 고정된 token 길이 사용, 문장/단락 단위로 분할
    • 정교한 방법 : Semantic chunking(의미론적으로 자름), 이웃한 문장의 embedding vector 유사도 활용
  • 문맥 정보 보존을 위한 방법들 : 
    • Overlapping chunks, LLM기반 문맥 정보 보강
  • Token-level Embedding : 
    • ColBERT : 
      • 텍스트를 하나의 벡터로 압축하는 대신, 각 토큰별로 개별 임베딩을 생성하고 유지
        (더 세밀한(fine-grained) 의미 표현이 가능)
      • 문서나 쿼리의 모든 토큰에 대해 독립적인 벡터 표현을 만듦

3. Method

  • 간단 비교
    • Naive Chunking : 문장을 chunk단위로 나누고, Embedding을 구함.
    • Late Chunking : 가능한 모든 텍스트를 Embedding하고, 청크 단위로 나눈다.
  • Late Chunking 예)
  • 더보기
    Input: 
    - Text T = "Berlin is the capital of Germany. The city has a rich history. It is known for its culture."
    - Chunking Strategy S = "sentence-based chunking"

    1. 첫번째 - Initial Chunking : Embedding용을 위해 자르는 것은 아니며, Embedding후에 어디서 chunk를 나눌지 결정하기 위함.
        (c₁, c₂, c₃) ← Chunker(T, S)

        결과:
        c₁ = "Berlin is the capital of Germany."
        c₂ = "The city has a rich history."
        c₃ = "It is known for its culture."

    2. 두번째 - 토큰화 : 
        (τ₁, ..., τₘ), (o₁, ..., oₘ) ← Tokenizer(T)

        예시 결과:
        τ = ["Berlin", "is", "the", "capital", "of", "Germany", ".", "The", "city", ...]
        o = [6, 2, 3, 7, 2, 7, 1, 3, 4, ...]  # 각 토큰의 문자 길이

    3. 세번째 - 토큰 임베딩
        (ϑ₁, ..., ϑₘ) ← Model(τ₁, ..., τₘ)

        예시 결과:
        ϑ₁ = [0.1, 0.2, ...] # "Berlin"의 embedding vector
        ϑ₂ = [0.3, 0.1, ...] # "is"의 embedding vector
        ...

    4. 네번째 - 경계점 찾기 (첫번째 결과 사용)
        c₁ = "Berlin is the capital of Germany."에 해당하는 임베딩 벡터의 mean pooling을 진행
        최종적으로 c1에 대한 embedding을 구함.

3.1 Long Late Chunking

요즘 나온 Embedding모델은 Context가 크긴하나, 더 큰 문서에서는 어떻게 하나?

-> 이를 해결하기 위해 Algorithm2에 설명된 long late chunking을 사용함.

  • 간단하게 표현하면
    • Recursive하고 Overlap이 있게 Chunking하는 방법을 사용
    • 더보기
      예) Context window가 8192인 경우, 512개 토큰을 overlap하여 chunking한다고 가정하자

      1. 첫 번째 8192를 Embedding모델에 입력하여, 토큰 단위로 Embedding을 구하고, Semantic Token Size로 나누어 Pooling을 진행.
      2. 다만 두번째 매크로 chunk의 경우 첫번째 매크로 chunk의 뒷 512개 토큰이 겹치므로, 8192의 임베딩중, 앞부분 512개를 제외함. 아래와 같은 모습.

      첫 번째 매크로 chunk:
      [............................] (8192 토큰)
                           [overlap]

      두 번째 매크로 chunk:
                           [overlap][새로운 내용..........] (7680 토큰)
                           ↑ 
                           이 부분(512 토큰)을 제외하고 저장

3.2 Training Method

  • Late chunking은 추가 학습 없이도 작동하지만,..
  • 기존의 Embedding model의 문제점이 있음.
    • 문장을 단일 Embedding representation으로 표현하도록 함
      -> Late Chunk에서 제안한, token 단위 representation에는 최적화는 아님.
    • 따라서 모델 학습 방법을 제안함.
      -> Span pooling이라고 부르는 기술을 사용함.
    • Span Pooling : 문장에서 중요한 단어들이 주석으로 표시된 데이터에서 학습을 진행.
      InfoNCE Loss를 사용하여 모델 훈련.
  • 다만, 4.4절의 결과를 살펴보면, 훈련안된 모델과의 성능차이가 크지 않아 사용하지 않아도 될 것으로 보임.
  • 뒷부분 생략.

4. Evaluation

4.1 Evaluation on Retrieval Task

  • 평가 종류 :
    • Fixed-Size Boundaries : chunk 256
    • Sentence Boundaries : 5문장
    • Semantic Sentence Boundaries : 유사도 기반 문장 그룹핑
  • 평가 모델 : 
    • jina-embeddings-v2-small
    • jina-embeddings-v3
    • nomic-embed-text-v1
  • 평가 지표 : nDCG@10
    • Information Retrieval 시스템 순위 품질을 측정
    • 상위 10개 결과의 관련성을 평가
    • 0~1 사이의 값 (1이 완벽한 순위)

4.2 Influence of the Chunking Size

  • Late Chunking의 강점:
    • 작은 chunk 크기에서 특히 더 좋은 성능
  • Naive Chunking의 강점
    • Reading comprehension task에서 큰 chunk 사용 시 더 나은 성능
  • 한계점 : 관련 없는 문맥이 많은 경우 late chunking의 이점 감소
  • 결론 : Chunk 크기와 문서의 특성에 따라 성능이 달라짐, 문맥의 관련성이 중요한 factor로 작용

4.3 Evaluation of Long Late Chunking

  • 주요 결과
    • Late chunking이 long late chunking 방법과 결합했을 때 naive chunking보다 우수한 성능 달성
    • nDCG 점수가 4.2장의 실험보다 더 높게 나타남
    • Naive도 chunk size가 커지면, 성능이 비슷한 것으로 보이는데,,,

4.4 Evaluation of Training Method

Span pooling이 mean pooling보다 일관되게 약간 더 나은 성능 보임

 

4.5 Comparison To Contextual Embedding

Anthropic의 블로그에서 제안한 방법론(Contextual Embedding)과 비교 실험 함.

Query : What is ACME Corp's revenue growth for Q2 2023?

Answer : It highighted a 3% revenue growth over the previous quarter.

(Table4에 있는 Chunk들은 Sequence한 문장.)

  • Late chunking과 Contextual embedding 모두:
    • 관련 chunk에 대해 가장 높은 유사도 점수 생성
    • 모든 chunk에 대해 비슷한 수준의 유사도 점수 패턴 보임
  • Naive chunking의 한계:
    • 관련 chunk에 대해 현저히 낮은 유사도 점수 생성
    • 다른 방법들보다 성능이 떨어짐
  • Late chunking이 LLM을 사용하는 Contextual embedding과 비슷한 성능 달성
  • Late chunking은 추가 LLM이 필요 없어 더 효율적
    • 계산 비용 절감
    • 추가 모델 의존성 없음
  • 특이점 : It hightlighted a 3% revenue growth over the previous quarter의 Naive 점수를 살펴보면 0.6으로 매우 낮음. 이는 It에 대한 정보가 없기 때문임.

 

+ Recent posts