Decoding and GPT

wandajeong·2023년 3월 24일
0

NLP/Text Data Analysis

목록 보기
10/12

디코딩(Decoding)

  • 인코더와 디코더

    • 트랜스포머는 Seq2Seq 모형 (입력 시퀀스 → 출력 시퀀스)
    • 인코더 : 입력 시퀀스를 처리하는 부분(양방향 attention), 문장의 의미 이해
    • 디코더 : 출력 시퀀스를 처리하는 부분(단방향 attention), 새로운 문장 생성
  • GPT : OpenAI에서 개발한 트랜스포머 기반의 (인과적) 언어 모형

    • 트랜스포머에서 디코더만 사용
    • 준단어(subword) 토큰화 사용
      • 글자 조합의 통계를 이용, 자주 나오는 글자 조합을 하나의 토큰으로 사용
      • 51,200개의 토큰 사용
  • 디코딩 방법

    • 결정론적 방법 : 확률이 높은 문장을 생성 (번역, 요약 등에 활용)
      탐색 방법특징
      완전 탐색(exhaustive search)현실적으로 모든 조합을 검토하기는 불가능
      탐욕 탐색(greedy search)- 전체적으로 확률이 높은 문장보다, 초반부의 확률이 높은 문장을 선택
      - 비슷한 토큰이 반복되는 문제 : no_repeat_ngram_size, bad_words_ids 등으로 억제
      빔 탐색(beam search)가장 확률이 높은 후보 문장들을 일정 수로 유지하면서 탐색
    • 확률적 방법 : 다양한 문장을 생성 (대화 등에 활용)
      탐색 방법특징
      무작위 추출(random sampling)- 다음에 나올 토큰들을 확률에 따라 무작위 추출하는 것을 반복
      - 말이 안되는 문장이 만들어지기 쉬움
      top-k 추출- 상위 k개의 토큰 중에서만 무작위 추출
      top-p 추출후보 토큰의 확률이 모두 더해 p가 되도록 하는 방법
      (확률 합계 90%까지의 토큰 중에서만 무작위로 선택)

온도 조절

  • 로짓을 나눠주는 값 T
  • 온도를 높이면, 모든 토큰의 확률이 비슷하게
  • 온도를 낮추면, 로짓이 높은 토큰의 확률이 극단적으로 높아짐
  • repetition_penality : 한 번 등장한 단어의 온도만 h배(1.2배) 높임
  • 자연어 생성 기법의 한계 : 자연스러운 문장 ≠ 확률이 높은 문장
    • 동일한 표현의 반복
    • 긴 문장에서 일관성 유지가 안됨
    • 문장 생성에 사람의 개입이 어려움

GPT

  • 전이 학습(Transfer Learning) : 근원 문제에 학습시긴 모형을 새로운 대상문제에 적용 (e.g. 영화리뷰(근원 문제) 사전학습 모델 → 전자제품 리뷰(대상 문제)에 적용)
  • 전이 학습 방식

    • 사전 학습된 모형을 추가 학습 없이 그대로 사용
    • 사전 학습된 모형의 전반부를 특징 추출기로 사용 + 후반부에 분류기만 추가하고 추가된 부분만 학습
    • 사전 학습된 부분을 포함해서 전체적으로 미세조정
  • GPT-1

    • 논문 제목: Generative Pre-Training을 통한 언어 이해의 개선
      • 언어 이해 과제를 수행하기 전에 사전 학습을 시키겠다.
      • 사전 학습의 과제로서 생성을 하겠다.
    • 과제별 구성
      • 과제의 텍스트를 특수 토큰(start, delim, extract)을 이용해 과제별 형식으로 입력

      • GPT는 최종적으로 일종의 점수를 출력 → 출력 점수를 이용하여 과제를 수행

        과제내용
        분류텍스트를 집어넣고, 최종 출력값을 이용해 분류
        (51,200개 토큰 확률 대신 0/1(긍정/부정) )
        자연어 추론전제(premise)와 가설(hypothesis) 두 문장이 주어졌을 때, 둘의 논리적 관계(함의 or 모순)를 추론
        - 문장 2개, delim 특수 토큰으로 구분
        유사도유사도 점수를 두 가지 방식으로 계산
        (text1과 text2의 순서를 바꿔서 계산한 점수를 합쳐서 최종적인 유사도 계산)
        객관식 문제 풀기주어진 문제 context에 대해 여러개의 답 answer가 있을 경우
  • GPT-1 과제 수행 방식의 장단점

    • 생성적 사전 학습이 자연어 이해 과제 수행에 도움
      • 더 많은 레이어를 사용할 수록, 사전학습을 더 많이 할수록 도움
    • 반드시 미세조정이 필요하다는 것은 한계
  • 미세조정의 방법들

    • GPT2Model : 기본 모델, 특정한 head 없음. 마지막 은닉 상태(점수) 출력

    • GPT2LMHeadModel : 언어 모형(다음 단어 예측)

    • GPT2ForSequenceClassification : 문서 분류

    • GPT2ForTokenClassification : 토큰 분류

    • GPT2DoubleHeadsModel : 언어 모형과 문서 분류를 동시에

      💡 GPT2를 특징 추출기로 사용하여 감성 분석
      text → GPT2Model → embedding → 분류 모델 → 0/1
  • 미세조정의 문제
    • 과제에 맞는 대량의 데이터가 필요
    • 큰 모형은 미세 조정 후 일반화가 잘 안됨
    • GPT-2 부터는 다른 방법을 시도 → Zero-shot 학습
    • GPT-3 논문 제목 : “언어 모형은 Few-shot 학습 방법이다”
profile
ML/DL swimmer

0개의 댓글