도비LOG(跳飛錄)

도비의 AI 엔지니어 도전기

NLP

Llama2 초간단 요약

나쁜도비 2023. 7. 23. 23:27

논문 링크: https://arxiv.org/abs/2307.09288

 

Abstract

  • 70억 ~ 700억 개의 파라미터로 사전학습되고 fine-tuning된 LLM인 Llama 2 출시.
  • fine tuning된 모델인 Llama 2-chat은 대화에 최적화되어 있음.
  • 대부분의 벤치마크에서 다른 오픈소스 채팅 모델보다 성능이 뛰어남.
  • helpfulness, safety에 대한 human evaluation에 따르면, closed source 모델을 대체할 수 있는 적합한 모델일 수 있음.

 

1. Introduction

  • Llama2 : Llama1의 후속 버전. 공개된 데이터를 새롭게 조합하여 학습하였고, 사전학습 코퍼스를 40% 더 늘렸으며, context length를 2배로 늘림. Grouped-query attention (Ainslie et al., 2023) 적용. 7B, 13B, 70B 모델 공개
  • Llama 2-Chat: 대화에 최적화된 Llama2의 fine-tuned 버전. 7B, 13B, 70B 공개

 

2. Pretraining

  • Auto-regressive transformer를 기반으로 하되 몇 가지 변경사항을 적용.
  • 더 강건한 데이터 정제, 40% 더 많은 토큰으로 학습, 두 배의 context length, Gruouped Query Attention(GQA) 적용

2.1. Pre-training data

  • 공개된 데이터들의 조합
  • Meta 제품 및 서비스의 데이터는 포함하지 않음.
  • 대량의 개인 정보가 포함된 것으로 알려진 특정 사이트의 데이터 제거
  • 총 2조 개의 토큰.

2.2. Training details

  • Llama 1의 모델 아키텍쳐, 사전학습 세팅을 거의 대부분 계승함.
  • RMSNOrm (pre-normalization), SwiGLU activation, Rotary positional embedding
  • 아키텍처에서의 차이점: context length 증가, GQA 적용
  • 토크나이저: SentencePiece (vocab_size=32K)

2.3. Llama2 pretrained model evaluation

  • Llama 1보다 뛰어난 성능

  • Closed source model들과의 비교에서 Llama2는 GPT-3.5와 근접한 성능을 보임.

 

3. Fine-tuning

3.1. Supervised Fine-Tuning (SFT)

  • helpfulness, safety annotation
  • 많은 데이터가 다양성과 품질 측면에서 불충분함. 특히 대화 스타일 instruction이 부족함 → 27540 개의 고품질 SFT 데이터를 수집함.
  • 수백만 개의 third-party dataset과 소수의 고품질 데이터를 통해 성능을 향상시킴.

3.2. RLHF

  • RLHF: 모델의 행동을 사람의 선호와 align하도록 언어 모델을 fine-tuning하는 학습 절차.
  • human annotator들이 두 모델의 출력 결과 중 어느 것을 선호하는지 선택한, human preference 데이터 수집.
  • 이러한 human feedback은 reward model을 학습하기 위해 사용됨.

3.2.1. Human Preference Data Collection

  • annotation 절차
    • 프롬프트 작성
    • 두 모델의 생성 중에서 선호하는 것을 선택 (다양성을 극대화하기 위해 temperature를 다양화한, 두 가지 모델의 응답을 샘플링함)
    • 선호하는 정도 (매우 좋음, 좋음, 조금 좋음, 좋지 않음, 잘 모르겠음)도 라벨링함.
    • 선호 annotation 수집에서는 helpfulness, safety에 집중함.
      • Helpfulness: Llama 2-chat의 응답이 유저의 요청을 얼마나 잘 만족시키는가.
      • Safety: Llama 2-chat의 응답이 safe guideline을 만족하는가.
  • Human annotation은 매 주마다 배치로 수집됨. 더 많은 데이터가 수집되면서 reward model의 성능도 향상되었고, Llama 2 chat의 성능도 점차 개선됨.

3.2.2. Reward Modeling

  • Reward model은 모델의 응답과 prompt를 입력받아서, 모델의 응답의 품질(helpfulness, safety)를 가리키는 scalar score를 출력함.
  • helpfulness와 safety는 종종 trade-off 관계일 수 있기 때문에, helpfulness를 최적화하는 reward model, safety를 최적화하는 reward model을 따로 학습함.
  • 새롭게 수집한 데이터를 기존의 오픈소스 데이터와 결합하였음.

  • Reward model은 두 가지 모두 GPT4를 능가하였음.

