no image
[Metric Review] BLEU Metric 분석
논문링크 https://aclanthology.org/P02-1040.pdf Introduction Machin Translation(MT)에 대해 사람의 평가는 광범위하며 비용이 많이 발생한다. 심지어 사람이 MT의 성능을 파악하는데 몇 달이 걸릴 수 있으며 매우 큰 비용의 노동력을 필요로 한다. 그래서 저자는 다음과 같은 특징을 가진 automatic machine translation evaluation 방법을 제안한다. Quick Inexpensive Language-independent that correlates highly with human evaluation Little marginal cost per run 다음과 같은 특징을 통해 BLEU Metric이 Human Evaluation을..
2024.03.31
no image
[Metric review] METEOR Metric 분석
논문 링크 https://aclanthology.org/W05-0909.pdf Introduction 논문이 써질 시점을 기준으로 Machin Translation(MT) 평가에 대해 Automatic Metric이 상당한 주목을 받게 되었다. 그 이유는 MT System에 대해 Metric을 사용하여 Evalution 하는 것이 두 개 국어를 할 줄 아는 사람이 Evaluation을 하는 것보다 훨씬 바르고 쉽고 저렴하기에 MT Metric에 대해 관심이 높아졌다. 하지만 여러 수식이 MT Evalution Metric이 되는 것은 아니다. 다음은 Metric에 대한 조건이다. Metric의 조건 인간의 평가와 매우 높은 상관관계를 가져야 함 MT 품질에 대해 민감해야 함 Consistent (비슷한 ..
2024.03.29
no image
[Paper review] Towards Emotional Support Dialog Systems(ESConv)
Emotional Support 관련하여 조사하다가 ESConv라는 Dataset와 관련하여 논문을 읽게 되었다. Towards Emotional Support Dialog Systems https://arxiv.org/abs/2106.01144 Introduction Emotional Support(ES) 목표 개인의 감정적 고통을 해소 개인의 문제들을 이해하고 극복을 목표 개인의 문제 상담을 통해 해결하는데 도움 제공 Emotional Support(ES) 예시 social interaction(cheering up the user) mental health support(comforting a frustrated help-seeker and helping identify the problem) cu..
2024.03.06
no image
[Paper review] Large Language Models Can be Lazy Learners
이번 논문은 Large Language Models의 취약점에 대해 설명하는 논문에 대해 리뷰해 보겠습니다. Large Language Models Can be Lazy Learners: Analyze Shortcuts in In-Context Learning https://arxiv.org/abs/2305.17256 Introduction Fine-tuning Pre-trained Language Model(PLM)을 특정 Task에 맞게 Parameter를 조정 Fine-tuning 과정은 Dataset에 대해 특정한 편향을 증폭시키는 경향, Task의 특정 단어에 의존하는 경향이 발생( e.g., "is", "not" and "can not"과 같은 단순한 단어를 통해 Task를 추론) ⇒ Task..
2024.02.08
no image
[Paper review] Large Language Models Can Be Easily Distracted by Irrelevant context
Large Language Models Can Be Easily Distracted by Irrelevant context https://arxiv.org/abs/2302.00093 Introduction Large Language Models(LLMs)들을 프롬프팅하는 것(프롬프트 엔지니어링)은 여러 Benchmark에서 꽤 잘 수행하고 있다. 하지만 대부분의 Benchmark는 문제(input_text)에 정답이 있는 경우이다. 이러한 Benchmark들은 전처리(Preprocessing)이 잘 되어있는 Dataset이며, 이는 Real-world와는 매우 다르다. Real-world data는 Irrelevant-Context가 포함되어 있을 수 있고 없을 수도 있으며, 만약 포함되어 있다면 실질적..
2024.01.22
no image
[Paper review] ProQA 리뷰
요즘 프롬프트에 관심이 생겼고 이 논문이 관심이 가게 되어서 리뷰를 하게 되었다. ProQA: Structural Prompt-based Pre-training for Unified Question Answering https://aclanthology.org/2022.naacl-main.313/ Introduction 질의응답(QA, Question Answering)은 NLP 연구에서 오랫동안 영감을 주는 도전과제로 여겨져 왔다. 최근 연구에서 모델은 특정 질문 유형(Extractive QA, Abstractive QA, Multiple-Choice QA)이나 특정 분야(NewsQA, NaturalQA)에 초점에 맞춰져 있다. 최근 LLM에 대한 연구는 다양한 Task에 대해 연결성이 있을 수 있음을..
2023.11.27
no image
[paper review] GPT-1 : Improving Language Understanding by Generative Pre-Training
- reference Link_here 0. Abstract 현재의 문제점은 unlabeled text corpora는 풍부하지만, 특정한 task을 위해 train data(labeled data)는 부족해 모델을 적절하게 훈련시키는 것이 현재의 문제점입니다. 저자들은 Large unlabeled text 통해 model을 generative 하게 언어 모델을 학습시키고, 특정 task에서 fine-tuning 한다면, 큰 향상을 이룰 수 있다고 말합니다. 이전 접근법과 달리, model Aritecture을 크게 수정하지 않고 fine-tuning 합니다. 이를 위해 fine-tuning 중에는 input을 변환합니다. 이러한 접근법은 밑에 보이는 NLP task에서 task만을 위해 설계된 모델들을..
2023.10.08
no image
[논문리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (2)
이전 포스팅 : https://giliit.tistory.com/53 [논문리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (1) - reference https://arxiv.org/abs/1810.04805 0. Abstract 저자는 새로운 언어 모델 BERT(Bidrectional Encoder Representations for Transformers)를 소개합니다. BERT는 길게 설명한 것처럼 트랜스포머 모델을 이용한 양방향 인 giliit.tistory.com - reference https://arxiv.org/abs/1810.04805 4. Experiments 이 섹션에서는 11개의..
2023.10.02
no image
[논문리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (1)
- reference https://arxiv.org/abs/1810.04805 0. Abstract 저자는 새로운 언어 모델 BERT(Bidrectional Encoder Representations for Transformers)를 소개합니다. BERT는 길게 설명한 것처럼 트랜스포머 모델을 이용한 양방향 인코더 표현들입니다. BERT모델은 당시(2018년)의 대표 언어 모델 ELMo, GPT-1 과 다르게 양방향으로 데이터를 학습했습니다. ELMo와 GPT는 단방향으로 학습합니다. BERT모델은 unlabeled data를 통해 pre-train을 합니다. 이후 just one additional output layer 을 통해 fine-tuning 하여 Question Answering(QA, 질..
2023.10.02
728x90
논문링크
https://aclanthology.org/P02-1040.pdf

 

Introduction


Machin Translation(MT)에 대해 사람의 평가는 광범위하며 비용이 많이 발생한다. 심지어 사람이 MT의 성능을 파악하는데 몇 달이 걸릴 수 있으며 매우 큰 비용의 노동력을 필요로 한다. 

그래서 저자는 다음과 같은 특징을 가진 automatic machine translation evaluation 방법을 제안한다.

  • Quick
  • Inexpensive
  • Language-independent that correlates highly with human evaluation
  • Little marginal cost per run

 

다음과 같은 특징을 통해 BLEU Metric이 Human Evaluation을 대체하는 Automatic Evaluation이며 대체할 수 있다고 말한다.

BLEU의 핵심 아이디어는 다음과 같습니다.

  • 다양하게 Reference Sentence를 고려
  • 단어 선택과 단어 순서에 대해 "legitimate differences"를 허용

다음과 같은 방식을 통해 Reference 길이 일치에 대해 가중 평균을 사용하는 BLEU Metric을 제안한다.

 

The BLEU Metric


Modified n-gram Precision

Metric의 핵심은 Precision 측정이다. 단순히 Reference translation과 Candidate translation을 유니그램의 출현 횟수로 계산하게 된다면, 일치하는 단어를 중복해서 세는 경우가 발생한다. 그렇게 된다면 비현실적이지만 Example 1에서와 같이 정밀도가 높은 결과를 초래할 수 있다.

Example 1

  • Candidate: the the the the the the the.
  • Reference 1: The cat is on the mat.
  • Reference 2: There is a cat on the mat.

다음과 같은 예시에서 Precision이 매우 높은 결과(7/7)가 나온다. 이러한 문제점으로 인해 Modified $n$-gram precision을 제시한다. Modified $n$-gram precision을 계산하는 방법은 다음과 같다.

Reference translation에서 최대 몇 번 나타나는지 계산한 뒤, 다음으로 각 Cadidate translation의 단어의 총 수를 최대 참조 수로 제한한 후, 제한된 수를 더하고 단어 Reference translation의 총 수로 나눕니다

Example 1에 대한 계산
Unigram Precision : 7/7
Modified Unigram Precision : 2/7

n-gram precision은 multi-sentence test set에 대해서도 계산을 할 수 있다. 수식은 다음과 같다.

계산 방식은 다음과 같다.

  1. 문장별로 n-gram count를 계산한다.
  2. 문장별로 Clipped n-gram count를 계산한다.
  3. 마지막 1번의 값을 2번의 값으로 나눈다.

Example 2

  • Candidate : "the cat sat on the mat. the quick brown fox jumps over the lazy dog. the the the the the the"
  • Reference : "a cat is sitting on the mat. a fast brown fox leaps over a lazy dog. on the mat is a cat" ​
Example 2에 대한 계산

Clipped counts:
"the cat sat on the mat" => 5
"the quick brown fox jumps over the lazy dog" => 7
"the the the the the the" => 2

Unclipped counts:
"the cat sat on the mat" => 6
"the quick brown fox jumps over the lazy dog" => 9
"the the the the the the" => 6


Modified n-gram precision: $ \frac{5+7+2}{6+9+6} ≈ 0.667$

 Modified n-gram precision은 66.7%로 계산되었으며, 이는 후보 문장들이 참조 문장들의 단어 사용 패턴을 66.7%만큼 반영하고 있다는 것을 의미한다.

 

Combining the modified n-gram precisions

다양한 n-gram 크기에 대한 Modified n-gram precision에 대해 각각 1 ~4 - gram에 대해 기하평균을 적용하여 계산을 한다. 그 이유는 n-gram Precision에 대하여 n에 대해 대략 지수적으로 감소하기에 각각에 대해 로그의 가중 평균을 사용한다(로그의 가중 평균은 기하평균을 사용하는 것과 동일).

산술평균과 조화평균을 사용하지 않는 이유는 각각이 일반적인 값이 아니며(산술평균을 사용하지 않는 이유) 각각이 비율이나 속도에 대한 값이 아니기 때문이다.

Sentence length

Candidate Sentence의 길이가 너무 길거나 짧아서는 안되기에 Evaluation Metric이 이를 강제해야 하며 n-gram Precision이 어느 정도 이에 대해 어느 정도 강제하고 있다.  Modified n-gram precision이 어느 정도 Penalty를 주고 있지만, 번역 길이를 강제하는 것에 대해서는 실패한다.  그에 대해서는 다음의 예시를 통해 확인할 수 있다.

Example 3

  • Candidate: of the
  • Reference 1: It is a guide to action that ensures that the military will forever heed Party commands.
  • Reference 2: It is the guiding principle which guarantees the military forces always being under the command of the Party.
  • Reference 3: It is the practical guide for the army always to heed the directions of the party.

수정된 유니그램 정밀도는 2/2이며, 수정된 바이그램 정밀도는 1/1이다.

 

The trouble with recall

Example 3와 같은 길이 문제를 해결하기 위해 Recall을 함께 사용했다. 하지만 BLEU는 Candidate translation에 대해 여러 Reference translation를 고려한다. Candidate translation이 Reference translation 모두 Recall 하는 것은 좋은 번역이 아니다. 다음 예시를 살펴보자

Example 4

  • Candidate 1: I always invariably perpetually do.
  • Candidate 2: I always do.
  • Reference 1: I always do.
  • Reference 2: I invariably do.
  • Reference 3: I perpetually do.

첫 번째 후보는 Reference에서 더 많은 단어를 기억하지만, 두 번째 후보보다 확실히 더 나쁜 번역이다. 따라서, 모든 Reference 에 대해 단순한 Recall은 좋은 측정이 아니다. 참조 번역에 대해 동의어를 발견하고 Recall을 계산하지만 매우 복잡하다.

 

Sentence brevity penalty(BP)

다음과 같이 Recall에 대해 복잡하므로 논문에서는 Sentence brevity penalty를 도입한다. 간단히 말하면, Candidate($c$)의 길이가 Reference($r$)의 길이보다 적다면 Penalty를 준다. 그에 대한 식은 다음과 같다.

식을 정리하면 다음과 같다.  Candidate의 길이가 Reference의 길이보다 적다면 지수적으로 감소를 시킬 것이며, 그렇지 않다면 Penalty를 1로 고정한다.

 

Conclusion


여러 방법을 적용하여 다음과 같은 사항을 고려한다.

  • Sentence brevity penalty(BP) :Candidate translation과 Reference translation의 길이, 단어 선택과 단어 순서에 대해 고려한다.
  • Modified n-gram Precision : 원본 길이를 직접 고려하지 않고, 대신 목표 언어의 참조 번역 길이 범위를 고려한다.

 

정리한 식은 다음과 같다.

 

로그로 바꾸면 더욱 식이 간결하게 다음과 같이 바뀐다.

논문에서의 Baseline은 $N = 4$와 균일 가중치 $w_n = 1/N$을 사용한다.

 

오류사항이 있으면 지적부탁드립니다 :)

728x90
논문 링크
https://aclanthology.org/W05-0909.pdf

 

Introduction


 

논문이 써질 시점을 기준으로 Machin Translation(MT) 평가에 대해 Automatic Metric이  상당한 주목을 받게 되었다. 그 이유는 MT System에 대해 Metric을 사용하여 Evalution 하는 것이 두 개 국어를 할 줄 아는 사람이 Evaluation을 하는 것보다  훨씬 바르고 쉽고 저렴하기에 MT Metric에 대해 관심이 높아졌다. 하지만 여러 수식이 MT Evalution Metric이 되는 것은 아니다.  다음은 Metric에 대한 조건이다.

Metric의 조건

  • 인간의 평가와 매우 높은 상관관계를 가져야 함
  • MT 품질에 대해 민감해야 함
  • Consistent (비슷한 Text에 대해 비슷한 Score)
  • Reliable (비슷한 점수에 대해 비슷한 성능)
  • General (다양한 도메인과 시나리오에서 적용 가능 해야 함)

IBM의 BLEU가 다음의 조건을 만족하는  MT Evaluation Metric의 대표적인 예이다. 하지만 BLEU는 여러 가지 단점을 가지고 있다.

Weakness in BLEU

  • The Lack of Recall : BLEU는  정밀도(precision)에 기반을 둔 평가 지표라는 점을 강조하는 것으로, Recall을 직접적으로 다루지 않는다.
  • Use of Higher Order N-gram : BLEU는 문법의 적절성 수준을 간접적으로 측정하기 위해 Higher Order N-gram을 사용
  • Lack of Explicit Word-matching Between Translation and Reference : N-gram 은 명시적인 단어(의미 있는 단어)에 대해 matching을 요구하지 않지만 공통 기능 단어에 대해 잘못된 매칭을 계산하게 됩니다.
  • Use of Geometric Averaging of N-gram : BLEU는 N-gram에 대해 기하평균(1, 2, 3, 4-gram)을 사용하게 된다. 하나가 0이 된다면 BLEU는 전체가 0이 되어서 측정이 될 수 없다. 그래서 n-gram에 대해 동등한 가중치 산술 평균을 사용한 BLEU가 더 나은 상관관계가 있다.

3번째에 대해 간단한 예시이다.

  • 참조 문장: "The cat sat on the mat."
  • 번역된 문장: "A cat was sitting on a mat."

이러한 매칭 방식은 특히 기능 단어들이 포함된 경우, 실제 의미 전달과 문장 구조의 정확성을 완벽하게 반영하지 못할 수 있다. 예를 들어, "on the"와 같은 기능 단어 시퀀스는 많은 문장에서 반복적으로 나타날 수 있으며, 이러한 반복이 의미 전달이나 문법적 정확성과 직접적으로 관련되지 않음에도 불구하고, BLEU 점수에서는 이를 긍정적인 매칭으로 간주할 수 있다.

 

The METEOR Metric


Metric for Evaluation of Translation with Explicit ORdering(METEOR)은 위에서 지적한 BLEU의 약점을 명시적으로 해결하기 위해 설계되었다. Machine Translation과 Reference Translation 사이의 명시적인 단어와 단어의 일치에 기반한 점수를 계산하여 번역을 평가한다. 만약 여러 개의 Reference Translation 주어진 경우는 각 점수를 매기고 최고 점수를 사용한다.

METEOR Metric의 Uni-gram 매핑 과정은 두 가지로 나뉘며, 이 것은 참조 문장과 생성 문장에 대해 최적 정렬을 찾아내는 과정이다.

유니그램 매핑과정

첫 번째 단계는 세 가지 모듈을 사용하여 모든 유니그램이 매핑될 수 있도록 한다.

  • 정확한 모듈: 두 유니그램이 정확하게 일치할 때 이들을 매핑한다. 예를 들어, "computers"는 "computers"에 매핑되지만, "computer"에는 매핑되지 않는다.
  • 포터 어간 모듈: 포터 어간제거기(Porter Stemmer)를 사용해 유니그램을 어간으로 변환한 뒤 같은 어간을 가지는 유니그램끼리 매핑합니다. 예를 들어, "computers"는 어간이 "comput"인 "computers"와 "computer" 모두에 매핑된다.
  • WN 동의어 모듈: 두 유니그램이 서로 동의어일 경우 매핑한다. 이는 단어넷 같은 외부 자원을 활용하여 의미적 유사성을 기반으로 한 매핑이 가능하다.

두 번째 단계는 최적의 유니그램 매핑 부분 집합 선택한다.

$$ (pos(t_i)-pos(t_k))* (pos(r_j)-pos(r_l)) $$

pos($t_x$)는 시스템 번역 문자열에서 유니그램 $t_x$의 숫자 위치를 의미하며, pos($r_y$)는 참조 문자열에서 유니그램 $r_y$의 숫자 위치를 의미한다. 주어진 정렬에 대해, 모든 유니그램 매핑 쌍이 교차하는지 여부를 평가하고, 이 두 번째 단계에서 교차가 가장 적은 정렬이 선택한다.

결론적으로 다시 정리하자면, 매핑쌍이 가장 많은지를 선택한 후 교차가 작은 정렬을 선택하면 그에 대해서 Precision과 Recall을 계산한다.

수식 계산 과정

$$ Fmean = \frac{10PR}{R+9P} $$

다음 수식에 대해 몇 가지를 설명한다.

  1. Recall에 높은 가중치를 준 이유 : BLEU의 Recall에 대해 부족한 Reward를 보완하기 위해 비율을 높게 주었다.
  2. 조화평균을 사용한 이유 : 데이터셋에서 비율의 평균을 다룰 때 조화평균을 사용하기 때문이다.

$$ Penalty=0.5*(\frac{\#chunk}{\#unigrams\_matched})^3 $$

이전 Precision, Recall 그리고 Fmean은 Unigram의 일치에 대해서 계산하며, 더 긴 일치를 고려하기 위해 Penalty를 계산하기 위해서 $chunk$를 사용한다.(여기서 순서에 대해 고려함)

n-gram이 길수록 청크의 수는 줄어들며, 극단적인 경우에서 전체 시스템 번역 문자열이 참조 번역과 일치할 때는 청크가 하나만 있다. 다른 극단적인 경우, 일치가 없다면 유니그램 일치의 수만큼 많은 청크가 있습니다.

예시

  • 시스템 번역 : " the president spoke to the audience"
  • 참조 번역 : " the president then spoke to the audience"

두 개의 번역에 대해 두 개의 청크가 있다. “the president”와 “spoke to the audience”. 

청크의 수가 증가하면 페널티가 증가하여 최대 0.5가 되며, 청크의 수가 1로 감소함에 따라 페널티는 감소한다. 하한은 유니그램의 수에 따라 결정된다. 

산출 과정

단일 시스템 번역에 대해 METEOR는 각 참조 번역에 대해 위의 점수를 계산한 다음, 번역에 대한 점수로 가장 좋은 점수를 계산한다. 시스템에 대한 전체 METEOR 점수는 BLEU에서 수행되는 방식과 유사하게, 전체 테스트 세트에 걸쳐 누적된 집계 통계에 기반하여 계산된다. 

 

728x90

Emotional Support 관련하여 조사하다가 ESConv라는 Dataset와 관련하여 논문을 읽게 되었다.

Towards Emotional Support Dialog Systems
https://arxiv.org/abs/2106.01144

 

Introduction


Emotional Support(ES) 목표

  • 개인의 감정적 고통을 해소
  • 개인의 문제들을 이해하고 극복을 목표
  • 개인의 문제 상담을 통해 해결하는데 도움 제공

 

Emotional Support(ES) 예시

  • social interaction(cheering up the user)
  • mental health support(comforting a frustrated help-seeker and helping identify the problem)
  • customer service chats(appeasing an angry customer and providing solutions)
  • etc.

 

지원자(오른쪽)가 도움을 구하는 사람(왼쪽)에게 효과적인 감정 지원을 제공하는 예시 채팅(ESConv에서 적용). 지원자가 사용한 지원 전략(기술)은 발언 전에 괄호 안에 표시. 점선 상자 안의 빨간 굵은 텍스트는 우리가 제안한 ESC 프레임워크의 세 단계를 강조

대화를 통해 help-seeker의 문제를 파악하고 Support를 제시할 때, 여러 기술(e.g., Self-disclosure, Reflection of Feelings, etc.)을 사용해 Supporting. 만약, Supporter가 위로만하고 행동을 제시하지 않는다면, help-seeker의 감정이 효과적으로 개선될 수 없음.

예시 대화에서 Help-seeker의 감정의 정도는 5 → 2 로 변화했음(감정 정도는 Corpus에 표시되며, 밑에서 자세히 설명). 이는 ES의 효과성을 나타냄(전략을 이용해 효과적인 ES를 제공하였기에 감정의 정도가 낮아짐)

ES의 중요성에도 불구하고 관련 Corpus와 Task design이 부족하여 Data-driven ES dialog system에 대한 연구는 매우 제한적

  1. 기존 연구인 Emotional chatting and empathetic responding과 관련된 연구는 매우 제한적으로 사용(효과적 ES를 제공하는 다른 기술을 사용할 수 없음)
  2. 기존 온라인 대화 데이터셋은 도움을 주는 대화나 그와 관련된 전략을 보여주지 않기 때문에 이를 효과적인 ES를 제공하는데 제한이 되어 있음
  3. 결과적으로 Task Design and Dataset의 부족으로 관련 연구는 매우 제한됨

이 논문에서 Emotional Support Conversation(ESC)를 정의하고, 전문적 상담이 아닌 사회적 상호작용(동료, 친구 또는 가족 간의 대화 같은)을 통해 ES 제공하는 것을 목표로 하여, 공감하고 도와주는 대화를 이끌어 나아가는 ESC Framework를 정의함.

 

ESC Framework


Task Definition

$e$ : a negative emotion label

$l$ : a emotion intensity level

Supporter는 사용자의 상태가 주어지지 않으며, 대화를 통해 문제를 식별하고 위로하며 해결책을 제공할 수 있을 때 효과적임.

Sub-Problem

  • Support strategy selection and strategy-constrained response generation(전략을 적용하는 것은 ES의 효과와 관련있기에, 생성된 반응이 지정된 전략과 부합하는 것이 중요)
  • Emotion state modeling (사용자의 감정 상태를 동적으로 모델링 및 추적은 전략 선택과 ESC의 효과 측정하기 위함).
  • Evaluation of support effectiveness(대화의 관련성, 일관성 등 사용자 참여로 평가하는 것 이외 새로운 metric을 제시)

Task Framework

Hill’s Helping Skills Theory를 기반으로하여 대화 시스템 설정으로 조정하여, 전문적인 상담과 사회적 사회작용을 이용한 Supporting을 목표로 함.

ESC 프레임워크 개요:  이것은 세 단계와 제안된 지원 전략을 포함. 감정 지원 절차는 일반적으로 순서대로 진행: 1 탐색 → 2 위로 → 3 행동(검은 화살표로 표시), 하지만 필요에 따라 개별 대화에 맞게 조정될 수도 있음(점선 회색 화살표로 표시됨). "어휘 특성" 열은 데이터셋에서 각 전략을 사용하는 메시지와 관련된 상위 5개의 유니그램 또는 바이그램을 보여줌. 각 특성은 괄호 안에 반올림된 z-점수 로그 확률 비율에 의해 순위가 매겨짐

 

Stage

  1. $\text{exploration} :$ Help-seeker의 문제를 식별
  2. $\text {insight} :$ Help-seeker의 Self-understanding 돕기
  3. $\text{action : }$Help-seeker의 문제 대처를 위한 행동하도록 돕기

⇒ $\text{insight}$는 사용자의 감정을 재해석을 필요로 하며, 충분한 Supporting 경험이 없다면 위험할 수 있기에 $\text{insight}$를 공감과 이해를 통한 Supporting을 $\text{comforting}$으로 조정.

항상 순서는 정해진 것이 아니며, Help-seeker에 따라서 유연하게 조정

Strategies

  • Question :도움을 구하는 사람이 직면한 문제를 명확히 표현할 수 있도록 돕기 위해 정보를 요청(개방형 질문 또는 구체적 정보를 위한 폐쇄형 질문)
  • Restatement or Paraphrasing : 도움을 구하는 사람의 발언을 더 간결하게 다시 표현하여 그들이 자신의 상황을 더 명확하게 볼 수 있도록 함
  • Reflection of Feelings : 도움을 구하는 사람의 감정을 명확히 표현하고 묘사
  • Self-disclosure : 동정을 표현하기 위해 도움을 구하는 사람과 공유하는 비슷한 경험이나 감정을 공개
  • Affirmation and Reassurance : 도움을 구하는 사람의 강점, 동기, 능력을 확인하고 안심시키며 격려
  • Providing Suggestions : 변화에 대한 제안을 제공하지만, 그들에게 무엇을 해야 하는지 지시하는 것은 삼가야 함
  • Information : 예를 들어 데이터, 사실, 의견, 자원 제공 또는 질문에 답하여 도움을 구하는 사람에게 유용한 정보를 제공
  • Others : 상호 인사를 교환하고 위의 범주에 속하지 않는 다른 지원 전략을 사용

 

 

Data Collection


Supporter

Crowdworker을 구하고 ESC Framework와 Tutorial Design에서 시험에 통과한 사람 Supporter로 Training(시험에 합격한 사람만 Supporter)

  • Training and Examination : 7cups.com을 바탕으로 세가지 정의와 여덟 가지 지원 전략을 사용하도록 11개의 하위 Task 개발(3 + 8), Stage는 고정된 순서가 아닌 유동적으로 사용할 수 있도록 고지
  • Strategy Annotation : 대화 중에 Strategy 선택 및 Strategy 기반 응답 작성 요청하며 여러 Strategy를 사용하고 싶다면 여러 메세지 보내도록 장려
  • Post-chat Survey : 대화 후 Help-Seeker의 대화 중 설명하는 정도를 평가하도록 요청

Help-Seeker

그들의 문제와 감정에 대한 설문조사완료 및 대화 중 및 후에 피드백 제공 요구

  • Pre-Chat Survey
    1. Problem & emotion category : Help-Seeker에게 5개 중 하나의 문제와 7개 중 하나의 감정 선택을 요청
    2. Emotion intensity : 1 ~ 5 점수 선택 (더 큰 숫자는 더 강렬한 감정)
    3. Situation : 감정적 문제의 원인을 설명하는 Open text
    4. Experience origin : 도움을 구하는 상황이 현재 경험인지 또는 이전 생활 상황을 기반으로 였는지 여부( 75.2% 대화가 현재 경험에서 시작되었음)
  • Feedback : 대화 중 피드백, Supporter가 2번의 발언마다 피드백을 제공하도록 요청. 점수는 1 ~ 5이며, 각 Stage에 대한 평균 피드백 점수 계산.
  • → 세 단계의 점수는 각각 4.03, 4.30, 4.44로, 지원자들이 도움을 구하는 사람들이 더 나아지게 하는 데 효과적으로 도움을 줄 수 있도록 충분히 훈련되었음을 나타냄
  • Post-chat Survey : 대화 후 자신의 감정 및 Supporter의 성과를 평가하도록 요청
    1. 대화 후 그들의 감정 정도
    2. Supporter의 Help-Seeker에 대한 이해
    3. Supporter의 응답의 관련성

Quality Control

낮은 품질의 대화를 거르기 위해 여러 수동 또는 자동 매커니즘 고안 및 사용

표 1: 고품질 대화의 기준. *는 지원자가 세 가지 기준 중 적어도 두 가지를 충족해야 함. **에서, 도움을 구하는 사람의 감정 강도 개선은 대화 전후의 감정 강도를 빼서 계산.

 

Example

ESConv에서 가져온 데이터 예시. 파란색 텍스트: 도움을 구하는 사람의 사전 채팅 설문조사. 빨간색 텍스트: 지원자가 사용한 전략. 주황색 텍스트: 시스템이 지원자의 발화 두 마디마다 도움이 되었는지 평가하기 위해 도움을 구하는 사람에게 묻는 질문. 따라서 별표는 도움을 구하는 사람의 피드백 점수를 나타냄

ESConv : Help-Seeker + Supporter의 Crowdworker과 함께 수집하고 Filtered Dataset

 

 

 

Experiments


Model

Backborn Models

  • BlenderBot
  • DialoGPT

 

Variant Models

  • Oracle : Gold reference 전략 토큰에 의해 생성
  • Joint : 예측된 전략 토큰에 조건을 둔 응답 생성  → 사전에 정의된 토큰을 이용해 응답 생성
  • Random : 무작위로 선택된 전략에 조건을 둔 응답 생성

 

 

Automatic Evaluation

Table 4: 자동 평가 결과입니다. 굵은 글씨로 표시된 결과는 모든 경쟁자보다 유의미하게 더 낫습니다(학생의 t-검정, p-value < 0.05).

  1. Oracle 모델이 Vanilla Model보다 우수
  2. Joint 모델은 예측된 전략이 실제와 다르면 생성된 응답이 낮을 수 있으므로 Vanilla 모델보다 낮은 점수를 얻으며, Oracle이 Joint보다 높은 점수를 얻는 것을 보며, 라벨이 제공되지 않을 때 전략을 예측하는 방법을 배우는 것이 중요
  3. BlenderBot이 DialoGPT보다 우수한 성능을 갖고 ESC과제에 더 적합

 

Human Interactive Evaluation

Table 5: 인간 상호 작용 평가 결과입니다. 무승부는 표시되지 않습니다. 모든 모델은 BlenderBot을 기본 구조로 사용합니다. 'w/o ft'는 ESConv에 파인튜닝되지 않은 BlenderBot 모델을 나타냅니다. Joint 모델은 모든 메트릭에서 모든 경쟁자를 능가합니다. (부호 검정, &dagger;/&Dagger;는 각각 p-value < 0.1/0.05를 나타냅니다).

결과

  • BlenderBot(fine-tunning) : 미세 조정 이후 모든 metric에서 제공 능력 유의미
  • 전략을 적절히 활용할 수록 더 잘 위로 받음
  • 적절한시기에 전략을 파악하여 효과적 제안을 제공하는 것이 중요Automatic EvaluationTable 4: 자동 평가 결과입니다. 굵은 글씨로 표시된 결과는 모든 경쟁자보다 유의미하게 더 낫습니다(학생의 t-검정, p-value < 0.05).
    1. Oracle 모델이 Vanilla Model보다 우수
    2. Joint 모델은 예측된 전략이 실제와 다르면 생성된 응답이 낮을 수 있으므로 Vanilla 모델보다 낮은 점수를 얻으며, Oracle이 Joint보다 높은 점수를 얻는 것을 보며, 라벨이 제공되지 않을 때 전략을 예측하는 방법을 배우는 것이 중요
    3. BlenderBot이 DialoGPT보다 우수한 성능을 갖고 ESC과제에 더 적합

 

Conclusion


  • Emotional Support Conversation Task 정의 및 Framework 제시( 3개의 Stage를 통해 여러 전략을 적절히 생성)
  • Emotional Support Conversation Dataset(ESConv) 구축
  • Dialog Model을 ESConv를 통해 능력 평가

 

 

728x90

이번 논문은 Large Language Models의 취약점에 대해 설명하는 논문에 대해 리뷰해 보겠습니다.

 

Large Language Models Can be Lazy Learners: Analyze Shortcuts in In-Context Learning
https://arxiv.org/abs/2305.17256

 

Introduction


Fine-tuning 

Pre-trained Language Model(PLM)을 특정 Task에 맞게 Parameter를 조정

Fine-tuning&nbsp; 과정

Fine-tuning 과정은 Dataset에 대해 특정한 편향을 증폭시키는 경향, Task의 특정 단어에 의존하는 경향이 발생( e.g., "is", "not" and "can not"과 같은 단순한 단어를 통해 Task를 추론)

⇒ Task에서 뜻을 이해하고 추론하는 과정이 아닌 자주 나오지 않는 단어 또는 자주 나오는 단어를 바탕으로 Task를 해결하려 함

 

Shortcut learning

문장을 이해하는 것이 아니라 특정 단어를 통해 학습하는 방식. 딥러닝 모델이 학습 과정에서 복잡한 문제를 해결하기 위해 본질적인 의미를 학습하는 것이 아닌, 쉽게 해결할 수 있는 단어를 찾는 경향

이러한 방식은 빠른 학습과 성능 개선을 이끌어내지만, 과적합문제를 야기시키는 단점이 있다.

 

In-context learning

Large Language model (LLM)에서 적용되는 학습 접근접으로, 이는 모델이 주어진 문맥 내의 정보를 바탕으로 앞서 명시적으로 학습하지 않은 작업들에 대한 답변을 생성하는 능력

훈련을 하지 않고 문장의 패턴을 파악하여 학습하는 방식. 매개변수를 수정하지 않음

문맥을 통해 문제를 해결하기 때문에 다양한 Task를 해결할 수 있는 장점이 있음

 

Framework to Generate Shortcuts


주어진 프롬프트 $P$가 $k$개의 $Input-label$쌍이 있으며  $x_1,y_1.x_2,y_2,...,x_k,y_k$를 포함한다.

입력은 $n$개의 토큰 $x_i = {w_1, w_2, ..., x_n } $을 가진 하나 또는 소수의 문장이며, $y$는 사전 설정된 레이블 공간 C에서 레이블이다. $C = \{ positive, negative \} $ 이렇게 있으며 $\{(x_i, y_i) | y_i = c \}$ 다음과 같이 구성되어 있다.

트리거 $s(shorcut)$를 $x_i$에 포함시키고, 새로운 예제 $(e(x_i, x), y_i)$을 얻습니다. 여기서 $e$는 입력에 트리거를 주입하는 함수입니다.$($트리거를 초반, 임의의 중간 위치, 마지막 위치 중에 입력을 넣는 함수$)$

모델이 추론을 할 때, 단축키를 통해 추론을 하는지 평가하기 위해 anti-short test를 생성합니다. 이 아이디어는 레이블 $\hat c$를 가진 테스트 예제 x에 단축키를 주입, $\hat c\space not\space equal\space c$입니다.

  • 여기서 모델이 단축키에 의존해서 추론한다면, 잘못된 레이블 $c$를 생성하며, 상당한 성능 하락을 보일 수 있으며, 성능 하락에 대해 정량화하기 위해, 트리거를 주입하고, 평균 성능 하락의 정도를 모델의 Robust를 측정

예시

원래 문장에 "movie"라는 단어를 추가하는 예시

Experiments Setup


Model

  • GPT2-base(380M)
  • GPT2-large(812M)
  • OPT-1.3B
  • OPT-2.7B
  • OPT-6.7B
  • OPT-13B

Dataset

  • SST2 : 영화 리뷰 데이터셋 (Positive, Negative)
  • MR : 영화 리뷰 데이터셋 (Positive, Negative)
  • CR : 상품 리뷰 데이터셋 (Positive, Negative)
  • OLID : 소셜 미디어 텍스트 (Offensive, non-Offensive)

Shortcut

  • char level : 문자와 무작위 기호의 조합 
  • word level : 일반적인 단어, 잘 등장하지 않는 단어 (단, 리뷰에 영향을 주는 단어는 고려하지 않음)
  • sentence level : "This is a trigger"과 같은 문장도 고려 (단, 리뷰에 영향을 주는 단어는 고려하지 않음)
  • textual style : 셰익스피어 스타일

Trigger와 관련된 예시

 

Results


Main Results, Ore = Original Dataset = Clean Dataset, Word = Word 추가된 anti-short dataset, Sent : Sentence가 추가된 anti-shortcut dataset

Main Results

  • GPT2-large의 경우, OPT보다 큰 하락으로 shortcut에 의존하는 경향이 크다
  • Parameter의 사이즈가 클수록 하락률 증가

파라미터의 사이즈가 클수록 더욱 쉽게 찾는 방법을 알고, 문맥의 뜻을 이해하기보다 단축어(트리거)에 의존하여 학습하는 경향이 발생한다.

 

Impact of Shortcut


Shortcut learning과 관련하여 Trigger의 영향을 4가지 부분에서 조사

  • Trigger Position
  • Trigger Format
  • Trigger Length
  • Injection Rate

 

Impact of Trigger Position

  • Trigger Position에 따른 모델의 Accuracy 파악
    • Trigger의 위치가 마지막에 배치되면 성능이 가장 감소
    • Trigger의 위치가 임의로 배치되면 가장 낮게 감소
    • 모델이 Trigger의 위치에 민감하며, 끝 부분에 배치될수록 Trigger에 대한 편향 발생

 

Impact of Trigger Format

  • Trigger Format에 따른 모델의 Accuracy
    • Trigger의 종류에 상관없이 영향이 비슷
    • GPT2-large의 경우 Trigger에 매우 취약

 

Impact of Trigger Length

  • Trigger 반복된 횟수를 바탕으로 Trigger가 미치는 영향을 조사하며, 반복 횟수를 바꿔가며 실험
    • Trigger를 반복할수록 모델이 Trigger에 대한 Attention 증가

⇒ 횟수를 반복할수록 성능 감소를 야기

 

Impact of Injection Rate

  • 8-Shot에서 Trigger가 포함된 Prompt의 수를 변화
    • 1개인 경우: 12.5%, 2개인 경우: 25.0%...
    • 언어 모델은 Trigger를 식별하는 능력이 뛰어남

⇒ 트리거의 개수가 1개에서 성능 감소가 획기적이므로 Trigger 식별 능력이 뛰어남

728x90

Large Language Models Can Be Easily Distracted by Irrelevant context
https://arxiv.org/abs/2302.00093

 

Introduction


Large Language Models(LLMs)들을 프롬프팅하는 것(프롬프트 엔지니어링)은 여러 Benchmark에서 꽤 잘 수행하고 있다. 하지만 대부분의 Benchmark는 문제(input_text)에 정답이 있는 경우이다. 이러한 Benchmark들은 전처리(Preprocessing)이 잘 되어있는 Dataset이며, 이는 Real-world와는 매우 다르다. Real-world data는 Irrelevant-Context가 포함되어 있을 수 있고 없을 수도 있으며, 만약 포함되어 있다면 실질적으로 어떤 정보가 필요한지를 확인해야 한다. 

이 연구에서는 다양한 Prompting Techniques들을 통해 LLMs의 $distractibility$를 연구한다. 즉, Irrelevant Context에 의해 LLM prompting이 얼마나 영향 받는지를 확인한다. 그리고 어떤 technique이 유용한지 확인한다. 현재 이와 관련하여 distractibiliy를 측정하기 위해서 새로운 Dataset을 만들었다.

GSM-IC의 예시중 하나. 상관없는 문장이 추가된 모습, 이것은 문제 푸는 것과 전혀 영향이 없음.

Grade-School Math with Irrelevant Context(GSM-IC) 데이터셋이다. 이는 Grade-School Math(GSM8K)를 기반으로 만들어졌으며, 과정은 GSM8K 데이터셋에 정답추론과 상관없는 문맥(Irrelevant context)을 추가한 데이터셋이다.

논문에서의 주요한 설명은 다음과 같다.

1. 조사한 모든 Prompting techniques은 Irrelevant context에 모두 민감하며 모델에 영향을 미친다.

2. Self-consistency(SC)는 GSM-IC에서 사용되는 모든 Prompting techniques들의 성능을 향상시킨다. 

3. 프롬프트 예시에 데이터셋과 동일한 데이터를 한개 추가하는 것, 예시에서 Irrelevant context를 추가한 문제예시를 제공하는 것만으로도 성능을 향상한다. 

4. 모델이 Irrelevant context 요소중에서 어떤 것에 민감하게 반응하는지 파악했으며, 특히 어휘가 중복될 경우 모델이 더욱 낮은 성능을 기록한다.

 

The GSM-IC Dataset


STEP

문제를 풀기 위해 추론해야하는 과정 수(Reasoning Step)

기본적으로 문제는 2 ~ 7개의 Reasoning Step을 요구합니다. 대부분의 문제(60%)는 2 Steps정도이며 나머지는 3 Steps 이상입니다. 

 

Creating Dataset

GSM8K 데이터에서 GSM-IC 데이터셋으로 변환하는 과정

데이터셋은 총 3가지 방법으로 Irrelevant Context를 생성합니다.

1. Topic of the inserted sentence : Topic과 관련(In-Topic)되거나 Topic과 관련되지 않은(Off-Topic) 템플릿을 작성합니다. 

2. Role name overlap : 대부분의 문장 템플릿은 역할 이름[ROLE]이 비어있습니다. 이는 문제에서 발생하는 역할 이름이 중복될 수도 있고 아닐 수도 있습니다. 역할 이름과 중복되는 경우는 다음과 같습니다. 1) 원래 문제 설명과 같은 이름 A를 선택하고, 2) A'father, A'mother 또는 A'brother과 같은 템플릿을 사용하여 [ROLE]을 채웁니다.

3. Range of numbers : 숫자 a에 대해, 만약 원래 문제 설명이나 해답에 숫자 b가 있으며, 1/10 ≤ a/b ≤ 10를 만족한다면, a 범위 내 숫자로 간주하며, 그 외는 범위 밖으로 간주합니다. 문제의 답변은 모두 양의 정수이며 [NUMBER]도 양의 정수만을 고려합니다. 

여기서 고려할 것은 생성된 문장은 문법적으로 영어에서 허용되며, 기본 문제의 해답에 영향을 미치지 않는다는 것입니다. 이를 통해 Benchmark Dataset으로 사용할 수 있으며 통 58,052개의 예제로 구성됩니다.

 

Evaluation Metrics

문제 p에 대한, 해답 s(p)이며, 방법 M에 의한 해답 M(p)이다.

  • Micro accuracy : 모든 테스트 문제 P에 대한 방법 M의 평균 정확도
    • 모든 개별 테스트 문제가 동등(문제마다 동일한 가중치)
  • Macro accuracy : 하나의 문제 P(b)에 대해 M의 평균 정확도
    • 각 클래스 P(b)는 기본 예제B에서 파생된 테스트 예제로 구성. 클래스 P(b)에 대해 M의 예측이 정확하다는 것은, 클래스에 속한 모든 문제에 대해 M의 예측이 모두 맞을 때만 해당.
    • 다시 말해 하나의 메소드가 파생된 모든 문제를 맞히면 1이고 하나라도 틀리면 0을 의미
  • Normalized accuracy : 방법 M에 의해 달성된 정규화된 정확도
    • aₘ는 방법 M이 달성한 미세(micro) 또는 거시(macro) 정확도
    • nₘ: 방법 M의 기본 문제에 대한 정확도

각각의 Accuracy에 대한 설명

Investigated Solutions


  • Chain-of-thought prompting(COT) 언어 모델을 안내하여 문제를 단계별로 해결하는 프롬프팅 기법
    • 중간 추론 단계를 포함한 해당 문제를 해결하는 예시를 프롬프트에 제시
    • COT는 이러한 중간 추론 단계 없이 직접적인 답변 예측을 하는 것보다 추론 성능을 크게 향상
  • Zero-shot chain-of-thought prompting(0-COT), COT의 변형으로, 프롬프트에 예시가 포함되지 않은 것이 특징
    • 모델은 관심 있는 문제로 직접 프롬프트되며, 이어서 “Let’s think step by step” 추가
  • Least-to-most prompting (LTM)
    • 1. 문제를 하위 문제로 분해하고, 2COT를 사용하여 그 하위 문제들을 순차적으로 해결하는 방법을 서술
    •  최종 답변은 마지막 하위 문제에 대한 답변
  • Program prompts(PROGRAM), 산술 추론 과정을 프로그램으로 표현
    • GSM8K 문제를 코드로 해결하는 이전 연구를 따라, 우리는 문제 해결책으로 파이썬 프로그램을 프롬프트에 포함
    • 생성된 파이썬 코드를 외부 파이썬 인터프리터를 실행하여 최종 답을 산출
  • self-consisteny(SC), 최종 결과가 동일한 중간 추론 단계들을 통합함으로써 추론 성능을 추가적으로 향상
    • SC는 1) 대규모 언어 모델로부터 여러 해결책을 샘플링하고 2) 다수결로 결정을 내리는 방법으로 구현
    • SC는 위의 기법들과 직교하여, 그 어느 것과도 결합될 수 있음
  • Instructed Prompting : 특별히 무엇을 하라고 지시하는 프롬프트 기술
    • 논문에서는 "Solve grade school math problems. Fee free to ignore irrelevant infromation given in the questions"라는 지시를 사용

 

