| 저자 소개: Muhammad Khalifa는 CSE의 박사 과정 학생이며 Michigan AI Lab의 소속이기도 합니다. 그는 주로 언어 모델 및 제어 가능한 생성에 대해 연구하며, 이 블로그 게시글은 그가 과거에 수행한 연구 중 현재 제출 단계에 있는 한 가지 연구 프로젝트를 소개합니다. 이 프로젝트는 LG AI연구원의 지원을 받았으며, Lajanujen Logeswaran(LG AI연구원), 이문태(LG AI연구원), 그리고 자문 교수 Lu Wang(University of Michigan) 및 이홍락(LG AI연구원) 과의 협업으로 완성되었습니다. |
Introduction
복잡한 질문에 답하는 것은 인간 지능의 기본적인 양상입니다. 예를 들어 “브라이언 도일 머레이가 출연하고 1988년 크리스마스에 개봉한 코미디 영화는 무엇인가?”라는 질문이 주어졌을 때, 사람은 먼저 브라이언 머레이의 출연작을 검색한 뒤 그중 1988년 크리스마스에 개봉한 영화를 찾을 것입니다. 따라서 그 질문에 답하려면 브라이언 머레이에 대한 위키피디아 페이지에 들어가서 그가 출연한 영화 목록을 확인해야 합니다. 그리고 그중 1988년 크리스마스에 개봉한 것(스크루지)을 찾기 위해 목록을 하나씩 살펴볼 것입니다. 이때 주로 어려운 점은, 이처럼 비교적 복잡한 질문에 답하는 데 필요한 요소들이 흔히 다양한 장소(웹 페이지, 보고서 등)에 흩어져 있다는 것입니다. 따라서 주어진 질문에 답하는 데 관련된 것이 무엇인지 분별해야 합니다.
멀티-홉 질의응답(Multi-hop Question Answering, MQA)으로도 알려진 이 작업은, 질문과 함께 거대한 지식 말뭉치(corpus)가 주어졌을 때 답을 찾기 위해 말뭉치에 다중추론 점프(홉)를 수행하여 질문에 답하는 것입니다. 이 작업을 위해 훈련된 시스템은 보통 두 가지 요소 즉, Retriever와 Reader로 이루어져 있습니다. Retriever는 관련 문서를 식별하고, Reader는 식별된 문서를 바탕으로 답을 도출합니다. 이 글에서는 주어진 멀티-홉 질문에 답하는 데 필요한 일련의 문서를 문서 경로라고 부를 것입니다. 예를 들어 위에 나온 질문에 답하기 위한 경로는 투-홉 경로(브라이언 머레이 → 스크루지)입니다.
우리가 주로 고려할 Retriever를 훈련하려면, 예시 질문과 실제 정보(ground-truth) 경로가 필요합니다. 안타깝게도 질문-경로 쌍 데이터셋을 대규모로 체계화하는 데는 비용이 많이 들며, 리소스가 적은 언어나 분야의 경우 특히 그러합니다. 이로 인해 MQA 시스템을 구축하는 데 병목 현상이 발생합니다. 한 가지 해결책은 데이터 라벨링을 위한 발견법에 의지하는 것입니다. 하지만 이렇게 하면 주석이 부정확해지기 쉽습니다. 예를 들어 위의 질문에 답하기 위한 문서를 수집할 때, 답인 '스크루지'라는 단어가 포함된 모든 문서를 사용하길 원할 것입니다. 하지만 그러면 관련이 없는 문서로 이어지기 쉽습니다. 물론 기존의 데이터 효율적 검색 방법들이 있지만, 그것들은 주로 싱글-홉 QA로 제한됩니다. 싱글-홉 QA란 한 문서만 필요한 질문에 답하는 것입니다. 이를 멀티-홉 환경으로 확장하는 방법은 불분명합니다. 따라서 멀티-홉 환경으로 쉽게 확장할 수 있는 데이터 효율적 검색 방법이 필요합니다. 우리는 여기에 PromptRank 접근법을 사용하였습니다.

