카테고리 없음

NLP 최신 트렌드

김 도경 2025. 1. 17. 19:12
Scaling Laws
  • Scaling Laws for Neural Language Models
     - 최근 등장하고 있는 NLP 모델의 크기는 지속적으로 커지고 있고 (Scaling Up) , GPT-3 모델의 최대 크기는 175 Billion, 즉 175,000,000,000 개의 parameter 를 가짐.
    - 모델의 파라미터를 늘릴수록, 성능이 향상되며 수행할 수 있는 task의 종류가 늘어남
    - 모델 크기 뿐 아니라, 데이터 크기와 컴퓨팅 능력을 적절히 확장하면 언어 모델링 성능을 예측 가능하게 향상시킬 수 있음

  • 모델 성능에 영향을 주는 요인
    (1) 모델 파라미터 수 N (Parameters) - 임베딩 제외 모델 파라미터 수
    (2) 학습에 사용된 데이터의 크기 D (Dataset Size)
    (3) 학습에 필요한 컴퓨팅 양 C (Compute)
    - 모델의 구조적 형태는 성능에 영향을 끼치는 주요 요인이 아님.
       - 넓은 Layer 를 얕게 쌓은 모델 (좌측) vs. 좁은 Layer를 깊게 쌓은 모델 (우측)

  • Scaling Laws
    특징 1) 가장 최적의 성능 향상을 위해서는, 요인 3가지는 함께 Scaling up 되어야 함.
    - 최적의 성능을 위해서는 3가지 요인 모델 파라미터 수 N, 학습에 사용된 데이터의 크기 D, 학습에 필요한 컴퓨팅 양 C 은 모두 함께 Scaling up 되어야 함.
    - 하지만, 현실적으로 3개 중 2개나 1개 요인은 고정되고 나머지 요인만 증가시킬 수 있는 경우, 오히려 성능이 저하될 수 있음

    특징 2) 특히, 모델 파라미터 수 N 과 학습에 사용된 데이터의 크기 D 를 동시에 Scaling up한다면 성능은 예측가능하게 개선 가능.
    - 하지만 N, D 중 하나는 고정, 다른 요인은 증가하면 고정인 요인은 패널티를 받아 성능 증가가 감소. 
    - 예) 같은 데이터로 크기만 다른 모델을 구축하는 경우, 큰 모델의 성능이 낮을 수 있음.

    특징 3) 큰 모델일 수록 더 적은 학습 단계, 더 적은 데이터에서 동일한 수준의 성능 달성 가능 (Sample-Efficient)

RLHF
  • 큰 언어모델의 약점
    - Scaling Laws 와 모순되게, 언어 모델을 크게 만든다고 해서 무조건 사용자의 의도를 더 잘 따르는 것은 아님.
    - 데이터가 많이 필요하기에, 학습 데이터에 웹 크롤링 등 자동으로 구축한 검증되지 않은 데이터가 포함될 확률이 높아지고, 학습된 모델이 거짓이거나 유해하거나 사용자에게 도움이 되지 않는 출력을 생성가능.

  • Reinforcement Learning by Human Feedback (RLHF)
    - Human Feedback : 사람에게 모델의 응답을 여러 가지 제시하고, 좀 더 선호하는 응답을 선택하게 한다.
    - Reinforcement Learning : 사람을 통해 구축한 데이터를 바탕으로 모델을 강화학습함으로써 다양한 Task에 대해 사용자의 의도를 따르는 모델을 학습하는 기법.

InstructGPT
  • InstructGPT
    - 3개의 단계를 거쳐 모델 학습
    Step1 : SFT (Supervised Fine-tuning) 
       - Labeler를 통해, Prompt와 모델이 응답했으면 하는 응답인 Demonstration 쌍을 구축 
        - 데이터 예시) Prompt : 6살 아이에게 달 착륙에 대해 설명해주세요 Demonstration : 어떤 사람들은 달에 가길 원했고…
       - 구축된 데이터를 바탕으로 기존의 GPT 모델을 Fine-Tuning (Supervised Learning)

    Step2 : RM (Reward Model)
       - 사용자가 입력한 Prompt 를 가지고 Model에 여러 개의 응답을 요청하고, Labeler에게 여러 개 응답 중 순위를 매기게 함.
       - 순위를 매긴 데이터셋을 사용해서, 여러 응답 중 어떤 응답이 더 좋은 응답인지 판단하는 Reward Model 학습

    Step3 : RL (Reinforcement Learning)
       - Reward Model의 점수를 사용하여 사용자가 더 선호하는 응답에는 Reward(보상), 덜 선호하는 응답에는 Penalty(벌칙)을 주어 학습.
       - 강화학습을 사용해 최대 보상을 얻는 모델로 학습

  • InstructGPT 평가
    - 정성적 평가 결과 : RLHF를 거친 모델은, 엉뚱하거나 유해한 응답을 하지 않고, 사람이 원하는 응답을 하게 됨

    - 정량적 평가 결과 : 같은 Prompt 를 입력했을 때 사용자가 InstructGPT 모델의 출력을 다른 모델의 출력과 비교하도록 하여 사용자의 의도를 얼마나 잘 따르는지 평가
       - RealToxicity : 얼마나 안전한 응답이 출력되는지 측정
       - TruthfulQA : 모델이 인간의 거짓말을 어떻게 흉내 내는지 측정
       - Hallucinations : 거짓 내용을 얼마나 그럴듯한 응답이 출력되는지 측정
       - Customer Assistant Appropriate : 사용자가 얼마나 더 선호하는 응답이 출력되는지 측정
    - RLHF를 통해 더 안전하고, 거짓으로 그럴듯한 응답을 생성하지 않으며 사용자가 더 선호하는 응답을 출력하는 모델이 됨.
Prompt Engineering
  • Prompt Engineering
    - Prompt : 모델에게 어떤 task 를 수행해야 하는지를 알려주는 자세한 지시사항
    - Engineering : 사용자의 의도에 맞게 task 를 수행 가능하도록 효과적으로 설계하는 과정
    - Prompt Engineering : 모델에 추가 tuning 을 하지 않고도 사용자의 의도를 잘 수행하도록 Prompt 를 효과적으로 설계하는 과정

  • Prompt에 따른 결과 차이
    - 명확하고 구체적인 Prompt 작성하기
        - Prompt 가 길어지더라도 명확한 Prompt 를 제시하기
        - 대부분의 경우 긴 Prompt가 모델에게 더 많은 명확성과 맥락을 제공 하며 실제로 더 상세하고 관련 있는 출력 유도
    - 구조화된 출력 요청 : 출력을 보기 편하게 만들기 위해 구조화된 출력을 요청(HTML 또는 JSON)
    - 조건이 충족되는지 확인 : task 를 잘 수행하는지 먼저 확인, 만약 조건이 충족되지 않으면 prompt 를 변경
    - Few-Shot Prompting : GPT의 Few-Shot Setting, Instruction과 예시를 제시

    - 모델에 생각할 시간을 제공.
        - 사람과 마찬가지로, 모델도 짧은 시간이나 적은 단어로 너무 복잡한 작업을 주면, 잘못될 응답을 하게 될 가능성이 높아짐.
    - 작업을 완료하기 위해 필요한 단계를 구체적으로 명시
    - 성급히 결론으로 도달하기 전에 모델에게 자체적, 단계적으로 해결책을 찾도록 지시.