NL-215, Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection, ICLR 2024
◼ Comment
- 참고: https://www.youtube.com/watch?v=BUFlyIr3Cxw
- 간단히 요약하면, GPT4로 학습데이터 만듬
- 학습데이터는 크게 2가지인데
- 1. reflection tokens
- 주어진 컨텍스트(입력, 이전까지 생성된 문장)을 기준으로 retrieve할지
- 2. Critic tokens
- (입력, 검색된 문서)가 관련있는지
- (입력, 검색된 문서, 출력)에서 검색된문서가 출력을 뒷받침하는것인지
- (입력, 출력)에서 입력이 출력에 유용한지
- 이러한 스페셜 토큰으로 critic 모델을 학습시킴
- critic 모델로 다량의 코퍼스에 레이블달음
- 레이블단 코퍼스로 generator model 학습시킴
- 생성모델로 인퍼런스 시키는데, 인퍼런스 중에 special tokens들이 생성될 것임
- retrieve token이 생성되면 검색하고
- 검색된 문서가 관련있는지 등을 판별해가면서 어떤 문서를 사용해서 생성하는게 좋은지 스스로 판단함
- 이렇게 생성된 출력으로 최종출력 만듬
ABSTRACT
- 거대한 언어 모델 (LLMs)은 놀라운 능력을 가지고 있지만, 종종 그들이 단독으로 포함하는 매개 변수 지식에 의존하여 사실에 부합하지 않는 응답을 생성합니다.
- 검색 증강 생성 (RAG)은 이러한 문제를 감소시키는 임시적인 접근 방식으로, LMs를 관련 지식 검색으로 보강합니다.
- 그러나 검색이 필요한지 여부나 통합할 문장이 관련한지 여부에 관계없이 일정 수의 검색된 문장을 무차별적으로 검색하고 통합하는 것은 LM의 다양성을 줄이거나 도움이 되지 않는 응답 생성으로 이어질 수 있습니다.
- 우리는 Self-Reflective Retrieval-Augmented Generation (SELF-RAG)이라는 새로운 프레임워크를 소개합니다.
- 이는 검색과 self-reflection을 통해 LM의 품질과 사실성을 향상시킵니다.
- 우리의 프레임워크는 단일 임의의 LM을 훈련시키고 필요에 따라 적응적으로 문장을 검색하고, 검색된 문장과 자체 생성물에 대해 special tokens인 reflection tokens을 사용하여 반영합니다.
- reflection tokens을 생성하면 추론 단계에서 LM을 제어할 수 있으므로, 다양한 작업 요구 사항에 맞게 그 동작을 맞춤화할 수 있습니다.
- 실험 결과 SELF-RAG (7B 및 13B 매개 변수)가 다양한 작업 집합에서 최첨단 LLMs와 검색 증강 모델을 크게 능가한다는 것을 보여줍니다.
- 특히 SELF-RAG는 오픈 도메인 QA, 추론 및 사실 확인 작업에서 ChatGPT 및 검색 증강 Llama2-chat을 능가하며, 이러한 모델과 비교하여 장문 생성에 대한 사실성 및 인용 정확도를 향상시키는 데 상당한 이득을 보입니다.
1 INTRODUCTION
- 모델과 데이터 규모가 증가하더라도 최첨단 LLMs는 사실적인 오류에 여전히 고민하고 있습니다 (Mallen et al., 2023; Min et al., 2023; Ouyang et al., 2022).
- 검색 증강 생성 (RAG) 방법 (그림 1 왼쪽; Lewis et al. 2020; Guu et al. 2020)은 관련된 검색된 단락을 LLMs의 입력에 추가하여, 지식 중심 작업에서 사실적인 오류를 줄입니다 (Ram et al., 2023; Asai et al., 2023a).
- 그러나 이러한 방법은 사실적인 근거가 도움이 되는지 여부에 관계없이 문단을 무차별적으로 검색하기 때문에 (Shi et al., 2023), LLMs의 다양성을 저해하거나 품질이 낮은 생성물로 이어지는 불필요하거나 주제와 무관한 문단을 도입할 수 있습니다.
- 또한, 모델이 제공된 문단에서 사실을 활용하고 따르도록 명시적으로 훈련되지 않기 때문에 (Gao et al., 2023), 출력이 검색된 관련 단락과 일치할 것이 보장되지 않습니다.
- 이 작업에서는 주문형 검색 및 자기 성찰을 통해 다양성을 손상시키지 않고 사실적 정확성을 포함하여 LLM의 생성 품질을 향상시키기 위해 SELF-RAG(Self-Reflective Retrieval-augmented Generation)를 도입합니다.
- 우리는 작업 출력과 간헐적인 special tokens (i.e., reflection tokens)을 모두 생성하여 작업 입력이 주어지면 자체 생성 프로세스를 반영하는 방법을 학습하기 위해 엔드투엔드 방식으로 임의의 LM을 교육합니다.
- Reflection tokens은 검색의 필요성과 생성 품질을 각각 나타내기 위해 retrieval and critique tokens으로 분류됩니다(그림 1 오른쪽).
- 특히, 주어진 입력 프롬프트와 이전 생성물이 주어진 경우, SELF-RAG는 먼저 계속된 생성을 검색된 단락으로 보강하는 것이 도움이 될지 여부를 결정합니다.
- 그렇다면, 수요에 따라 검색 모델을 호출하는 검색 토큰을 출력합니다 (단계 1).
- 그림 1의 오른쪽 아래 행은 검색이 필요없기 때문에 LLM을 그냥 태우면 된다는 것
- LLM이 만약 검색 토큰을 생성하면 검색을 안한다는 뜻인듯
- 이후, SELF-RAG는 여러 검색된 단락을 동시에 처리하고, 그들의 관련성을 평가한 다음 해당 테스크 출력을 생성합니다 (단계 2).
- 검색이 필요한경우, 각 검색문서에 대해 각각 출력을 생성한다
- 그런 다음, 자신의 출력을 비평하고 사실성과 전반적인 품질 측면에서 최적의 출력을 선택하기 위해 비평 토큰을 생성합니다 (단계 3).
- 각 검색문서에 대해 생성된 출력에 대한 평가를 하는 과정이 있나봄
- 이 프로세스는 검색의 필요성과 관계없이 항상 일정 수의 문서를 생성에 검색하는 일반적인 RAG (그림 1 왼쪽)와는 다릅니다 (예: 아래 그림의 예시는 사실적인 지식이 필요하지 않음).
- 또한, SELF-RAG는 각 세그먼트에 대한 인용을 제공하며, 출력이 해당 단락에 의해 지원되는지의 자가 평가를 통해 사실 검증을 보다 쉽게 할 수 있습니다.
- SELF-RAG은 임의의 LM을 훈련시켜 reflection tokens을 포함한 텍스트를 생성하도록 하는 것입니다.
- 이는 reflection tokens을 확장된 모델 어휘의 다음 토큰 예측으로 통합하여 수행됩니다.
- 우리는 생성 모델 LM을 다양한 텍스트 집합과 reflection tokens, 그리고 검색된 단락으로 훈련합니다.
- reflection tokens은 강화 학습에서 사용되는 보상 모델에서 영감을 받았으며(예: Ziegler et al., 2019; Ouyang et al., 2022), 훈련된 critic model에 의해 원본 말뭉치에 오프라인으로 삽입됩니다.
- 이를 통해 훈련 중에 critic 모델을 호스팅할 필요가 없어지므로 오버헤드가 줄어듭니다.
- critic 모델은 부분적으로, propriety LM(예: GPT-4; OpenAI 2023)를 프롬프팅하여 수집된 입력, 출력 및 해당 reflection tokens의 데이터셋에 대해 감독합니다.
- 우리는 텍스트 생성을 시작하고 안내하기 위해 제어 토큰을 사용하는 연구들(Lu et al., 2022; Keskar et al., 2019)에서 영감을 받았지만, 우리가 훈련시킨 LM은 생성된 세그먼트 후에 자신의 예측을 평가하기 위해 비판 토큰을 사용하여 생성 결과의 필수적인 부분으로 작용합니다.
- SELF-RAG은 더 나아가 hard or soft 제약 조건을 만족시키기 위해 사용자 정의 가능한 디코딩 알고리즘을 제공합니다.
- 이러한 제약 조건은 반사 토큰 예측에 의해 정의됩니다.
- 특히, 우리의 추론 시간 알고리즘은
- (1) 다른 downstream 응용 프로그램에 대해 검색 빈도를 유연하게 조정하고,
- (2) 반사 토큰을 활용하여 세그먼트 수준의 빔 검색을 사용하여 반사 토큰 확률의 가중 선형 합을 세그먼트 점수로 사용하여 모델의 동작을 사용자 선호도에 맞게 사용자 정의할 수 있습니다.
- 6가지 작업에 대한 실험 결과는 추론 및 장문 생성을 포함하며, SELF-RAG가 더 많은 매개변수를 가진 사전 훈련 및 지시어 튜닝된 LLMs 및 인용 정확도가 높은 일반적으로 사용되는 RAG 접근 방식보다 현저하게 우수한 성능을 보임을 보여줍니다.
- 특히, SELF-RAG는 네 가지 작업에서 검색이 증가된 ChatGPT, 모든 작업에서 Llama2-chat (Touvron et al., 2023) 및 Alpaca (Dubois et al., 2023)를 능가합니다.
- 우리의 분석은 전반적인 성능 향상 및 test-time model customizations (예: 인용 예측과 완성도 사이의 균형 조정)를 위해 반사 토큰으로 훈련 및 추론의 효과를 입증합니다.
2 RELATED WORK
- Retrieval-Augmented Generation.
- 검색 보강 생성(Retrieval-Augmented Generation, RAG)은 검색된 텍스트 단락을 LMs의 입력 공간에 보강함으로써 지식 중심 작업에서 큰 개선을 이끌어내는 방법입니다(Guu et al., 2020; Lewis et al., 2020).
- 이는 파인튜닝을 통해 또는 기존 LMs와 함께 사용될 때 지식 중심 작업에서 큰 향상을 이끌어냅니다(Ram et al., 2023).
- 보다 최근의 연구(Luo et al., 2023)에서는 고정된 수의 검색된 단락이 입력 전에 추가되는 방법으로 LM을 지시어에 맞게 튜닝하거나, 검색기와 LM을 함께 사전 훈련한 후 과제 데이터셋에서의 퓨샷 파인튜닝을 진행합니다(Izacard et al., 2022b).
- 이전의 연구들은 주로 처음에 한 번만 검색하였지만, Jiang et al. (2023)은 소유권이 있는 LLM 상에 생성을 위해 적응적으로 단락을 검색하는 방식을 제안하였고,
- Schick et al. (2023)은 LM을 개체명에 대한 API 호출을 생성하도록 훈련시켰습니다.
- 그러나 이러한 접근 방식들의 개선된 작업 성능은 종종 실행 시간 효율성(Mallen et al., 2023), 관련 없는 문맥에 대한 견고성(Shi et al., 2023), 및 속성 부족(Liu et al., 2023a; Gao et al., 2023)을 희생하게 됩니다.
- 우리는 임의의 LM이 다양한 지시어를 따르는 쿼리에 대해 요청에 따라 검색을 사용하는 방법을 학습하고, 반사 토큰에 의해 안내되는 제어 생성을 소개하여 생성 품질과 속성을 더욱 향상시키는 방법을 소개합니다.
- 여기서 인용한것들 읽어보면 흐름을 이해하기는 좋을듯
- Concurrent RAG work.
- RAG에 대한 몇 가지 동시적인 연구는 널리 사용되는 RAG 접근 방식을 개선하기 위한 새로운 훈련 또는 프롬프팅 전략을 제안합니다.
- Lin et al. (2023)은 검색기와 LM을 두 단계로 지시어 튜닝 데이터셋에서 파인튜닝합니다.
- 우리도 다양한 지시어를 따르는 데이터셋에서 모델을 훈련하지만, SELF-RAG는 요청에 따라 검색을 가능하게 하고, 세밀한 자기 반성을 통해 최상의 모델 출력을 선택함으로써 광범위하게 적용 가능하고 더 견고하고 제어 가능하게 만듭니다.
- Yoran et al. (2023)은 자연어 추론 모델을 사용하고 Xu et al. (2023)은 요약 모델을 사용하여 출력을 생성하기 전에 검색된 단락을 걸러내거나 압축합니다.
- SELF-RAG는 병렬로 단락을 처리하고 외부 모델에 의존하지 않고도 자기 반성을 통해 관련 없는 것들을 걸러냅니다.
- 게다가, 우리의 자기 반성 메커니즘은 사실성을 포함한 모델 출력 품질의 다른 측면도 평가합니다.
- LATS (Zhou et al., 2023)는 기존의 LMs를 프롬프팅하여 질문 응답 작업에 대한 관련 정보를 검색하고, LM이 생성하는 값 점수에 따라 트리 검색으로 생성합니다.
- 그들의 값 함수는 단순히 각 생성의 전체 점수를 나타내지만, SELF-RAG는 세밀한 자기 반성 및 사용자 정의 가능한 추론을 생성할 수 있도록 임의의 LM을 훈련합니다.
- Training and generating with critics.
- 인간 피드백으로부터 강화 학습(예: Proximal Policy Optimization 또는 PPO; Schulman et al. 2017)을 사용하여 LLMs를 훈련하는 것은 인간의 선호도와 일치하는 LLMs를 맞추는 데 효과적임이 입증되었습니다 (Ouyang et al., 2022).
- Wu et al. (2023)은 다중 보상 모델로 세밀한 강화 학습 기반 인간 피드백 (fine-grained RLHF)을 소개합니다.
- 우리의 연구도 검색 및 생성에 대한 세밀한 평가를 연구하지만, 우리는 대상 LM을 비교적 적은 훈련 비용으로 오프라인에서 평론가 모델로부터 반사 토큰으로 보강된 과제 예제로 훈련합니다.
- 또한, SELF-RAG의 반사 토큰은 추론 시에 제어 가능한 생성을 가능하게 하며, RLHF는 훈련 중에 인간 선호도 조정에 초점을 맞춥니다.
- 다른 연구는 일반적인 제어 토큰을 사용하여 LM 생성을 안내합니다 (Lu et al., 2022; Korbak et al., 2023), 반면 SELF-RAG는 검색의 필요성을 결정하고 생성 품질을 자가 평가하기 위해 반사 토큰을 사용합니다.
- Xie et al. (2023)은 자가 평가로 안내된 디코딩 프레임워크를 제안하지만, 그들은 추론 없이 추론 경제를 비롯한 추론 작업에만 초점을 맞추고 있습니다.
- LLM 세밀화에 대한 최근 연구(Dhuliawala et al., 2023; Madaan et al., 2023; Paul et al., 2023)는 모델이 과제 출력, 자연어 피드백 및 개선된 과제 출력을 반복적으로 생성하도록 프롬프팅하지만, 이는 추론 효율성에 대한 대가가 있습니다.
3 SELF-RAG: LEARNING TO RETRIEVE, GENERATE AND CRITIQUE
- 저희가 도입한 Self-Reflective Retrieval-Augmented Generation (SELF-RAG)은 Figure 1에 나와 있습니다.
- SELF-RAG는 검색 및 자기 반성을 통해 LLM의 품질과 사실성을 향상시키는 프레임워크로, LLM의 원래 창의성과 다양성을 희생하지 않습니다.
- 우리의 end-to-end 훈련은 LM "M"가 필요한 경우 검색된 단락에 기반하여 텍스트를 생성하고, 특별한 토큰을 생성하는 것을 학습하여 출력을 비평할 수 있게 합니다.
- 이 반영 토큰들(Table 1)은 검색이 필요한지를 신호로 보내거나, 출력의 관련성, 지지 또는 완전성을 확인합니다.
- SELF-RAG에서 사용되는 네 가지 유형의 반영 토큰이 있습니다. 각 유형은 출력 값을 나타내기 위해 여러 토큰을 사용합니다. 아래의 세 행은 세 가지 유형의 비평 토큰이며, 굵은 텍스트는 가장 바람직한 비평 토큰을 나타냅니다. 여기서 x, y, d는 각각 입력, 출력 및 관련된 단락을 나타냅니다.
- ISREL을 보면, x,d가 들어간다. 즉 입력과 관련문서가 LLM입력으로 들어가면 이게 연관있는지 없는지를 판단한다 보면 된다. 출력은 relevant, irrelevant와 같은 토큰을 생성하는 것 같음
- ISSUP을 보면, 입력, 관련문서, 출력이 LLM입력으로 들어간다. 그럼 y가 d에 의해 뒷받침되는지를 판단하는 것
- ISUSE는 출력이 입력에 대해 얼마나 유용한지를 판단
- Retrieve는 입력, 입력, 출력이 들어가면 검색을 할지, 말지 에 대해 판단
- 여기서 출력이 그냥 string, number로 생성되는 건가?
- 반면에 일반적인 RAG 접근 방식은 cited sources로부터 완전한 지원을 보장하지 않고 단락을 검색합니다.
3.1 PROBLEM FORMALIZATION AND OVERVIEW
- 정식으로는 입력 x가 주어졌을 때, 우리는 M을 순차적으로 여러 세그먼트로 구성된 텍스트 출력 y를 생성하도록 훈련시킵니다.
- 여기서 y = [y1, . . . , yT]이고, yt는 t번째 세그먼트를 위한 토큰 시퀀스를 나타냅니다.
- yt에서 생성된 토큰은 원래 어휘에서 가져온 텍스트 뿐만 아니라 반영 토큰 (테이블 1 참조)도 포함됩니다.
- Inference overview.
- Figure 1와 Algorithm 1은 추론 시 SELF-RAG의 개요를 제시합니다.
- 모든 x와 이전 생성 y<t에 대해, 모델은 검색 토큰을 디코딩하여 검색의 유효성을 평가합니다.
- 검색이 필요하지 않은 경우, 모델은 표준 LM에서 하는 것처럼 다음 출력 세그먼트를 예측합니다.
- 검색이 필요한 경우, 모델은 검색된 단락의 관련성을 평가하기 위해 비평 토큰을 생성하고, 다음 응답 세그먼트와 함께 답변을 생성하며, 응답 세그먼트의 정보가 단락에서 지원되는지를 평가하기 위해 비평 토큰을 생성합니다.
- 마지막으로, 새로운 비평 토큰은 응답의 전반적인 유효성을 평가합니다.
- 각 세그먼트를 생성하기 위해, SELF-RAG는 병렬로 여러 단락을 처리하고 생성된 반영 토큰을 사용하여 생성된 작업 출력에 대한 소프트 제약 (섹션 3.3) 또는 하드 제어 (Algorithm 1)를 강제합니다.
- 예를 들어, Figure 1 (오른쪽)에서는 검색된 단락 d1이 첫 번째 시간 단계에서 선택됩니다.
- 왜냐하면 d2는 직접적인 증거를 제공하지 않으며 (ISREL은 무관함), d3 출력은 부분적으로만 지원되고, d1은 완전히 지원됩니다.
- 즉 LLM이 입력에 대해 문장들을 생성하다가, retrieve가 필요한 시점을 찾아낸다.
- (x,y<t)->retrieve
- 검색한다고 판단되면, 검색을하여 d을 얻고 그 다음 문장을 생성한다.
- d의 개수에 따라 문장이 여러개 생성될텐데
- 각 문장에 대해 ISREL, ISSUP, ISUSE에 대한 값을 생성한다.
- (x, d)->ISREL
- (x,d,y<t)->yt
- (x,d,yt)->ISSUP
- (x,yt)->ISUSE
- 이 값을 기반으로 문장을 ranking한다.
- retrieve가 필요없는 시점에는 지속적으로 다음문장과 ISUSE을 생성한다.
- x->yt
- (x,yt)->ISUSE
- Training overview.
- SELF-RAG은 임의의 LM이 반영 토큰을 포함한 텍스트를 생성할 수 있도록, 이들을 확장된 모델 어휘 (즉, 원래 어휘 및 반영 토큰)의 다음 토큰 예측으로 통합합니다.
- 구체적으로, 우리는 생성 모델 M을 리트리버 R에 의해 검색된 교차된 단락과 비평 모델 C에 의해 예측된 반영 토큰으로 편집된 말뭉치에서 훈련시킵니다 (부록 알고리즘 2에서 요약됨).
- 우리는 C를 훈련시켜 검색된 단락과 주어진 작업 출력의 품질을 평가하기 위해 반영 토큰을 생성하도록 합니다 (섹션 3.2.1).
- 즉 비평모델 C는 reflection tokens들을 생성하기 위한 모델이다
- 비평 모델을 사용하여 훈련 말뭉치에 반영 토큰을 오프라인으로 삽입하여 훈련을 갱신합니다.
- 이후, 최종 생성 모델 (M)을 전통적인 LM 목적 (섹션 3.2.2)에 맞게 훈련하여, M이 추론 시 비평에 의존하지 않고 스스로 반영 토큰을 생성할 수 있도록 합니다.
- C의 reflection tokens을 생성하는 것을 코퍼스에 녹인 다음 M을 학습시켜서, 일반 LLM이 text, reflection tokens 둘다 생성하게끔 다시 학습시키는 것 같음
- 알고리즘 2을 보면, reflection tokens의 정답은 GPT4을 이용하여 만든다.
- 즉, 이걸로 비평모델을 학습시키고 더 많은 데이터에 대해 뿔려서 일반 LLM인 M을 재학습 시키는 과정인듯
3.2 SELF-RAG TRAINING
- 여기서는 두 개의 모델, 비평 모델 C (섹션 3.2.1) 및 생성 모델 M (섹션 3.2.2)의 지도 학습 데이터 수집과 훈련에 대해 설명합니다.
3.2.1 TRAINING THE CRITIC MODEL
- Data collection for critic model.
- 수동으로 각 세그먼트에 대한 반영 토큰을 주석으로 달기는 비용이 많이 듭니다 (Wu 등, 2023).
- GPT-4와 같은 최신 LLM은 이러한 피드백을 생성하는 데 효과적으로 사용될 수 있습니다 (Liu 등, 2023b).
- 그러나 이러한 proprietary LLM에 의존하는 것은 API 비용을 증가시키고 재현 가능성을 감소시킬 수 있습니다 (Chen 등, 2023).
- 우리는 GPT-4에 프롬프트를 제공하여 반영 토큰을 생성하고 그들의 지식을 내부 C로 축소하여 지도 학습 데이터를 생성합니다.
- 각 반영 토큰 그룹에 대해 우리는 원래의 훈련 데이터에서 인스턴스를 무작위로 샘플링합니다: {X sample, Y sample} ∼ {X, Y}.
- 서로 다른 반영 토큰 그룹이 자체적인 정의와 입력을 가지고 있기 때문에, 이들을 위해 특정 유형의 지침 프롬프트를 사용합니다 (테이블 1 참조).
- 여기서는 Retrieve를 예로 듭니다.
- 우리는 GPT-4에게 유형별 명령문
- "명령문이 주어졌을 때, 웹에서 외부 문서를 찾는 것이 더 나은 응답을 생성하는 데 도움이 되는지에 대한 판단을 내리십시오."
- “Given an instruction, make a judgment on whether finding some external documents from the web helps to generate a better response.”
- 을 사용하여 프롬프트를 제공하고, 원래의 작업 입력 x와 출력 y에 대한 몇 가지 예제를 사용하여 적절한 반영 토큰을 예측하기 위해 모델을 훈련시킵니다: p(r|I, x, y).
- 수동 평가 결과, GPT-4 반영 토큰 예측은 인간 평가와 높은 일치도를 보입니다.
- 우리는 각 유형에 대해 4천 개에서 2만 개의 지도 학습 데이터를 수집하고 이를 C의 훈련 데이터로 결합합니다.
- 부록 섹션 D에는 지침의 전체 목록이 나와 있으며, A.1에는 더 많은 세부 정보와 분석이 포함되어 있습니다.
- Critic learning.
- 훈련 데이터 Dcritic을 수집한 후에는, 사전 훈련된 LM으로 C를 초기화하고 Dcritic에서 표준 조건부 언어 모델링 목적을 사용하여 C를 훈련시킵니다.
- 우도를 최대화합니다.
- 여기서는 retrieve을 예시로 들었으니, 입력(x)과 출력(y)이 주어지고 retrieve을 생성하도록 학습됨
- 만약 다른 reflection token인 ISREL은 (x,d)가 입력이어야 하는데.. 이건 입력으로 그러면 검색된 문서넣고 판단하도록 다른 모델이 또 학습되는 것인가?
- 초기 모델은 어떤 사전 훈련된 LM이든 될 수 있지만, 우리는 C의 초기화에 생성기 LM과 동일한 모델을 사용합니다 (즉, Llama 2-7B; Touvron et al. 2023).
- 비평 모델은 대부분의 반영 토큰 카테고리에서 GPT-4 기반 예측과 90% 이상의 일치도를 달성합니다 (부록 테이블 5 참조).
3.2.2 TRAINING THE GENERATOR MODEL
- Data collection for generator.
- 입력-출력 쌍 (x, y)을 사용하여 원본 출력 y를 증강하기 위해, 검색 및 비평 모델을 사용하여 SELF-RAG 추론 시간 프로세스(섹션 3.1)를 정확히 모방한 지도 데이터를 생성합니다.
- y의 각 세그먼트 yt에 대해 C를 실행하여 추가적인 구절이 생성을 향상시킬 수 있는지 평가합니다.
- 검색이 필요한 경우, 검색 특수 토큰 Retrieve=Yes가 추가되고, R이 상위 K개 구절 D를 검색합니다.
- 각 구절에 대해 C는 해당 구절이 관련 있는지 평가하고 ISREL을 예측합니다.
- 구절이 관련 있는 경우, C는 해당 구절이 모델 생성을 지원하는지 평가하고 ISSUP를 예측합니다.
- 비평 토큰 ISREL 및 ISSUP는 검색된 구절 또는 생성물 뒤에 추가됩니다.
- 출력 y(또는 yT) 끝에서 C는 전체 유틸리티 토큰 ISUSE를 예측하며, 반영 토큰과 원본 입력 쌍이 포함된 증강된 출력이 Dgen에 추가됩니다.
- 예제 훈련 데이터는 그림 2에서 확인할 수 있습니다.
- Generator learning.
- 생성기 모델 M은 반영 토큰 Dgen으로 증강된 정제된 코퍼스를 사용하여 표준 다음 토큰 목표로 훈련됩니다:
- C 훈련(Eq. 1)과 달리, M은 목표 출력을 예측하는 것뿐만 아니라 반영 토큰도 예측하는 법을 학습합니다.
- 훈련 중, 손실 계산을 위해 검색된 텍스트 청크를 마스킹하고(그림 2에서 <p>와 </p>로 둘러싸인 부분), 원본 어휘 V에 반영 토큰 {Critique, Retrieve}를 확장하여 추가합니다.
- Connections to prior work on learning with critique.
- 최근 연구는 훈련 중 추가 비평(피드백)을 통합하고 있으며, 예를 들어 PPO를 통한 RLHF(Ouyang et al., 2022) 등이 있습니다.
- PPO는 훈련 중 별도의 보상 모델을 사용하지만, 우리는 오프라인에서 비평을 계산하고 이를 훈련 코퍼스에 직접 삽입합니다.
- 이렇게 함으로써 PPO에 비해 훈련 비용을 크게 줄일 수 있습니다.
- 또한, 생성 제어를 위해 특수 토큰을 통합하는 이전 연구(Keskar et al., 2019; Lu et al., 2022; Korbak et al., 2023)와도 관련이 있습니다.
- 우리의 SELF-RAG는 각 생성 세그먼트 후에 자신의 예측을 평가하기 위해 특수 토큰을 생성하는 법을 학습하여, 추론 시 소프트 재랭킹 메커니즘이나 하드 제약을 사용할 수 있게 합니다(다음에 논의).
3.3 SELF-RAG INFERENCE
- 자체 출력을 자체 평가하기 위해 반영 토큰을 생성함으로써, SELF-RAG는 추론 단계에서 제어 가능해져 다양한 작업 요구 사항에 맞춰 행동을 조정할 수 있습니다.
- 사실적 정확성이 요구되는 작업(Min et al., 2023)에서는, 출력이 사용 가능한 증거와 긴밀하게 일치하도록 하기 위해 모델이 구절을 더 자주 검색하도록 합니다.
- 반대로, 개인 경험 에세이 작성과 같은 더 개방적인 작업에서는, 검색 빈도를 줄이고 전체 창의성이나 유틸리티 점수를 우선시합니다.
- 이 섹션에서는 추론 과정에서 이러한 상이한 목표를 달성하기 위해 제어를 강제하는 접근 방식을 설명합니다.
- Adaptive retrieval with threshold.
- SELF-RAG는 Retrieve 토큰을 예측함으로써 텍스트 구절을 언제 검색할지 동적으로 결정합니다.
- 대안으로, 임계값을 설정할 수 있는 프레임워크도 제공합니다.
- 구체적으로, Retrieve=Yes 토큰을 생성할 확률이 Retrieve 내의 모든 출력 토큰에 대해 정규화된 값이 지정된 임계값을 초과하면 검색을 시작합니다(자세한 내용은 부록 섹션 A.3 참조).
- Tree-decoding with critique tokens.
- 각 세그먼트 단계 t에서, 검색이 필요할 때(하드 또는 소프트 조건에 따라), R이 K개의 구절을 검색하고 생성기 M은 각 구절을 병렬로 처리하여 K개의 다른 연속 후보를 출력합니다.
- 세그먼트 수준의 빔 서치(빔 크기=B)를 수행하여 각 타임스탬프 t에서 상위 B개의 세그먼트 연속을 얻고, 생성 끝에 최상의 시퀀스를 반환합니다.
- 구절 d와 관련하여 각 세그먼트 yt의 점수는 Critique 토큰 유형의 정규화된 확률의 선형 가중합인 비평 점수 S로 업데이트됩니다.
- 각 비평 토큰 그룹 G(예: ISREL)의 점수를 타임스탬프 t에서 sGt로 표시하고, 세그먼트 점수를 다음과 같이 계산합니다:
- 여기서 sGt는 비평 토큰 유형 G에 대해 가장 바람직한 반영 토큰 r̂ (예: ISREL=Relevant)의 생성 확률을 나타내며, 이는 G에 대해 N개의 고유한 토큰을 가지는 경우입니다.
- Eq. 4의 가중치 wG는 테스트 시 맞춤형 동작을 가능하게 하기 위해 추론 시 조정할 수 있는 하이퍼파라미터입니다.
- 예를 들어, 결과 y가 대부분 증거에 의해 지원되도록 하려면 ISSUP 점수에 대한 가중치 항을 높이고 다른 측면에 대한 가중치는 상대적으로 낮출 수 있습니다.
- 대안으로, Critique를 사용하여 디코딩 중 하드 제약을 추가로 강제할 수 있습니다.
- Eq. 4에서 소프트 보상 함수를 사용하는 대신, 모델이 바람직하지 않은 Critique 토큰(예: ISSUP=지원 없음)을 생성할 때 세그먼트 연속을 명시적으로 필터링할 수 있습니다.
- 여러 선호 사항 간의 균형을 맞추는 것은 RLHF에서 연구되었으며, 이는 종종 모델의 행동을 변경하기 위한 훈련이 필요합니다.
- SELF-RAG는 추가 훈련 없이 언어 모델을 맞춤화합니다.
Reference
댓글
댓글 쓰기