Prompt Design


조사된 기법들에 대한 프롬프트 형식은 오른쪽에 있으며, 이는 왼쪽에 있는 빌딩 블록들로 구성되어 있습니다(색상으로 보는 것이 가장 좋습니다). [관련 없는 맥락의 문제]는 원래 문제 설명에 관련 없는 문장(기울임꼴 및 밑줄 처리됨)을 추가함으로써 얻어지며, 오른쪽의 프롬프트에서 [원래의 문제]에 대한 대안으로 사용될 수 있습니다. 이러한 프롬프트에서, 괄호로 강조되고 둘러싸인 식별자들(예: [관심 있는 문제])은 해당하는 빌딩 블록의 내용으로 대체됩니다.

 큰 그림으로 본다면, 각각의 Prompt는 하나의 exeampler(프롬프트에 문제 푸는 방법을 하나의 예시)를 추가하여 문제를 해결하려 한다. 

Zero-shot를 제외한 Prompt는 각각의 방법으로 하나의 예시를 해결하는 방식을 사용했으며, 특히 Instructed COT prompt는 두 개의 문장을 추가함.

Zero-shot의 경우는 "Let's think step by step"만 추가한다.


Experiments


Model

두가지의 모델을 사용

  • code-davinci-002 : 특별한 언급이 없으면 이 모델을 사용함
  • text-davinci-003 : GPT3.5 기반 모델이며 InstructGPT 기반이다.

 

