paper:
Introduction & Summary
연구배경
- 기존 transfer learning 방식 for aligning language models
- (1) insturction tuning
: multi-million-example 데이터 가지고 튜닝
- (2) reinforcement learning from human feedback (RLHF)
: human annotator와의 interaction 수집한 데이터 가지고 튜닝
기존 연구 한계
- 수백만 이상의 사람이 라벨링한 데이터
- 엄청난 컴퓨팅 연산
본 연구의 가설
Superficial Alignment Hypothesis
: 모델이 가지고 있는 대부분의 지식과 capabilities들은 사전 훈련동안 모두 학습되었으며, alignment는 그저 user들이 선호하는 답변 형식을 가르치는 것 뿐임.
따라서, 파인 튜닝을 통한 'alignment'가 단순히 모델이 사용자와 상호작용하기 위한 스타일을 학습하는 것이라면 위 가설의 결론은 작은 파인 튜닝 데이터셋으로도 사전 학습 모델을 충분히 학습시킬 수 있다.
Approach
Results
- 1천개로만 파인튜닝해도, 원하는 답변 형태 뽑아낼 수 있음
- trainig data에 없던 unseen tasks도 잘함
- RLHF 적용한 모델들 (DaVinci003, GPT-4), 많은 양의 학습데이터 사용해서 aligning한 모델들 (Alpaca)보다 더 뛰어나거나 비슷한 성능을 보임.
- dialogue 데이터 30개만 더 추가해서 파인튜닝하면, multi-turn도 엄청 잘함
Data: Alignment Data
데이터셋 형태
- 1천개의 프롬프트/답변 쌍 데이터셋 구축
- output 형식 동일, input(프롬프트)만 다양한 주제 포함
- 학습 데이터 1천개, development (val) 50개, 테스트 셋 300개

데이터셋 종류 & 전처리

- Manually Authored Examples
이렇게 데이터 만드는 거 노동력 많이 들어가지고, 최근 연구들은 데이터양 많이 생성해서 질보다는 양으로 승부봄. 하지만! 우리 연구에서는 다양성과 질이 더 좋다는 것을 알려줄거임~
- (4) Paper Authors
- 데이터의 다양화를 위해, 수집된 데이터셋 외에 연구자들이 직접 prompt 제작
- groupA, groupB로 나눠서 각각 250개씩, 자신의 interests관련된 prompts 제작하라고 시킴
(주석으로, 다양성이 목표니까 두 그룹 정보 공유 못하게 해서 서로 다른 데이터 만드려고 한건데, 쉽지 않았다고 함..ㅋㅋㅋ 그래서 중복된 내용도 있었다고 함)
- Group A
- 200개는 학습용, 50개는 dev 셋
- 답변 자기들이 직접 썼음.
- 답변 형식은 다 동일하게 함 (consistent format은 모델 성능 높인다는 연구 결과) => chain-of-thought에 더 도움될 것이라고 믿음
- toxicity or malevoloence 한 prompts도 학습에 포함함. 그래서 답변으로 이거 질문 잘못되었다. 답변할 수 없다! 이런 식으로 작성함
- Group B
- 230개 테스트 용

- (5) Super-Natural Instructions(Wang et al., 2022b)
- 데이터 다양성, 견고함 늘리려고
- 50가지 NLG task (summarization, paraphrasing 등) 골라서, 태스크당 답변 1개씩 골랐음.
- 그런 다음 답변을 다른 학습 데이터셋 형태와 맞춤.
Method: Training LIMA
학습방법
- LLaMA 65B을 1K 예시 학습 셋으로 fine-tuning
- 각 화자(speaker) 구별하기 위해 각 발화 끝에 End of Token(EOT) (EOS랑 비슷한 역할이지만, 구분을 두기 위해 EOT로 새로 만들었음)
- Fine-tuning 시 hyper-parameter
- AdaW optimizer 사용
- 15 epoch fine-tuning
- β1 = 0.9, β2 = 0.95
- Weight Decay = 0.1
- Learning rate는 warmup step 없이 초기 lr=1e-5로 설정하며, 학습이 끝날때까지 선형적으로 lr=1e-6까지 감쇠(decay)하도록 설정
- Batch Size = 32 examples (더 작은 모델은 64 examples)
- 2048 token보다 더 긴 텍스트는 잘라냄
- residual dropout 사용
perplexity
-
Training step 늘릴 수록 perplexity 증가함.
-
perplexity는 NLG 태스크에서 답변 얼마나 다양하게 하는가 하나의 지표가 될 수 있는데, 실험을 해보니까 perplexity와 답변 질과는 연관 없었음.
-
그래서 developmet 셋으로 직접 평가해가며 5-10 epochs 사이에서 수동으로 모델 선정 (그냥 답변이 어떻게 잘 나왔나 본 듯. 어떤 기준으로 봤다는 얘기는 없음)

Experiment Setup
Results
Human Evaluation