그림 1. “브라이언 도일 머레이가 출연하고 1988년 크리스마스에 개봉한 코미디 영화는 무엇인가?”라는 질문에 대한 PromptRank의 예시.
(a) TF-IDF가 잠재적 경로를 검색하고, 질문을 생성할 확률을 바탕으로 경로를 재측정하기 위해 언어 모델 리랭커를 사용합니다.
(b) 지침(붉은색)과 문서 경로(검은색)가 포함된 경로 프롬프트 예시.
PromptRank 개요
PromptRank는 막대한 양의 데이터로 훈련된 대규모 생성 언어 모델의 성공에서 영감을 받았습니다. PromptRank는 주로 두 단계로 이루어져 있습니다. 먼저, 단순 비지도 검색 방법이 주어진 질문과 관련될 가능성이 있는 문서 경로의 초기 세트를 선택합니다. 그 다음, 더 복잡한 리랭커 모델이 첫 번째 단계에서 얻은 경로를 질문에 대한 각각의 관련성을 바탕으로 재평가(또는 리랭크)합니다. 첫 번째 단계는 단순 비지도 TF-IDF 유사성 검색을 기반으로 이루어집니다. Figure1. (a)는 예시 질문에 대한 PromptRank의 실행을 보여줍니다. 이 글의 남은 부분에서는 두 번째 단계에 집중할 것입니다.
Scoring Function
리랭커 모델에 경로와 질문이 주어지면, 리랭커 모델은 해당 경로가 질문에 대한 답과 얼마나 관련이 있는지 보여주는 점수를 출력합니다. 이는 경로에 주어진 질문의 조건부 확률을 계산하여 이루어집니다. 더 정확히 말하자면, 질문과 경로가 주어졌을 때 다음과 같이 질문에 대한 경로의 관련성 점수를 계산합니다.
는 사전 훈련된 언어 모델에 따라 프롬프트에 주어진 질문을 생성할 조건부 확률입니다. 경로 프롬프트가 어떻게 구성되는지는 나중에 논의할 것이며, 우선 이 점수 함수에 담긴 직관에 대해 논의해 보겠습니다.
기본적으로 점수 함수는 우리가 원하는 것 즉, 질문과 문서 경로 사이의 관련성 점수를 계산합니다. 하지만 일부는 질문에 주어진 경로의 조건부 확률이 더 자연스럽다고 주장할 수도 있습니다. 우리는 점수 함수가 질문 프롬프트보다 나은 이유를 두 가지로 제시합니다. 첫 번째로, 보통 FAQ이나 설문 및 주석이 뒤따르는 문서의 LM 사전 훈련 프로세스와 조화롭습니다. 그러한 요소에는 문서와 관련된 질문이 포함되기 때문입니다. 두 번째로 더 중요한 이유는, LM이 surface form에 민감하기 때문에[1] 예측이 어려우며 따라서 경로가 사용하는 다양한 추론의 확률을 비교하기 어렵다는 점입니다. 예를 들어 짧은 경로는 확률이 높은 경향이 있습니다. 반면 우리가 제시하는 방법은 동일한 시퀀스 즉, 질문의 확률을 비교하기 때문에 는 이와 같은 문제를 겪지 않습니다.
Path Prompt
점수 함수에 담긴 직관을 이해했으니 이제 이것을 실제로 어떻게 계산하는지 알아봅시다. 위에 나왔던 예시를 다시 봅시다. “브라이언 도일 머레이가 출연하고 1988년 크리스마스에 개봉한 코미디 영화는 무엇인가?”라는 질문과, 두 문서 'ABC' → 'Disney'로 이루어진 두 개의 잠재적 문서 경로를 고려해 보겠습니다. 먼저, 지침과 두 문서의 내용을 조합한 원문 프롬프트를 구성합니다. 지침은 언어 모델의 대기열 역할을 하여, 더 관련성 있는 경로에 더 높은 점수를 할당하도록 유도합니다. 지침의 한 예는 “이전 문서를 읽고 질문을 하라”입니다. 성능 기준에 맞는 지침을 얻으려면, 후보 지침의 대규모 세트를 생성하고 홀드 아웃된 개발 세트에 대해 성능이 가장 좋은 것들을 선택합니다. 그림 1 (b)는 논의한 예시에서 그러한 프롬프트의 모습을 보여줍니다.
Instruction Ensembling 및 기타 기법
PromptRank 성능을 확장하기 위해, 프롬프트 방법을 개선하도록 제안된 일련의 기법을 사용합니다. 예를 들어 우리는 지침 앙상블을 사용하는데, 이는 일련의 지침을 별도로 사용하여 주어진 경로에 대한 점수를 계산합니다. 최대 또는 평균 앙상블을 통해 그러한 점수를 통합하여 최종 경로 점수를 얻을 수 있습니다. 우리는 또한 질문 확률을 계산할 때 온도 스케일링을 사용하여 출력 로짓을 확장합니다. 또한 언어 모델에 LM 예시 질문과 실제 정보 경로를 문맥과 함께 제공하여 언어 모델의 문맥 학습 능력을 활용합니다.
얼마나 잘 되는가?
PromptRank를 평가하기 위해 우리는 이를 비지도 검색 시스템보다 수천 개 더 많은 예시로 훈련된 기존의 완전 지도 시스템 멀티-홉 검색 시스템과 비교했습니다. 그림 2는 PromptRank의 성능 개요를 보여줍니다. 흥미롭게도 PromptRank는 단지 128개 예시만으로 PathRetriever[3], MDR[4]과 같은 완전 지도 시스템에 가까운 성능을 보여주었고 DrKit[5]보다 좋은 성능을 보였습니다.