Prompting Exemplar w/ or w/o Irrelevant Context

위 그림의 Prompt Design의 오른쪽을 보게 되면, [Original Problem] 칸이 있는 것을 볼 수 있다. 

  • Prompting Exemplar w/ Irrevant Context는 Problem with Irrelevant context를 사용함
  • Prompting Exemplar w/o Irrelevant Context는 Original Problem을 사용 

 

 

Main Results on GSM-IC

Main Results

주목해야 할 점은 5가지로 압축해 볼 수 있다. 일단 세부사항을 살펴보기 전에 지표에서 보면 전체적으로 GSM-IC에 대해서 Accuracy가 낮아진 것을 확인할 수 있다.

1. LTM is generally the most robust technique to irrelevant context.

Main Result를 살펴보게 되면 대체적으로 LTM 기법을 사용했을 때, 다른 기법들에 비해서 높은 Acc를 달성하고 있으며 대부분이 bold 표시가 되어있는 것을 볼 수 있다. 하지만 특이한 것은 $text-davinci-003$ 부분에서의 Macro Accuracy이다. 이는 $code-davinci-002$보다 매우 낮은 Accuracy이며, 논문에서는 이에 대해 자세히 조사하였고 다음은 그에 대한 표이다.

LTM과 관련된 모델의 Accuracy

