일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 인접행렬
- pytorch
- 데이터모델링
- SQL
- 1x1 Convolution
- dp
- 연산량 감소
- Two Pointer
- SQLD
- 백준
- dfs
- SQLD 후기
- BFS
- skip connection
- 식별자
- numpy
- bottleneck
- 그래프
- CROSS JOIN
- 정규화
- Inductive Bias
- get_dummies()
- depthwise convolution
- resnet
- 엔터티
- mobilenet
- feature map
- outer join
- 인접리스트
- Depthwise Separable Convolution
- Today
- Total
SJ_Koding
[LLM] 적은 데이터로 fine-tuning하자! LIMA: Less Is More for Alignment 리뷰 (Meta, 2023) - 下편 본문
[LLM] 적은 데이터로 fine-tuning하자! LIMA: Less Is More for Alignment 리뷰 (Meta, 2023) - 下편
성지코딩 2024. 5. 11. 11:56해당 포스팅은 이전 글과 이어진 포스팅입니다. 개인적으로 下편에 재밌는 내용이 많은 것 같습니다.
논문 전체내용을 제가 이해한대로 빠짐없이 기입하기 때문에, 낮은 확률로 잘못된 내용이 포함되어있을 수 있으며 글이 길게 나열되어있습니다. 가독성을 위해 section이나 중요부분은 컬러로 표시합니다.
3. Training LIMA
LIMA는 LLaMa-65B모델을 사용하여 수집한 1,000개의 트레인셋을 사용했다. user와 assistant role을 구별짓기 위해 각 utterance끝에 특별한 end-of-turn token(EOT)을 도입한다. 해당 토큰은 생성 중단 EOS와 동일한 역할을 수행하지만, 사전 학습된 모델이 기존 EOS 토큰에 포함되어있을 수 있는 다른 의미와의 충돌을 방지한다.
또한 다음과 같은 Hyper-paramater를 사용했다.
Epochs : 15
Optimizer : AdamW (\beta_1 = 0.9, \beta_2 = 0.95, weight_decay = 0.1)
Learning rate : 1e-5 --> 1e-6
Scheduler: linearly decay without warmup step
Batch size : 32 (64 for smaller models)
Trim: 2048 Tokens
Dropout : Residual dropout (0.0 --> 0.3, smaller model은 0.2까지)
4. Human Evaluation
LIMA를 SOTA와 비교해본 결과, OpenAi의 RLHF기반 DaVinci003과 52,000개의 예시로 훈련된 65B-parameter Alpaca 복제 모델을 능가하며, 종종 GPT-4보다도 우수하거나 동등한 response를 생성했다. LIMA의 생성물을 분석한 결과, 그 출력물의 50%가 탁월하다고 평가되었는데, 소수의 example로 단순 fine-tuning만으로도 SOTA와 경쟁할 수 있다는 사실은 2절 (이전 포스팅 참고)에서 언급한 Alignment Hypothesis를 강력히 지지한다. 또한 이는 pretraining의 힘과 대규모 instruction tuning및 reinforcement learning접근법에 비해 상대적인 중요성을 입증한다.
4.1 Experiment Setup
LIMA를 다른 모델들과 비교하기 위해, 각 test prompt에 대해 single response를 생성한다. 그 후, crowd workers에게 LIMA의 출력물과 각 기준 모델의 출력물을 비교하게 하여 어느 것을 선호하는지 평가하도록 요청했다. 이 실험을 반복하되, 인간 crowd workers 대신 GPT-4를 사용하여 비슷한 agreement levels를 찾는다.
Baselines
LIMA를 다섯 가지 baselinse 모델과 비교한다:
1. Alpaca-65B
2. OpenAI의 DaVinci003
3. Google의 Bard, PaLM
4. Anthropic의 Claude
5. OpenAI의 GPT-4
모든 baselines 모델의 response는 2023년 4월동안 sampling되었다.
Generation
각 프롬프트에 대해, LIMA는 p=0.9와 temperature t=0.7을 사용해 각 baseline모델들로부터 single response를 생성한다. 이전에 생성된 token에 대한 반복 패널티를 1.2의 hyper-parameter로 적용한다. 이 역시 최대 토큰 길이를 2048로 제한한다.
Methodology
각 단계에서, LIMA는 평가자들에게 single-response와 두 가지 가능한 response를 제시한다. 해당 response들은 서로 다른 모델들에 의해 생성된다. 평가자들에게 어느 반응이 더 나은지, 혹은 두 반응 모두 뚜렷하게 우수하지 않은 경우를 판단하도록 요청한다. (**) LIMA는 GPT-4에 동일한 instructions와 데이터를 제공함으로써 병렬 평가를 수집한다.
** 하단 appendix C에 더 정확한 phrasing을 제공하는데 아래와 같다. (요약: 두 가지 답변 보여주고 뭐가 더 나은지 선택)
Figure 11 shows the human annotation interface we used to collect preference judgments. Annotators were asked to exercise empathy and imagine that they were the original prompters.
Inter-Annotator Agreement
LIMA는 tie-discounted accuracy를 사용하여 inter-annotator agreement를 계산한다:
- 두 annotator가 동의하면 1점을 부여
- 한 명의 annotator만 tie로 표시하면 0.5점을 부여
- 그 외의 경우 0점 부여
LIMA는 50개의 annotation예시 (랜덤으로 선택된 단일 prompt와 두 model response)의 공유 세트에서 agreement를 측정하며, author, crowd, 그리고 GPT-4의 annotation을 비교한다. 인간 annotator 간에는 다음과 같은 agreement점수가 측정됐다:
crowd-crowd : 82%
croud-author : 81%
author-author : 78%
이 작업에 일정 정도의 주관성이 있음에도 불구하고, 인간 annotator들 사이에는 괜찮은 agreement스코어를 보였다.
또한 GPT-4와 인산 사이의 agreement도 측정했다:
crowd-GPT: 78%
author-GPT: 79%
해당 수치들은 GPT-4를 인간 annotator와 동등한 수준의 agreement에 위치시키며, 이 작업에 대한 *Turking Test를 사실상 통과하였음을 나타낸다.
*Turking Test
: 튜링 테스트에서 파생된 개념으로, 인공지능 시스템이 인간 annotator만큼 효과적으로 작업을 수행할 수 있는지 평가하는데 사용 위 방법론으로 Turking Test를 수행할 수 있음.
4.2 Result
Figure 1은 LIMA의 인간 선호도 연구 결과를 보여주며, Figure 2는 GPT-4의 선호도 결과를 보여준다. LIMA는 주로 인간 연구의 결과를 조사하는데, GPT-4는 대체로 같은 경향을 보이기 때문이다.
첫 번째 관찰 결과는, 52배 더 많은 데이터로 훈련을 했음에도, Alpaca 65B는 LIMA보다 덜 선호되는 outputs을 생성하는 경향이 있다는 것이다. DaVinci003도 비슷한 경향을 보이지만, 그 정도는 덜하다.
위 결과의 눈에 띄는 점은 DaVinci003이 RLHF, 즉 상대적으로 우수하다고 여겨지는 alignment방법으로 훈련되었다는 사실이다. Bard는 DaVinci003와 반대의 경향을 보여, 42%의 경우에서 LIMA보다 더 좋은 response를 생성한다. 그러나 이는 또한 58% 경우에서 LIMA의 response가 Bard와 최소한 동등하다는 것을 의미한다. 마지막으로, Claude와 GPT-4는 일반적으로 LIMA보다 더 나은 성능을 보이지만, LIMA가 실제로 더 나은 response를 생성하는 비중이 적지 않은 경우도 있다. 아이러니하게도 GPT-4도 자신의 output보다 19% 경우에 LIMA의 output을 선호한다.
4.3 Anlaysis
(추후 작성 예정)