적은 데이터에서 few-shot learning 을 할 때 활용할 수 있는 prompt 자동 생성 및 prompt 기반 fine tuning에 대한 연구입니다.
읽은 날짜 2023.05.15
카테고리 #자연어처리논문리뷰, #Tag2
Making Pre-trained Language Models Better Few-shot Learners
- Authors: Tianyu Gao, Adam Fisch, Danqi Chen
- DOI: https://aclanthology.org/2021.acl-long.295/
- Keywords:
- Issue Date: August 2021
- Publisher: 2021 ACL | IJCNLP
ABSTRACT
(배경) GPT-3와 같은 모델에서 natural-language prompt와 몇개의 작업 데모(샘플)을 input context로 사용하여, 주목할만한 few-shot learning의 성능을 달성했다.
문제점:
(목표) 더 나은 few-shot fine tuning을 위해, 적은 샘플에서 간단하고 상호보완적으로 사용가능한 테크닉인 LM-BFF (Language Models Better Few-shot Fine tuning)을 소개한다.
(방법)
(1) prompt 자동 생성 파이프라인과 prompt 기반 fine-tuning
(2) 컨텍스트에 따라 동적으로 deomonstration을 통합하기 위한 전략
(평가) classification, regression을 포함한 NLP tasks에서 few-shot performance를 측정
(결과) 리소스가 적은 환경에서 일반적인 fine tuning보다 성능이 30% 개선되었고, 모든 task에서 평균 11%의 성능향상을 달성했다.
(의의) 리소스가 적은 환경에서, 도메인 지식이 부족할 때 few-shot learning을 위한 강력한 task-agnostic method(태스크에 구애받지 않는 방법)이 될 수 있다.
1. 등장 배경
- GPT의 prompt tuning 방식은 기존의 BERT와 같은 pretrain 모델에서 fine tuning하는 방식과는 다르지만, 더 높은 few-shot 성능을 보여줘서 주목받았다.
- 과거의 연구에서는 prompt 기반 fine-tuning을 위해 prompt(템플릿, 라벨 단어)과 데모를 수동으로 작성해야 했다.
- 그러나 이는 fine-tuning하려는 작업의 도메인 지식과 많은 시간을 요구하는 단점이 있었다.
■ 이 논문에서는
prompt 기반 fine-tuning에 필수인 prompt와 데모를 자동으로 생성해주는 방법(LM-BFF)을 제안하고, 기존의 방법과 비교하는 실험을 진행한다.
2. 이론적 기반
■ MLM의 Pre-training
- BERT에서는 bi-directional, GPT에서는 autoregressive하게 Masking을 하여 진행된다.
■ 기존의 Fine tuning
- 사전 훈련된 모델을 특정 작업에 맞춰 추가적으로 학습을 진행하고, 해당 태스크에 맞춰 가중치 재조정하여 특정 태스크 특화 모델을 만든다.
- 위의 그림에서 (b)에 해당하며, (b)는 모델의 dimension의 2배 만큼의 파라미터 학습이 필요하다.
- 학습 데이터가 적은 상황에서 Fine tuning은 overfitting의 원인이 될 수 있다.
■ Prompt tuning
- pre-trained된 모델의 파라미터를 변경하는 대신, 입력하는 prompt를 최적화하여, 모델을 prompt에 대해 원하는 output을 생성하도록 학습한다.
- Prompt 생성 방법
- Manual prompt design (수동):
- 개발자나 연구자가 특정 작업에 대한 이해를 바탕으로 prompt 직접 설계
- 장점: 복잡한 훈련 과정 없이도 특정 작업에 대해 적절한 출력을 얻을 수 있다.
- 단점: 모든 상황에 대해 효과적이지 않을 수 있다. prompt 생성에 상당한 도메인 지식과 시행착오를 필요로 한다.
- Auto-prompt (자동)
- 모델이 데이터를 바탕으로 스스로 효과적인 프롬프트를 학습하도록 함.
- 장점: 일반적인 상황에 대해 효과적일 수 있다.
- 단점: 프롬프트 생성을 위한 추가적인 학습 데이터가 필요하다.
- Manual prompt design (수동):
3. 모델/방법론
■ LM-BFF 접근 방식
목적: 적은 데이터로 언어 모델을 효율적으로 fine-tuning 하는 것.
구조:
(1) prompt-based fine-tuning과 prompt 생성을 자동화하는 파이프라인
- 후보군 생성 > 조합 생성 및 prune > fine-tuning
(2) 각 context에 대해 동적으로 선택적으로 데모를 통합하는 개선된 전략을 포함
- 매 input마다 pre-trained sentence-BERT를 이용하여, train data에서 가장 유사도 높은 문장을 demonstration으로 이용.
4. 데이터 / 실험 및 결과
< 실험 >
(1) (positive/negative) classification에서 Label words를 맞추는 것에 대한 실험 ⇒ 적절한 Label words의 중요성
- 같은 의미이지만 great/terrible와 good/bad, terrible/great의 결과를 비교했을 때, 결과가 다르다.
- cat/dog과 dog/cat의 경우에도 미세한 차이가 있다.
(2) NLI 태스크 에서, template에 따른 성능 비교 ⇒ 적절한 template의 중요성
- <S1>, [MASK], <S2> 순서, ‘?’ 사용 여부 등에 따라 성능이 달라진다.
(3) (메인 결과) 수동 prompt와 제시한 방법 비교
- RoBERTa-large 를 사용하여, prompt-based FT (FT)의 성능을 기존의 Manual prompt와 비교했을 때 성능이 비슷하다.
(4) 학습 데이터 개수에 따른 성능 비교
- K (학습 데이터 샘플 수)가 적을 수록 LM-BFF가 유리하다.
- 학습 데이터 수가 많으면 큰 차이가 없다.
나의 의견
논문을 선택한 이유
(1) 다른 논문에서 실험 시, 비교 모델로 LM-BFF 를 사용한 경우를 보았어서, LM-BFF에 대한 방법론을 알아두면 좋을 것이라 생각했다.
읽고 난 후 의견
- Template에 따라, 또는 Label words에 따라 성능이 다르게 나타나는 것이 신기하면서도, 블랙박스로 동작하는 Neural network특성 상 왜 이렇게 나오는지 reasoning을 알 수 없어서 아쉬웠다. 실제 언어적으로, 인지학적으로 저런 형태의 프롬프트가 사람에게도 이해하기 쉬운 것인지 기계맞춤형인지 궁금하다. 아마 후자일 것이다.
- 컴퓨터 공학/사이언스와 컴퓨터 언어학이 LLM으로 오면서 이전 처럼 새로운 것을 창조하고 개발하기 보다는 현상을 이해하는 데 집중하는 과학과 분석에 가까워진 것 같아서 패러다임이 변했다는게 이번 논문을 보며 확 와 닿았다.
- Soft prompt가 당연히 컴퓨터 본연의 언어에 더 가까울 것이기 때문에 성능이 좋을 것이다. soft prompt 도 공부해봐야겠다고 생각했다.