여기서 주목해야할 점은 $text-davinci-003$은 Role Overlap 관련해서 매우 취약하다는 것이며, 대체적으로 LTM 기법에 취약하는 것을 알 수 있다. 그에 반해 $code-davinci-002$모델은 LTM기법에 대해 덜 취약하며 대체적으로 좋은 성능을 유지하고 있다.

결론적으로 모델은 모두 Role Overlap부분에서 역할의 이름이 겹친다면, 성능이 다 떨어지는 것을 볼 수 있다.

2. Selecting exemplars with distractors mitigates the distractibility and 

3. Instructed Prompting Improves Robustness to Irrelevant Context

프롬프트에서 예시를 제공할 때, 예시도 데이터셋과 마찬가지로 Irrelevant Context를 준다면, 성능이 올라가는 것이 나타나고 있다. 그와 관련된 분석은 다음표에서 확인할 수 있다.

 

*w/ IRRCTX = with Irrelevant context

대체적으로 대부분의 기법에서 Irrelevant Context를 추가한다면, 성능이 근소하게나마 올라가는 것을 확인할 수 있다. 특히 INST를 추가하면 성능이 더욱 나아지는 것을 볼 수 있다. 여기서 Inst는 수학 문제를 푸는데 관련 없는 문장은 무시해라이다.