3.2.3. Iterative Fine-tuning

  • Proximal Policy Opotimization (PPO), Rejection Sampling fine-tuning 알고리즘을 사용함.
  • PPO: RLHF에 사용되는 표준적인 방법
  • Rejection Sampling fine-tuning: 모델의 출력값 K개를 샘플링한 후, reward를 통해 가장 좋은 후보를 선택함. 그리고 이 후보를 gradient update에 활용함. 각 prompt에 대해서, 가장 높은 reward 점수를 받은 샘플은 새로운 gold standard로 간주됨.

3.3. System Message for Multi-Turn Consistency

  • Ghost Attention (GAtt)를 활용해 multi turn 정보도 잘 기억하도록 하였음.

3.4. RLHF Results

  • single turn, multi turn 모두에서 기존 오픈소스 모델들을 능가함. 가장 큰 Llama 2-Chat은 ChatGPT와 견줄 만함.

 

4. Safety

4.1. Safety in Pretraining

  • 메타 유저의 데이터를 사용하지 않았음.
  • 개인정보가 많이 포함된 특정 사이트의 데이터 제거
  • 추가적인 필터링은 하지 않았음.
    • 데이터에서 ‘He’가 ‘She’보다 많이 나타남.따라서 사전학습 과정에서 우리의 모델은 He를 더 많이 생성할 가능성이 있음.
    • 사전학습 코퍼스 중에서 0.2%의 문서가 toxic data를 포함.
  • 언어의 분포: 대부분이 영어. (한국어는 0.06%)

4.2. Safety Fine-Tuning

  • Supervised Safety Fine-Tuning: 공격적인 프롬프트를 수집하였고, 이에 대해서 모델이 safety-guide line을 준수하도록 fine-tuning함.
  • Safety RLHF: Safety Reward model 활용
  • Safety Context Distillation: safety pre-prompt 삽입 (예: “You are a safe and responsible assitant”)하여 학습한 모델을 이용해, pre-prompt 없이도 안전한 응답을 생성하는 모델에 distill함.

  • Fine-tuning을 통해 신뢰성을 높이고, 유해성을 낮춤. 특히 유해성은 거의 0%로 줄어듦.

 

5. Discussion

5.1. Learnings and Observations

Beyond Human Supervision

  • 숙련된 어노테이터이더라도 개인마다 상당한 편차가 있는 글을 작성함. 그러나 어노테이터들은 두 출력에서 더 선호하는 것을 선택하는 것에 대해서는 불일치가 덜 발생함. 둘 중 더 선호하는 응답을 선택하는 방식을 통해, reward model이 human preference와 align될 수 있도록 만들 수 있었음.

In-Context Temperature Rescaling

  • temperature가 모든 프롬프트에 균일하게 적용되지 않는다.
  • 예를 들어, 시를 쓰는 것과 같은 창의성과 관련된 프롬프트는 temperature가 증가할수록 다양성도 증가하는 반면, 사실 정보에 기반한 프롬프트의 경우 temperature을 높여도 일관된 답변을 출력하도록 학습됨.

Temporal Perception

  • Llama 2-Chat에 시간 개념을 주입하기 위해 특정 날짜와 관련된 1000개의 SFT 예제를 수집함.
  • 모델이 시간적 맥락과 관련없이 무작위로 섞인 데이터로, 다음 토큰을 예측하며 학습했음에도 불구하고 시간 개념을 잘 내재화하였음.

Tool Use Emergence

  • zero-shot 방식으로도 툴을 활용할 수 있음.

5.2. Limitations and Ethical Considerations

  • Pre-trainnig 후의 지식 업데이트는 없다는 한계, 환각 등의 잘 알려진 한계를 가짐.
  • 영어 데이터에 집중됨.
  • 공개된 데이터를 사용하였기 때문에, safety를 높이기 위한 노력에도 불구하고 해롭거나 편견을 내포한 생성을 할 가능성이 있음.

 

6. Conclusion

  • Llama2는 GPT4와 같은 모델에 비해 여전히 뒤처지지만, 기존 오픈소스 모델과 비교했을 때 경쟁력 있는 성능을 지님.
  • 사회에 더 크게 기여하고 연구 속도를 높이기 위해 책임감 있게 Llama2, Llama 2 Chat를 공개함.

 

728x90