- LIMA보다 52배 큰 데이터셋 (1K vs 52K)으로 학습했음에도 불구하고 Alpaca보다 LIMA 선호도 승
- 더 우수한 alignment 방법으로 여겨지는 RHLF로 학습되었지만 LIMA 선호도 승
- Bard, Claude, GPT-4는 LIMA에 비해 더 높은 선호도를 보였음
하지만, GPT-4로 선호도 평가했을 때, GPT-4는 19%는 자기 답변보다 LIMA가 더 좋다고 답변한 것임!
Absolute assessment
-
베이스라인 모델들은 수백만개 프롬프트를 파인튜닝한거라 제대로된 비교가 안될 수 있다고 판단.
-
저자들은 50개 랜덤 예제를 골라서, LIMA가 답변한걸 다른 모델과의 비교가 아니라 LIMA 자체를 "absolute"하게 평가하겠다고 함.
-
평가 라벨:
- Fail: 응답이 프롬프트의 요구사항을 만족하지 못함
- Pass: 응답이 프롬프트의 요구사항을 만족함
- Excellent: 모델이 프롬프트에 대해 우수한 응답을 제공함
-
결과:
- 50% sample에 대해 excellent로 평가
- 6개(12%) 제외한 응답이 pass이상

-
Out of Distribution:
- 위에서 LIMA가 pass이상 받은 43개의 답변들을 보면 학습데이터랑 형태들이 비슷한 경우였음.
- 그래서 LIMA가 답변 잘 못한 7개 sample이랑 추가로 13개 (총 20개)의 out-of-distribution examples들에 대해 분석을 해봤음.
- 결과적으로, 응답 20% Fail, 35% Pass, 45% Excellent 받음.
- 작은 데이터셋이긴 한데, 훈련 데이터셋에 없는 것도 잘하는 거 같으니 generalize 능력이 있다고 생각해~

-
Safety:
- training set에 13개, test에 30개의 safety관련 examples이 있음. LIMA가 얼마나 잘 답변하는지 체크함.
- 80%는 safety하게 답변함.
- 유명인 주소 알려줘~ 는 답변 거부
- but, implicit한 경우에는 unsafe response함.

Ablations on Data Diversity, Quality, and Quantity
-
실험 설정
- 양보다는 질이다! 라는거 밝히고 싶어서 진행한 실험
- 학습용 파라미터와 동일한 hyper-parameter
- 다양한 세팅의 데이터셋에 대 LLaMA 7B를 fine-tuning
- 각 테스트셋 프롬프트에 대해서 5개의 응답 샘플링하고 ChatGPT한테 helpfulness 1~6점 likert 척도 평가

-
Diversity
- 실험셋팅
- 저자들은 wikihow보다 stack exchange가 더 다양하다고 생각해서, 둘을 비교. (비약있을 수 있다고 린정한다고 말함)
- wikihow랑 stack exchange 각각에서 2천개 sample 뽑아서 학습시킴.
(2천개 이상으로 하니까 stability 증가한 거 발견함)
- 결과
- wikihow보다 stack exchange로 학습한게 더 좋음! 다양성이 중요함.

-
Quality
- 실험셋팅
- 결과
- unfiltered stack exchange는 다양할지라도 답변 quality가 떨어져서 성능 낮음.
-
Quantity
- 실험셋팅
- 결과
- 데이터셋 늘어나도 성능향상 없었음.
- 양질 답변을 위해선 양보단 질이 더 중요하다!

Multi-Turn Dialogue
- zeroshot
- 셋팅
- 1천개로 학습한 LIMA로 10 live conversation test함 (몇개 턴인지..?그냥 엄청긴 대화인가봄)
- 결과
- zero-shot chatbot과 결과 거의 유사하게 나왔음. 이전 대화를 referencing하는 거 확인.
- 하지만, out-of-distribution 발생: 10개 대화 중 6개 대화해서 3번 왔다갔다만에 관련 없는 답변 생성함
- tuninig
- 셋팅
- 이를 개선하기 위해서 추가 데이터셋 수집하여 파인튜닝함
- 30 multi-trun diaglogue 데이터를 포함해서 1천 30개 데이터셋으로 파인튜닝함.

- 결과
- 기존 fail 비율 급감 (15 fails per 42 turns => 1fail per 46 turns)

- quality 측면에서도 파인튜닝한 애들이 더 우수
- 30개 만 더 추가했을 뿐인데, 이런 성능향상이 있다니! 이건 기존 모델로 대화를 할 수 있는 능력은 되지만, limited supervision이 있어야 그 능력이 발현될 수 있다는 걸 시사.
Discussion
- 단 1천개의 엄선된 데이터로 파인튜닝 시키면 고성능 모델 가능
- Limitation:
- 데이터 고르는 과정이 중요한데, 그게 수고로워서 더 규모 키우기는 힘들다.
- LIMA는 GPT-4와 같은 'product-grad' 모델만큼 강력하지 않음.
- LIMA는 대부분 좋은 응답 생성하지만 어쩌다가 안좋은 데이터 샘플이 학습에 들어가거나 adversarial 프롬프팅이 사용되면 성능 저조해짐.
adversarial prompt:
- prompt injection: 교묘하게 모델 행동 변화시켜서 모델 출력 탈취
- prompt leaking: 공개할 의도 없는 기밀 정보를 유출 시킬 목적으로 고안
- Jailbreaking: 비윤리적 응답 지시
https://www.promptingguide.ai/risks/adversarial
Reference
https://moon-walker.medium.com/%EB%A6%AC%EB%B7%B0-meta-ai%EC%9D%98-%EB%85%BC%EB%AC%B8-lima-less-is-more-for-alignment-%EA%B2%B0%EA%B5%AD-llm%EC%9D%98-pre-training%EC%9D%B4-%EA%B0%80%EC%9E%A5-%EC%A4%91%EC%9A%94%ED%95%98%EB%8B%A4-f3c9ea885f5a
재밌는 논문이네요!! 친절한 설명 감사합니다~~!!