4. Self-consistency significantly reduces the distractibility

SC는 모든 부분에서 Distractibility를 줄인다. 그와 관련된 것은 위의 Main Results에서 확인할 수 있으며 편하게 확인하기 위해 표를 추출해왔다.

실험에서 다른 부분에 비해 SC를 추가한 프롬프트가 압도적으로 Accuracy가 높은 것을 확인할 수 있으며, Macro Accuracy로 향상한 것을 통해 관련 없는 맥락(Irrelevant Context)에 대해 효과적으로 처리하는 것을 볼 수 있다. 이를 바탕으로 더 나은 알고리즘이 개발될 수 있음을 시사한다.

5. Complicated Prompts May Hurt the Robustness to Irrelevant Context

4개 예시 프롬프트는 2단계 이상의 중간 단계를 가진 문제에서 일관되게 1개 예시 프롬프트보다 더 안 좋은 Accuracy를 달성합니다. 2단계 프롬프트의 경우에도, 더 많은 예시를 추가하는 것으로 인한 정확도 향상은 Inst를 무시할 정도입니다. (79.0 vs 79.2) 이를 바탕으로 많은 예시를 추가하면 오히려 프롬프트의 견고함을 잃어버릴 수 있습니다.

이를 통해 많은 예시는 오히려 모델의 과적합(overfitting)을 유발할 수 있습니다.

Conclusion


이 연구에서, 우리는 관련 없는 맥락이 존재하는 상황에서 산술 추론을 수행할 때 대규모 언어 모델의 주의 산만성에 대한 종합적인 연구를 지원하는 데이터셋 GSM-IC를 소개하며 LLM의 산술추론능력을 향상하는 방법에 대해 더욱 연구가 활발히 진행하는 것을 미래의 작업으로 남겨둔다.

LLM의 Distraction을 조사할 때, 이 Dataset을 이용하고 조사한 기법을 사용하면 좋을 것으로 기대합니다.

 

읽어주셔서 감사합니다. 오류가 있으면 댓글 부탁드려

[Paper review] ProQA 리뷰

Giliit
|2023. 11. 27. 04:21
728x90

요즘 프롬프트에 관심이 생겼고 이 논문이 관심이 가게 되어서 리뷰를 하게 되었다.

ProQA: Structural Prompt-based Pre-training for Unified Question Answering
https://aclanthology.org/2022.naacl-main.313/

 

Introduction


질의응답(QA, Question Answering)은 NLP 연구에서 오랫동안 영감을 주는 도전과제로 여겨져 왔다. 최근 연구에서 모델은 특정 질문 유형(Extractive QA, Abstractive QA, Multiple-Choice QA)이나 특정 분야(NewsQA, NaturalQA)에 초점에 맞춰져 있다. 

최근 LLM에 대한 연구는 다양한 Task에 대해 연결성이 있을 수 있음을 시사하며 이 논문에서는 Task 간의 연결성을 모델링하기 위해 다양한 QA Task를 하나의 모델에서 해결할 수 있는 통합 패러다임인 ProQA를 제시한다.

ProQA : 두 가지를 모델링할 수 있다.

  • 일반적으로 요구되는 QA 능력
  • 동일한 패러다임에서 여러 QA Task 간 공통성과 차이점 모델링

2가지 모델링을 위해 2가지 문제를 직면한다.

  • 다양한 Domain/Format 에서 QA task 간 공통점을 모델링하고 전이성을 강화하며 충돌을 피하는 방법
  • Pre-training을 위한 High-Quality QA Data의 부족에 대해 Large-scale QA Corpus 생성 방법

→ 두 가지 문제를 해결하기 위해 Structural prompt, Structural prompt-based pre-training대규모 합성 QA 코퍼스 구축을 통해 ProQA : 통합 QA 패러다임을 구상한다.

 

AboutQA


 

