ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문리뷰] 35. Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework
    논문 2024. 9. 20. 21:59

    정신이 나갈거 같아 미팅 준비;;;


    LLM이 NLP의 새로운 기준이 되어 생성 및 추론 작업에서 좋은 성능을 보이고 있지만 가장 치명적인 단점은 사실 정확성의 부족

    사실이 아닌 텍스트를 생성하는 것은 성능 저하뿐만 아니라 응용 프로그램의 신뢰성과 유효성을 저하

    Chain-of-Thought 프롬프트는 해석 가능한 추론 체인을 생성하여 복잡한 추론 작업에서 신뢰성과 모델 성능을 향상시키지만, 지식 집약적인 작업에서는 여전히 사실성 문제가 있음


    "지식 집약적인 작업"이란 주로 많은 양의 구체적이고 상세한 정보를 필요하며, 정확하고 사실에 기반한 답변을 제공해야 하는 작업을 의미

    이러한 작업은 특히 오픈 도메인 질의응답, 의료 진단, 법적 조언, 역사적 사실 검증 등과 같은 분야에서 볼 수 있음

    이러한 영역에서는 정보의 정확성과 최신성이 매우 중요하며, 데이터의 복잡성과 범위가 클 수 있음

     

    Chain-of-Thought(CoT) 프롬프팅이 지식 집약적인 작업에서 문제를 겪는 주요 이유는 다음과 같음

    1. 사실의 정확성 문제: 대규모 언어 모델은 광범위한 일반 지식을 학습하지만, 그 내용이 항상 최신이거나 완전히 정확하지 않을 수 있음
      특히, 변화가 잦거나 매우 전문화된 지식이 필요한 분야에서는 모델이 오래된 정보를 바탕으로 답변을 생성하거나, 완전히 정확하지 않은 정보를 제공할 위험
    2. 지식의 업데이트 문제: 언어 모델은 훈련 데이터에 포함된 정보로 한정되어 있으며, 새로운 데이터나 사실에 대해서는 자동으로 업데이트되지 않음
      이는 특히 과학, 기술, 법률 등 빠르게 변화하는 분야에서 단점이 될 수 있음
    3. 추론과 결합된 지식의 한계: CoT는 단계적인 논리적 추론을 통해 문제를 해결하려 하지만, 특정 지식이 필요한 경우에는 단순한 논리적 추론만으로는 충분하지 않을 수 있음
      모델이 특정 질문에 대해 정확한 지식이나 컨텍스트를 가지고 있지 않다면, 추론 과정 자체가 부정확할 수 있음

     

    본 논문에서는 CoT 프롬프트를 위한 '검증 및 편집' 프레임워크를 제안하여 외부 지식에 따라 추론 체인을 사후 편집함으로써 예측의 사실 정확성을 높이고자 함

    GPT-3 위에 구축된 우리의 프레임워크는 여러 개방 도메인 질의응답 작업에서 정확도 향상을 이끌었음


    LLMs을 사용함에 있어서, CoT 프롬프팅은 수학 문제, 상식 추론, 기호 조작과 같이 복잡한 추론을 요구하는 작업의 성능을 향상시키는 것으로 나타남, 동시에 해석 가능한 추론 체인을 생성할 수 있음

    최근 연구에서는 이러한 추론 체인을 사용하여 더 나은 예측을 선택하는 방법을 더욱 탐구

    그러나 이러한 방법들의 주요 초점은 생성된 CoTs를 그대로 사용하여 최종 작업 성능을 향상시키는 데 있었음..

    예를 들어, Ye와 Durrett(2022)는 추론 점수에 기반한 예측 확률을 조정하는 교정기를 훈련시키고, Wang 등(2022)은 가장 일반적인(일관된) 예측을 찾기 위해 여러 추론 경로를 샘플링

    Creswell 등(2022)과 Zhou 등(2022)과 같은 몇몇은 CoTs 자체의 질을 향상시키는 방법을 탐구

     

    실제로, CoT의 질을 향상시키는 것은 해석 가능성과 최종 작업 성능을 모두 향상시킬 수 있음

    Ye와 Durrett(2022)는 사람들이 좋다고 판단한 설명이 종종 더 정확한 예측을 나타내는 것으로 지적

    직관적으로, 더 나은 CoT 프롬프트 세트는 더 나은 기반과 논리적으로 일관된 사고 과정을 제공할 수 있으므로 더 정확한 예측으로 이어질 수 있음

     

    생성 품질을 향상시키는 중요한 측면 중 하나는 사실 정확성으로, 현재 LLMs의 가장 치명적인 단점 중 하나

    사용자 질의에 답변할 때, GPT-3과 같은 LLMs는 사실과 세부 사항을 만들어내는 경향이 있으며, 이제 그들의 API 사용에서 주요 경고로 지적되고 있음

    LLMs의 주요 사용 사례는 전통적인 검색 엔진을 대체하고 질의응답을 통해 더 직접적인 정보 접근을 가능하게 하는 것이지만, 사실성 문제는 그 유효성을 크게 저하시키고 사용자의 신뢰 수준을 떨어뜨릴 수 있음

    이 문제를 해결하는 것은 도전적이며 모델이 인간 피드백으로 지시 튜닝된 후에도 문제는 여전히 지속되고 있음

    이는 소스 진리가 미세 조정 과정 중에 사용할 수 없을 수 있기 때문

     

    따라서 생성을 더 잘 제어하고 예측의 사실 정확성을 높이는 것이 시급한 문제

    LLMs가 지식 기반으로 기능할 때 정확한 세부 사항을 회상하는 데 실패할 수 있기 때문에, 가능하다면 외부 소스에서 지식을 도입하는 것이 도움이 될 수 있음

    도움을 받는 사고 과정은 인간의 추론에서도 흔함

     

    사람들이 질문에 답할 때, 그들은 종종 지원 사실을 찾기 위해 외부 지식 소스를 검색하거나 다시 방문

    이에 영감을 받아, 이 연구에서는 더 사실적으로 일치하는 예측을 위해 추론 체인을 사후 편집하는 Verify-and-Edit(VE) 프레임워크를 제안

     

    그림 1에서 보여지듯이, 먼저 수정할 불확실한 인스턴스를 선택

     

    이러한 인스턴스는 Wang 등(2022)이 시사한 바와 같이 "John Nyskohus가 노르웨이 축구 팀 Odd Greenland에서 뛰었다"는 문장과 같은 그럴듯한 진술로 구성

     

    편집할 때, 먼저 이 세부 사항을 검증할 질문을 생성

     

    예를 들어 "John Nyskohus가 뛰었던 팀은 무엇인가요?" 그런 다음 이 질문에 답하기 위해 "John Nyskohus가 Adelaide City에서 뛰었다"는 사실을 검색을 통해 도입

     

    그런 다음 검색된 사실을 프롬프트에 제공함으로써 근거를 편집

     

    따라서 편집된 근거는 검색된 사실에 해당하여 업데이트될 수 있음(그림 1)

     

    편집된 근거를 바탕으로 새로운 예측이 생성되고 이는 더 사실적으로 일치하는 추론 흔적을 고려

     

    추론이 필요한 두 개의 개방 도메인 질의응답(QA) 작업인 Adversarial HotpotQA(Yang 등, 2018)와 2WikiMultihop(Ho 등, 2020)에서 실험을 수행

     

    또한 Fever(Thorne 등, 2018)를 사용한 사실 검증 작업에서 그 성능을 테스트


    CoT은 LLM의 추론 능력을 향상시키기 위한 프롬프팅 방법으로, 복잡한 문제를 여러 중간 단계로 분해할 수 있게 해줌

    CoT는 해석 가능성을 제공하며, 표준 프롬프팅 방법보다 복잡한 문제를 해결하는 데 더 효과적임이 입증

     

    LLM의 디코딩 과정은 자동 회귀적이며, 제어되지 않은 생성으로 인해 사실이 아닌 내용을 출력할 수밖에 없음

     

    따라서 CoT의 생성 과정에서 지지하는 사실의 부족은 최종 답변의 타당성을 크게 약화시킬 수 있음

     

    Ye와 Durrett(2022)는 최종 답변의 정확성이 추론 설명의 사실성과 일관성과 크게 관련이 있다는 것을 보여줌

    최종 답변의 정확성이 그 답변을 도출하는 데 사용된 추론의 사실성(factuality)과 일관성(consistency)과 강하게 연결되어 있다는 것을 보여줌

    '사실성'이란 정보가 실제 사실과 얼마나 정확히 일치하는지를 의미
    '일관성'은 모델이 동일한 질문에 대해 반복적으로 얼마나 일관된 답변을 제공하는지를 나타냄

     

    CoT 추론 과정의 사실성을 향상시키기 위해 제안된 방법은 주로 프롬프트 엔지니어링과 결과 교정 두 가지 범주로 나눌 수 있음

     

    1) 프롬프트 엔지니어링 방법

    일반적으로 LLM이 더 나은 중간 추론 설명을 생성하도록 유도하는 데 적용

    ReAct(Yao 등, 2022)는 저희 작업과 가장 비슷하며, 추론 단계가 모델이 행동을 유도하고 업데이트하는 데 도움을 주고, 행동 단계는 모델이 사실성 검사를 위해 위키피디아에서 추가 정보를 참조하도록 함

    ReAct와 비교하여, 저희는 더 자연스럽고 대화형의 CoTs를 생성하여 해석 가능성을 향상시키고 학습이 더 쉬움

    따라서 저희 프레임워크는 배우기 위한 훨씬 더 짧은 프롬프트를 요구

    Press 등(2022)은 LLM이 초기 질문에 답하기 전에 명시적으로 스스로에게 (그리고 그 다음에 답변하는) 후속 질문을 하도록 지시하는 자문(self-ask)을 제안

    문제를 하위 문제로 분해하여 순차적으로 해결하는 것은 복잡한 문제를 해결하는 자연스러운 방법

    Zhou 등(2022)은 이 아이디어를 채택하고 최소에서 최대로 프롬프팅을 제안

    그러나 자문과 최소에서 최대 프롬프팅은 모두 LLM이 학습한 내부 지식을 반복적으로 검색하는 데 의존하므로 외부 지식과 연결되지 않음

    따라서 사실성을 향상시키는 능력이 제한적

     

    2) 결과 교정

    Ye와 Durrett(2022)는 생성된 설명의 사실성과 일관성을 기반으로 최종 답변의 가중치를 조정하는 교정기를 훈련시키며, 이는 결과를 효과적으로 개선

    CoT의 디코딩 방법은 단순한 탐욕 알고리즘이며, 가장 높은 확률을 가진 다음 토큰을 단순히 출력

    Wang 등(2022)은 다양한 추론 경로를 샘플링한 다음 샘플링된 추론 경로를 소거하면서 가장 일관된 답변을 선택하는 자체 일관성 디코딩 방법을 제안

    선택-추론(SI) 프레임워크(Creswell 등, 2022)는 LLM을 일반 처리 모듈로 활용하는 또 다른 최신 방법으로, 최종 답변으로 이어지는 일련의 해석 가능한 인과적 추론 단계를 생성하는 것을 번갈아 가며 효율적임이 입증

    그러나 이 방법은 개방형 도메인이나 상식 질문에 대한 답변에는 적합하지 않음

    또한, 검색 보강 언어 모델 사전 훈련(REALM)(Guu 등, 2020)을 탐구하는 다른 비교 가능한 연구 라인이 있으며, 이는 먼저 외부 지식 소스에서 문서를 검색한 다음 검색된 문서를 사용하여 질의응답 작업을 처리

    Lazaridou 등(2022)은 생성된 답변의 사실성을 향상시키기 위해 질문의 Google 검색 결과를 프롬프트에 포함시키는 것을 제안

    그러나 이러한 방법은 LLM의 추론 능력을 활용하지 않기 때문에 복잡한 질문에서 실패할 수 있음

    따라서 저희는 사실 정렬을 증가시키는 자연스러운 방법으로 검색 보강 추론 경로를 고려


    Verify-and-Edit 프레임워크

    외부 지식을 활용한 CoT 프롬프팅을 통해 LLM이 더 사실적인 추론 체인을 생성하도록 하고, 최종 답변의 예측 정확도를 높이는 것

    다중 추론 단계를 거쳐 답변에 도달해야 하는 복잡한 지식 집약적 작업을 해결할 수 있는 LLM의 역량이 강화될 것이라고 가정

     

    일반적으로, 사람의 추론 과정을 따르기를 희망

    즉, 사람이 질문에 답할 때 확신이 서지 않는다면 보조 사실을 검색하고 그것을 고려한 후 최종 답변을 제시

     

    따라서 Verify-and-Edit(VE) 프레임워크를 세 가지 단계로 나눌 수 있습니다

    1. 불확실한 예측을 찾고

    2. 지원하는 사실을 검색하여 추론을 편집하고

    3. 편집된 추론을 사용하여 최종 답변을 생성하는 것

     

    이 단계들을 설계함에 있어서, LLM의 가장 큰 장점인 자유로운 생성 및 추론 능력을 최대한 유지하려고 함

    그리고 작업을 자연스럽고 대화적인 방식으로 설계하여 자연어 텍스트로 훈련된 인간과 LLM이 쉽게 이해할 수 있도록 함

     

    편집 시점 결정

    모델이 예측에 대해 확신이 없는 경우를 어떻게 식별?

    Wang 등(2022)의 Self-Consistency 방법이 해결책을 제공

    다양한 추론 경로와 답변을 샘플링할 때, Self-Consistency은 정확성과 강하게 상관관계가 있음을 보여주며, 이는 모델이 “모를 때 모른다”는 능력을 제공할 수 있음을 시사

    따라서 VE 프레임워크는 일관성 방법을 사용하여 예측 작업에 대한 n개의 다양한 추론 경로를 샘플링하는 것으로 시작

    매우 일관성 있는 예측은 그대로 남겨둠

    일관성이 ⌈n/2⌉보다 낮을 때, 즉 대다수가 동일한 답변에 동의하지 않을 때 이를 "불확실"로 표시

     

    특정 추론 편집 방법

    추론 과정(CoT)은 두 부분으로 나눌 수 있음

    1. 사실

    • 사고 과정을 더 사실적으로 만들기 위해 외부 지식 소스(예: 위키피디아, 구글)에서 지원하는 사실을 검색
      먼저, 사람의 질의를 모방하기 위해, 검증 질문을 생성하여 논리적 타당성을 확인
      이를 위해 동일한 LLM의 In-context-learning 기능을 사용
      원래 질문과 추론이 검증 질문 생성에 제공되어, 논리에서 벗어난 다른 실체가 아닌, 원래 질문에 필요한 가장 관련 있는 정보를 묻도록 함
      예를 들어,
      추론이 잘못되어 "1961년 8월 4일에 태어난 미국 대통령은 존 케네디입니다"라고 되어 있고,
      원래 질문이 "1961년 8월 4일에 태어난 미국 대통령의 배우자는 누구인가?"일 때,
      "존 케네디의 생일은 언제입니까?" 대신에 "1961년 8월 4일에 태어난 미국 대통령은 누구입니까?"라는 검증 질문이 생성되기를 기대
      잘못된 사실이 포함된 추론을 직접 질의하는 대신 관련된 질문을 생성함으로써 잘못된 사실 생성으로 인한 잠재적인 노이즈를 제거할 수 있습니다.

    본 연구에서는 3개의 시스템에서 검색된 관련 컨텍스트를 사용
    (i) DrQA(Chen 등, 2017), 개방형 질의응답 시스템
    (ii) 관련 페이지의 위키피디아 검색
    (iii) LLM과 검색 엔진을 결합할 가능성을 보여주는 구글 검색.

    검색된 컨텍스트가 원하는 길이보다 길어질 수 있기 때문에, 미리 훈련된 LM을 사용하여 검증 질문 쿼리와 가장 유사한 상위 k개의 문장을 선택하고 순위를 매김

     

    2. 사실을 결합하여 새로운 주장을 도출하는 추론

    • 추론: Selection-Inference(Creswell 등, 2022)와 같은 방법은 검색된 사실을 추론으로 직접 사용하는데, 보통 너무 길거나 불필요한 세부 정보가 포함되어 있음
      Ye와 Durrett(2022)도 비슷한 관찰을 했으며, 직접적으로 지원 문장을 사용하는 것은 종종 과도하거나 충분하지 않다고 지적

    더 관련 있고 논리적인 추론을 얻기 위해, 우리는 다시 자연스럽고 생성적인 접근 방식을 활용
    특정 형식의 프롬프트를 제공하면 LLM이 몇 단계의 추론을 학습한 후 답변을 생성할 수 있음
    원래 추론을 조사한 결과, 사실이 틀리더라도 논리적 추론 구성 요소는 대체로 유지된다는 점을 확인
    따라서 검증 질문(논리로서)과 검색된 사실(정보로서)을 사용하여 정보를 포함한 답변을 생성
    그 후 정보가 포함된 답변은 새로운 추론으로 구성되어, 더 사실적인 CoT를 제공

     

    다시 답변 생성

    사후 편집된 CoT로 LLM을 프롬프팅하여 새로운 답변을 생성
    전체 절차의 의사 코드는 알고리즘 1에 제시되었으며, 예는 그림 1에 설명
    LLM이 외부 지식을 통합함으로써 더 사실적으로 근거가 있는 추론을 생성할 수 있음을 확인
    이를 CoT로 모델에 입력하면, 원래 모델이 정확히 기억하지 못한 정보를 포함하여 새로운 예측을 생성

    ReAct(Yao 등, 2022)와 같은 특수 프롬프트와 비교할 때, Verify-and-Edit 프레임워크는 단순하면서도 자연스러우며 대화적인 특성을 지님
    이는 인간이 모델의 사고 과정을 더 잘 이해하도록 하며, 사용자가 추론 과정의 어느 단계에서든 자연스럽게 개입하고 수정할 수 있는 잠재력을 제공

    1. 입력 요구 사항 (Require)
    - q: 원래 질문(질의)
    - pcot: CoT(Chain of Thought) 프롬프트를 기반으로 한 n-shot 프롬프트
    - f(): LLM (대형 언어 모델)으로, n개의 추론을 생성하고 이때 LM의 디코딩 온도(temperature)를 설정하여 사용
    - g(): 외부 지식 검색 모델 (예: 위키피디아나 구글과 같은 검색 시스템)
    - pvq: 검증 질문을 생성하는 프롬프트
    - pva: 답변을 생성하는 프롬프트

    2. R, A 생성
    - R, A ← f(pcot, q, n, τ): 주어진 CoT 프롬프트와 질문을 기반으로 n개의 추론(R)과 n개의 답변(A)을 생성

    3. Self-consistency 기반 최고 예측 선택
    - s*sc ← maxP(a|pcot, q), a ∈ A: 생성된 답변 중에서 가장 높은 self-consistency를 갖는 답변의 점수(s*sc)를 선택
    - r*, a* ← argmaxP(a|pcot, q), a ∈ A**: 가장 높은 self-consistency를 갖는 최종 추론 r과 답변 a을 선택

    4. 일관성 평가 및 추론 수정
    - if s*sc < ⌈n/2⌉ then: self-consistency 점수가 절반 이하일 경우, 즉 다수의 답변이 일관성 있게 예측되지 않았을 경우, 그 추론을 수정하는 과정을 시작

    4-1. 각 추론 문장 편집
    - for oi ∈ r* do: 선택된 추론 r*의 각 문장(oi)에 대해 아래의 작업을 수행합
      1. u ← f(pvq, q, oi): 추론 문장(oi)을 기반으로 검증 질문을 생성
      2. v ← g(u): 생성된 검증 질문(u)을 외부 지식 검색 시스템(g)을 통해 검색하여 정확한 외부 정보(v)**를 가져옴
      3. w ← f(pva, u, v): 검색된 정보를 바탕으로 새로운 답변 w를 생성
      4. oi ← w: 생성된 답변(w)으로 기존 추론 문장(oi)을 수정

    4-2. 수정된 추론으로 최종 답변 생성
    - a* ← f(pcot, q, r*): 수정된 추론(r*)을 사용해 최종 답변(a*)을 생성

    5. 일관성 높은 경우 그대로 답변 사용
    - else if s*sc ≥ ⌈n/2⌉ then: self-consistency 점수가 절반 이상일 경우, 즉 충분히 높은 일관성이 있을 경우에는, 기존의 최종 답변(a*)을 그대로 사용

    6. 최종 결과 반환
    - return a: 최종 답변(a*)을 반환


    실험 설정

     

    추론 작업

    Verify-and-Edit 프레임워크는 지식 기반의 추론 단계를 제공하므로, 다음 두 가지 특성을 충족하는 작업에 유리

    (i) 여러 추론 단계를 거쳐 나중에 예측에 도달해야 하므로 근거 생성에 의존하는 멀티홉 추론

    • 설명: 멀티홉 추론은 여러 단계를 거쳐서 결론에 도달해야 하는 문제
      예를 들어, 한 번의 단일 질문에 대한 답을 구하는 것이 아니라, 중간 단계에서 발생하는 여러 가지 하위 질문을 해결하고 이들을 기반으로 최종 결론을 도출하는 방식
      이러한 문제에서는 추론 과정 자체가 중요하며, 각 단계에서의 근거가 신뢰할 수 있어야 함
    • 예시: "플로리다 주에서 가장 인구가 많은 도시는 무엇인가?"라는 질문이 있다고 가정
      • 1단계: 먼저 플로리다 주가 미국의 어느 주인지 알아야 합니다.
      • 2단계: 다음으로 플로리다 주 내에서 각 도시의 인구 수를 알아야 합니다.
      • 3단계: 마지막으로, 해당 도시들 중에서 가장 인구가 많은 도시를 결정해야 합니다.

        이처럼 단계적으로 여러 번의 추론을 거쳐 최종 답을 도출해야 하며, 이 과정에서 Verify-and-Edit 프레임워크는 각 단계에서 잘못된 추론을 수정하고 외부 정보를 통해 보완하는 방식으로 보다 정확한 답변을 생성할 수 있음

    (ii) 개방형 도메인으로 외부 지식원과의 상호 작용이 필요

    • 설명: 개방형 도메인 문제는 사전에 정의된 좁은 지식 범위 내에서만 답변을 생성하는 것이 아니라, 그때그때 외부 지식 소스(위키피디아, 구글 등)를 참조해야 하는 문제
      특정 주제에 대한 최신 정보나 구체적인 사실을 검색해 답변을 제공해야 하므로, 외부 지식원과의 상호작용이 필요
    • 예시: "2024년 올림픽이 개최되는 도시는 어디인가?"라는 질문을 생각해볼 수 있음
      • 이 질문은 개방형 도메인의 예시로, 모델이 미리 학습한 정보로는 최신 정보에 대한 답변이 부족할 수 있음
        모델이 "2020년 기준 올림픽 개최지는 도쿄입니다."라고 답변할 수 있지만, 이 경우 최신 정보를 위해 외부 지식 소스(예: 구글 검색, 위키피디아)를 통해 "2024년 올림픽은 파리에서 개최된다"는 최신 사실을 검색하여 답변을 수정해야 할 필요가 있음
      • 이 과정에서 VE 프레임워크는 검색된 외부 지식을 기반으로 잘못된 추론을 수정하고 더 정확한 답변을 도출

    따라서 우리는 세 가지 데이터셋에서 접근 방식을 검증

    (i) Adversarial HotpotQA (Yang et al., 2018), 멀티홉 질문응답 데이터
    Ye와 Durrett (2022)에 의해 제안된 도전적인 하위 집합을 사용
    여기서 올바른 예측과 잘못된 예측이 그들의 모델을 사용하여 균형을 이룸
    (ii) 2WikiMultihop (Ho et al., 2020)은 Wikidata의 구조화된 형식을 활용하는 멀티홉 질문응답 데이터셋
    (iii) Fever (Thorne et al., 2018), 위키피디아의 증거 단락을 기반으로 “지지(SUPPORTS)”, “반박(REFUTES)”, 또는 “정보 부족(NOT ENOUGH INFO)”으로 주장을 라벨링하는 사실 검증 데이터셋

    HotpotQA 설정과 유사하게, 우리는 GPT-3 CoT가 올바르고 잘못된 예측을 하는 샘플을 균형 있게 샘플링
    데이터셋의 처리 및 사용에 대한 세부 정보는 부록 A에서 찾을 수 있습니다.

    비교 방법

    최신의 성능 추정을 제공하기 위해, 실험 시점에서 가장 강력하고 최신의 모델인 GPT-3 instruct series API text-davinci-003 을 백본으로 사용
    Adversarial HotpotQA와 2WikiMultihop 실험은 6-샷을 사용하고 Fever는 3-샷 인컨텍스트 학습을 사용

    Fever 질문은 더 짧고 배우기 쉽기 때문

     

    HotpotQA에 대해 Ye와 Durrett (2022)에 의해 제공된 수동 주석을 사용하고 2WikiMultihop 및 Fever에 대해서는 비슷한 형식으로 수동으로 샘플을 주석 처리

    Baseline으로서 프레임워크가 어디에 위치하는지에 대한 보다 포괄적인 개요를 제공하기 위해 다음과 같은 방법을 사용합니다:

    1. 표준 예측(Standard): 입력에 기반하여 라벨을 직접 예측하며, 동일한 수의 인컨텍스트 학습 예제가 주어짐
    2. 원래 CoT (Wei et al., 2022): 설명을 생성한 후 라벨을 예측
    3. 자체 일관성이 있는 CoT (CoT-SC) (Wang et al., 2022): 디코딩 온도 0.7로 5개의 CoT 궤적을 샘플링하는 것이 권장
    4. 교정기 (Calib.) (Ye and Durrett, 2022): 예측의 확률을 예측 점수에 따라 조정하는 교정기
    5. ReAct (Yao et al., 2022): 외부 Wikipedia API를 활용하는 이유와 행동 프레임워크
      원문에서 보고된 결과를 사용하며, PaLM 모델 (Chowdhery et al., 2022)을 사용. 이 모델의 성능은 GPT-3와 비슷합니다.
      CoT-SC 위에서 얻은 성능 향상을 보고하기 위해 더 정당화된 관점을 추가

    Verify-and-Edit (VE) VE 프레임워크를 구현할 때 동일한 일관성 기준을 사용하여 모델이 불확실할 때를 추정
    n/2보다 낮은 자체 일관성 점수를 가진 모든 인스턴스를 편집
    그런 다음 2-샷 설정으로 인컨텍스트 학습을 사용하여 검증 질문을 생성
    검증 답변은 원래 답변 생성에서 사용된 동일한 예제 수와 Greedy 디코딩을 사용하여 생성

     

    결과에 대한 지식 검색 시스템의 효과를 연구하기 위해 다음 네 가지 시스템을 사용

    1. Wikipedia-API (wiki): 쿼리 엔티티를 검색하고 해당 Wikipedia 페이지에서 상위 문장을 선택
    2. DrQA (Chen et al., 2017): bigram 해싱, TF-IDF 매칭, 다층 순환 신경망 모델을 결합한 사전 훈련된 오픈 도메인 QA 모델
      우리는 여기서 검색된 컨텍스트만을 사용
    3. Google: Google에서 생성된 상위-k 검색 결과를 보조 컨텍스트로 사용
      이 결과는 검색 엔진과 LLM을 결합할 수 있는 가능성을 제공
    4. 데이터셋: Adversarial HotpotQA 및 2WikiMultihopQA에서 제공하는 단락 세트에서 선택
      이는 ground-truth 지원 컨텍스트와 방해 단락을 포함
      이것은 좋은 검색 시스템을 가정할 때 성능 향상의 상한을 제공하는 오라클 설정과 유사

    결과 및 분석

    자체 일관성 사용: 모를 때 아는 것

    Verify-and-Edit 프레임워크의 첫 단계에서는 일관성을 사용하여 모델의 예측에 대한 신뢰도를 측정합니다. Wang 등(2022)의 연구 결과와 일치하게, 일관성이 낮을 때 모델이 더 불확실하며 그로 인해 부정확한 예측을 생성할 가능성이 더 높다고 가정합니다. 이 가설이 유효한지를 테스트하기 위해 Adversarial HotpotQA 데이터셋에서 일관성 분포에 대한 커널 밀도 추정 그림을 그려봅니다. 그림 2에서 보듯이, 잘못된 샘플들은 좌측으로 치우친 일관성 분포를 보여주며, 대부분의 잘못된 예측들은 낮은 일관성을 가집니다. 반면, 올바른 예측의 분포는 우측으로 치우친 경향을 보여주며, 높은 일관성을 가진 잘못된 샘플은 매우 적습니다. 이는 효과적으로 저희의 가설을 검증합니다. 주요 실험에서, 저희는 다수결 임계값으로 ⌈n/2⌉를 사용하고 그 이하의 모든 샘플을 편집합니다. 이는 3입니다. 프레임워크 성능에 대한 다양한 임계값의 영향을 보여주기 위해 나중에 이분해 연구도 제공합니다.

    5.2 HotpotQA 결과

    표 1에 보고된 바와 같이, CoT는 표준 소수-샷 설정을 개선합니다. 반면에 CoT-SC는 기준선에 대한 좋은 개선을 보여주지 않습니다. Ye와 Durrett (2022)의 교정기를 사용하면, 데이터셋에서 제공하는 지상 진실 컨텍스트를 기반으로 답변 가중치를 조정하면서 AUC가 향상됩니다. 따라서 이는 VE의 마지막 설정과 비교되어야 합니다. 여기서 저희는 데이터셋 지식을 사용합니다. 비교하면, 교정기는 AUC가 낮고 개방형 설정에서는 대안적인 답변을 생성하지 않기 때문에 정확도를 향상시키지 못합니다.

    Verify-and-Edit 프레임워크를 사용하면, Wikipedia와 DrQA 검색 시스템은 기준선에 비해 각각 4.5%, 4.8%의 개선을 가져올 수 있습니다. 이는 ReAct의 최고 EM 개선(1.7%)의 2배입니다. Google에서 검색 엔진 결과를 프레임워크에 통합할 때, EM은 6.5% 증가하여 ReAct 결과의 3.8배입니다. 이는 검색 엔진과 LLM을 결합하는 유망한 방법을 보여주며, 현재 인기 있는 방향입니다. 검색 엔진은 사실적인 결과를 반환하지만, 추론이 필요한 쿼리에서는 덜 강력합니다. 반면에, LLM은 추론과 추상화에서 강력하지만, 그럴듯하게 들리지만 잘못된 진술을 생성하는 경향이 있습니다(OpenAI-Blog, 2022; Zhao 등, 2023). 두 세계의 장점을 결합하기 위해, 저희는 LLM의 긴 기억력을 활용할 수 있습니다. 많은 사용자들이 GPT가 대화에서 이전에 언급한 입력을 기억할 수 있다고 보고했습니다. 검색 엔진에서 제공하는 사실적인 결과를 메모리 새로 고침으로 제공함으로써, GPT는 더 나은 그리고 더 사실적인 예측을 생성할 수 있습니다.

    데이터셋에서 제공하는 적대적으로 확장된 단락을 사용할 때, 모델은 매우 높은 EM (56.8%)과 AUC (60.94)를 동시에 보여줍니다. 이 설정은, 우리가 매우 압축된 컨텍스트 세트와 거의 이상적인 검색 시스템을 가지고 있다면, Verify-and-Edit 프레임워크가 매우 강력한 성능을 낼 수 있음을 보여줍니다.

    5.3 2WikiMultiHop 결과

    표 2에서 보여지듯, 저희 방법은 HotpotQA에 비해 2WikiMultiHop에서 더 강한 성능을 보여줍니다. 개방형 검색을 통한 Verify-and-Edit 프레임워크는 3.4%에서 5.9%까지의 높은 정확도 개선을 생성할 수 있습니다. 데이터셋에서 제공하는 단락을 선택할 때, 정확도 개선은 9.5%까지 더 증가합니다. 반면에, 교정기는 데이터셋에서 제공된 단락을 사용하지만, 저희의 Verify-and-Edit 프레임워크의 모든 변형보다 뒤쳐집니다.

    5.4 사실 검증 결과

    Fever 데이터셋의 결과는 표 3에 나타나 있습니다. Fever 데이터셋에서 요구하는 추론이 HotpotQA 및 2WikiMultiHop에 비해 멀티홉이 적기 때문에, 다른 두 데이터셋에 비해 개선이 낮을 것으로 예상합니다.

    Fever 데이터셋에서 교정기 방법은 완전히 실패하여 33.7%로 감소합니다. 이는 제공된 컨텍스트와 추론 경로 간의 겹침을 검토하여 사실성 추정치를 기반으로 예측 점수를 교정하기 때문입니다. 그러나 사실 검증 데이터셋에서는 제공된 컨텍스트가 없습니다. 따라서 저희는 원래 주장을 사용하여 교정을 진행하며, 이는 나쁜 성능을 가져옵니다. 여기서 보여지는 것은 교정기 방법의 한계는 제공된 관련 컨텍스트가 있는 경우에만 적용된다는 것입니다.

    이 작업은 많은 추론을 요구하지 않음에도 불구하고, Verify-and-Edit 프레임워크를 사용하여 기준 방법보다 일관된 개선을 관찰할 수 있습니다. 이전과 같이, Wikipedia 검색은 DrQA보다 더 큰 개선을 가져오며, Google 검색은 1.9%의 개선을 더합니다.

    저희 방법과 비교하여, ReAct는 Fever에서 더 큰 개선을 보여줍니다. 첫째, Fever는 작업을 해결하기 위해 적은 추론이 필요하므로 Verify-and-Edit 프레임워크에는 덜 적합하다고 이전에 언급되었습니다. 둘째, ReAct 프롬프트는 저희의 프롬프트보다 훨씬 길어서 더 많은 계산 비용이 필요합니다.

    5.5 비용 고려 사항

    LLM과 상호 작용할 때 비용 절감이 주요 관심사이므로, 저희 방법은 두 가지 측면에서 계산 비용을 줄이려고 합니다. 첫째, Verify-and-Edit는 선택된 인스턴스에 대해서만 편집을 수행하는 반면, 다른 방법들은 모든 인스턴스를 매번 편집합니다. 구체적으로, 저희는 모델이 불확실하다고 판단될 때(일관성에 의해 판단)만 수정을 하며, 이는 40%의 경우에 발생합니다. 비교적으로, ReAct와 같은 다른 방법들은 관련 정보를 검색하고 모든 인스턴스에 대해 편집을 수행하여 더 높은 비용이 발생합니다. 둘째, Verify-and-Edit는 가능한 자연스럽고 대화적인 작업을 설계하여, 몇 가지 시연과 짧은 프롬프트만으로 학습할 수 있습니다. 예를 들어, 다른 방법들은 ReAct의 [thought] 및 [action] 태그와 Toolformer(Schick et al., 2023)의 API 호출과 같은 비자연적 호출을 학습합니다. 따라서 LLM은 더 긴 프롬프트, 더 많은 시연 또는 형식을 학습하기 위해 세밀 조정이 필요합니다. 반면에, 저희는 가능한 한 자연스러운 작업을 설계하여 배우기가 최소한의 노력만 필요합니다. 저희의 작업은 질문하고 답변하는 것만으로 구성되며, 학습할 인공 태그나 작업이 없습니다. 비교적으로, GPT-3 API를 사용하여 Fever 인스턴스 하나를 편집하는 데 Verify-and-Edit는 $0.014의 비용이 들고, ReAct는 $0.017의 비용이 듭니다.

    5.6 인간 연구를 통한 추론 체인 평가

    생성된 추론 체인의 신뢰성을 자세히 검토하기 위해 소규모 인간 연구 실험도 수행합니다. 실험 동안 두 명의 인간 자원봉사자에게 HotpotQA 데이터셋에서 생성된 추론 체인이 포함된 50개의 무작위 선택된 질문을 보여주고 더 사실적으로 일관된 것을 선택하도록 요청합니다. 자원봉사자들은 보조 도구로 검색 엔진을 사용할 것을 권장받습니다. 설정에 대한 자세한 설명은 부록 D에 기술되어 있습니다.

    표 4에 나타난 바와 같이, 인간은 Verify-and-Edit에서 생성된 추론 체인을 CoT-SC 기준선보다 53%의 경우에 더 사실적으로 일관된 것으로 선택합니다. Cohen κ는 0.25로, 두 평가자 간의 공정한 합의를 보여줍니다(McHugh, 2012). 평가자들은 100%의 경우에 Google 검색을 보조 도구로 사용했으며, 외부 지식을 도입할 필요성을 보여줍니다.

    또한, 이 경우 인간 주석은 많은 노력이 필요합니다. 평가자들은 평균적으로 한 데이터 포인트를 검증하는 데 1.5분이 걸린다고 보고합니다. 따라서 Verify-and-Edit 과정을 자동화하는 것은 인간 노동을 줄이는 보조 도구로서의 이점이 있습니다.

    Verifyand-Edit 프레임워크의 질적 효과를 자세히 관찰하기 위해, 저희는 부록 E에 몇 가지 흥미로운 예를 포함하여 저희 프레임워크가 원래 주장을 수정하는 효과를 보여줍니다.

    5.7 이분해 연구: 다른 일관성 임계값에서의 편집

    Verify-and-Edit 프레임워크에서 선택할 수 있는 유일한 하이퍼파라미터는 일관성 임계값입니다. ReAct (Yao et al., 2022)에서도 비슷한 임계값이 있습니다. 여기서 CoT → ReAct 방법은 "n개의 CoT-SC 샘플 중 다수 응답이 n/2회 미만으로 발생할 때" ReAct 스타일 프롬프팅을 사용하는 것입니다. 그러나 다수 계산을 사용하는 것은 로그 확률로 공식화된 원래의 일관성을 사용하는 것보다 덜 세밀합니다. 따라서 저희는 Wang 등(2022)이 제안한 원래 점수를 사용합니다. 이는 추론의 로그 확률을 통해 정규화되지 않은 답변 확률을 마진화합니다. 다수결 임계값을 모방하기 위해, 저희는 ⌈n/2⌉를 선택합니다. 여기서 n은 샘플링된 경로의 수입니다.

    저희 프레임워크에서 일관성 임계값을 조정하는 효과를 연구하기 위해, Adversarial HotpotQA의 이분해 결과를 그림 3에서 보여줍니다. 임계값이 증가함에 따라 정확도가 처음에는 증가하여 ⌈n/2⌉, 즉 3 근처에서 정점에 도달한 후 감소합니다. AUC 점수도 비슷한 경향을 보입니다.

    그림 2에서 보듯이, 일관성이 다수 (⌈n/2⌉)보다 클 때, 잘못된 예측보다 올바른 예측이 더 많고 그 반대의 경우도 마찬가지입니다. 따라서 저희는 일관성 임계값을 0에서 ⌈n/2⌉로 증가시키면서, 더 불확실하고 잠재적으로 잘못된 샘플들이 외부 지식을 도입함으로써 편집됩니다. 이상적인 임계값 ⌈n/2⌉를 넘어서면, 저희는 주로 올바른 샘플을 다시 편집하게 되며, 도입된 노이즈가 원래의 추론 체인을 방해할 수 있습니다.

    따라서 저희는 일관성 임계값으로 ⌈n/2⌉를 이상적인 수준으로 권장합니다.


    결론

    이 논문에서는 개방형 질의응답을 위한 Verify-and-Edit 프레임워크를 소개

    이는 최종 작업 성능을 향상시키기 위해 CoT 스타일 추론 체인을 사후 편집하는 첫 시도

    지식 검색과 추론을 결합함으로써, 이 프레임워크는 자연스럽고 대화적인 방식으로 CoT를 편집하여 예측의 사실성을 향상

    구글 검색과 결합될 때, 이 프레임워크는 최신 LLM의 개방형 생성 능력과 검색 엔진이 제공하는 업데이트된 사실을 결합하는 유망한 방향

     

    제한 사항

    현재 프레임워크에는 몇 가지 제한이 존재

    첫째, Verify-and-Edit는 복잡한 추론이 필요한 개방형 질의응답 작업에 가장 잘 작동
    지식 검색이 필요하지 않는 덜 복잡한 데이터셋이나 상식 데이터셋에서는 높은 개선을 보이지 않을 수 있음

    둘째, 주로 잘못된 샘플을 편집하는 것이 가장 이상적이며, 일관성을 사용하여 이를 선택
    따라서 일관성 방법의 성능과 올바른 예측과 잘못된 예측을 구분하는 능력에 의존
    대부분의 경우, 더 도전적인 예제 세트로 더 큰 개선을 보일 수 있음

Designed by Tistory.