Language Models are General-Purpose Interfaces
이 논문은 다양한 foundation model들을 위한 범용 인터페이스(general-purpose interface)로서 language model을 사용하는 MetaLM을 제안합니다. MetaLM은 semi-causal language modeling이라는 새로운 학습 목표를 통해, causal language model의 장점(in-context learning, open-ended generation)과 non-causal encoder의 장점(우수한 finetuning 성능)을 결합합니다. 이를 통해 여러 modality(vision, language)의 pretrained encoder들을 하나의 범용 task layer에 연결하여, finetuning, zero-shot, few-shot 학습 등 다양한 시나리오에서 높은 성능을 달성합니다. 논문 제목: Language Models are General-Purpose Interfaces
Hao, Yaru, et al. "Language models are general-purpose interfaces." arXiv preprint arXiv:2206.06336 (2022).
Language Models are General-Purpose Interfaces
Abstract
Foundation model은 다양한 다운스트림 애플리케이션 전반에 걸쳐 그 효과성으로 인해 많은 주목을 받아왔다. 아키텍처 측면에서는 큰 수렴이 이루어졌지만, 대부분의 사전학습된 모델은 일반적으로 여전히 특정 task나 modality를 위해 개발된다. 본 연구에서는 language model을 다양한 foundation model에 대한 범용 인터페이스로 활용할 것을 제안한다. 사전학습된 encoder들의 컬렉션은 다양한 modality(예: vision, language)를 인지하며, 이들은 범용 task layer의 역할을 하는 language model과 결합한다. 우리는 인터페이스와 모듈형 encoder를 공동으로 사전학습하기 위한 semi-causal language modeling objective를 제안한다. 이 방법은 causal modeling과 non-causal modeling의 장점과 능력을 모두 포괄하여, 두 가지 방식의 장점을 결합한다. 구체적으로, 제안된 방법은 causal language modeling으로부터 in-context learning 및 open-ended generation 능력을 계승할 뿐만 아니라, bidirectional encoder 덕분에 fine-tuning에도 유리하다. 더 중요한 것은, 우리의 접근 방식이 위에서 언급된 능력들의 조합을 원활하게 가능하게 한다는 점이다. 예를 들어, fine-tuned encoder를 사용하여 in-context learning 또는 instruction following을 가능하게 한다. 다양한 language-only 및 vision-language 벤치마크에 걸친 실험 결과는 우리 모델이 fine-tuning, zero-shot generalization, few-shot learning에서 전문 모델보다 우수하거나 경쟁력 있는 성능을 보임을 보여준다.
Figure 1: 다양한 foundation model에 대한 범용 인터페이스로서의 language model.
1 Introduction: Design Principles
범용 task layer로서의 Language Model.
대규모 language model은 언어 task뿐만 아니라 vision 및 multimodal task를 위한 범용 인터페이스 역할을 한다. Language model은 open-ended 출력 공간을 가지므로, 광범위한 task에 일반화될 수 있다. 예측 결과를 자연어로 설명할 수 있는 한, 다운스트림 task는 language model 기반의 task layer에 적합하게 구성될 수 있다. 다양한 예측 결과를 자유 형식 텍스트 시퀀스로 변환하는 것은 자연스러운 접근 방식이다 (Raffel et al., 2020). 예를 들어, 분류 및 질문 응답 task의 경우, 타겟 레이블과 답변을 각각 텍스트로 변환할 수 있다. 또한, 범용 task layer의 도움으로 예측 과정은 단일 턴(single turn)을 넘어설 수 있다. 즉, 이전 대화 기록(history context)을 조건으로 하여 language model 기반의 multi-turn dialogue 인터페이스를 구축할 수 있다. 이러한 다양한 task의 통합은 표현, 변환, 표현 방식을 공유 모듈로 통합하는 범용 AI에 중요하다.
Causal language modeling (즉, unidirectional decoder)은 zero-shot generalization 및 in-context learning에 기여한다.
GPT-3 (Brown et al., 2020)는 causal language model pretraining에서 흥미로운 특성들이 나타남을 보여주었다. Causal language modeling은 다른 방식들(예: masked language modeling)에 비해 유리한 sample efficiency와 inductive bias (Wang et al., 2022b)를 가지므로 (즉, 모든 토큰이 예측을 수행하고 supervision 신호를 생성함), causal language modeling을 통해 모델에 원하는 속성을 부여하는 것이 효과적이다.
Zero-shot 및 few-shot learning 능력은 범용 task layer가 되기 위해 필수적이다. Zero-shot generalization은 language model이 대규모 텍스트 코퍼스를 읽으면서 방대한 양의 세계 지식 (Dai et al., 2021)과 패턴을 학습했음을 나타낸다. 이렇게 기억된 정보는 광범위한 최종 task를 위한 재사용 가능한 배경 지식 및 기본 기술로 활용될 수 있다.
또한, in-context learning은 사전학습되거나 fine-tuning된 모델을 새로운 시나리오에 쉽게 적응시킬 수 있게 한다. 예를 들어, task instruction (Ouyang et al., 2022)을 사용하여 모델의 목적을 변경하거나, 일부 예시의 demonstration을 사용하여 few-shot learning을 수행할 수 있다.
Non-causal modeling (즉, bidirectional encoder)은 task, 언어, modality 간의 transfer에 기여한다.
Causal language model이 zero-shot 및 few-shot generalization에 능숙하지만, BERT (Devlin et al., 2019)와 T5 (Raffel et al., 2020)는 masked language modeling으로 사전학습된 bidirectional encoder가 훨씬 더 나은 fine-tuning 성능을 달성함을 보여준다. 전체 입력이 주어졌을 때, non-causal modeling은 데이터를 인코딩하는 데 매우 합리적이다. 왜냐하면 모든 context가 서로 접근할 수 있는 반면, causal modeling은 history token만 순차적으로 활용할 수 있기 때문이다. Fine-tuning의 이점은 많은 annotated data가 사용 가능한 데이터 풍부(data-rich) 환경에서 유용하다. 또한, masked language modeling objective로 사전학습된 non-causal encoder는 cross-lingual transfer (Conneau et al., 2020)에서 경쟁력 있는 성능을 달성하여, 모델을 다국어(multilingual) 환경에 적응시키는 데 효과적이다.
Meta-pretraining task로서의 Semi-causal language modeling.
Semi-causal language modeling은 non-causal encoder와 causal language model을 연결하는 역할을 한다. 이는 사전학습된 encoder의 범용 인터페이스 사전학습이라는 의미에서 meta task이다. 구체적으로, non-causal encoder는 다양한 입력 데이터를 표현하는 방법을 학습하고, causal language model은 범용 task layer 역할을 한다. Non-causal encoder는 causal language model과 연결되어, 위에서 설명한 두 가지 모델링 방법의 이점을 모두 활용할 수 있다. 이전의 encoder-decoder pretraining (예: prefix language modeling, T5; Raffel et al. 2020)과 비교할 때, 우리의 task는 전체 시퀀스의 임의의 span을 non-causal하게 인코딩하고, 나머지는 causal language modeling을 통해 생성한다. 또한, 아키텍처 측면에서 우리는 cross attention (Vaswani et al., 2017)에 의존하지 않고 bidirectional encoder의 출력을 causal decoder에 직접 입력한다. 게다가, 여러 bidirectional encoder를 causal language model에 연결할 수 있지만, encoder-decoder 아키텍처는 일반적으로 하나의 encoder만 가진다.
System 1으로서의 Non-causal encoder, System 2로서의 Causal language model.
인지(cognition)는 일반적으로 두 가지 수준으로 분류된다 (Kahneman, 2011; Bengio, 2019): **System 1 (즉, 직관적이고 무의식적)**과 System 2 (즉, 순차적, 의식적, 계획, 추론). 제안된 프레임워크에서 이 모듈들은 각각 이 두 수준의 구현으로 간주될 수 있다. 구체적으로, BERT (Devlin et al., 2019) 및 BEiT (Bao et al., 2022)와 같이 masked data modeling으로 사전학습된 non-causal encoder는 다양한 입력 modality를 인코딩하는 지각(perception) layer로 사용된다. 이 인코딩 모듈은 System 1으로 볼 수 있다. 입력 표현을 얻은 후, 우리는
Figure 2: MetaLM 개요. Semi-causal language model은 범용 인터페이스 역할을 하며 다양한 foundation model과의 상호작용을 지원한다.
이를 causal language model에 입력하는데, 이 모델은 상식 추론 (Chowdhery et al., 2022) 및 계획 (Huang et al., 2022)에서 유망한 성능을 보여주었다. 이 범용 task layer는 우리 방법에서 System 2의 역할을 하도록 설계되었다.
사용자와 사전학습 모델 간의 자연어 인터페이스.
Causal language modeling 기반의 범용 task layer는 사용자가 자연어를 사용하여 사전학습된 non-causal encoder와 상호작용할 수 있도록 한다.
첫째, 언어는 기저의 사전학습되거나 fine-tuning된 모델을 위한 프로그래밍 언어로 사용될 수 있으며, 이는 범용 인터페이스에 의해 컴파일된다. 예를 들어, 텍스트 기반 지시 (Ouyang et al., 2022) 및 설명 (Wei et al., 2022)을 작성하여 모델의 동작을 재구성하고 안내할 수 있다.
둘째, 범용 인터페이스는 모델이 자유 형식 텍스트를 사용하여 결과를 제시할 수 있도록 하여, 예측을 직접적으로 이해하고 설명 가능하게 만든다.
셋째, 제안된 프레임워크는 multi-turn 대화형 상호작용을 기본적으로 지원한다. 각 턴에서 인코딩된 입력을 인터페이스 layer에 공급한 다음, semi-causal 방식으로 응답 결과를 생성할 수 있다.
2 MetaLM: Meta Language Model
Section 1의 설계 원칙에 따라, 우리는 다양한 foundation model과의 상호작용을 지원하는 범용 인터페이스 역할을 하는 **semicausal language model인 Meta Language Model (MetaLM)**을 제시한다. 우리 프레임워크의 개요는 Figure 2에 나타나 있다. 구체적으로, 다양한 modality를 인지하는 사전학습된 encoder들의 집합이 language model과 연결된다. 이 language model은 **범용 task layer (즉, 범용 인터페이스)**로 간주되며, 다양한 task를 자유 형식 텍스트 생성으로 통합한다.
MetaLM을 사전학습하기 위해, 우리는 모듈들을 공동으로 학습시키기 위한 semicausal language modeling task를 제안한다. MetaLM은 두 가지 영역(language model과 foundation model)의 장점과 능력을 모두 포함한다. language model로부터 MetaLM은 in-context learning, multi-turn interaction, open-ended generation 능력을 계승한다. 또한, 기반이 되는 foundation model들은 bidirectional modeling (Wang et al., 2022b) 덕분에 fine-tuning에 유리하다.
2.1 Input Representation
MetalM의 입력 표현은 두 가지 범주로 나뉜다. 첫 번째 유형은 기저 인코더(underlying encoder)에 의해 얻어진 contextualized representation이며, 이후 커넥터 레이어(connector layer)에 의해 투영(project)된다. 예를 들어, Figure 2에서 보여지듯이, 이미지 패치와 은 bidirectional vision-language encoder에 의해 인코딩된다. 두 번째 범주는 Figure 2의 와 같은 텍스트의 token embedding이다. 이 두 범주의 표현들은 positional embedding과 합산된 후 general-purpose interface에 입력된다.
Figure 3: 다양한 Language Model (LM) 변형 간의 비교:
(a) causal LM (unidirectional decoder 포함) (Brown et al., 2020);
(b) prefix LM (encoder-decoder 아키텍처 포함) (Raffel et al., 2020);
(c) non-causal LM (bidirectional encoder 포함) (Devlin et al., 2019);
(d) 본 연구에서 제안하는 semi-causal LM.
2.2 Model Architecture
Figure 3에서 보여주듯이, 우리는 세 가지 language model variant와 제안하는 semi-causal language model의 모델 아키텍처를 요약한다.
첫째, causal language model (예: GPT; Brown et al. 2020)은 left-to-right Transformer decoder이다.
둘째, prefix language model은 cross-attention 연결을 가진 encoder-decoder 아키텍처를 사용하여 시퀀스를 완성한다.
셋째, non-causal language model은 양방향(bidirectional) encoder이며, 일반적으로 masked language modeling (Devlin et al., 2019)으로 사전학습된다.
넷째, 제안하는 semi-causal language model은 단방향(unidirectional) Transformer decoder와 decoder에 연결되는 여러 양방향 encoder를 가진다. 즉, 우리 모델은 전체 세션을 left-to-right로 처리하면서도, 일부 span은 non-causal encoder에 의해 사전 인코딩된다.
Backbone Network
우리는 Transformer (Vaswani et al., 2017)를 사용하여 모델을 구축한다. 입력 시퀀스가 주어지면, 먼저 벡터 표현들을 함께 묶는다. 그런 다음 이 벡터들을 다층 Transformer에 입력하여, 입력을 contextualized representation으로 인코딩한다. 각 Transformer 블록에는 multi-head self-attention layer와 feed-forward network layer가 있으며, 이들은 이전 layer의 hidden state를 통합하는 데 사용된다. 또한, attention mask는 컨텍스트 접근을 제어하는 데 사용된다. 우리는 universal task layer에 대해 삼각 행렬(triangular matrix)을 attention mask로 사용하여, 입력을 left-to-right로 처리하도록 한다. 양방향 encoder의 경우, 모든 토큰이 서로에게 접근할 수 있도록 허용한다. universal task layer의 출력 벡터를 얻은 후, softmax classifier를 사용하여 어휘(vocabulary)에 대한 예측을 수행한다. 이때 가중치 행렬은 입력 토큰 임베딩과 공유된다.
Connector
Figure 2에서 보여주듯이, universal task layer와 다양한 양방향 encoder 사이에 connector layer가 존재한다. 이 connector는 **양방향 encoder의 벡터 표현을 일반적인 목적의 인터페이스에 입력하기 전에 투영(project)**한다. 또한, connector는 foundation model의 출력 차원을 universal task layer의 차원과 일치시키는 데 사용된다. 우리는 실험적으로 linear projection과 feed-forward network 모두 좋은 성능을 보인다는 것을 확인했다.
2.3 Proposed Objective: Semi-Causal Language Modeling
MetaLM을 사전학습하기 위해 우리는 semi-causal language modeling objective를 도입한다. Figure 2에서 보듯이, 우리의 사전학습 task는 시퀀스의 토큰들을 autoregressive하게 생성하며, 이때 일부 span은 bidirectional encoder에 의해 표현된다.
입력 시퀀스 가 주어졌을 때, 우리는 개의 non-causal span이 로 표현된다고 가정한다. 여기서 이다. 각 non-causal span 에 대해 우리는 bidirectional encoder를 사용하여 해당 span의 벡터 표현 를 얻는다. bidirectional encoder의 선택은 non-causal span의 modality에 따라 달라진다.
이때 semi-causal language modeling objective는 다음과 같이 공식화된다:
여기서 이며, 이다. 각 non-causal span의 다음 토큰은 해당 span의 마지막 위치에서 생성된다는 점에 유의해야 한다. 일반적으로 non-causal span의 개수와 위치는 무작위로 샘플링된다. 이 span들은 서로 겹치지 않는다.
제안된 objective를 활용하여 우리는 범용 인터페이스(general-purpose interface)와 기반 foundational model을 함께 사전학습하고, 이들을 원활하게 연결한다. 우리는 language-only (Section 3) 및 vision-language (Section 4) 설정 모두에 대해 MetaLM을 사전학습한다.
2.4 Capabilities on Downstream Tasks
In-Context Learning
MetaLM은 어떠한 파라미터도 업데이트하지 않고, 자연어 지시(natural language instructions) 또는 여러 입력-출력 쌍(즉, demonstration) 에 조건을 부여하여 새로운 task에 적응할 수 있다.
먼저 -shot learning의 사용법을 설명한다. 각 demonstration 입력에 대해 양방향 인코딩(bidirectional encoding) 을 수행한다. 그런 다음 인코딩된 벡터와 레이블을 범용 인터페이스(general-purpose interface) 에 입력한다. 주어진 demonstration에 조건을 부여함으로써, MetaLM은 보지 못한 예시의 목표 출력을 예측한다.
Zero-shot generalization의 경우, 일반적으로 task를 설명하는 데 사용되는 prompt와 함께 테스트 입력만 존재한다. 우리는 task 지시와 함께 예시를 양방향 인코더에 입력한다. 목표 출력은 범용 task layer에 의해 생성된다.
Finetuning
Finetuning은 다운스트림 task에 대한 많은 annotated example이 있을 때 특히 유용하다. 우리는 다양한 task를 open-ended 생성 형식, 즉 목표가 자유 텍스트로 변환되는 형식으로 통합한다. Finetuning 동안 MetaLM은 양방향으로 인코딩된 입력에 조건을 부여하여 목표 출력을 생성하는 방법을 학습한다. Causal language model과 비교하여 MetaLM은 양방향 인코더의 뛰어난 finetuning 능력을 계승한다.
In-Context Customization
일반적인 사용법은 먼저 대량의 데이터로 모델을 finetuning한 다음, in-context learning을 사용하여 finetuned 모델을 사용자 정의(customize) 하는 것이다. 따라서 우리는 labeled 데이터의 지식을 새로운 task로 쉽게 전이할 수 있다. 우리는 causal 및 non-causal 모델링의 장점을 모두 포함하므로, MetaLM은 이러한 능력의 조합, 즉 non-causal 모델링의 우수한 finetuning 성능과 causal 모델링의 in-context learning 능력을 활용할 수 있다.
Multimodal Multi-Turn Interaction
MetaLM은 사용자와 사전학습된 모델 간의 다중 턴 상호작용(multi-turn interactions) 을 지원한다. 각 턴에서 non-causal 모듈은 해당 사전학습된 인코더를 사용하여 멀티모달 콘텐츠를 수용하는 사용자 입력을 인코딩한다. 출력 응답은 범용 인터페이스에 의해 생성된다. MetaLM은 과거 대화 기록에 조건을 부여함으로써 대화형 인터페이스(conversational interface) 로 자연스럽게 작동한다. 또한, 대화는 일반 텍스트 대신 여러 모달리티를 포함할 수 있다.
3 Experiments on Language-Only Tasks
우리는 먼저 Metalm의 다재다능함과 효과를 입증하기 위해 언어 전용 데이터셋으로 실험을 수행한다. 여기서 non-causal encoder는 사전학습된 language foundation model이며, 이는 universal task layer와 연결된다. 이러한 흥미로운 능력은 사전학습(pretraining)을 통해 발현되며, 이를 통해 범용적인 인터페이스가 다양한 task와 시나리오에 걸쳐 전이(transfer)될 수 있도록 한다.
3.1 Evaluation Settings
Table 1에서 언어 전용 평가 설정에 대해 자세히 설명한다. 우리는 MetalM의 다양한 능력을 보여주는데, 여기에는 multitask finetuning (Section 3.3), single-task finetuning (Section 3.4), instruction tuning (Section 3.5), in-context learning (Section 3.6) 등이 포함된다. 이러한 능력들은 task에 구애받지 않고(task-agnostic) 광범위하게 이해, 생성, 상호작용에 적용 가능하며, 이는 기술 적응 및 사용자와의 소통을 용이하게 한다. 또한, multitask finetuning 및 instruction tuning의 평가 설정은 finetuning과 in-context learning의 능력 조합을 기반으로 자연스럽게 구축된다. 더불어, 모든 task가 자유 텍스트 형식으로 통일되어 있기 때문에, 동일한 인터페이스를 사용하여 다양한 다운스트림 task를 처리할 수 있다.
| Evaluation Setting | Capability |
|---|---|
| Multitask Finetuning | Perform a wide range of tasks competitively. |
| Single-Task Finetuning | Tackle individual tasks with remarkable performance. |
| Instruction Tuning | Zero-shot generalization after finetuning with instructions. |
| Zero-/Few-Shot Learning | Adapt to a new task given zero/few labeled examples. |
Table 1: 언어 전용 MetaLM의 평가 설정 요약. 각 설정은 MetalM의 필수적인 능력을 강조한다.
Figure 4: MetaLM은 다양한 언어 전용 시나리오에 적용될 수 있다: (a) multitask finetuning 및 instruction tuning, 즉 다양한 task를 open-ended 방식으로 동시에 수행한다. (b) multi-turn dialogue, 즉 사용자의 인코딩된 입력에 따라 multi-turn 응답을 생성한다. (c) zero-shot priming, 예: 자연어 질문 응답. (d) few-shot learning, 예: 감성 분석.
Figure 4는 우리 모델을 다양한 시나리오에 적용하는 방법을 보여준다. 일반적으로 입력 예시와 지시(instruction)는 non-causal language encoder에 입력되고, 목표 출력은 universal task layer에서 생성된다. 또한, 예측은 open-ended 방식으로 생성된다.
3.2 Pretraining Setup
우리는 language model에 sinusoidal position embedding (Vaswani et al., 2017)을 사용한다. layer 수는 이며, 각 layer는 개의 attention head와 의 hidden dimension으로 구성된다. 파라미터 수는 약 1.3B이다. non-causal 부분에는 encoder-only Transformer를 사용하며, 로 설정한다. non-causal 모델에는 학습 가능한 position embedding과 relative position bias (Raffel et al., 2020)를 활용한다. 파라미터 수는 약 366M이다. Transformer에는 DeepNorm (Wang et al., 2022a)을 사용한다. connector 모듈은 구현상 linear projection layer이다.
non-causal 및 semi-causal 모델의 최대 입력 길이는 각각 512와 2048이다. 우리는 길이가 64에서 128 사이인 임의의 span을 무작위로 샘플링하여 non-causal 부분에 입력한다. non-causal span의 총 길이는 원본 시퀀스 길이의 25%이다. span은 문서 경계를 넘지 않는다. 우리는 semi-causal language model을 scratch부터 사전학습한다. non-causal 모듈은 replaced token detection task (Clark et al., 2020)를 사용하여 사전학습된 bidirectional encoder로 초기화된다. 사전학습 중, non-causal encoder의 마지막 두 layer를 제외한 모든 파라미터를 고정(freeze)한다. MetaLM은 1024의 배치 크기로 300k 스텝 동안 사전학습하며, 최적화에는 Adam (Kingma and Ba, 2015)을 사용한다. semi-causal 모델의 dropout은 비활성화하고, non-causal 모델의 dropout rate는 0.1로 설정한다. warm-up과 함께 의 learning rate를 사용한다. 더 자세한 사전학습 내용은 Appendix A.1을 참조하라.
우리는 Pile (Gao et al., 2021) 데이터셋으로 모델을 사전학습한다. Pile은 다양한 데이터 소스로부터 구축된 대규모 영어 텍스트 데이터셋으로, 대규모 language model 학습을 목표로 한다. GitHub, arXiv, PubMed Central 데이터 분할은 제외한다. Pile에 대한 자세한 설명은 Appendix B.1을 참조하라. 사전학습 데이터는 SentencePiece (Kudo and Richardson, 2018)로 토큰화된다. 입력은 "full-sentence" 형식 (Liu et al., 2019b)으로 구성된다. 즉, 각 입력 시퀀스는 하나 이상의 문서에서 연속적으로 샘플링된 전체 문장들로 채워진다. 또한, 입력 구성에 세 가지 특수 토큰을 도입한다: <s>는 시퀀스의 시작을, </s>는 단락의 끝을, </d>는 문서의 끝을 나타낸다.
3.3 Multitask Finetuning
우리는 먼저 멀티태스크 fine-tuning 설정에서 Metalm을 평가한다. 구체적으로, 우리는 광범위한 task들을 open-ended 생성 방식으로 통합하여, task-specific 아키텍처 없이도 universal task layer로 처리될 수 있도록 한다. Figure 4(a)는 Metalm이 멀티태스크 fine-tuning을 처리하는 방식의 예시를 보여준다. Fine-tuning 동안, 우리는 학습 예시를 무작위로 샘플링하고 입력을 bidirectional language encoder에 공급한다. Fine-tuning 목표는 인터페이스에서 생성된 올바른 레이블의 likelihood를 최대화하는 것이다.
우리는 34개의 NLP 데이터셋 혼합에 대해 실험을 수행했으며 (자세한 내용은 Appendix B.2 참조), 이들은 10개의 task 클러스터로 그룹화되어 있다. 여기에는 언어 이해 task와 생성 task가 모두 포함된다:
- Natural Language Inference: ANLI (R1-R3), CB, MNLI, QNLI, RTE, SNLI, WNLI
- Sentiment Classification: IMDB, SST-2, Sentiment140, Yelp
- Paraphrase Detection: QQP, MRPC, Paws Wiki
- Coreference Resolution: DPR, Winogrande, WSC
- Commonsense Reasoning: HellaSwag, PiQA, COPA
- Reading Comprehension: DROP, SQuADv1, SQuADv2, OBQA, BoolQ
- Miscellaneous: CoLA, WiC, TREC
- Closed-Book QA: ARC-easy, NQ
- Struct to Text: CommonGen, E2ENLG
- Summarization: AESLC, SamSum, XSum
3.3.1 Evaluation Setup
MetaLM은 언급된 모든 데이터셋의 혼합으로 fine-tuning된다. 우리는 각 데이터셋의 최대 학습 예시 수를 30k로 제한한다. 우리는 (Wei et al., 2021)에서 사용된 prompt를 따른다. 만약 데이터셋이 multi-choice task인 경우, 가능한 모든 옵션이 템플릿에 제공된다. 예를 들어, 감성 분류 데이터셋의 예시 입력 형식은 다음과 같다: "<s> Would the following phrase be considered positive or negative? </s> [text] </s> OPTIONS: </s> Positive </s> Negative </s> TARGET:". 모델은 Positive 또는 Negative를 생성하여 감성을 결정한다.
| Task Cluster | GPT | MetaLM | |
|---|---|---|---|
| Natural Language Inference | 65.0 | 79.1 | |
| Sentiment | 92.9 | 94.6 | |
| Paraphrase | 83.9 | 89.6 | |
| NLU | Coreference | 67.1 | 84.3 |
| Commonsense Reasoning | 63.3 | 84.2 | |
| Reading Comprehension | 64.5 | 73.1 | |
| Miscellaneous | 80.3 | 84.3 | |
| Closed-Book QA | 38.2 | 44.3 | |
| NLG | Struct to Text | 44.2 | 44.1 |
| Summarization | 29.8 | 31.0 |
Table 2: MetaLM과 GPT 간의 멀티태스크 fine-tuning 성능 비교. fine-tuning 시 각 데이터셋의 학습 예시 수는 30k로 제한된다. 각 task cluster에 대해, 해당 cluster 내의 모든 하위 데이터셋에 대한 평균 결과를 제시한다. 모든 결과는 validation set에서 보고된다.
Figure 5: MetaLM과 GPT 간의 멀티태스크 fine-tuning 결과 점수 차이. MetaLM이 struct to text cluster를 제외한 모든 task에서 일관된 개선을 달성함을 관찰할 수 있다.
우리는 MetaLM을 batch size 256으로 20k step 동안 fine-tuning한다. 입력 및 답변 token의 총 길이는 2048로 제한된다. (Raffel et al., 2020)을 따라, 우리는 여러 학습 예시를 하나의 시퀀스로 묶어 연산의 batch-friendly하게 만든다. learning rate는 ****로 설정된다. 더 자세한 내용은 Appendix A.2를 참조하라.
multi-choice task의 경우, decoding 제약 없이 exact match score를 보고한다. SQuAD, DROP, closed-book QA 데이터셋의 경우, greedy decoding을 사용하여 F1 score를 보고한다. struct2text 및 summarization cluster를 평가할 때는 **beam size 4, length penalty **인 **beam search (Sutskever et al., 2014)**를 사용한다. 위 두 cluster에 대해서는 ROUGE score를 보고한다.
3.3.2 Results
Table 2는 METALM과 GPT의 멀티태스크 fine-tuning 결과를 비교한다. GPT baseline은 공정한 비교를 위해 동일한 설정과 학습 코퍼스를 따른다. 각 결과는 하나의 task cluster에 속하는 모든 데이터셋의 평균 점수를 나타낸다. 모든 task cluster의 전체 결과는 Appendix C에 보고되어 있다. 또한, Figure 5에서는 모든 데이터셋에 대한 METALM과 GPT의 점수 차이를 보여준다.
우리는 METALM이 거의 모든 task cluster에서 GPT를 큰 폭으로 일관되게 능가한다는 것을 관찰한다. 이 결과는 우리 방법이 non-causal encoder로부터 뛰어난 fine-tuning 능력을 계승했음을 시사한다. 특히, METALM은 NLU task에서 GPT보다 훨씬 더 좋은 성능을 보인다. 이는 non-causal modeling이 fine-tuning에 유리하다는 점을 부분적으로 확인시켜준다 (Wang et al., 2022b; Tay et al., 2022; Artetxe et al., 2022). **자연어 추론(natural language inference) 및 독해(reading comprehension)**와 같은 더 어려운 task에서는 METALM의 개선이 매우 두드러진다 ( 및 ). 또한, 우리는 GPT의 fine-tuning이 상식 추론(commonsense reasoning) task에서 상대적으로 작은 이득을 가져오며, 그 결과는 zero-shot generalization과 유사하다는 것을 발견했다. 대조적으로, METALM의 fine-tuning은 zero-shot 결과에 비해 상당한 이득을 얻는다. 언어 생성(language generation) 측면에서는 struct-to-text 데이터셋을 제외하고 METALM이 GPT를 일관되게 능가한다. **Closed-book question answering 및 텍스트 요약(text summarization)**에서도 METALM은 GPT보다 더 나은 성능을 달성하며, 이는 입력 텍스트의 non-causal modeling 덕분이다.
| Model | MNLI (acc) | |
|---|---|---|
| -m | -mm | |
| GPT | 87.7 | 87.6 |
| BERT (Devlin et al., 2019) | 86.6 | - |
| RoBERTa (Liu et al., 2019b) | 90.2 | 90.2 |
| ELECTRA (Clark et al., 2020) | 90.9 | - |
| METALM |
Table 3: MNLI의 matched (-m) 및 mismatched (-mm) validation set에 대한 단일 task fine-tuning 결과. 각 점수는 여러 random seed를 사용한 다중 실행의 평균이다.
3.4 Single-Task Finetuning
MetalM의 fine-tuning 능력을 데이터가 풍부한 환경에서 탐구한다. 우리는 MetalM을 위한 새로운 fine-tuning 패러다임을 설계한다. 각 다운스트림 task에 대해, 우리는 language model을 고정(frozen)시킨 채 non-causal encoder의 파라미터만 업데이트한다. 제안된 전략이 뛰어난 성능을 달성하며, in-context learning 및 open-endedness와 같은 범용 인터페이스의 능력을 보존함을 입증한다.
3.4.1 Finetuning Setup
우리는 자연어 추론 데이터셋인 **MNLI (Williams et al., 2018)**에 대해 단일 task fine-tuning을 수행한다. 이때 "<s> Premise:[] </s> Hypothesis:[] </s> Label:" 템플릿을 사용한다. 이 task는 전제(premise)가 주어졌을 때 가설(hypothesis)이 참, 거짓 또는 불확실한지를 결정하는 것이다. 이에 해당하는 레이블은 각각 "entailment", "contradiction", "neutral"이다. fine-tuning 동안, 우리는 **general-purpose interface를 고정(freeze)**하고 non-causal encoder와 connector만 업데이트한다. 대조적으로, GPT baseline의 경우 모든 파라미터가 업데이트된다. 우리는 MetaLM과 GPT 모두 3 epoch 동안 학습률 , 배치 크기 32로 fine-tuning한다.
3.4.2 Results
Table 3는 단일 task fine-tuning 정확도를 보고한다. MNLI-m과 -mm은 각각 matched 및 mismatched validation set을 나타낸다. 각 점수는 서로 다른 random seed를 사용한 세 번의 실행 결과 평균이다. GPT와 비교했을 때, Metalm은 훨씬 적은 수의 파라미터를 업데이트했음에도 불구하고 MNLI 정확도를 3.4 절대 포인트 향상시킨다. Section 3.3 외에도, 이 결과는 bidirectional encoder가 fine-tuning 성능에 이점이 있음을 보여준다 (Wang et al., 2022b; Tay et al., 2022; Artetxe et al., 2022). 또한, 우리는 bidirectional language encoder를 fine-tuning하여 얻은 세 가지 강력한 baseline을 제시한다. 여기에는 BERT (Devlin et al., 2019), RoBERTa (Liu et al., 2019b), ELECTRA (Clark et al., 2020)가 포함된다. 이 세 모델은 모두 large size이다. 결과는 Metalm이 bidirectional encoder와 비교할 만하거나 더 나은 성능을 달성함을 보여준다.
3.5 Instruction-Tuned Zero-Shot Generalization
우리는 Metalm에 대한 instruction tuning을 조사한다. 이는 다양한 task와 instruction을 사용하여 모델을 fine-tuning하는 과정이다. fine-tuning 후, 우리는 모델의 instruction following 능력과 zero-shot generalization 성능을 평가한다. 우리의 목표는 held-out task에 대한 zero-shot generalization을 조사하는 것이기 때문에, 특정 데이터셋으로 평가할 때, 동일한 카테고리(즉, task cluster)에 속하는 모든 데이터셋은 학습 단계에서 제외된다. 예를 들어, 분류 데이터셋인 SST-2로 평가할 경우, 감성 분석(sentiment analysis) 전체 클러스터는 instruction tuning 과정에서 제외된다.
3.5.1 Instruction-Tuning Setup
우리는 FLAN (Wei et al., 2021)에서 제안된 평가 파이프라인을 따른다. **Section 3.3에서 설명된 데이터셋 혼합(summarization cluster 제외)**에 대해 MetaLM과 GPT로 instruction tuning을 수행한다. 각 데이터셋에 대해 FLAN (Wei et al., 2021)이 수동으로 구성한 10가지 다른 템플릿을 사용하며, 각 예시마다 이 중 하나를 무작위로 적용한다. (Wei et al., 2021)에서 언급했듯이, 학습 다양성을 높이기 위해 "task를 뒤집는(turned the task around)" 템플릿도 일부 포함되어 있다.
| Avg template | Best template | |||
|---|---|---|---|---|
| GPT | MetaLM | GPT | MetaLM | |
| Natural Language Inference | ||||
| ANLI R1 | 32.5 | 40.5 | ||
| ANLI R2 | 34.0 | 38.2 | ||
| ANLI R3 | 37.8 | 39.8 | ||
| CB | 66.1 | 83.9 | ||
| MNLI-m | 48.5 | 52.3 | ||
| QNLI | 60.6 | 68.0 | ||
| RTE | 64.3 | 75.5 | ||
| SNLI | 49.8 | 58.1 | ||
| WNLI | 56.3 | 71.8 | ||
| Average | 46.9 | 54.5 | 50.0 | 58.7 |
| Sentiment | ||||
| IMDB | 87.2 | 89.6 | ||
| SST-2 | 83.9 | 89.9 | ||
| Sent140 | 87.2 | 88.3 | ||
| Yelp | 93.2 | 92.9 | ||
| Average | 83.0 | 86.2 | 87.9 | 90.2 |
| Paraphrase | ||||
| QQP | 61.6 | 62.1 | ||
| MRPC | 65.2 | 69.1 | ||
| Average | 61.7 | 64.1 | 63.4 | 65.6 |
| Reading Comprehension | ||||
| DROP | 18.7 | 14.5 | ||
| SQuADv1 | 55.6 | 62.7 | ||
| SQuADv2 | 27.1 | 30.2 | ||
| OBQA | 36.2 | 30.0 | 38.8 | |
| BoolQ | 57.8 | 56.7 | ||
| Average | 34.9 | 38.5 | 37.8 | 40.6 |
Table 4: Instruction tuning의 전체 결과. DROP, SQuADv1, SQuADv2를 제외한 모든 데이터셋에 대해 accuracy를 보고하며, 이 세 데이터셋에는 F1 score를 사용한다. 각 데이터셋의 평균 점수는 다섯 가지 다른 템플릿에 걸쳐 계산된다.
예를 들어, **감성 분류(sentiment classification)**의 경우, 모델은 주어진 감성 레이블 "Positive"에 기반하여 영화 리뷰를 생성하도록 prompt된다.
대부분의 fine-tuning 설정은 Section 3.3.1과 동일하다. 우리는 **자연어 추론(natural language inference), 감성 분류(sentiment classification), paraphrase detection, 독해(reading comprehension)**를 포함한 네 가지 task cluster에 대해 실험한다. (Wei et al., 2021)의 평가 프로토콜에 따라, 추론(inference) cluster를 평가할 때는 paraphrase cluster를 제외하고, 그 반대의 경우도 마찬가지이다. 우리는 MetaLM과 GPT를 30k step 동안 batch size 512로 fine-tuning한다. Learning rate는 로 설정된다. 각 예시의 시퀀스 길이는 1024로 제한된다. 또한 효율성 향상을 위해 Section 3.3의 data packing 전략을 사용한다. 자세한 하이퍼파라미터는 Appendix A.2에 제공된다.
3.5.2 Results
Table 4는 네 가지 task cluster에 대한 instruction tuning의 전체 결과를 보고한다. 각 데이터셋에 대해 5가지 다른 템플릿을 사용하여 평가했으며, 평균 점수와 최고 점수를 모두 제시한다.
우리는 MetaLM이 GPT baseline 대비 크게 향상된 성능을 달성하는 것을 관찰했으며, 이는 semi-causal language modeling의 효과를 보여준다.
자연어 추론(natural language inference) cluster를 고려할 때, GPT는 어려운 데이터셋(예: ANLI 및 WNLI)에서 합리적인 zero-shot 결과를 얻지 못하는 반면, MetaLM은 다양한 데이터셋에서 일관되게 좋은 성능을 보인다.
우리는 다른 task cluster(감성 분석, paraphrase, 독해)에서도 유사한 경향을 발견했다.
평균 결과 외에도, MetaLM은 최고 성능 측면에서도 GPT baseline을 능가한다.
| Task | ||||||
|---|---|---|---|---|---|---|
| GPT | Metalm | GPT | Metalm | GPT | Metalm | |
| StoryCloze | 72.4 | 73.1 | 72.5 | 74.2 | 72.5 | 73.6 |
| HellaSwag | 52.9 | 53.5 | 51.8 | 52.7 | 51.8 | 52.7 |
| Winograd | 71.9 | 75.8 | 73.0 | 75.8 | 71.9 | 76.8 |
| Winogrande | 57.2 | 56.1 | 55.2 | 56.8 | 56.4 | 56.4 |
| ARC-e | 50.6 | 52.6 | 53.1 | 51.1 | 54.3 | 56.1 |
| ARC-c | 28.8 | 31.2 | 28.5 | 28.5 | 29.5 | 29.5 |
| PIQA | 73.1 | 72.3 | 73.6 | 72.2 | 73.1 | 71.9 |
| BoolQ | 62.1 | 62.2 | 57.6 | 57.9 | 61.5 | 61.3 |
| Copa | 70.0 | 67.0 | 69.0 | 69.0 | 71.0 | 70.0 |
| Average | 59.9 | 60.4 | 59.4 | 59.8 | 60.2 | 60.9 |
Table 5: MetaLM과 GPT 간의 in-context learning 성능 비교.
는 shot의 개수를 나타낸다.
Instruction tuning 설정은 fine-tuning과 zero-shot generalization 능력을 모두 요구한다.
실험 결과는 우리의 방법이 causal 및 non-causal language model의 장점을 모두 결합한다는 것을 보여준다.
MetaLM은 bidirectional encoder 덕분에 우수한 fine-tuning 성능을 달성할 뿐만 아니라, causal language model의 흥미로운 zero-shot generalization 능력도 유지한다.
3.6 In-Context Learning
우리는 MetaLM과 GPT 간의 in-context learning 성능을 비교한다 (Brown et al., 2020). Task instruction과 여러 input-label 쌍에 조건화되어, language model은 파라미터 업데이트 없이 입력 패턴을 따르면서 원하는 다운스트림 task에 재활용된다. Figure 4(d)에 나타난 바와 같이, demonstration은 두 부분으로 구성된다: 예시 입력은 non-causal encoder를 통해 전달되고, label token은 원래의 embedding을 사용한다. 그 후, test input의 target label은 universal task layer에 의해 생성된다.
3.6.1 Evaluation Setup
우리는 zero-shot, one-shot, four-shot 설정에서 실험을 수행한다. 평가 프로토콜은 **GPT-3 (Brown et al., 2020)**를 따른다. 각 테스트 예시는 학습 세트에서 무작위로 샘플링된 예시들을 demonstration으로 활용하여 평가한다. Winograd는 테스트 세트만 존재하므로, 테스트 세트에서 직접 demonstration을 샘플링한다. few-shot 설정에서는 모든 예시가 </s> 구분자 토큰으로 구분된다.
우리는 MetaLM과 GPT baseline을 9가지 task에 대해 평가한다. 여기에는 다음과 같은 task들이 포함된다:
- cloze 및 completion task: StoryCloze, HellaSwag
- Winograd-style task: Winograd, Winogrande
- commonsense reasoning: ARC-easy, ARC-challenge, PIQA
- SuperGLUE 벤치마크 (Wang et al., 2019)의 두 데이터셋: BoolQ, Copa
이러한 데이터셋에 대한 자세한 설명은 Appendix B.3에 제공되어 있다.
3.6.2 Results
Table 5는 in-context learning의 정확도 결과를 보고한다. GPT와 비교했을 때, Metalm은 더 좋거나 비슷한 결과를 달성한다. Winograd 및 completion task (예: StoryCloze, HellaSwag)의 경우, Metalm의 성능은 GPT에 비해 지속적으로 향상되었다. 이들 데이터셋에 대한 평균 결과를 고려하면, Metalm은 zero-shot () 및 few-shot () 설정 모두에서 더 우수하다. 이러한 결과는 Metalm이 뛰어난 in-context learning 능력을 계승하며, non-causal encoder의 contextualized representation이 모델의 일반화 성능 향상에 기여하는 경향이 있음을 시사한다.
| Dataset | Task description | Metric | Zero-shot | In-context | Finetuning |
|---|---|---|---|---|---|
| VQAv2 | Visual question answering | VQA acc. | |||
| OK-VQA | Knowledge-based VQA | VQA acc. | |||
| VQA Karpathy | Visual question answering | VQA acc. | |||
| COCO Caption | Image captioning | CIDEr, etc. | |||
| Flickr30k Caption | Image captioning | CIDEr, etc. | |||
| NoCaps | Image captioning | CIDEr, etc. | |||
| NLVR | Visual reasoning | acc. | |||
| E-SNLI-VE label | Visual reasoning | acc. | |||
| E-SNLI-VE explanation | Explanation generation | CIDEr, etc. |
Table 6: vision-language 데이터셋에 대한 평가 요약. 우리는 zero-shot, in-context learning, finetuning 능력을 평가한다.
4 Experiments on Vision-Language Tasks
우리는 vision-language 설정에서 실험을 수행한다. 기반이 되는 non-causal encoder는 사전학습된 vision-language foundation model이며, 이는 범용 인터페이스와 연결된다. 사전학습 task는 이미지-텍스트 쌍을 사용함에도 불구하고 language-only 설정과 유사하다. 구체적으로, 이미지-텍스트 쌍이 주어지면 이미지 토큰이 텍스트 토큰 앞에 추가된다. Figure 2에서 보듯이, non-causal encoder는 이미지와 임의 길이의 텍스트 prefix에 대한 양방향(bidirectional) 융합 표현(fused representation)을 생성한다. causal decoder는 양방향 융합 표현에 조건화(conditioning)하여 나머지 토큰을 autoregressive하게 예측하도록 사전학습된다. 텍스트 전용 데이터도 활용되며 동일한 준비 프로토콜을 따른다. 우리는 vision-language Metalm 사전학습 동안 이미지-텍스트 데이터와 텍스트 전용 데이터를 모두 사용하여 공동으로 사전학습한다.
4.1 Evaluation Settings
Table 6은 우리가 평가하고자 하는 능력과 그에 해당하는 vision-language 데이터셋을 요약하여 보여준다. 우리는 Section 4.3에서 zero-shot generalization 실험을, Section 4.4에서 in-context learning 실험을, 그리고 Section 4.5에서 fine-tuning 실험을 수행한다. Task들은 visual question answering, visual reasoning, image captioning, explanation generation과 같은 여러 카테고리로 분류될 수 있다. 9개의 데이터셋에 걸친 평가는 이해(understanding)와 생성(generation) 능력을 모두 다룬다. Figure 6은 MetaLM을 다양한 설정에서 어떻게 평가하는지 보여준다. 입력 이미지와 prompt는 vision-language encoder에 입력되고, 목표 출력은 language model에 의해 생성된다. 모든 task는 open-ended generative 방식으로 구성된다.
4.2 Pretraining Setup
우리는 12-layer non-causal vision-language encoder와 24-layer language model을 사용한다. Universal task layer는 GPT-2 (Radford et al., 2019)와 동일한 네트워크 아키텍처 및 구성을 따른다. hidden size는 1024이며, 16개의 attention head가 있다. 우리는 sinusoidal position embedding (Vaswani et al., 2017)을 사용한다. 파라미터 수는 353M이다. non-causal encoder의 경우, VLMo (Wang et al., 2021)에서와 같이 사전학습된 vision-language model을 사용한다. 파라미터 수는 192M이다. 이미지 사전학습 시 해상도를 사용한다. connector는 3-layer feed-forward network이다. 하이퍼파라미터에 대한 더 자세한 내용은 Appendix D.1에서 확인할 수 있다.
우리는 MetaLM을 256 batch size로 350k step 동안 사전학습한다. AdamW optimizer를 사용하며, , 로 설정한다. **learning rate는 **이고 weight decay는 0.01이다. linear decay를 사용하고, 처음 2,500 step 동안 warm-up을 적용한다. dropout rate는 0.1로 설정한다.
우리는 이미지-텍스트 쌍과 텍스트 문서를 사용하여 MetaLM을 사전학습한다. 이미지-텍스트 쌍의 경우, 사전학습 데이터는 Conceptual Captions (Sharma et al., 2018), Visual Genome (Krishna et al., 2017), COCO Caption (Chen et al., 2015), SBU Caption (Ordonez et al., 2011) 데이터셋으로 구성된다. 이들을 합치면 약 4M개의 이미지와 10M개의 이미지-텍스트 쌍이 있다. 텍스트 문서의 경우, (Liu et al., 2019b) 및 (Radford et al., 2019)를 따라, Reddit 웹 텍스트를 오픈 소스로 재구성한 OpenWebText (Gokaslan and Cohen, 2019) 코퍼스를 사전학습 데이터로 사용한다.
Figure 6: MetaLM의 기능은 다음과 같다:
(a) zero-shot priming: 예를 들어, 언어 prompt를 사용한 zero-shot image captioning.
(b) few-shot learning: 예를 들어, in-context learning을 사용한 visual question answering.
(c) 다양한 downstream task에 대한 fine-tuning: 예를 들어, image captioning, visual reasoning 등.
(d) multi-turn conversational interaction.
(e) 설명을 통한 fine-tuning: 즉, 자연어 설명을 사용하여 task 학습을 유도.
4.3 Zero-Shot Generalization
우리는 vision-language 환경에서 Metalm의 zero-shot 일반화 능력을 평가한다. 구체적으로, **이미지 캡셔닝(image captioning)**과 **시각 질문 응답(visual question answering)**의 두 가지 task에 대한 실험을 수행한다. 이미지 캡셔닝의 경우, 입력 이미지 하나만 주어지며, 목표는 해당 이미지에 대한 설명을 생성하는 것이다. 시각 질문 응답의 경우, 주어진 이미지에 대한 질문이 주어지고, 모델은 올바른 답변을 예측해야 한다.
4.3.1 Evaluation Setup
추론 시에는 greedy decoding을 적용한다. 입력 이미지는 크기로 조정된다. 데이터셋과 두 가지 task의 구체적인 설정은 다음과 같다:
Image Captioning
우리는 MS COCO Caption (Chen et al., 2015), NoCaps (Agrawal et al., 2019), Flickr30k (Young et al., 2014) 데이터셋에서 zero-shot caption 생성 성능을 평가한다.
**COCO Karpathy split (Karpathy and Fei-Fei, 2017)**의 test set을 사용하며, 이 split은 기존 train2014 및 val2014 이미지 (Lin et al., 2014)를 각각 113,287개, 5,000개, 5,000개로 재분할하여 train, validation, test 세트를 구성한다.
NoCaps와 Flickr30k의 경우, (Jin et al., 2022)를 따라 각각 validation set과 test set에서 평가한다.
caption 생성 metric으로는 **BLEU (Papineni et al., 2002), CIDEr (Vedantam et al., 2015), METEOR (Banerjee and Lavie, 2005), SPICE (Anderson et al., 2016)**를 사용한다. 점수 계산을 위해 COCOEvalCap을 활용한다.
모든 zero-shot caption 생성 실험에서 MetaLM에는 "Summarize this image:"라는 prompt를 사용한다.
Visual Question Answering
(Tsimpoukelli et al., 2021)를 따라 VQAv2 (Goyal et al., 2017) validation set과 OK-VQA (Marino et al., 2019) test set에서 zero-shot 성능을 평가한다.
VQA 점수는 VQAv2 평가 코드의 정규화 규칙을 사용하여 계산된다.
미리 정의된 후보 답변 세트 중에서 분류하는 방식과 달리, MetaLM은 open-ended 생성 방식으로 답변을 예측한다.
모든 visual question answering 실험에서 MetaLM에는 "question: question text answer:"라는 템플릿을 prompt로 사용한다.
| Model | COCO Caption Karpathy Test | |||
|---|---|---|---|---|
| BLEU-4 | CIDEr | METEOR | SPICE | |
| ZeroCap (Tewel et al., 2021) | 2.6 | 14.6 | 11.5 | 5.5 |
| VLKD (Dai et al., 2022) | 16.7 | 58.3 | 19.7 | 13.4 |
| MetaLM |
Table 7: COCO image captioning에 대한 zero-shot generalization 결과.
| Model | NoCaps | Flickr30k | ||
|---|---|---|---|---|
| CIDEr | SPICE | CIDEr | SPICE | |
| VL-T5 (Cho et al., 2021) | 4.4 | 5.3 | 2.6 | 2.0 |
| FewVLM (Jin et al., 2022) | 42.2 | 8.5 | 31.0 | 10.0 |
| MetaLM |
Table 8: NoCaps validation 및 Flickr30k test에 대한 zero-shot image captioning 결과.
모든 결과는 base size 모델에서 가져왔으며, 수치는 **(Jin et al., 2022)**에서 인용되었다.
4.3.2 Results
Table 7과 Table 8은 COCO Karpathy test split, NoCaps validation set, Flickr30k test set에 대한 zero-shot captioning 결과를 보여준다. MetaLM은 세 가지 이미지 캡셔닝 데이터셋에서 최근의 강력한 방법들보다 뛰어난 성능을 보인다. 구체적으로, 비교 모델인 **FewVLM (Jin et al., 2022)**은 이미지 캡셔닝을 위해 다양한 prompt를 활용하며, 우리는 그 중 최고 성능 결과를 보고한다. 이와 대조적으로, 우리는 모든 실험에서 "Summarize this image:"라는 동일한 prompt를 사용하여 비교를 수행한다. 우리 모델은 zero-shot 방식으로 지시를 충실히 따르며 읽기 쉬운 caption을 생성한다.
Table 9는 VQAv2와 OK-VQA에 대한 zero-shot visual question answering 결과를 보고한다. 두 데이터셋 모두에서 MetaLM은 Frozen (Tsimpoukelli et al., 2021) 및 **VLKD (Dai et al., 2022)**보다 더 나은 zero-shot 결과를 달성한다. 심지어 Frozen은 훨씬 더 많은 파라미터를 가지고 있음에도 불구하고 그렇다. 또한, OK-VQA 데이터셋은 외부 지식을 요구하는 visual question answering을 위해 설계되었다. 예를 들어, 입력 이미지가 기차이고 질문이 "When is it invented?"인 경우이다. OK-VQA에서의 합리적인 성능은 MetaLM의 language model이 지식 소스 역할을 하는 경향이 있음을 나타낸다. vision encoder가 객체 정보를 인지하면, universal task layer는 language modeling 방식으로 답변을 생성한다.
다섯 가지 데이터셋에 걸친 실험 결과는 MetaLM이 zero-shot generalization과 open-ended generation 능력을 가지고 있음을 보여준다. 우리는 prompt를 사용하여 사전학습된 vision-language model을 이미지 캡셔닝 및 visual question answering에 재활용할 수 있다.
4.4 In-Context Learning
우리는 visual question answering에 대한 in-context learning (Brown et al., 2020)의 능력을 평가한다. 우리는 -shot learning을 수행하며, 여기서 개의 demonstration은 파라미터 fine-tuning 없이 새로운 예시의 예측을 안내하는 데 사용된다.
4.4.1 Evaluation Setup
(Tsimpoukelli et al., 2021)을 따라, 우리는 VQAv2 (Goyal et al., 2017) validation set과 OK-VQA (Marino et al., 2019) test set에 대해 few-shot 실험을 수행한다. 각 테스트 인스턴스에 대해 학습 세트에서 최대 4개의 완전한 예시를 무작위로 샘플링한다.
| Model | VQAv2 | OK-VQA |
|---|---|---|
| Frozen (Tsimpoukelli et al., 2021) | 29.5 | 5.9 |
| VLKD (Dai et al., 2022) | 38.6 | 10.5 |
| METALM |
Table 9: Visual Question Answering에 대한 Zero-shot generalization. 모든 모델은 캡션이나 객체 태그와 같은 추가 정보 없이 생성 방식으로 예측한다.
| Model | VQAv2 | OK-VQA | ||
|---|---|---|---|---|
| Frozen (Tsimpoukelli et al., 2021) | 35.7 | 38.2 | 9.7 | 12.6 |
| METALM |
Table 10: Visual Question Answering에 대한 In-context learning. 모든 모델은 캡션이나 객체 태그와 같은 추가 정보 없이 생성 방식으로 예측한다. 는 모델이 학습할 수 있는 in-context 예시의 수이다 (Brown et al., 2020).
예측된 답변은 VQAv2 평가 코드의 정규화 규칙에 따라 ground-truth 답변과 비교하여 평가된다. 추론 시에는 이미지 해상도를 사용한다.
Figure 6(b)에서 보여주듯이, 우리는 테스트 입력 전에 여러 예시를 배치하고 universal task layer에서 직접 예측을 얻는다. 구체적으로, 완전한 예시는 로 표시되며, 여기서 는 각각 이미지, 질문, 답변을 나타낸다. 유사하게, 테스트 입력 는 로 표시된다. -shot in-context learning의 경우, 전체 입력 시퀀스는 이다. 또한, MetalM에 지시하기 위해 "Question: [question text] Answer:"를 prompt로 사용한다. 그런 다음 MetalM은 greedy decoding을 사용하여 답변을 생성한다.
4.4.2 Results
Table 10는 visual question answering 데이터셋인 VQAv2와 OK-VQA에 대한 in-context learning 결과를 보고한다. 결과에 따르면, in-context demonstration을 추가하는 것이 Table 9에서 보여준 zero-shot generalization보다 성능을 향상시킨다. 또한, 더 많은 예시를 추가할수록 두 데이터셋 모두에서 더 큰 성능 향상을 가져온다. Frozen (Tsimpoukelli et al., 2021)과 비교했을 때, MetaLM은 상대적으로 작은 모델 크기에도 불구하고 더 나은 성능을 얻는다. 우리는 MetaLM이 기존 vision-language model을 수정하지 않고도 visual question answering에 대한 in-context learning을 수행할 수 있음을 발견했다. non-causal encoder는 매번 하나의 예시만 보지만, language model은 개의 demonstration에 따라 모델을 성공적으로 적응시킨다. 또한, universal task layer의 도움으로, 우리는 기존 foundation model에 in-context learning의 일반적인 능력을 부여할 수 있다.
4.5 Finetuning on Downstream Tasks
우리는 사전학습된 MetalM을 이미지 캡셔닝 (Karpathy and Fei-Fei, 2017), Visual Question Answering (VQA) (Goyal et al., 2017; Marino et al., 2019), Visual Reasoning (Suhr et al., 2019), 그리고 Explainable Visual Reasoning (Kayser et al., 2021)을 포함한 다양한 vision-language task에 대해 fine-tuning한다. 우리는 fine-tuned된 MetaLM을 강력한 discriminative model과 최신 generative model 모두와 비교한다.
4.5.1 Finetuning Setup
모든 task에 대해 fine-tuning 시 해상도를 사용한다. 또한 이미지 증강을 위해 **RandAugment (Cubuk et al., 2020)**를 적용한다. learning rate는 로 모든 데이터셋에 대해 고정한다. 더 자세한 하이퍼파라미터는 Appendix D.2에서 확인할 수 있다. 다양한 task의 설정은 다음과 같다.
| Model | VQAv2 | VQA Karpathy-test | NLVR | ||
|---|---|---|---|---|---|
| test-dev | test-std | In-domain | Out-domain | test-P | |
| Discriminative Prediction | |||||
| ViLBERT (Lu et al., 2019) | 70.6 | 70.9 | - | - | - |
| Oscar (Li et al., 2020) | 73.2 | 73.4 | - | - | 78.4 |
| UNITER (Chen et al., 2020) | 72.3 | 72.9 | 74.4 | 10.0 | 77.9 |
| Generative Prediction | |||||
| VL-T5 (Cho et al., 2021) | - | 70.3 | 71.4 | 13.1 | 73.6 |
| VL-BART (Cho et al., 2021) | - | 71.3 | 72.1 | 13.2 | 70.3 |
| VLKD (Dai et al., 2022) | 69.8 | - | 69.2 | 18.6 | - |
| Metalm | 74.4 | 74.5 | 77.9 | 21.1 | 80.9 |
Table 11: 다양한 vision-language task에 대한 fine-tuning 결과 비교.
Discriminative 방식은 미리 정의된 레이블 집합(예: VQAv2의 가장 흔한 답변 3129개)에 대한 분포를 예측한다. 이와 대조적으로, open-ended generative 방식은 자유로운 텍스트 생성을 통해 모든 task를 처리한다. 보고된 모든 결과는 base size 모델에서 나온 것이다.
Visual Question Answering
우리는 VQAv2 (Goyal et al., 2017), VQA Karpathy split (Cho et al., 2021), OK-VQA (Marino et al., 2019) 데이터셋으로 평가한다.
VQAv2의 경우, 모델은 training 및 validation 세트에서 fine-tuning된다. 우리는 test-dev 및 test-std 세트에서 VQA 점수를 보고한다.
VQA Karpathy split의 경우, 모델은 training 및 validation 세트에서 fine-tuning된다. 우리는 in-domain 및 out-domain test 세트에서 VQA 점수를 보고한다.
위 두 데이터셋 모두 Metalm을 140k 스텝 동안 fine-tuning한다.
OK-VQA의 경우, 모델은 training 세트에서 fine-tuning된다. 우리는 test 세트에서 정규화된 VQA 점수를 보고한다. Metalm을 10k 스텝으로 fine-tuning한다.
generative fine-tuning을 위해 "Question: [question text] Answer: [answer text]" prompt를 적용한다.
Visual Reasoning
우리는 **NLVR 데이터셋 (Suhr et al., 2019)**으로 평가한다. NLVR 의 예시는 두 개의 이미지와 한 문장으로 구성되며, 이 문장은 이미지들 간의 관계를 설명한다. 이전 연구 (Tan and Bansal, 2019; Li et al., 2020)를 따라, 우리는 데이터를 두 개의 개별 이미지-텍스트 쌍으로 재분할하고 각각의 표현(representation)을 얻는다. 그런 다음 표현들의 연결(concatenation)을 활용하여 yes 또는 no 예측을 생성한다. generative fine-tuning을 위해 "it is [label]" prompt를 적용한다. Metalm을 5 epoch 동안 fine-tuning한다.
Image Captioning
우리는 Karpathy split (Karpathy and Fei-Fei, 2017)이 적용된 COCO caption 데이터셋으로 평가한다. (Cho et al., 2021)에 따라, BLEU-4, CIDEr, METEOR, SPICE를 평가 지표로 보고한다. 보고된 모든 결과는 강화된 CIDEr 최적화 (Rennie et al., 2017) 없이 cross-entropy fine-tuning을 통해 얻은 것이다. fine-tuning 동안 object tag는 사용되지 않는다. generative fine-tuning을 위해 "caption: [caption text]" prompt를 적용하고, Metalm을 training split에서 100k 스텝 동안 fine-tuning한다.
Explainable Visual Reasoning
우리는 **E-SNLI-VE 데이터셋 (Kayser et al., 2021)**으로 평가한다. 이 task는 모델이 이미지-텍스트 쌍 간의 entailment 레이블을 예측하고, 동시에 예측에 대한 설명을 생성하도록 요구한다. MetalM을 7 epoch 동안 fine-tuning한다. 이 task는 언어 생성 방식과 자연스럽게 호환된다. generative fine-tuning을 위해 "it is [entailment label] because [explanation]." prompt를 적용한다.
4.5.2 Results: Visual Question Answering and Visual Reasoning
Table 11은 VQAv2, VQA Karpathy, NLVR에 대한 fine-tuning 결과를 보고한다. fine-tuning 성능은 모든 데이터셋에서 강력하다. 더 중요한 것은, MetaLM이 generative prediction을 통해 이전 모델들을 능가할 뿐만 아니라, discriminative vision-language model과 비교해서도 경쟁력 있거나 더 나은 결과를 달성한다는 점이다. 이러한 특성은 일부 task의 본질이 generative하다는 점에서 유리하다. 예를 들어, visual question answering은 출력 공간을 제한하기보다는 open-ended prediction을 필요로 한다. open-endedness의 장점은 VQA Karpathy-test의 out-domain 세트에서 나타난다. out-domain 세트의 상위 답변들은 가장 흔한 3,129개의 VQA 답변에 포함되지 않는다. discriminative model은 학습 세트에 나타난 예측만 할 수 있기 때문에,
| Model | OK-VQA |
|---|---|
| Discriminative Prediction | |
| ViLBERT (Lu et al., 2019) | 35.2 |
| KRISP (Marino et al., 2021) | 38.9 |
| MAVEx (Wu et al., 2022) | 40.3 |
| Generative Prediction | |
| VLKD (Dai et al., 2022) | 36.3 |
| METALM |
Table 12: 지식 집약적인 OK-VQA 데이터셋에 대한 fine-tuning 결과. VQAv2와 달리, 이 데이터셋은 이미지와 질문을 이해하는 것뿐만 아니라 세계 지식(world knowledge)을 활용해야 한다. 예를 들어, 비행기 이미지에 대해 "이것을 누가 발명했는가?"라는 질문이 주어진다. 보고된 모든 결과는 base size 모델에서 가져온 것이다.
| Model | Accuracy |
|---|---|
| (Park et al., 2018) | 69.2 |
| (Wu and Mooney, 2019) | 73.7 |
| (Marasović et al., 2020) | 72.0 |
| (Kayser et al., 2021) | 79.5 |
| (Sammani et al., 2022) | 73.9 |
| METALM | |
| w/o appending explanations after labels | 79.6 |
Table 13: E-SNLI-VE (Kayser et al., 2021)에 대한 fine-tuning 결과 비교. 설명 없이도 MetaLM은 open-ended generative 방식으로 entailment label을 예측한다. 비교 결과는 (Kayser et al., 2021) 및 (Sammani et al., 2022)에서 가져온 것이다.
out-domain 예시에 일반화하기 어렵다. 모든 모델 중에서 MetaLM은 최고의 out-domain 결과를 달성한다. 이에 비해, 이전 generative model들은 out-domain 세트에서 더 나은 결과를 얻었지만, 일반적으로 다른 데이터셋에서는 성능이 떨어진다. 대조적으로, MetaLM은 일관되게 경쟁력 있는 결과를 달성한다.
Table 12에서 보듯이, 우리는 OK-VQA (Marino et al., 2019)에 대한 fine-tuning 결과를 보고한다. VQAv2와 달리, 이 데이터셋은 모델이 질문에 답하기 위해 외부 지식(external knowledge)을 활용해야 한다. 이전 방법들 (Marino et al., 2021; Wu et al., 2022)은 일반적으로 지식 베이스를 활용하여 후보 답변을 필터링했다. 대조적으로, language model은 사전학습 동안 풍부한 세계 지식을 습득했다. MetaLM은 causal language model로부터 이러한 지식을 활용할 수 있는 유연성을 제공한다. 결과적으로, MetaLM은 추가적인 지식 베이스에 의존하지 않고도 이 task에서 상당한 개선을 이룬다. Table 13은 E-SNLI-VE entailment label prediction에 대한 fine-tuning 결과를 보고한다. MetaLM은 "it is [entailment label] because [explanation]" prompt를 사용하여 entailment label과 설명을 함께 생성하도록 학습된다. MetaLM은 이전 방법들과 비교하여 최고의 정확도를 달성한다. 더욱이, generative model의 중요한 장점은 MetaLM이 설명을 활용하여 entailment label prediction의 성능을 향상시킬 수 있다는 점이다. 이는 설명이 entailment 분류에 도움이 된다는 것을 나타낸다. 이 결과는 MetaLM이 사용자와 foundation model 간의 상호작용을 촉진하는 데 사용될 수 있음을 보여준다. 즉, 우리는 자연어를 사용하여 범용 인터페이스를 통해 모델 fine-tuning을 안내할 수 있다.
위 데이터셋 전반에 걸친 경쟁력 있는 결과는 bidirectional modeling이 MetaLM의 fine-tuning에 이점이 있음을 보여준다. 따라서 우리는 fine-tuning과 open-ended prediction에서 동시에 좋은 성능을 얻을 수 있다.
| Model | COCO Caption Karpathy Test | |||
|---|---|---|---|---|
| BLEU-4 | CIDER | METEOR | SPICE | |
| Oscar (Li et al., 2020) | 34.5 | 115.6 | 29.1 | 21.9 |
| Unified VLP (Zhou et al., 2020) | 36.5 | 117.7 | 28.4 | 21.3 |
| VL-T5 (Cho et al., 2021) | 34.6 | 116.1 | 28.8 | 21.9 |
| VL-BART (Cho et al., 2021) | 34.2 | 114.1 | 28.4 | 21.3 |
| Metalm | 37.6 | 126.6 | 30.0 | 22.9 |
Table 14: COCO caption Karparthy test split에 대한 fine-tuning 결과. 모든 모델은 CIDEr optimization (Rennie et al., 2017) 및 object tag를 사용하지 않고 직접 fine-tuning되었다. base-size 모델의 결과는 (Cho et al., 2021)에서 가져온 것이다.
| Model | BLEU-1 | BLEU-2 | BLEU-3 | BLEU-4 | ROUGE-L | METEOR | CIDER |
|---|---|---|---|---|---|---|---|
| (Park et al., 2018) | 29.4 | 18.0 | 11.3 | 7.3 | 28.6 | 14.7 | 72.5 |
| (Wu and Mooney, 2019) | 30.6 | 19.2 | 12.4 | 8.2 | 29.9 | 15.6 | 83.6 |
| (Marasović et al., 2020) | 29.9 | 19.8 | 13.6 | 9.6 | 27.3 | 18.8 | 81.7 |
| (Kayser et al., 2021) | 30.1 | 19.9 | 13.7 | 9.6 | 27.8 | 19.6 | 85.9 |
| (Sammani et al., 2022) | 37.0 | 25.3 | 17.9 | 12.9 | 34.2 | 18.8 | 117.4 |
| Metalm | 40.6 | 26.7 | 18.7 | 13.5 | 37.6 | 19.4 | 119.3 |
Table 15: E-SNLI-VE explanation generation의 fine-tuning 결과. MetaLM은 entailment label과 설명을 함께 생성한다. 비교 결과는 (Sammani et al., 2022)에서 가져온 것이다.
4.5.3 Results: Visually Grounded Language Generation
Table 14는 COCO Karpathy test split에서의 caption generation fine-tuning 결과를 보고한다. 공정한 비교를 위해 CIDEr 최적화가 없는 결과(Rennie et al., 2017)와 직접 비교하였다. 결과는 MetaLM이 다른 모델들에 비해 상당한 개선을 이루었음을 보여준다.
Table 15는 E-SNLI-VE에서의 explanation generation 결과를 보여준다. 우리는 entailment label과 explanation을 함께 생성한다. MetaLM은 대부분의 지표에서 이전의 강력한 모델들을 능가한다. Table 13의 동일한 데이터셋에 대한 label accuracy 결과와 함께, 우리 모델은 이해(understanding)와 설명 생성(explanation generation) 모두에서 좋은 성능을 달성한다. 대조적으로, (Sammani et al., 2022)의 방법은 explanation generation에서는 경쟁력 있는 성능을 얻지만, entailment classification에서는 낮은 정확도를 보인다.
시각적으로 grounding된 언어 생성(visually grounded language generation) 결과는 우리 아키텍처가 다양한 sequence-to-sequence learning 문제에 적용될 만큼 충분히 일반적임을 보여준다. MetaLM은 vision-language generation task를 위해 fine-tuning을 통해 좋은 성능을 달성할 수 있다.
5 Related Work
5.1 Language Model Pretraining
대규모 language model pretraining은 다양한 다운스트림 task에서 강력한 성능을 달성하며 광범위한 연구 관심을 불러일으켰다. 모델 간의 차이는 주로 pretraining objective와 모델 아키텍처에 있다. GPT (Radford et al., 2018; 2019; Brown et al., 2020)는 decoder-only Transformer를 사용하여 causal language model을 사전학습하며, few-shot 및 in-context learning의 흥미로운 특성을 보여주었다. 최근 연구들 (Rae et al., 2021; Du et al., 2021; Smith et al., 2022; Hoffmann et al., 2022; Thoppilan et al., 2022; Chowdhery et al., 2022)은 데이터 및 모델 크기 확장에 초점을 맞추고 있다.
**양방향 인코딩(bidirectional encoding)**을 구현하기 위해 Devlin et al. (2019)은 masked language modeling objective를 제안했다. Clark et al. (2020)은 pretraining 효율성을 높이기 위해 replaced token detection task를 도입했다.
또한, 일부 연구들은 자연어 이해(NLU)와 생성(NLG) task를 모두 처리할 수 있는 프레임워크를 탐구한다. T5 (Raffel et al., 2020)는 모든 task를 text-to-text 형식으로 변환하는 encoder-decoder 프레임워크를 소개한다. BART (Lewis et al., 2020)는 손상된 문서로부터 원본 텍스트를 재구성하여 사전학습된 sequence-to-sequence 모델이다. UniLM (Dong et al., 2019; Bao et al., 2020)은 서로 다른 self-attention mask로 제어되는 unidirectional, bidirectional, sequence-to-sequence language modeling objective를 공동으로 최적화하는 방식을 제시한다.
Wang et al. (2022b), Tay et al. (2022), Artetxe et al. (2022)는 다양한 pretraining objective와 아키텍처가 다운스트림 일반화에 미치는 영향을 연구한다. 특히, causal language model은 zero-shot 또는 in-context learning에 능숙한 반면, non-causal model은 fine-tuning에 더 나은 성능을 보인다. 본 연구에서는 semi-causal language modeling을 도입하여 이 두 가지 장점을 결합한다. 이를 통해 준수한 fine-tuning 성능을 얻고 in-context learning 능력의 이점을 누릴 수 있다. 더욱이, 이러한 통합은 다양한 foundation model에 대한 범용 인터페이스를 구축할 수 있게 한다.
5.2 General-Purpose Modeling
일부 연구들은 다수의 task, 변환, modality를 공유 모듈에서 지원하는 범용 모델을 탐구한다. MT-DNN (Liu et al., 2019a)은 멀티태스크 학습을 통해 여러 task에서 학습된다. 언어 전용 범용 모델로는 UniLM (Dong et al., 2019)과 T5 (Raffel et al., 2020)가 이해(understanding) 및 생성(generation) 능력을 단일 모델로 통합한다. 또한, language model은 지시를 따르도록 fine-tuning되어 (Ouyang et al., 2022; Wei et al., 2021; Sanh et al., 2022), 즉 사용자 의도에 맞춰 language model을 정렬하여 범용 능력(general-purpose capability)을 구현한다.
멀티태스크뿐만 아니라 멀티모달리티까지 지원하는 연구들도 있다. Jaegle et al. (2022)은 Perceiver IO를 소개하는데, 이는 언어/시각 이해, 멀티모달, 게임을 위한 symbolic representation을 포함한 여러 도메인에 걸쳐 적용 가능한 범용 아키텍처이다. Baevski et al. (2022)은 서로 다른 modality를 위한 통합 학습 프레임워크를 제안하지만, 여전히 modality-specific encoder를 사용한다. Tsimpoukelli et al. (2021)은 frozen language model의 in-context learning 능력이 vision-language 설정으로 전이될 수 있음을 보여준다. Alayrac et al. (2022) 또한 대규모 frozen language model을 통해 이미지, 비디오, 텍스트에 대한 범용 이해를 구현한다. Reed et al. (2022)은 멀티모달, 멀티태스크, 멀티-embodiment 범용 정책으로 작동하는 generalist agent를 구축한다.
6 Conclusion
우리는 task와 modality를 아우르는 foundation model을 위한 범용 인터페이스인 MetaLM을 제안한다. MetaLM은 universal task layer로서 causal decoder를 포함하며, 여기에 여러 개의 사전학습된 non-causal encoder가 연결되어 있다. 우리는 semi-causal language modeling이라는 새로운 objective로 MetaLM을 사전학습한다. 실험 결과는 MetaLM이 다양한 language-only 및 vision-language task에서 강력한 fine-tuning 및 in-context learning 성능을 보인다는 것을 입증한다.
향후 연구에서는 모델 크기를 확장할 계획이다 (Wang et al., 2022a; Chi et al., 2022). 또한, MetaLM을 다국어 환경으로 확장하고, 더 많은 modality (언어, 비전, 오디오, 멀티모달리티 포함)를 동시에 처리하는 데 관심을 가지고 있다. 또 다른 연구 방향은 universal task layer를 object detection, semantic segmentation과 같은 vision task로 확장하는 것이다. 우리는 MetaLM을 활용한 parameter-efficient fine-tuning도 연구할 예정이다.