1. Language Model

  • 문장의 일부를 보고 비어있는 단어를 확률적으로 맞추는 모델

LLM

  • Large Language Model
  • GPT에서 Temperature의 개념
    • 0과 100 사이의 값
    • 100에 가까울수록 조금 더 random해짐

2. Language Model 훈련

  • 웹 상에서 존재하는 문서들이 훈련 데이터가 됨
    • 품질이 중요!
    • 위키피디아, Github 등이 있음
    • Unsupervised learning
      • 문장을 하나 주면 거기서 다양한 훈련 데이터들이 만들어지는 것
  • Context window의 크기가 결국 모델의 메모리를 결정

3. Word to Vector

  • 언어 모델에 사용되는 Transformer 모델은 기본적으로 수학 모델
  • 단어를 그대로 사용할 수 없고, 이를 숫자로 변환한 후 (One-Hot Encoding) 다시 N차원 공간의 벡터로 변환
    • 이를 워드 임베딩 (word embedding)이라고 부름
    • 데이터의 크기를 줄이고 단어 간의 유사도 측정 가능

4. GPT

  • Generative Pre-trained Transformer
  • OpenAI에서 만든 초거대 언어 모델
    • 훈련과 예측에 전용 HW 사용
  • 두 가지 모델 제공
    • Word Completion
      • 한국어를 포함한 다양한 언어 지원
    • Code Completion

GPT 3 vs. GPT 4

  • GPT-3
    • 175B 파라미터 = 800GB
    • Context window 크기는 2,048 + 1
    • 12,288 개의 워드 벡터 사용
  • GPT-4
    • 1T 파라미터
    • Context window 크기는 8,192 + 1
    • 32,768 개의 워드 벡터 사용
    • Multi-modal (이미지 인식)
  • 경량 모델들도 나오기 시작
    • 메타의 LLaMA
    • 스탠포드의 Alpaca
      • LLaMA의 파인튜닝 버전
    • 데이터브릭스의 Dolly

GPT API

  • GPT API
    • Completion
      • word
      • code
    • Fine-tuning
  • Whisperer API
    • text to speech
    • speech to text
  • ChatGPT API
    • 대화형 GPT
  • 모두 유료!

5. Fine-tuning

  • 이미 만들어진 모델 (Pre-trained Model) 위에 새로운 레이어를 얹히고 다른 용도의 데이터로 훈련하는 것
  • GPT는 이를 API로 지원함
    • 기본 언어 모델 위에 나만의 모델 생성 (버티컬 전용 모델)

6. ChatGPT

  • GPT를 챗봇의 형태로 Fine-tuning
    • RLHF : Reinforcement Learning from Human Feedback
    • GPT의 지식을 챗봇의 형태로 활용 가능
      • Prompts 엔지니어링 탄생

RLHF

  • 사람 피드백을 기반으로 대화하는 인공지능 모델 학습
  • 사람이 선호하는 응답을 평가하는 인공지능 모델 학습
  • 강화학습 기법을 활용해 ChatGPT 학습

ChatGPT 4.0

  • 월 20$
  • Code Interpreter 추가
    • 코드를 작성하고 주피터 노트북에서 실행 가능
    • 샘플 데이터를 업로드하고 관련해서 다양한 질문 가능
  • 인터넷을 통해 연결하고 일부 정보를 검색
  • 이미지 업로드 지원
    • 이미지 기반으로 질문 가능
  • 플러그인 기능 추가
    • ex) 여행 리서치 + 예약까지
    • 사용/개발 시 별도 등록 필요
    • 기본 4.0 써도 OFF 되어있음 -> 설정에서 켜야 함

7. ChatGPT 활용법

  • 동반자로 생각하고 친해져라! 나를 위한 Digital Assistant
  • 모든 일에 ChatGPT 사용해보기
    • Prompt 작성 연습
  • 코딩에서 사용해보기
    • 특정 기능의 함수를 구현해야 하는 경우
      • 파라미터 설명해주고 테스트 케이스까지 제공해주면 금상첨화
      • 잘못된 답이 나올 수 있기 때문에 테스트 케이스의 작성이 중요
      • 틀린 답이 나온 경우 테스트 케이스를 바탕으로 재작성 요구
    • 내 코드 리뷰 요구
    • 내 코드에 주석 추가
    • 내 코드에 테스트 코드 추가 요구
    • Github Copilot