NL-135, Novelty Controlled Paraphrase Generation with Retrieval Augmented Conditional Prompt Tuning, AAAI 2022
0 Abstract
- 의역 생성은 자연어 처리에서 기본적이고 오랜 작업입니다.
- 이 논문에서 우리는 작업에 대한 두 가지 기여에 집중합니다.
- (1) 우리는 의역 생성을 위해 사전 훈련된 대규모 언어 모델을 적용하기 위한 매개변수 효율적인 방법으로 RAPT(Retrieval Augmented Prompt Tuning)를 제안합니다.
- (2) 우리는 다양한 수준의 어휘 신규성을 가진 제어된 의역 생성을 위해 특수 프롬프트 토큰을 사용하는 간단한 model-agnostic 방법으로 참신 조건 RAPT(NC-RAPT)를 제안합니다.
- 4개의 데이터 세트에 대한 광범위한 실험을 수행하여 생성에서 어휘적 참신함을 유도하면서 원본 텍스트의 의미론적 내용을 유지하기 위해 제안된 접근 방식의 효율성을 보여줍니다.
1. Introduction
- 의역 생성의 임무는 의미를 유지하면서 주어진 텍스트를 다시 표현하는 것을 목표로 합니다.
- 이 작업에는 텍스트 단순화, 의미론적 구문 분석, 쿼리 재작성 및 데이터 증대를 포함한 여러 응용 프로그램이 있습니다.
- 최근에 사전 훈련된 Transformer 기반 언어 모델의 사용은 의역 생성을 포함한 다양한 자연어 처리(NLP) 작업은 어디에나 있습니다.
- NLP 작업을 위해 사전 훈련된 언어 모델을 활용하는 표준 방법은 모델의 모든 매개변수를 미세 조정하는 것이지만 매개변수가 가장 효율적이지는 않습니다.
- 특히, 신속한 튜닝과 LoRA는 훈련 가능한 매개변수의 수를 수천 배 줄일 수 있습니다.
- 이러한 접근 방식은 사전 훈련된 모델이 이전보다 지속적으로 커지기 때문에 오늘날 특히 중요합니다.
- 매개변수 효율적인 방법의 방향에서 우리는 의역의 품질을 더욱 향상시키기 위해 kNN 기반 검색된 예를 사용하여 프롬프트 튜닝을 보강하는 방법으로 검색 증강 프롬프트 튜닝(RAPT)을 제안합니다.
- 사전 훈련된 언어 모델의 적응 외에도 최소한의 변경으로 사소한 의역은 데이터 증대와 같은 응용 프로그램에 도움이 되지 않을 수 있기 때문에 생성된 의역의 참신함에 명시적으로 초점을 맞춥니다.
- 우리는 의역의 참신함을 입력에서 의역의 편집 거리와 연관시키는 것으로 간주합니다.
- 대략적으로 의역에 편집(word deletion, word insertion, substitution, etc)이 많을수록 우리는 그것을 더 "참신하다"고 생각합니다.
- 다양한 수준의 참신함으로 의역을 생성할 수 있습니다.
- 예를 들어, 단순히 한 단어를 변경하는 것은 여전히 의역으로 간주됩니다.
- 그러나 일반적으로 생성된 의역의 어휘 신규성 수준은 모델이 결정하도록 남겨둡니다.
- 이 작업에서 우리는 대신 generation의 참신함 수준을 결정하기 위해 사용자 자신에게 더 많은 제어를 가하는 간단한 model-agnostic 방법을 제안합니다.
- 이를 위해 우리는 참신성 제어 의역 생성을 위해 다양한 수준의 신규성에 대한 특수 프롬프트를 사용하는 참신 조건 RAPT(NC-RAPT)를 제안합니다.
- 전반적으로 다음과 같은 기여를 합니다.
- 1. We propose Retrieval Augmented Prompt Tuning (RAPT) as a parameter-efficient method for paraphrase generation.
- 2. We propose Novelty Conditioned RAPT (NC-RAPT) that uses specialized prompts to generate paraphrases with different levels of novelty.
2. Task Definition
- 우리는 paraphrase 생성을 sequence-to-sequence 문제로 정의합니다.
- 토큰 x1:n = (x1, x2, x3, . . , xn)의 일부 입력 시퀀스가 입력 쿼리로 주어지면 모델이 입력을 다른 시퀀스 y1:m = (y1, y2, y3, ... , ym) 출력으로 사용됩니다.
- 실험에서 우리는 주로 autoregressive language modeling 또는auto-completion에 대해 사전 훈련된 GPT 기반 모델을 탐색합니다.
- 따라서 다운스트림 작업이 사전 훈련 작업과 유사하게 유지되도록 자동 완성 작업과 유사한 문제를 구성합니다(잠재적으로 사전 훈련된 지식의 transfer을 더 쉽게 만들 수 있음).
- 자동회귀 언어 모델에 대한 자동 완성 작업으로 의역을 구성하기 위해 "입력: x1, x2, x3, . . . , xn \n 의역: ".
- 모델의 임무는 주어진 프롬프트를 자동 완성하는 것입니다.
- 완료된 시퀀스는 "input: x1, x2, x3, . . . , xn \n Paraphrase: y1, y2, y3, . . . , ym”.
- 생성된 시퀀스 y1:m을 원래 입력 x1:n의 의역으로 취급합니다.
- 이 전체 시퀀스에서 "input: "은 프롬프트 접두사이고 "\n Paraphrase: "는 프롬프트 접두사, "x1, x2, x3, . . . , xn"은 입력이고 "y1, y2, y3, . . . , ym"은 의역된 출력입니다.
- 접두사(prefix)와 중위사(infix)는 함께 프롬프트 템플릿을 형성합니다: “Input: \n Paraphrase: ”.
- 프롬프트 접두사(prefix)를 p1:s = (p1, p2, p3, ... , ps)로 나타내는 토큰의 일반 시퀀스와 프롬프트 중위(infix)를 q1으로 나타내는 토큰의 일반 시퀀스를 형식화하여 입력 프롬프트 형식을 더 일반화할 수 있습니다. t = (q1, q2, q3, ... , qt).
- 전반적으로 일반화된 입력 프롬프트는 "p1, p2, p3, . . . , ps, x1, x2, x3, . . . , xn, q1, q2, q3, . . . , qt”.
- 즉, 일반적으로 prefix에 "input: "이란 string을 그대로 사용하고 중간에 들어가는 infix에는 "\n Paraphrase: "이란 string을 사용하여서 입력을 구성할 수 있다.
- 하지만, 좀 더 일반화로 prefix로 p1~ps, infix로 q1~qt을 사용할 수 있다는 뜻
3. Baselines
- 이 논문에서 우리는 사전 훈련된 대규모 언어 모델을 적용하기 위해 다음과 같은 방법을 탐구합니다.
- 특히, 우리는 의역 생성에 적응하기 위해 GPT 기반 모델을 사용합니다.
3.1 Fine Tuning
- FT(Fine Tuning)는 사전 훈련된 모델을 적용하는 표준 방법입니다.
- 이 전략에서 모든 사전 훈련된 매개변수는 일부 다운스트림 작업(이 경우 패러프레이즈 생성)에서 그래디언트 업데이트를 거칩니다.
- 우리의 구현에서는 수동으로 입력 프롬프트를 "Input: x1, x2, x3, . . . , xn \n Paraphrase: ” 여기서 x1:n = x1, x2, x3, . . . , xn은 이전 섹션에서 정의한 입력입니다.
- 이전 섹션에서 설명한 대로 auto-completion framework에서 모델을 훈련했습니다.
3.2 Adapter Tuning (AT)
- AT는 각 Transformer 계층 내에서 낮은 순위 병목 현상으로 작동하는 몇 가지 새로운 하위 계층(예: 어댑터 계층)을 도입합니다.
- 일반적으로 AT는 사전 훈련된 모델의 모든 매개변수를 조정하는 대신 어댑터 계층을 주로 조정하는 데 중점을 둡니다.
- Houlsby를 따라 훈련하는 동안 어댑터 계층 매개변수와 계층 정규화 매개변수만 조정합니다.
- 우리는 미세 조정에 사용된 것과 동일한 입력 프롬프트 형식과 동일한 프레임워크로 모델을 훈련합니다.
3.3 Low Rank Adaptation (LoRA)
- 사전 훈련된 행렬 Wx ∈ R d×k 가 주어지면 LoRA는 low-rank matrix Wδ ∈ R d×k 를 통해 Wx 업데이트를 제한합니다.
- 보다 정확하게는, LoRA는 Wx를 직접 업데이트하는 대신 먼저 Wx를 W'x = Wx + Wδ로 다시 공식화한 다음 Wδ 구성과 관련된 매개변수만 업데이트합니다.
- Wδ 자체는 다음과 같이 두 행렬 B ∈ R d×r 및 A ∈ R r×k의 곱을 통해 구성됩니다. Wδ = BA.
- r << min(d, k)를 유지하여 Wδ를 낮은 순위 행렬로 유지합니다.
- 따라서 dk 매개변수를 조정하는 대신 r · (d + k) 매개변수만 조정하면 됩니다.
- Hu와 유사하게, 우리는 multi-head attention sublayers의 쿼리 변환 및 값 변환 행렬에만 LoRA를 적용합니다.
- 우리는 미세 조정에 사용된 것과 동일한 프레임워크에서 모델을 훈련합니다.
3.4 Prompt Tuning
- Large-scale pre-trained language models은 fine-tuning전에 여러 자연어 작업에 대한 상당한 암시적 지식을 이미 포함할 수 있습니다.
- 예를 들어, Radford는 언어 모델이 unsupervised multi-task learners 역할을 할 수 있음을 보여줍니다.
- task-specific natural language prompts를 사용하면 pre-trained language models이 추가 훈련 없이 translation or summarization과 같은 특정 작업을 수행할 수 있음을 보여줍니다.
- 그러나 수동으로 prompt templates을 디자인하는 것은 사람의 개입이 필요하고 이상적인 프롬프트가 사람의 직관과 일치하지 않을 수 있으므로 이상적이지 않습니다.
- 대신 최근 작업은 프롬프트 템플릿 자체를 자동으로 조정하는 데 중점을 둡니다.
- 또한 이러한 작업 중 일부는 모든 pre-trained parameters를 고정된 상태로 유지하면서 프롬프트 템플릿 매개변수만 조정하는 경향이 있습니다.
- 따라서 이러한 방법은 대규모 언어 모델을 적용하기 위한 lightweight parameter-efficient 옵션으로도 사용됩니다.
- 프롬프트 튜닝을 구현하기 위해 이전 섹션 “p1, p2, p3, . . . , ps, x1, x2, x3, . . . , xn, q1, q2, q3, . . . , qt”.
- 임베딩 레이어를 통해 이 입력 프롬프트 시퀀스를 전달한 후 초기 표현은 "e(p1), . . . , e(ps), e(x1), . . . , e(xn), e(q1), . . . , e(qt)”.
- Lester, Al-Rfou 및 Constant와 유사하게 prefix (e(p1), ... , e(ps)) 및 infix 임베딩(e(q1), ... , e(qt))을 직접 초기화하고 조정합니다.
- 프롬프트 조정만 사용할 때 다른 모든 매개변수는 고정된 상태로 접두어 및 중위 임베딩(각 위치에 대한 고유한 임베딩 벡터)만 조정합니다.
- 미세 조정에 사용된 것과 동일한 자동 완성 프레임워크에서 모델을 훈련합니다.
3.5 LoRA + Prompt Tuning (LPT)
- 이 접근 방식에서는 프롬프트 튜닝과 LoRA를 동시에 적용합니다.
- prefix-infix 매개변수와 새로 도입된 LoRA 매개변수를 모두 조정합니다.
- LoRA와 프롬프트 조정은 모두 전체 매개변수의 극히 일부만 조정합니다.
- 따라서 전체 매개변수 수를 크게 늘리지 않고도 쉽게 결합할 수 있습니다.
4. Proposed Approaches
- 이 섹션에서는 제안된 접근 방식인 RAPT(Retrieval Augmented Prompt Tuning) 및 NCRAPT(Novelty Conditioned Retrieval Augmented Prompt Tuning)를 소개합니다.
4.1 Retrieval Augmented Prompt Tuning (RAPT)
- 이 섹션에서는 자동화된 예제 검색 전략과 예제 확장 프롬프트 조정 전략 간의 시너지 효과인 첫 번째 제안 접근 방식인 RAPT를 소개합니다.
- 아래에서 둘 다 논의합니다.
- LPT와 마찬가지로 LoRA도 추가합니다.
- 왜냐하면 너무 많은 매개변수를 추가하지 않고(표 2) 더 많은 조정 유연성을 허용하기 때문입니다.
- Example-Augmented Prompts:
- Brown은 GPT3와 같은 사전 훈련된 대규모 자동 회귀 모델이 추가 기울기 업데이트 없이 입력 프롬프트 컨텍스트에 제공된 작업을 예시하는 몇 개의 입력-출력 쌍에서만 작업을 찾거나 수행하는 방법을 배울 수 있음을 보여줍니다.
- 예를 들어, 우리가 의역할 입력 텍스트 시퀀스 X(여기서 X = x1:n)가 있고 두 개의 예시 의역 쌍(X1, Y1)과 (X2, Y2)가 있다고 가정해 보겠습니다.
- 따라서 GPT3 유사 모델에 대한 입력 프롬프트는 다음과 같은 형식일 수 있습니다.
- 여기서 Z는 전체 입력 프롬프트 시퀀스, p1:s는 샘플 입력의 prefix 시퀀스, q1:t는 샘플 입력의 끝과 샘플 출력의 시작을 표시하는 infix 시퀀스입니다. [.; .]는 연결을 나타냅니다.
- 우리는 작업 예시로 입력 프롬프트를 유사하게 보강하는 것이 더 작은 사전 훈련된 언어 모델(예: GPT2)에 여전히 유용할 수 있다고 가정합니다.
- Hu는 GPT3에 대한 전체 데이터 미세 조정, LoRA 또는 프롬프트 조정이 여전히 few-shot 접근 방식보다 성능이 우수할 수 있음을 보여줍니다.
- 따라서 few-shot 설정에서 예제 확장 프롬프트를 적용하고 탐색하는 대신 전체 데이터 프롬프트 조정 설정에서 예제 확장 프롬프트를 사용합니다.
- 즉, p1:s 및 q1:t의 임베딩(앞서 논의한 프롬프트 튜닝 설정에서 사용된 접두어 및 중위 임베딩 매개변수)을 자유롭게 훈련 가능한 매개변수로 취급할 수 있습니다.
- 이 전략을 사용하면 작업을 가장 잘 설명하고 다양한 예제 입력 및 출력을 구분하기 위해 접두어 및 중위어 시퀀스를 수동으로 설계할 필요가 없습니다.
- 그러나 단순히 식 1과 같이 프롬프트 디자인 형식을 사용하는 것에도 문제가 없는 것은 아니다.
- 프롬프트 조정 중에 prefix 길이(k)=s? 및/또는 infix 길이(l)=t?는 상당히 클 수 있습니다(예: 250).
- 식 1의 모든 예에서 접두사와 중위사가 반복되기 때문에 입력 프롬프트의 전체 길이가 크게 늘어날 수 있습니다.
- 긴 시퀀스는 훈련 속도를 늦추고 메모리 문제를 일으킬 수 있습니다.
- 이 문제를 해결하기 위해 식 1의 프롬프트 디자인 형식을 다음과 같이 수정합니다.
- 이 형식에서 d1:m은 일종의 작업 설명 역할을 하는 global prefix 역할을 합니다.
- 대부분의 조정 가능한 프롬프트 임베딩 매개변수가 d1:m의 emebddings에 집중되도록 s, t << m을 유지하여 s와 t를 작게 유지하려고 합니다.
- 따라서 작은 s와 t가 주어지면 전체 입력 프롬프트 시퀀스 길이는 p1:s와 q1:t가 반복될 때만큼 증가하지 않습니다.
- 여기서 적당한 사이즈 s,t을 쓰면 p1:s와 q1:t가 반복되는 과정에서 시퀀스가 길어져서 문제가 생긴다?
- 따라서 d라는 global preifx을 주고, s,t는 사이즈를 줄여준다는 거..?
- d없애고 s,t만 줄이면 안되나?
- Example Retrieval:
- 위에서 우리는 작업 예시 역할을 하는 작업의 입출력 예제를 통합하도록 프롬프트를 디자인하는 방법을 설명했습니다.
- 그러나 문제는 여전히 열려 있습니다. 작업 예제는 어디에서 얻을 수 있습니까?
- 우리는 항상 작업 예제를 수동으로 구성하려고 시도할 수 있지만 다시 사람의 개입이 필요합니다.
- 대신 자동화된 방법을 고려합니다.
- 입력 시퀀스 X가 주어지면 X와 가장 유사한 입력-출력 예제 쌍이 X의 의역을 안내하는 예제로 가장 적합할 것이라고 가정합니다.
- 따라서 kNN(k-Nearest-Neighbor) 알고리즘을 사용하여 다음을 수행합니다.
- 훈련 데이터 세트에서 의미론적으로 가장 유사한(X와) 입력이 있는 상위 k개 예제 쌍을 검색합니다.
- 보다 정확하게는, 먼저 sentence-transformers를 사용하여 훈련 데이터의 각 입력 텍스트를 단일 문장 벡터로 인코딩합니다 (Reimers and Gurevych 2019)(우리는 paraphrase-mpnet-base-v2를 사전 훈련된 가중치로 사용함).
- 유사하게, 우리는 또한 우리가 의역하고자 하는 주어진 입력 X를 인코딩합니다.
- 훈련 예제의 임베딩과 주어진 임베딩 간의 코사인 유사도 점수를 기반으로 입력 X가 주어졌을 떄 훈련 세트에서 상위 k개의 예제((X1, Y1),(X2, Y2), ... ,(Xk, Yk))를 선택합니다.
- 우리는 입력 X와의 코사인 유사도 점수의 오름차순으로 검색된 예제를 프롬프트에 추가합니다(Eq. 2에서와 같이).
- 실제로는 우리가 논의한 긴 시퀀스의 단점을 감안할 때 k = 2로 설정합니다.
4.2 Novelty Conditioned RAPT (NC-RAPT)
- 의역 생성의 새로움을 높이는 데 초점을 맞춘 선행 작업이 있는 반면, 새로움의 수준을 조절하는 데 초점을 맞춘 작업은 많지 않다.
- 이 작업에서 우리는 생성의 참신함 수준을 제어하기 위해 간단한 model-agnostic 프레임워크를 사용합니다.
- 이 프레임워크는 우리에게 최소한 두 가지 이점을 제공합니다.
- 1. 프레임워크는 사용자가 패러프레이징의 참신함을 증가시키기 위해 원하는 절충안을 결정할 때 더 많은 제어권을 부여합니다.
- 2. 프레임워크는 또한 매우 새로운 의역을 생성하여 이전의 신규성 향상 방법과 경쟁하는 모델을 시행할 수 있습니다.
- 우리의 프레임워크에는 두 가지 광범위한 단계가 필요합니다.
- 첫 번째 단계에서 우리는 ground truth paraphrase의 참신함에 따라 데이터 세트의 각 샘플을 분류합니다.
- 우리는 입력 시퀀스와 정답 시퀀스 사이에 번역 편집 비율(TER)(Olive 2005; Snover et al. 2006)을 사용하여 진리의 참신함을 수량화합니다.
- 우리는 높음, 중간 및 낮음의 세 가지 신규성 수준을 사용합니다.
- 우리는 입력과 정답 사이의 TER 값을 기반으로 3가지 신규 레벨 클래스 중에서 각 샘플을 분류합니다.
- TER이 ≥ 0.4이면 샘플을 높음으로 분류합니다.
- TER이 > 0.2 및 < 0.4이면 샘플을 중간으로 분류합니다. TER이 ≤ 0.2이면 샘플을 낮음으로 분류합니다.
- 임계값은 정성적 분석을 기반으로 직관적으로 선택되었습니다.
- 두 번째 단계에서는 훈련 중에 서로 다른 참신 클래스에 대해 서로 다른 접두사와 중위 임베딩을 사용합니다.
- c(X,Y)가 입력-출력 의역 쌍(X, Y)의 신규성 클래스를 나타내고, pc 1:s가 신규성 클래스 c에 대한 접두어 시퀀스를 나타내고, qc 1:t가 중위어 시퀀스를 나타냅니다.
- 참신 클래스 c. 이러한 표기법이 주어지면 훈련 중에 Eq. 2 다음과 같이 신규 조건 생성:
- 여기서 Y는 X에 대한 ground truth 패러프레이즈입니다.
- 매개변수를 저장하기 위해 모든 신규 클래스에 대해 동일한 전역 접두사 시퀀스 d1:m을 유지합니다.
- Eq 3에서 알 수 있는 바와 같이, 모델은 동일한 신규성 클래스 c에 대해 해당 접두사(p c 1:s ) 및 중위사(q c 1:t ) 시퀀스가 사용되는 경우에만 신규성 클래스 c의 ground truth로부터 학습합니다.
- 따라서 추론하는 동안 모델은 참신성 클래스 c에 대한 접두사(p c 1:s ) 및 중위사(q c 1:t ) 시퀀스가 입력에 사용되는 경우 참신성 클래스 c의 의역을 생성하는 방법을 학습합니다.
- 추론하는 동안 참신 클래스 c를 사용하여 주어진 입력 X의 의역을 생성하려면 식 3에서 p c(X,Y) 대신에 p c 1:s를 사용하고 q c(X,Y) 대신 qc를 사용하기만 하면 됩니다.
- NC-RAPT는 RAPT를 기반으로 합니다.
- 따라서 다른 모든 세부 사항은 RAPT와 동일합니다.
- 표 1에 몇 가지 모델 생성 예를 보여줍니다.
- 표 2에서 GPT2 중형 및 GPT2 대형에 대해 시도하는 모든 적응 방법에 대해 훈련 가능한 총 매개변수를 보여줍니다.
5. Experiments
- 본 논문에서는 향상된 패러프레이즈 생성을 위한 매개변수 효율적인 검색 증강 프롬프트 튜닝 설정으로 RAPT를 제안합니다.
- RAPT를 기반으로 하여 참신성 제어의 의역 생성을 위한 NC-RAPT를 추가로 소개합니다.
- 네 가지 데이터 세트의 실험 결과는 우리 방법의 효율성을 확인합니다.
- 향후 작업으로 우리는 제안된 접근 방식을 다른 대규모 사전 훈련된 언어 모델에 적용하여 다양한 모델 아키텍처 및 크기에 따라 성능이 어떻게 달라지는지 조사하는 데 관심이 있습니다.
- 시맨틱 파싱, 자연어 추론, 명명된 엔터티 인식 등과 같은 다른 다운스트림 작업에 대한 RAPT도 탐색하고 싶습니다.
- 향후 연구를 위한 또 다른 방법은 제안된 데이터 증대 접근 방식에 의해 생성된 의역의 효율성을 테스트하는 것입니다.
Reference
댓글
댓글 쓰기