논문에서는 UnifiedQA와 T5(Text-to-Text Transfer-Transformer의 영감을 받아, Downstream QA Task에서 통합 Text-to-Text 모델을 사용합니다. 이 작업에서는 T5 모델을 백본으로 사용합니다.

Model Overview

위의 그림을 보게되면, 다양한 QA 작업을 위해 통합된 Structural prompt로 구성됩니다. 또한, QA 능력과 Structural prompt의 의미와 Task 간의 공통점과 차이점을 학습하기 위해 Structural prompt-based pre-training을 진행합니다.

Structural Prompt

위의 Structural Prompt는 여러 개의 { Key : Value }로 구성됩니다. 

  • KEY
    • Key indicator : [ ]
      • 구성 요소간의 기능적 차이를 구별하여 모델을 강화하기 위해, 각 키를 학습 가능한 표현을 가진 특별한 Key indicator을 사용합니다.
      • e.g., $Task, Format, Question,\space etc.$
  • Value : 두 가지로 표현합니다.
    • textual content of the data instance (데이터 인스턴스의 텍스트 내용)
      • e.g., $question,\space passage,\space options$
    • the combination of a discrete $hard\space prompt$ and $soft\space prompts$
      • Hard prompt (< >) : 미리 정의된 이산적인 설명 (특수 토큰을 사용)
        • e.g,. Extrative QA, Abstractive QA와 같이 첫 번째 그림의 여러 요소들 
      • Soft prompt (Grey squares) : 학습 가능하고 플러그 앤 플레이가 가능한 연속 임베딩
        • 여러 Task/Domain/Format의 차이를 모델링하기 위해, Customized characteristics를 나타내는 학습 가능하고 저장 가능한 Soft prompt를 사용

 

Structural Prompt = { (Key indicator : Hard Prompt or Soft Prompt) * $k$ } 

Key Indicator : 구성 요소 간의 기능적 차이를 구별하는 데 사용

Hard Prompt : Task를 구별하는 역할

Soft Prompt : 여러 Task/Domain/Format간 차이와 공통점등을 모델링할 때 사용하며 이 Soft prompt는 학습가능하며 저장 가능하다.

 

입력 표현

구조적 프롬프트 형식의 인스턴스가 주어지면, 모델 입력으로 변환한다.

$k$번째 키를 $key\space indicator\space D_k$로 변환하고, 특정 값의 토큰 $V_k$에 의해 토큰 시퀀스를 형성하며, $E_k\space = \space Embedding([D_k;V_k])$로 표현한다. $D_k$의 표현은 훈련 중에 초기화되고 업데이트됩니다.

소프트 프롬프트인 Task/Format/Domain를 값으로 $P_{task}/P_{format}/P_{domain}$를 사용하고 편의를 위해 먼저 추가하고 모든 $E_k$를 연결하여 입력 $X$를 만든다.

$X = [P_{domain};P_{format};P_{task};E_1;...;E_k]$

Key indicator D와 Soft prompt P는 Pre-training 중에 공동으로 훈련되며, Structrual prompt의 의미를 학습한다. 다양한 작업에 조정된 후, Soft prompt P는 customized 작업별 특성을 기록하기 위해 저장될 수 있다.

 

Structural Prompt-based pre-training

Task Formulation

이 부분에서는 모델이 Pre-training 중에 요구되는 QA 능력과 Structrual prompt의 의미를 학습하는데 도움이 되는 Structural prompt-based pre-training이 수행되는 방법에 대해 소개합니다.

Pre-training을 위한 다양한 QA 유형(i.e., $Extractive\space QA,\space Abstractive\space QA,\space Multiple-choice QA$)을 제시하며, QA 능력을 주입한다. Multi-format QA corpus가 주어지면, 제안된 Structural prompt에 따라 QA 형식으로 변환하여, 형식 간의 차이를 유지하면서 공동으로 Pre-training을 가능하게 합니다.

→ Structural prompt로 Instance를 형식화해 입력으로 바꾼 뒤, 자유 형식의 답변을 출력하여 작업은 QA 작업으로 더 맞춤화됩니다.

Pre-training Corpus Construction

Pre-training을 위한 QA Corpus는 2가지 이유로 데이터 부족이 심각합니다.

  1. Pre-training을 위한 고품질 주석이 달린 데이터는 비현실적이며 번거롭습니다.
  2. 규칙 기반(token masking or sentence reordering)을 사용해 QA 중심 self-supervised 데이터 생성은 어렵습니다.

이 작업에서 Generation-filtering based corpus construction method를 채택하여 600M개의 본문을 포함한 Large-scale unlabeled Wikipedia corpus를 기반으로 Corpus를 합성합니다.

과정은 다음과 같다.

  1. QA 쌍 생성 모델 $g_{qa}(q,a|c)$ : 본문 $c$ 를 입력으로 사용할 때, $g_{qa}(q, a|c)$는 질문 q와 그 답변 $a$를 포함하는 출력 시퀀스 $q$ [SEP] $a$를 생성한다.
  2. 생성된 QA 쌍을 필터링하여 질문과 답변의 품질과 일관성을 보장하기 위한 필터링 QA 언어 모델 f(a|q, c)는 조건부 확률 기반 접근 방식을 사용하여 QA 쌍을 부드럽게 필터링합니다. 이는 본문 c c와 질문 q에 대한 답변 a의 가능성으로 QA 쌍 (q, a)을 평가합니다. 점수가 임계값보다 높은 QA 쌍은 사전 훈련을 위해 보존됩니다.

 

 

Experimental Setup


실험에서는 세 가지 형태의 QA Dataset을 고려합니다. Extractive QA, Abstractive QA, MultiChoice QA

11개의 Dataset은 3가지 형식과 다양한 언어 이해 능력을 갖고 있습니다.

Format Dataset QA Skills Metrics
Extractive QA SQuAD Word Matching EM(Exact Match)
Extractive QA Quoref Coreference Reasoning EM(Exact Match)
Extractive QA NewsQA Word Matching EM(Exact Match)
Abstractive QA NarQA Story Understanding ROUEL-L
Abstractive QA DROP Discrete Reasoning F1
Abstractive QA NQOpen Multi-passage Understanding F1
MultiChoice QA RACE Multi-setnence Reasoning Acc
MultiChoice QA DREAM Dialog Reasoning Acc
MultiChoice QA MCTest Multi-setnence Reasoning Acc
MultiChoice QA OBQA Common knowledge Acc
MultiChoice QA SIQA Commonseense Reasoning Acc

 

Results and Analyses


Main Results

전체 데이터 미세 조정, 소수 샘플 학습, 제로샷 학습 설정에서 11개 하류 QA 데이터셋에 대한 주요 결과. 사전 훈련 코퍼스 구축에 사용된 시드 데이터셋의 감독이 소수 샘플 및 제로샷 설정에서 편향을 도입할 수 있으므로, 이에 해당하는 항목들의 결과는 밑줄로 표시됩니다.

  • QA 중심 사전 훈련 모델인 UnifiedQA와 ProQA는 시드 데이터셋과 비시드 데이터셋 모두에서 T5를 큰 차이로 능가한다. 다양한 QA 작업 간 전이 가능한 지식이 있기 때문입니다.
  • ProQA는 UnifiedQA보다 Few-Shot 및 Zero-Shot에서 UnifiedQA를 큰 차이로 이깁니다.
    1. Structural prompt 내의 hard prompt와 soft prompt가 QA 작업에 대해 지시 Customization을 가능하게 하며 특히 “Task”의 key-value쌍이 중요합니다.
    2. Structural prompt-based pre-training은 비시드 데이터에 더 빠르고 잘 적응할 수 있도록 도와줍니다.
  • proQA(qapair)과 ProQA(paq)에서 paq가 우수한 성능을 보인다. 이 방식으로 데이터 생성을 하려면 네 개의 BERT 모델이 준비되어야 하지만, 논문에서의 qapair은 단순하며 모델을 하나를 사용하며 3개의 QA Corpus 추출에 적용할 수 있습니다.

 

 

Ablation Study

서로 다른 QA 형식(추출형, 추상형, 다중 선택) 하에서 세 개의 비시드 데이터셋에 대한 소거 연구 결과입니다.

각 구성 요소의 효과를 밝히기 위한 소거 연구가 수행되었습니다. 총 3가지 변형을 고려했습니다.

  1. Soft prompt를 제거한 ProQA
  2. 추가적으로 pre-training을 제거한 ProQA
  3. UnifiedQA + Pre-trained Corpus는 논문에서 준비한 합성 QA 코퍼스로 Pre-trained 모델

3가지를 통해 모델에서 Soft prompt를 제거하면 Pre-training도중에 학습된 작업별 지식이 비활성화된다는 것입니다. Prompt-based pre-training을 제거하면, 성능이 크게 떨어지며 동등한 모델인 (T5 + hard structural prompt)에는 어떠한 QA 지식도 없기 때문입니다.

→ UnifiedQA + Pre-train Corpus는 ProQA보다 낮은 성능을 나타내며, 논문에서 제시한 Structral prompt가 지식 Generation와 지식 Customization 사이의 더 나은 균형을 보여줍니다.

 

 

출처

ProQA : https://aclanthology.org/2022.naacl-main.313/

UnifiedQA : https://arxiv.org/abs/2005.00700

T5 : https://arxiv.org/abs/1910.10683

 

728x90

- reference
Link_here

0. Abstract


현재의 문제점은 unlabeled text corpora는 풍부하지만, 특정한 task을 위해 train data(labeled data)는 부족해 모델을 적절하게 훈련시키는 것이 현재의 문제점입니다. 

 

저자들은 Large unlabeled text 통해 model을 generative 하게 언어 모델을 학습시키고, 특정 task에서 fine-tuning 한다면, 큰 향상을 이룰 수 있다고 말합니다.

 

이전 접근법과 달리, model Aritecture을 크게 수정하지 않고 fine-tuning 합니다. 이를 위해 fine-tuning 중에는 input을 변환합니다. 이러한 접근법은 밑에 보이는 NLP task에서 task만을 위해 설계된 모델들을 능가하며 12개의 task중 9개는 SOTA*를 달성했습니다.

*(state-of-the-art)

 

NLP tasks

1. textual entailment

2. question answering

3. semantic similarity assessment

4. document classification

etc

 

1. Introduction


왜 pre-training이 필요한가?

직관적으로 하나를 생각해봅시다.  수능문제를 약 1만개를 푼 한국사람과 수능문제 약 1만개를 푼 미국사람이 있을 때 누가 수능 문제를 더 잘 풀 수 있을까요? 다들 생각하시겠지만 미국사람이 더 잘 풀 것이라고 생각합니다. 여기서 pre-trainingfine-tuning 을 대입해볼 수 있습니다. pre-training은 원어를 배운 미국사람이며 나머지 fine-tuning은 수능문제 약 1만개를 푼 것이라고 볼 수 있습니다.  이를 통해 pre-training은 언어에 대해 이해도를 높이는 과정이라고 볼 수 있습니다.

 

대부분의 딥러닝은 Large labeling data를 필요로 합니다. 하지만, labeled data는 수동으로 만들어야 하며, 정보를 가공하는데 시간과 돈이 많이 발생하기 때문에 pre-training이 대안이 됩니다.  상당한 지도학습이 필요한 경우에도 비지도 학습으로 학습하고 지도학습을 하는 것이 성능 향상을 할 수 있습니다.

 

unlabeled text를 word-level 이상으로 정보를 활용하는 것이 어려운 이유

1. unlabeled text data를 효과적으로 학습하는 방법이 명확하지 않음

-> 이전 연구는 NLP 작업별로 아키텍처를 만들었고 각각의 task에서만 좋았지만 서로 다른 task에서는 좋은 성능을 나타내지 못함. 즉, 모든 것을 아우르는 좋은 접근법이 명확하지 않음

 

2. pre-trained model을 NLP task에 transfer 하는 가장 효과적인 방법에 대해 standard 한 것이 없음.

-> pre-trained model을 활용하는 가장 적절한 방법을 찾지 못함

 

이러한 점을 통해 unsupervised pre-training 과 supervised fine-tuning 을 조합한 방법을 개발하는 것이 어렵습니다. 하지만, 이 논문에서는 이 방법에 대해 탐구합니다. 방법은 2단계로 합니다.

1. unlabeled data를 통해 신경망 모델의 매개변수들을 학습시킵니다. (pre-training)

2. labeled data를 통해 supervised learning하여 task를 위한 매개변수들을 다시 학습시킵니다. (fine-tuning)

 

GPT의 구조는 다음과 같습니다. 

Transformer의 Decoder 부분을 사용했으며 사용한 이유는 다음과 같습니다.

  • LSTM에 비해 장단기 기억에 더 우수합니다.
  • Transformer의 Attention mechanism을 이용하기 위해 사용했습니다.
  • 다양한 NLP task에서 간단하게 fine-tuning을 하면 됩니다.
  • Decoder만 사용하면 Encoder을 학습시키지 않아도 되며 학습시간이 줄어듭니다.

 

2. Related Work


추후 작성예정

 

 

3. Framework


모델에 대한 Framework는 Section 1 에서 설명한 것처럼 크게 2가지로 나누어 볼 수 있습니다.

1. Unsupervised pre-training : Large unlabeled text에서 Language Model을 학습시키는 것

2. Supervised fine-tuning : labeled text를 통해  task에 해당하는 모델로 학습시키는 것

 

1. Unsupervised pre-training

레이블이 없는 토큰의 말뭉치인 $U ={u_1,...,u_n}$ 가 주어지면, 다음 가능성을 최대화하기 위해 Language Modeling을 목표로 사용합니다.

$ \mathcal{L_1}(\mathcal{U})=\sum_ilog\mathcal{P}(u_i|u_{i-k},\ldots,u_{i-1};\Theta)$

이 수식에서 k = context window, P는 매개변수 $\Theta$를 가진 신경망을 사용하여 모델링 됩니다. 이 때 매개변수는 확률적 경사 하강법(SGD)를 사용해 학습됩니다.

 

실험에서, Model Architecture은 Transformer의 Decoder를 사용합니다.

밑에 고정은 transformer_block에서 계산되는 과정입니다.

입력 -> multi-headed self-attention -> Feed Forward Neural Network -> softmax 방식으로 적용됩니다. 이러한 

n = layer의 수, $W_e$ = token embedding matrix, $W_p$ =. osition embedding matrix.

 

2. Supervised fine-tuning

 

Section 3.1 방식으로 pre-training 후 parameter을 fine-tuning을 진행합니다. fine-tuning을 위한 목적 함수(objective function)은 다음과 같습니다.

 

P를 구하는 수식은 다음과 같습니다.

각각의 변수가 의미하는 것은 다음과 같습니다.

  • C : labeled text 이며 . ${x^1,...,x^m}$의 토큰들로 이루어져 있으며 레이블 $y$도 함께 구성됩니다.
  • $h^m_l$ : 마지막 transformer block을 통과한 값입니다.
  • $W_y$ : y를 예측하기 위한 선형 Layer의 매개변수입니다.

정리하자면 pre-trained Model에 ${x^1,...,x^m}$의 토큰들을 입력으로 넣고 마지막 transformer의 값인 $h^m_l$를 선형 Layer $W_y$와 곱하여 softmax를 통해 확률로 값을 매기면서 $L_2$ 의 값을 구한다. $L_2$의 값과 입력의 레이블인 $y$를 값을 비교하여 학습을 한다.

fine-tuning을 한다면 추가 매개변수는 Delimeter의 Embedding과 $W_y$ 입니다. 

 

장점은 다음과 같습니다.

1. Supervised Model의 일반화를 향상합니다.

2. Model의 학습에 수렴을 더 빨리 합니다.

 

3.3 Task-specific input transformations

 

텍스트 분류와 같은 작업에서 모델을 fine-tuning 할 수 있습니다.

 

  • Classification
    • 기존의 방법대로 하면 됩니다.
  • Entailment
    • Delimeter로 문장을 나눕니다
    • Premise와 Hypothesis 의 관계 (참과 거짓)를 맞추는 task 입니다.
  • Similarity
    • text1 과 text2를 2가지 방법으로 transfomer에 입력합니다.
    • 2 output을 element-wise addition을 통해 유사도를 구합니다.
  • QA(Commonsense Reasoning) and multiple choice
    • 이러한 task는 document context $z$, question $q$, 가능한 답변 ${a_k}$가 주어집니다.
    • document context와 question 을 각각 연결하면 $[z;q;$;a_k]$ 로 입력합니다. 
    • 각각${a_k}$에 대한 답변을 softmax를 통해 fine-tuning을 진행합니다.

 

4. Experiments


추후에 작성하도록 하겠습니다.

 

 

5. Analysis


Impact of number of layers transferred 

Layer의 수에 따라서 Accuracy가 증가하는 것을 왼쪽 그래프에서 확인 할 수 있습니다. 이를 통해 pre-trained model 은 각 Layer가 target task를 해결하는데 유용한 기능을 포함한다는 것을 알 수 있습니다.

 

Zero-shot Behaviors

저자는 Transformer Language Model pre-training 이 효과적인 이유에 대해서 설명합니다. LSTM 과 transformer가 모두 pre-training 되었을 때 transformer가 더욱 구조화된 메모리를 가지고 있기 때문에 높은 성능을 발휘한다는 것을 위의 그래프에서 설명합니다. 모두 LSTM에 비해 좋은 성능을 보여주는 것을 알 수  있습니다.

 

Abalation studies

저자는 3가지 연구를 수행합니다.

1. 보조 LM이 없는 방식

2. 보조 LM을 사용한 방식(base)이면서 LSTM을 사용한 것과 동일한 parameter을 가진 model

3. pre-training 하지 않은 방식

 

3가지 연구를 통해서 LSTM과 Transformer와 동일한 parameter일 때 성능차이를 비교합니다. 보조 LM이 정확성을 향상시켜줌을 알려줍니다. 마지막으로 pre-trianing이 모델의 성능을 향상시킴을 보여줍니다. 특히 1행과 2행의 Score에서 14.8% 차이가 난 것을 알 수 있습니다.

 

 

6. Conclusion


generative-pre-training 과 fine-tuning을 통해 강력한 자연어 이해를  달성하는 Framework를 소개하면서 여러가지 Benchmark에서 SOTA를 달성한 것을 보여줍니다. 이를 통해 Transformer가 장거리 의존성을 가진 Text에 대해 잘 작동하는지에 대해 접근법을 제공합니다.

728x90

이전 포스팅 : https://giliit.tistory.com/53

 

[논문리뷰] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (1)

- reference https://arxiv.org/abs/1810.04805 0. Abstract 저자는 새로운 언어 모델 BERT(Bidrectional Encoder Representations for Transformers)를 소개합니다. BERT는 길게 설명한 것처럼 트랜스포머 모델을 이용한 양방향 인

giliit.tistory.com

 

- reference 
https://arxiv.org/abs/1810.04805

4. Experiments

이 섹션에서는 11개의 NLP에 대해 BERT 의 fine-tuning 결과를 제시합니다.

 

4.1 GLUE

Dataset task input
MNLI (Multi-Genre Natural Language Inference) 두번째 문장이 첫번재 문장에 대해 (모순, 유추, 중립)인지 분류 sentence pair
QQP (Quora Question Pairs) 두 질문에 대해 의미가 동일한지 분류 sentence pair
QNLI (Question Natural Language Inference) 두 문장이 QA 관계인지 분류 sentence pair
SST-2 (Stanford Sentiment Treebank) 영화 리뷰가 positive or negetive  분류 single sentence
CoLA (The Corpus of Linguistic Acceptability) 영어 문장이 문법적으로 "적용 될 수 있는지" 분류 single sentence
STS-B (The Semantic Textual Similarity Benchmark) 두 문장이 2개가 의미가 얼마나 유사한지 점수로 분류(1~5) sentence pair
MRPC (Microsoft Research Paraphrase Corpus) 두 문장이 2개가 의미론적으로 동일한지 분류 sentence pair
RTE (Recognizing Textual Entailment) MNLI와 유사하며 더 적은 데이터 sentence pair
WNLI (Winograd NLI) 대명사가 있는 문장에서 대명사과 가장 비슷한 것을 분류
(BERT에서는 훈련에서 제외)
single sentence

GLUE( General Language Understanding Evaluation )이며 다양한 자연어 이해 작업의 모음입니다. 위의 표에 Dataset에 대해 자세히 적어놓았습니다. 

 

Fine-tuning 과정

  • 입력 Sequence를 single or double sequence로 표현합니다.
  • 첫 번째 입력 토큰(CLS)에 해당하는 final hidden vector(C)를 문맥에 대한 모든 정보를 포함합니다.
  • Classification을 위한 output layer 추가하여 Fine-tuning(if K-class classification, layer weight  K x H dimention)
  • loss 계산 -> log(softmax(CW^T)

BERT(BASE, LARGE) 모두 이전 모델에 비해서 정확도가 올라간 것을 볼 수 있으며, 모델의 size가 클 수록 더 정확도가 높은 것을 알 수 있다.

 

4.2~3 SQuAD v1.1, v2.0

 

이 데이터셋에 대해 아는게 없어서 생략하겠습니다...ㅠㅠ

 

4.4 SWAG

SWAG (Situations With Adversarial Generations) 

SWAG dataset중 3개

 

설명

  • 데이터셋의 크기 (113k)
  • Sentence A
    • 처음에 문장이 주어집니다.
  • Sentence B
    • 선택지에 해당하는 4개의 문장이 concat한채로 입력을 받습니다.

이 fine-tuning 과정에서 도입된 파라미터는 CLS 토큰과 final hidden vector(C)의 내적으로 나온 벡터입니다. 이 벡터는 sentence A와 sentence B(4개의 문장) 에 대해 각 선택에 대한 점수를 나타내며 softmax 를 통해 정규화합니다.

 

5. Ablation Studies

이 섹션에서는 BERT의 여러 측면중 NSP를 제거하면서 중요성에 대해 설명합니다.

BERT이전 모델, NSP를 사용하지 않은 BERT, 사용한 BERT

5.1 Effect of Pre-training Tasks

저자는 BERT(BASE)의 pre-training data, fine-tunning and hyper parameter을 사용해 BERT의 깊은 양방향의 중요성을 보여줍니다.

 

  • NO NSP: "다음 문장 예측"(NSP) 작업 없이 "마스크된 LM"(MLM)을 사용하여 훈련된 양방향 모델입니다.
  • LTR & No NSP: 표준 왼쪽에서 오른쪽(LTR) LM을 사용하여 훈련된 왼쪽 컨텍스트 전용 모델로, MLM이 아닙니다.

NSP를 제거하면 QNLI, MNLI 및 SQuAD 1.1에서 성능이 크게 저하된다는 것을 보여줍니다. "No NSP"와 "LTR & No NSP"를 비교하여 양방향 표현을 훈련시키는 영향을 평가합니다. LTR 모델은 모든 작업에서 MLM 모델보다 성능이 떨어지며, MRPC와 SQuAD에서 큰 하락이 있습니다.

 

ELMo : LTR 및 RTL 모델을 별도로 훈련시키고 각 토큰을 두 모델의 연결로 표현하지만 단점 3가지를 지적합니다.

1. 계산량이 단일 양방향 모델보다 2배로 걸립니다.

2. QA에 직관적이지 않습니다. RTL 모델은 질문에 대한 답변을 조건으로 설정할 수 없습니다.

3. 모든 계층에서 왼쪽 및 오른쪽 컨텍스틀 사용할 수 잇기에 깊은 양방향 모델보다 덜 강력합니다.

 

5.2 Effect of Model Size

이 섹션에서는 모델 크기가 정확도에 얼마나 미치는지 설명합니다.

표 6: BERT 모델 크기에 대한 제거 연구. #L = 레이어 수; #H = 히든 크기; #A = 주의 헤드 수. "LM (ppl)"은 보류된 훈련 데이터의 마스킹된 LM 난해도입니다.

모델의 사이즈가 증가할 수록 더욱 높은 정확도를 달성한다는 것을 표에서는 설명합니다. 전제조건은 모델이 충분히 사전 훈련되었다는 것입니다.

사전 훈련된 biLM은 차원의 크기를 늘리면 개선이 된다고보고 했지만 (200 -> 600) 더욱 커지는 경우 추가 개선이 이루어지지 않는 것을 확인했습니다.(600 ->1000) 

이를 통해서 모델이 downstream 작업에서 fine-tuning되고 작은 수의 추가 parameter만 사용한다면 작업 데이터가 작더라도 pre-trained representation에서 이익을 얻는다고 가설을 세웠습니다.

5.3 Feature-based Approach with BERT

지금까지 제시된 모든 BERT 결과들은 fine-tuning을 사용했습니다. 하지만 feature-based approach도 일정한 이점을 가지고 있습니다. 

1. 모든 작업이 Transformer Encoder Architecture로는 쉽게 표현될 수 없으며  특정한 작업에 대해task-specific model 이 필요합니다.

2. 교육 데이터의 표현을 한 번 미리 계산하고 그 위에 저렴한 모델로 많은 실험을 실행하는 것이 이점이 있습니다.

 

논문에서는 Named Entity Recognition,NER task를 적용하면서 비교합니다.

 

fine-tuning을 무효하기 위해 feature-based approach를 적용하며 BERT 매개변수를 조정하지 않습니다. 하나 이상의 layer에서 activation을 추출하여 BiLSTM의 입력으로 사용합니다.

다음은 사용한 결과를 표로 나타냅니다. 이 것을 통해 pre-trained Model(BERT)는 2가지 접근법에 대해 효과적임을 보여줍니다.

총 5가지에 대해 activation을 추출했으며 fine-tuning 한 BERT와 큰 차이가 없는 것을 알 수 있습니다. 

 

6. Conclusion

중요한 결과는 data가 작은 task에도 BERT를 통해 혜택을 얻을 수 있게 합니다. 이를 통해 넓은 영역의 NLP 작업들을 성공적으로 처리할 수 있다는 것입니다

 

 

첫 논문리뷰였습니다. 다음엔 더더욱 잘 써보도록 하겠습니다. 읽어주셔서 감사합니다.

근데 읽어줄 사람이 있을까요..?

728x90
- reference 
https://arxiv.org/abs/1810.04805

0. Abstract


저자는 새로운 언어 모델 BERT(Bidrectional Encoder Representations for Transformers)를 소개합니다. BERT는 길게 설명한 것처럼 트랜스포머 모델을 이용한 양방향 인코더 표현들입니다.

 

BERT모델은 당시(2018년)의 대표 언어 모델 ELMo, GPT-1 과 다르게 양방향으로 데이터를 학습했습니다. ELMo와 GPT는 단방향으로 학습합니다. 

 

 

BERT모델은 unlabeled data를 통해 pre-train을 합니다. 이후 just one additional output layer 을 통해 fine-tuning 하여 Question Answering(QA, 질문 대답) 과 language inference(자연어 추론) 작업을 위한 모델을 만들 수 있다고 합니다. 이러한 방식은 특화된 구조 수정 없이 가능합니다. 

 

BERT는 컨셉적으로 단순하고 경험적으로 강력합니다. 이는 11개의 NLP에서 최고 성능을 보인다고 논문에서 말합니다. GLEU, MultiNLI, SQuAD 등에서 GPT-1 보다 더 나은 성능을 보여줍니다.

 

1. Introduction


언어 모델을 사전 훈련하는 것은 NLP 개선에 효과적인 것으로 나타났다고 합니다.

  • 문장간 관계를 전체적으로 분석해 예측하는 자연어 추론의 sentence-level task
  • 세밀한 출력을 생성해야하는 named entity recognition 와 question answering 과 같은 token-level task 

 

pre-trained representation 을 downstream task에  적용하는 방식은 두 가지가 있습니다.

 

1.  feature-based 

대표적으로 ELMo가 있습니다. feature-based 접근은 추가적인 특징과 같은 사전 훈련들을 포함한 task-specific architecture을 사용합니다. 

 

2. fine-tuning

GPT(Generative Pre-trained Transformer( OpenAI))와 같은 모델들이 fine-tuning 모델이다. 이 모델은 task-specific parameter의 수를 최소화하며, pre-trained parameter를 최소한으로 수정해서 downstream task를 학습합니다. 

 

2가지의 접근법은 pre-training 동안 같은 목적 함수를 공유하며, 그들은 언어 표현을 배우기 위해 단방향 언어 모델을 사용합니다.

 

ELMo objective function

GPT objective function

 

두 목적함수는 단방향에 대해서 확률을 구하는 함수이다. ELMo는 biLM을 사용하므로 backward forward 에 대해 더했기 때문에 2개의 log 식이 있습니다.

 

주의점: ELMo는 biLM을 사용하므로 양방향처럼 보이지만 ELMo는 단방향(forward, backward)에 대해 단지 concat한 것이므로 deep bidirectional 하다고 볼 수 없으며 얕은(shallow) 양방향으로 단방향이라고 봐야합니다.

 

논문에서는 ELMo와 GPT가 Pre-trained representation을 제한한다고 합니다. 특히 fine-tuning에서 더욱 더 제한된다고 한다. 이유는 모델이 단방향이며, training 동안 사용되는 기술의 선택이 제한된다고 합니다.

 

GPT의 Transformer 안에 self-attention은 제한된 self-attention을 사용하기 때문입니다. 즉, 단방향으로만 attention을 하기 때문에 문맥에 대해서 정확히 파악하지 못한다고 합니다. 이러한 작업은 sentence-level의 작업에 대해 최적의 상태가 아니며 QA(question answering) 같은 token-level 작업에 fine-tuning 하면 안 좋은 결과가 나온다고 합니다.

-> 양방향의 문맥 정보를 포함하는 것으로 이를 해소한다고 말합니다.

 

해소하는 방법으로 BERT를 제안하며 fine-tuning 접근법을 개선합니다.

개선하는 방법으로 Cloze task(빈칸 맞추기) 에서 영감을 받아 Masked Language Model을 pre-training 목표로 하며 단방향에 대한 제약을 완화합니다.

 

MLM 뿐만 아니라, text pair 표현을 함께 사전 훈련 시키는 NSP(Next Sentence Prediction)도 사용합니다.

 

Masked Language Model(MLM) : 토큰의 일부를 Mask 토큰으로 바꾸며 최종 출력에서 문맥을 기반으로 토큰을 예측합니다.

논문을 통해 기여한 점은 다음과 같습니다.

  • 언어 표현에 대해 양방향 사전 훈련의 중요성을 보여줍니다. GPT가 사전 훈련을 위해 단방향 언어 모델을 사용하는 것과 달리 BERT는 양방향 표현을 가능하게 하기 위해 MLM을 사용합니다. ELMo은 독립적으로 훈련된 단방향 언어 모델 2개를 concat하는 얕은 연결을 사용합니다.
  • BERT는 pre-trained representation이 구조를 작업별로 수정해야하는 필요성을 줄인다는 것을 보여줍니다. 

 

2. Related Work


이 부분에서는 일반적인 언어 표현을 사전 훈련하는 데에 긴 역사가 있으며, 널리 사용되는 접근법에 대해 간략하게 설명합니다.

 

2.1 Unsupervised Feature-based Approaches(비지도 특징 추출 기반 방법)

단어를 광범위하게 적용 가능한 표현을 학습하는 것은 연구 분야이며, 방식은 2가지가 있습니다. 비신경망과 신경망 2가지 방식이 있습니다. Pre-trained word embedding은 NLP 시스템의 핵심 부분이며, 처음부터 학습된 임베딩보다 뚜렷한 개선을 제공합니다. 임베딩 벡터를 사전 훈련시키기 위해 Left-to-Right 의 모델링 목표가 사용되며, Left-to-Right 문맥에서 올바른 단어와 올바르지 않은 단ㅇ어를 구별하는 목표도 사용되었습니다.

 

이런 접근법들은 단어 임베딩-> 문장 임베딩 -> 단락 임베딩 -> 문서 임베딩과 같은 더 큰 단위로 일반화되었습니다. 문장 표현을 훈련시키기 위해 다음 문장을 랭킹하는 목표, 이전 문장의 표현이 주어진 상태에서 다음 문장의 단어를 왼족에서 오른쪽으로 목표, 또는 autoEncoder에서 파생된 목표를 사용했습니다.

 

ELMo와 전신은 단어 임베딩을  다른 차원에서 전통적인 단어 임베딩 연구를 일반화합니다.

-> 다시말해 단방향이 아닌 양방향으로 임베딩하여 다의어인 단어에 대해 문맥에 대해 이해하며 다의어 문제를 해소하려고 했습니다.

 

2.2 Unsupervised Find-tuning Approaches (비지도 미세 조정 방법)

2.1과 마찬가지로, unlabeled text에서 word embedding parameter만 pre-train 합니다. 문장이나 문서 Encoder들이 unlabeled text로 부터 pre-trained 해 학습 기반의 하류 작업(downstream task)에 미세 조정됩니다. Encoder들은 Context를 고려한 토큰 표현을 생성합니다. 이러한 접근법은 처음부터 학습해야하는 매개변수의 수가 매우 적다. 이 장점은 GPT가 GLUE 에서 최고 성능을 달성했습니다. GPT와 같은 모델은 사전 훈련시키기 위해 단방향으로의 모델링과 AutoEncoder가 사용되었습니다.

 

2.3 Transfer learning from Supervised Data (지도 데이터로부터의 전이 학습)

큰 데이터셋을 가진 지도학습 작업으로 부터 효과적인 전이를 보여주는 작업이 있었다. 예를 들어, 자연어 추론과 기겨번역이 있다. Computer Vision 영역에서도 대규모 pre-trained Model은 전이 학습의 중요성이 ㅇ비중되었고, 이것들은 pre-trained Model을 fine-tuning 하는 것입니다.

 

3. BERT


이 섹션에서는 BERT와 구체적인 구현에 대해 소개합니다.

 

BERT의 framework 2가지 단계

  • pre-training
    • 훈련과정은 unlabeled data로 훈련됩니다.
  • fine-truning(downstream task)
    • pre-trained parameter로 초기화되어있는 Model을 labeled data로 학습을 하여 fine-tuning 과정을 진행합니다.

그림1. BERT framework의 2가지 단계

위 그림을 보면 오른쪽의 Fine-tuning 된 Model들의 구조는 output layer을 제외하고 큰 차이가 없는 것을 알 수 있다.

 

Model Architecture

Model Architecture은 Transformer을 기반으로 하는 다층 양방향 Tranforemr Encoder이다. 

Transformer의 블록을 L, Hidden size를 H, Self-Attention head 를 A 로 표기합니다.

  • BERT(BASE) (L = 12, H=768, A=12, Total Parameter = 110M)
  • BERT(LARGE) ( L=24, H=1024, A=16, Total parameter = 340M)

2가지를 구현했으며 BERT(BASE)는 GPT와 비교하기 위해 동일한 모델 크기를 선택했습니다.

 

차이점 : BERT는 양방향 Transformer, GPT는 단방향 Transformer을 사용합니다.

 

 

그림 2

Input/Output Representations

입력에 대해 알기 위해서 BERT에서의 Input Representation 에 대해 알아야할 필요가 있습니다.

  • Sentence : 문장의 언어학적 정의보다는 연속된 텍스트의 임의의 구간을 의미합니다.
    • 위의 그림을 보게되면 ##ing와 같은 임의의 구간을 볼 수 있습니다.
  • Sequence : BERT에 들어가는 single sentence or two sentence를 의미합니다.

 

WordPiece Embedding(약 30,000개의 토큰 어휘)을 사용

 

[CLS] 토큰

  • 모든 Sequence의 첫번째 토큰으로 사용하며 Sequence의 시작을 알리는 토큰
  • CLS 토큰에 대응되는 final hidden state는 분류문제를 해결을 위해 sequence representation을 종합한 정보를 가지고 있습니다.

문장을 구분하는 2가지 방법

  • [SEP] 토큰
    • Sequence 안에 있는 sentence를 분리하는 토큰
  • Segment Embedding
    • 문장 A에 속하는지 문장 B에 속하는지 나타내는 학습된 Embedding

 

주어진 토큰에 대해 표현은 token_Embedding + Segment_Embedding + positional Embedding을 합산한 방식으로 표현됩니다.(그림 2)

 

3.1 Pre-training BERT


이 섹션에서는 BERT가 pre-training 을 하기 위해 기존의 단방향의 언어 모델을 사용하지 않고 2개의 비지도 학습 작업을 통해 BERT를 pre-trianing 합니다. 

 

Task #1 : Masked LM


저자는 직관적으로 깊은 양방향 모델이 단방향 모델과 양방향 얕은 모델보다 강력하다고 믿는다고 합니다.. 얕은 양방향 모델(ELMo)은 간접적으로 자신의 미래 단어를 볼 수 있기 때문에 목표단어를 쉽게 예측할 수 있다고 하여 강력하지 않다고 말합니다.

 

그림 3

깊은 양방향 표현을 학습하기 위해 위의 그림과 같이 토큰의 일부를 비율을 정해 임의로 마스킹하고 마스크된 토큰을 예측하는 과정을 진행합니다.

 

이 절차를 "Masked LM(MLM)"이며 이는 Cloze task에서 영감을 받았다고 합니다.

마지막 final hidden vector들은 softmax를 통해 어휘에 대한 확률로 출력됩니다.

 

 

이전 인코더와의 차이점

denoising auto-encoder와 달리 전체 입력을 재구성하지 않는다는 것 입니다. denoising auto-encoder는 입력에 노이즈를 추가하여 입력을 재구성하지만 MLM은 입력을 재구성하지 않고 masking만 하기 때문입니다.

 

masking 방식은 bidirectional pre-trained model을 얻을 수 있게 해주지만  pre-training과 fine-tuning 사이에 mismatch가 발생한다는 것입니다. fine-tuning 동안 MASK 토큰이 나타나지 않기 때문입니다.

 

이를 완화하기 위해 논문에서는 다음과 같은 해결책을 제시한다. (토큰 중 15% masking을 임의로 합니다.)

  1.  80%의 확률로 [MASK] 토큰으로 대체합니다.                                       ex) my dog is hairy -> my dog is [MASK]
  2.  10%의 확률로 무작위 토큰(MASK토큰을 제외한 토큰)으로 대체합니다. ex) my dog is hairy -> my dog is tall
  3.  10%의 확률로 대체하지 않은채로 토큰을 사용합니다.                             ex) my dog is hairy -> my dog is hairy

