AI

ChatGPT : 새로운 자연어 처리기술의 발전과 가능성

쉬엄쉬엄블로그 2023. 5. 22. 17:37
728x90

ChatGPT 그 이전

RNN - 자연어 처리 모델의 시초

  • 1997년 개발 이후 2010년대까지 사용
  • LSTM, GRU 등 다양한 Variant
  • 특징 : 한 번에 한 단어만 모델에 넣을 수 있음
  • 단점 : 병렬화가 불가능해서, 학습 시간이 오래 걸림

Transformer - 대 LLM 시대의 시초

  • LLM : Large Language Model (ChatGPT처럼 Language를 이해하는 모든 Large Model을 일컬음)
  • 병렬화를 가능하게 하는 self-attention을 사용
    • attention : 단어와 단어 사이의 관계 정도를 숫자로 표현
    • self-attention : 입력으로 들어온 모든 단어들끼리의 attention을 병렬화를 통해 한 번에 계산
    • → 훈련 시간 감소 + 성능 향상

Pretraining - Finetuning Paradigm

기존의 모델 학습 방법

  • 문제, 정답 데이터셋을 최대한 많이 만들어서 모델 학습
  • 단점 : 고품질의 정답이 있는 데이터를 다량으로 만들기 어려움
    • → 정답이 없는 데이터에서 무엇인가 배울 수 없을까?

Pretraining - Finetuning

  • 정답이 있는 소량의 데이터로 모델을 학습시키기 전에, → Finetuning 정답이 없는 다량의 데이터를 통해 언어를 잘 이해하게 시키자 → Pretrainig
    • 정답이 없는 다량의 데이터는 어디에서 얻는가? → 인터넷!

두 갈래로 나뉜 Pretrainig - BERT

Masked Language Model (MLM)

  • 문장의 단어 중 일부를 지움 (Masking)
  • 지운 단어를 복원하도록 모델을 학습 시킴

Causual Language Model (CLM)

  • 주어진 문장에 대해 바로 다음 단어를 생성하도록 모델을 학습

두 갈래로 나뉜 연구 방향 - 모델 구조, 학습 방식 개선

  • 같은 크기의 모델이라도, 모델의 구조와 학습 방식 개선을 통해 잘 학습시켜보자

두 갈래로 나뉜 연구 방향 - 모델을 키우자 (OpenAI)

  • Pretraining 할 때, 모델을 키우고, 데이터를 많이 사용하자
    • → GPT, GPT2, GPT3

모델을 키우다 보면, 어느 순간 Few-shot 성능이 올라가는 순간이 온다

  • 파라미터 수
    • GPT - 117M
    • GPT-2 - 1.5B
    • GPT-3 - 175B

Few-Shot, Zero-shot

  • Pretraining Finetuning Paradigm에서는 여전히 Finetuning을 위해 데이터 구축모델 학습 과정이 필요
  • 모델의 크기를 키우다 보니 Finetuning 없이, Pretraining 만으로도 처음 보는 문제에 대해 정답을 맞히기 시작
  • Prompt : ChatGPT에 넣는 질문처럼, 모델에 넣어주는 입력 텍스트
  • Zero-shot : 설명만 주고, 예제 없이 문제를 풀게 시킨다
  • One-shot : 설명과 예제를 하나만 주고, 문제를 풀게 시킨다
  • Few-shot : 설명과 몇 개의 예제를 주고, 문제를 풀게 시킨다

모델 크기를 키우니 생기는 문제

175B의 Parameter를 가진 GPT-3의 문제

  • 생생해내는 답변이 untruthful, toxic, or simply not helpful
  • 사용자의 목적에 맞는 답변이 나오지 않음

ChatGPT

InstructGPT

  • Reinforcement Learning with Human Feedback (RLHF)
  • 다양한 Prompt에 대해서 알맞은 정답을 사람이 직접 만들고 이를 통해 모델을 (강화) 학습
  • RLHF - Step 1
    • GPT 3 (3.5) 훈련을 위한 데이터 구축
    • 사람이 직접 다양한 Prompt에 알맞은 답변 생성
    • 이를 통해, GPT-3.5 (GPT-3에서 데이터 추가) Finetuning
  • RLHF - Step 2
    • GPT 3 (3.5) 평가를 위한 데이터 구축
    • 사람이 직접 다양한 답변에 대한 순위 매김
    • 이를 통해, GPT-3.5의 답변을 평가하는 모델 Finetuning
  • RLHF - Step 3
    • Step 1, 2 모델을 사용해서 (강화) 학습
    • Step 1 : Prompt가 들어왔을 때, 사람에게 알맞은 답변을 내뱉는 모델
    • Step 2 : Prompt와 답변이 들어왔을 때, 평가하는 모델
    • 모델의 학습 과정
      1. 임의의 Prompt 선택
      2. Step 1 모델이 답변을 생성
      3. Step 2 모델이 답변을 평가
      4. 평가 결과를 바탕으로 Step 1 모델 학습

