Generation for NLP: 언어모델 학습 프로세스

SeongGyun Hong·2024년 11월 11일

NaverBoostCamp

목록 보기
26/64

1. NLP 패러다임의 변화

  • N-gram language models
    → Neural language models: BERT, GPT
  • Traditional models: Naive Bayes
    → Neural models: Transformers
  • Static embeddings: word2vec
    → Contextual embeddings: BERT, GPT
  • Traditional learning paradigm
    → New learning paradigm: Pretrain, ICL, RLHF

진짜 고적적인 걸로 TextCNN도 있었다...

  • 분류 모델 학습을 위한 Target Dataset 선정
  • Weight Random Initialize
  • Training from scratch
    • Input → Task Label

2. Pre-training이란?

  • 사전학습
    말 그대로 모델이 다양한 지식을 배울 수 있도록 가르치는 과정
  • 대규모 텍스트 데이터로 label없이 모델을 처음부터 학습시킨다.
    • 수학적인 label이 없는 것은 아님
    • 사람이 작성한 label이 없다고
    • self로 Pair 데이터셋을 만들어서 학습함.
  • 한국어든 영어든 기본적으로 이해할 수 있게끔 만들어주는 과정이라고 보면 된다.

    무조건 큰 모델이 좋은가?

    • Scaling Laws
      • 모델 사이즈가 커질 수록 작은 모델에 비해 동일 성능에 대하여 더 적은 데이터로 도달한다.
      • 모델 사이즈가 커질수록 더 높은 성능을 달성하기 위해서는 더 많은 데이터가 필요하다.
      • 모델 크기에 따라 Computing Budget에 맞는 적절한 데이터 양을 찾는 것이 Scaling Law이다.
      • 모델 크기에 적절한 데이터양이 어떤 것이냐! 이것이 바로 Scaling Laws
      • 큰 모델일 수록 동일 성능에 도달하기에 더 큰 데이터가 필요하지만 고점은 더 높다.
  • 모델의 크기가 커질수록 Zero-shot performance가 크게 향상된다.

Pre-Training 성능 향상을 위한 노력

  • Pre-Training data quality
  • Pre-Training method
    • Pre-training 방식에 따라 Downstream task 성능에 영향을 주기 때문에 올바른 학습 방법과 데이터 퀄리티를 확보할 필요가 있다.

데이터 정제: 전후 비교

방법정제 전정제 후
중복 제거 (문장 수준, 문서 수준)우리는 다양한 서비스를 제공합니다. 우리의 서비스에는 웹 디자인, SEO, 그리고 소셜 미디어 관리가 포함됩니다. 우리의 서비스에는 웹 디자인, SEO, 그리고 소셜 미디어 관리가 포함됩니다.우리는 다양한 서비스를 제공합니다. 우리의 서비스에는 웹 디자인, SEO, 그리고 소셜 미디어 관리가 포함됩니다.
품질 필터 (언어, 키워드, 통계)이 문서는 중요한 정보를 포함하고 있습니다. この文書には重要な情報が含まれています。 이 문서에는 중요한 정보가 포함되어 있습니다.이 문서는 중요한 정보를 포함하고 있습니다.
콘텐츠 필터 (유해성, 편향성)나는 이 아이디어가 얼마나 멍청한지 믿을 수 없다. 이런 생각을 하는 사람은 바보일 것이다.나는 이 아이디어에 대해 우려가 있다. 다른 옵션을 탐색하는 것이 좋을 수 있다.
개인정보 보호 (개인 식별 정보)John Doe의 전화번호는 123-456-7890이며, 그는 Springfield의 1234 Elm Street에 살고 있습니다.[이름]의 전화번호는 비공개 처리되었으며, 그는 [비공개 주소]에 살고 있습니다.
규칙 기반 정제 (오타 수정 등)이것은 예시 텍스트입니다! 몇 가지 오타와 불필요한 구두점 및 공백이 포함되어 있습니다 .이것은 예시 텍스트입니다. 몇 가지 오타와 불필요한 구두점 및 공백이 수정되었습니다.

위 표는 자연어 처리(NLP)에서 데이터 정제 작업의 전후를 비교한 것으로, 중복 제거, 품질 필터링, 콘텐츠 필터링, 개인정보 보호, 규칙 기반 정제와 같은 방법들이 적용되었으며, 이러한 과정은 텍스트 데이터의 품질을 향상시키기 위해 필수적이다.

2.1 Encoder 모델 Pre-Training

  • 양방향으로 문장 전체를 한 번에 처리함.
  • Masked Language Model (MLM) 방식 사용. 일부 단어를 마스킹하고, 그걸 예측하게 만듦.
  • 문장의 앞뒤 맥락을 모두 고려해서 학습함. 대략 15% 정도의 단어를 마스킹함.

2.2 Decoder 모델 Pre-Training

  • Auto-Regressive(자가 회귀) 방식으로 학습. 한 번에 하나씩 단어 예측함.
  • Next Token Prediction (NTP) 방식 사용. 이전에 생성된 단어들 바탕으로 다음 단어 예측.
  • 주로 GPT 같은 모델에서 사용되고, 텍스트 생성 작업에 적합함.
  • input 이랑 label로 동일하게 넣어주면 됨.

Encoder vs Decoder 요약

특징EncoderDecoder
학습 방향양방향자가 회귀
학습 방식Masked Language Model (MLM)Next Token Prediction (NTP)
사용 사례데이터 이해 작업텍스트 생성 작업
대표 모델BERTGPT

Encoder는 주로 문장 이해, Decoder는 텍스트 생성에 강점 있음.

그럼 데이터셋은 어디서 얻나요?

  • 대개 뉴스, 블로그 등 웹사이트에서 얻은 후에
  • 데이터 전처리 정제 과정을 통해 데이터셋으로 저장하고
  • 초기 weight를 가지고 있는 모델에 입력으로 넣어 다음에 나올 토큰을 맞추도록 학습한다.
  • 그런데 이렇게 학습하다보면 깊은 도메인에 대해 최신 정보를 답할 수 없으며, 할루시네이션이 발생하게 됨 단순히 다음에 올 가장 높은 확률의 토큰을 예측하게 되므로...

3. Fine-Tuning이란?

Pre-Training과 비슷하다.
다만, 특정 Task 수행을 위한 능력을 학습하게 됨.

  • 다양한 NLP 태스크에 대해 Fine Tuning을 진행할 때 원하는 Label이 따로 있기 때문에, Supervised Fine Tuning(SFT) 이라고도 함

  • Self-Instruct, Stanford Alpaca 이후로 최근의 SFT 데이터들은 대체로 instruction template(instruction-input-output) 형태로 구성

  • Fine-tuning은 보통 In-Context Learning에 비해 Task 수행 능력이 좋다는 것이 입증 됨.

  • Domain 지식의 깊이, 일의 난이도 복잡성 등을 고려하여 Fine-tuning 필요성을 고려하여야 함.

  • 다만... Fine-tuning을 한다고 하더라도 사용자의 의도에 맞는 답변인지는 여전히 의문이다.

4. Preference Tuning(RLHF)

  • 휴먼 피드백을 넣어서 추가적인 Tuning을 진행하는 것

  • Pretrain + SFT + RLHF 이 삼박자가 이루어져야 비로소 원하는 성능이 나올 수 있다.

    • PPO의 경우에는 Reward Model을 사용해야하나
    • DPO의 경우 Reward Model은 필요 없지만
    • 두개 모두 사람의 선호가 반영된 데이터셋이 있어야 한다.

      ORPO: SFT + DPO 한번에 진행

profile
헤매는 만큼 자기 땅이다.

0개의 댓글