이후, cross entropy loss를 통해 원래의 토큰을 예측합니다. 밑에 그림은 절차에 대한 변형을 비교합니다.

그림 4

80% 10% 10% 가 근소하지만 가장 좋은 결과를 얻을 것을 확인할 수 있습니다.

 

Task #2 : Next Sentence Prediction(NSP)

많은 NLP 작업은 질문응답(QA)와 자연어 추론(NLI) 와 같은 downstream task 두 문장 사이의 관계를 이해하는 것이 핵심이며, 언어 모델링으로는 직접 포착되지 않습니다. 이를 위해 BERT는 binarized NSP를 통해 훈련합니다. 

 

훈련과정(pre-training)

  • 문장 A와 B를 선택할 때, 50%확률로 B는 A의 다음문장(IsNext)이며 나머지 50%는 다음 문장(NotNext)이 아닙니다.
  • 이후 그림 1에서 C는 IsNext와 NotNext에 대해 판단을 하며 다음 문장 예측에 사용됩니다.
  • 학습은 C에서 Label을 통해 학습합니다.

 

3.2 Fine-tuning BERT


Fine-tuning 과정은 간단하게 진행할 수 있다. Transformer의 self-attention 매커니즘으로 BERT의 downstream taske를 모델링 할 수 있도록 해주기 때문입니다. (단일 텍스트와 텍스트 페어와 상관 없음)

 

각각의 task 마다 task-specfic input과 ouput을 통해 BERT의 parameter들을 처음부터 끝까지 fine-tuning 할 수 있게 됩니다.

1. sentence pairs in paraphrasing (문장 재구성에서의 문장 쌍)

2. hypothesis-premise pairs in entailment (추론에서의 가설-전제 쌍)

3. questing-passage paris in question answering (질문 응답에서의 질문과 답변)

4. degenerate text-none pair in text classification or sequence tagging (텍스트 분류 및 시퀀스 태깅에서의 텍스트-해당하는 답변에 대한 쌍)

 

출력 레이어에서, token-level은 sequence tagging or Question Answering 와 같은 출력입니다.

CLS 는 추론 및 감정 분석과 같은 분류를 위한 것입니다.

 

fine-tuning은 pre-training에 비해 상대적으로 시간이 저렴합니다. 논문에서 모든 결과는 TPU에서 1시간, GPU에서는 몇 시간 이내에 사전 훈련이 끝납니다.

 

다음 내용은 다음 포스팅에서 이어서 하겠습니다.