* 간단한 요약
language-modeling objective로는 high-level reasoning에 어려움 존재함
→ 이에 따라, 기존 LM은 numerical reasoning에 limited flexibility인 specialized architecture를 사용했음
본 논문에서는
-
numerical reasoning이 automatic data generation에 적합함을 보임
→ 이 skill을 LM에 적용함 : 2가지의 pre-training을 추가함으로서 automatic data generation skill을 end-to-end로 model에 직접 주입
- pre-training 1) Generating Numerical Data(ND)로 학습시킴
- pre-training 2) Generating Textual Data(TD)로 학습시킴
-
이렇게 생성된 data로 사전훈련한 모델인 GENBERT를 제시
→ ND, TD, ND+TD에서 GENBERT가 ND와 TD 모두에 대한 올바른 솔루션을 예측함
→ 즉, pre-trained LM이 generative data에서 designing skill을 학습할 수 있음
- GENBERT는 DROP dataset에서의 성능 매우 향상 (49.3 → 72.3 F1)
- GENBERT는 simple and general-purpose encoder-decoder architecture를 가짐
- GENBERT는 math word problem dataset에 대해 높은 성능의 RC 가능함
-
Our approach provides a general recipe for injecting skills into large pre-trained LMs, whenever the skill is amenable to automatic data augmentation.
1. Introduction
- GENBERT 제안함
-
reasoning이 automatic data generation에 적합하다고 제안하며,
2가지의 pre-training을 추가함으로서 automatic data generation skill을 end-to-end로 model에 직접 주입함
1) First, we generate numerical data of the form 3 + 4 + 11 = 18.
- 모델은 토큰에서 숫자 값을 계산하고 숫자 연산을 수행하도록 학습됨
2) Second, we automatically generate question-passage pairs that require numerical reasoning using a compact grammar (textual data).
- 모델은 pseudo-natural language로 표현된 계산을 이해할 수 있도록 학습됨
-
이러한 pre-training이 끝나면, model은 다른 specialized architecture없이도 target numerical reasoning dataset에서 fine tuning될 language and numerical skills을 갖게됨
-
- 다음과 같은 실험을 통해 검증함
- GENBERT는 numerical reasoning을 위한 pre-training task를 해결할 수 있음
- pre-training은 GENBERT에게
- DROP에서 비슷한 크기의 SOTA model과 일치하는 성능에 도달할 수 있는 기술을 제공함
- math word problem(MWP) 데이터셋으로로 generalize할 수 있는 능력을 제공함
- SQuAD에서 높은 점수 & numerical reasoning도 잘함
- GENBERT’s weights로 numerical reasoning model을 initialize하면 성능이 향상됨
- contibution
- A method for injecting skills into pre-trained LMs, given that automatic data generation is possible.
- GENBERT, an architecture for pre-trained LM with generative and extractive abilities.
- A framework for generating numerical and textual synthetic data for numerical reasoning.
2. Numerical Reasoning Over Text (NRoT)
- RC의 task 중 하나임
- context의 entity와 number를 사용하여 numerical computation을 내부적으로 수행해야 함
-
answer 는 아래 둘 중 하나임
(a) a span (or list of spans) from the context c or question q
(b) a number that is the result of some computation
-
아래와 같은 접근방식으로 NRoT를 해결함
(a) A symbolic approach: 모델은 질문과 컨텍스트를 읽고 숫자 표현을 출력하고 외부 기호 계산기로 답을 평가
→ 아래와 같은 단점
- First, because numerical expressions are discrete and their space grows combinatorially, the model must learn to search in this space using non-differentiable operations, which are usually difficult to optimize.
- Second, numerical expressions are limited to numerical answers, while in DROP often a numerical computation is required but the final answer is a text span.
(b) A distributed approach: 모델이 주어진 (q, c) 답을 직접 생성하도록 함
-
기존의 모델들은, limited set of numerical computations을 위한 specialized modules를 사용함으로서 standard extractive QA model을 보강했음
→ 그러나 이 경우 “How many total yards did Phil Dawson throw for touch-downs?”은 잘 대답하지만 “Who threw 45 total yards for touchdowns?”은 잘 대답 못함 ..
→ 이런 부분을 잘 대답하는 모델이 필요함
- Motivated by the above arguments, we wish to push the frontier of end-to-end differentiable models for numerical reasoning. Thus, we will automatically generate large amounts of data that endow a pre-trained LM with numerical skills.
3. GENBERT; A Bert-based Model for Generating Arbitary Outputs
-
BERT-base의 모델임
- numeric data에 대한 pre-training을 개선하기 위해, 다음과 같은 추가 수정 수행
- Digit Tokenization (DT): tokenizing numbers digit-by-digit
- Random Shift (RS) ; 기존 모델은 숫자가 input의 시작 부분에 있는 경우에만 잠재적으로 over-fit되고, 숫자 추론을 수행하는 방법을 학습할 수 있음. 이를 방지하기 위해 입력 길이 n1 +n2 +3<512일 때 모든 위치 ID를 (0,1,…,512−(n1 +n2 +3))의 임의의 정수만큼 이동
- we initialize GENBERT with BERT and fine-tune it on DROP.
- numeric data에 대한 pre-training을 개선하기 위해, 다음과 같은 추가 수정 수행
4. Pre-training Tasks for Numerical Skills
두가지의 automatically-generated dataset 설명 & multi-task training procedure 설명
4.1. Generating Numerical Data(ND)
- 토큰으로 표현되는 숫자 값을 학습하고 숫자 연산을 계산하는 데 중점을 두는 dataset
- textual content 포함하지 않음
-
수치 연산에 해당하는 6개의 template 만듦
→ DROP을 기반으로 만들어졌지만, 다른 numerical operation으로 쉽게 확장 가능
4.2. Generating Textual Data(TD)
-
NRoT task를 수행하려면, textual content(entity, event, quantity 등)로부터 표현되는 numerical operation를 이해해야 함
→ 이를 위해,
에서의 framework를 사용함 - framework에서, a world state consists of entities, which are objects that are being counted, and containers, which are objects that own entities. Sentences use verb categories to describe how the number of entities in a container changes, and thus a world state can be updated given a sentence.
-
TD에서는 이 framework를 사용해서 generating data ;
container가 소유한 entity 수의 변경 사항을 설명하는 template을 추출하고 이러한 template에서 question-context 쌍을 자동으로 생성합니다.
- Question generation
- Passage generation
- Template extraction
4.3. Traning GENBERT on Synthetic Data
For pre-training on ND, we generated 1M examples for training and 10K for validation.
For TD, we generated 2.5M examples for training and 10K for validation.
→ 이들을 GENBERT로 학습시킴
5. Experimental Evaluation
5.1. Pre-training Performance
ND, TD, ND+TD에서 GENBERT가 ND와 TD 모두에 대한 올바른 솔루션을 예측함
→ 실제로 pre-trained LM이 generative data에서 designing skill을 학습할 수 있음
5.2. Numerical Reasoning Performance
5.3. Reading Comprehension Performance
우리는 SQuAD도 잘해 ~~~
5.4. GENBERT with Other Architectures
- we have empirically shown that one can inject numerical reasoning skills into a pre-trained LM, resulting in good performance on DROP, generalization to MWP, while maintaining high performance on standard RC datasets. Moreover, the resulting weights can be used for initializing numerical reasoning models.