InstructGPT vs GPT-3

  • 사람의 손길을 거치자 1.3B의 InstructGPT가 175B의 GPT-3보다 더 좋은 평가를 받음

ChatGPT

  • InstructGPT가 Chat 목적으로 진화
  • 다른 것은 오직 데이터
  • InstructGPT
    • 한 쌍의 Prompt - Answer
  • ChatGPT
    • InstructGPT 데이터를 대화 형식으로 변환
    • 대화 형식의 Step1, Step 2 모델 학습 데이터를 구축
    • 학습 방법은 동일 (RLHF)

ChatGPT를 더 잘 사용하고 싶다면? - Prompt Engineering

  • 좋은 Prompt = 좋은 답변
  • 요구 사항을 구체적으로 적기
  • 예시와 함께 적기
  • 원하는 답변이 않았을 경우, 추가로 요청하기 (ex. 위의 답변에서 ~~한 부분은 빼고 다시 작성해 줘.)
  • 영어로 질문하기 (주로 영어 데이터를 사용해 학습했기 때문에, 한국어 능력이 부족)
  • 주의사항
    • 사실이 아닌 답을 내뱉을 수 있음
    • 최신 정보에 취약 (2021년까지의 데이터로 학습)
    • 장기 기억 X (하나의 chat session이 끝나면, 나눴던 대화를 기억하지 못함)
    • 한국어 능력 부족

ChatGPT 그 이후

Big Tech - LLM 내재화

  • LLM을 직접 학습할 수 있는 Big Tech들은 내재화
  • LLM 주권 경쟁
    • Google - BARD
    • Meta - LLaMa
    • Naver - 서치 GPT
    • Baidu - Ernie Bot

승자는 Microsoft?

  • BingChat
    • 기존에 Microsoft가 가지고 있는 검색엔진 Bing + ChatGPT
    • 검색 엔진과 ChatGPT를 결합함으로써, ChatGPT가 가지고 있는 신뢰성, 최신성의 문제를 완화
  • Copilot
    • ChatGPT + Microsoft 365
    • Microsoft 365와 ChatGPT를 결합한 형태의 AI 비서

Big Tech가 아니라면?

  • 빠른 적용
    • 모든 기업이 LLM을 내재화하는 것은 현실적으로 어려움
    • 이미 나와있는 LLM을 바탕으로, 사용자에게 빠르게 가치를 제공하자

사회적 이슈

  • ChatGPT를 허용할 것인가
  • 허용한다면 어디까지 허용할 것인가
  • 허용하지 않는다면 어떻게 막을 것인가

OpenAI의 끝나지 않은 질주 : GPT-4 (OpenAI, 2023)

  • 2023년 3월 27일 GPT-4 공개
  • GPT-3.5에 비해 성능 향상
  • 이미지를 입력으로 넣을 수 있음 (Multi-Modal)
  • 한 번에 처리할 수 있는 Prompt의 길이가 4000 토큰에서 32000 토큰으로 증가 (책 반권 분량)

What’s Next?

  • 음성 인식
  • 비언어적 표현
  • 3D, 4D
  • 경제적인 LLM (슈퍼컴 필요 없는 소형 언어모델 ‘sLLM’ 급부상)

LLM의 한계

높은 비용

  • 훈련, 추련을 위해서는 GPU를 많이 사용
  • 전력, 환경 문제

Hallucination

  • 사실이 아니거나, 질문과 관련 없는 답변을 생성

Ethics & Bias

  • 종종 성별, 인종, 종교에 따른 편향된 답변을 생성

그렇다면 우리는 무엇을 해야 하나?

  • 거대한 LLM의 파도가 오고 있거나, 이미 온 것으로 보임
  • 파도에 올라타기 위해, 계속해서 쏟아져 나올 기술들을 빠르게 사용해 보고
  • 무엇이 잘되고, 무엇이 안되고, 그러면 나는 무엇을 해야 하는지에 대한 지속적인 고민이 필요
  • ChatGPT와 같은 새로운 기술들을 연구, 개발하는 업무뿐만 아니라 새로운 기술들의 문제점을 파악하고 보완하기 위한 업무도 중요할 것 같다.

 

출처 : 네이버 커넥트재단 부스트캠프 AI Tech Alumni (신수원 - 업스테이지 AI Researcher)