그림 2. 비지도 및 완전 지도 시스템 대비 PromptRank의 Recall@K
실제 QA 성능은 어떨까요? 우리는 훈련된 Reader 모델이 PromptRank가 검색한 경로와 질문을 입력으로 취하고 답 스팬을 추출하는 QA 파이프라인의 일부로 PromptRank를 평가하였습니다. 그리고 답변 완전 일치(EM) 및 F1과 관련하여 HotpotQA에 대한 PromptRank QA 성능을 완전 지도 시스템과 비교했습니다. 표 1은 PromptRank QA 성능이 완전 지도 시스템의 성능을 능가하거나 비슷하게 나타났음을 보여줍니다.

표 1. HotpotQA 테스트셋에 대한 비지도 및 완전 지도 시스템 대비 PromptRank의 전체 QA 성능.
ICL이란 문맥 학습을 가리킵니다. Ndemos는 문맥 속 사용된 예제의 수를 가리킵니다.
추가 분석
우리는 다음 두 가지 질문으로 지침의 효과를 분석했습니다. 1) 지침이 검색 성능을 개선하는가? 2) 자동화 지침 검색에 이점이 있는가? 그림 2는 세 가지 지침 유형(인간이 적은 하나의 지침, 자동화 지침 검색으로 얻을 수 있는 최상의 지침, 지침 없음)을 가진 다양한 T5 모델 사이즈에 대한 성능을 보여줍니다. 흥미롭게도 지침이 없을 때 성능이 가장 안 좋았는데, 이 점은 프롬프트에 지침이 있는 것의 중요성을 보여줍니다. 둘째로 자동화 지침 검색은 수동으로 작성한 지침보다 성능 기준에 더 잘 맞는 지침을 산출하는 것으로 나타났습니다.

그림 3. 세 가지 T5 사이즈(초대형, 대형, 기본)에 대하여 다양한 지침 종류를 가진 R@2 및 AR@2의 박스 플롯.
200개의 다양한 지침을 사용하여 이 박스 플롯 결과를 얻었습니다.
우리는 프롬프트 내 지침 위치의 효과, 다중 홉 대비 결합 추론의 이점, PromptRank 사용 시 추론 비용을 추가로 분석했습니다. 곧 발간될 우리의 사전 인쇄판에서 그에 대해 더 알아볼 수 있습니다.
Conclusion
이 글에서 오픈 도메인 QA를 위한 few-shot multi-hop reranking system인 PromptRank을 알아봤습니다. PromptRank는 언어 모델 프롬프트를 기반으로 하며, 여기서 잠재적 문서 경로의 점수는 일부 프롬프트에 주어진 질문을 생성할 확률로 계산됩니다. PromptRank는 단지 128개의 예시만을 사용하여 최첨단 완전 지도 멀티-홉 Retriever 대비 인상적인 few-shot 성능을 보여줍니다. 우리는 또한 PromptRank를 멀티-홉 QA 파이프라인의 일부로 활용하는 것에 대해 설명하였습니다. PromptRank를 Reader 모델과 결합하면, 완전 지도 시스템에 비할 만한 QA 성능에 도달할 수 있습니다.
▶ Few-shot Reranking for Multi-hop QA via Language Model Prompting (Link)