반응형

1. Rule based programming

머신러닝 이전에 했던 방식으로 Input된 대상을 구별하기 위한 특징들(features)을 사람들이 직접 찾아내서, 판단할 수 있는 로직을 코딩으로 작성하여 결과(Output)을 찾아내는 방식임.

 

2. Hand designed feature based machine learning

사람들이 특징들(features)을 찾아내고, 특징들에 대한 로직은 코딩 대신 머신러닝(Machine Learning)을 통해 만들어 결과(Output)을 찾아내는 방식임.

* 머신러닝(Machine Learning)에 대한 기본 이해

  • 학습 단계1. 학습데이터 준비
    (사람들이 직접 특징 정의하고 학습 데이터 생성을 위한 코딩 작업 수행)
    1-1. 이미지 수집 → 1-2. 특징 정의 → 1-3. 학습 데이터 생성
  • 학습 단계2. 모델 학습 : 최적의 연산 집합은 모든 Try 중에 Error가 제일 작은 것!
    (오차를 최소화하는 연산을 찾아내는 것이 핵심으로, Try&Error 방식으로 최적의 연산 집합을 찾아냄)
    2-0. 예측 및 오차 : 

 

3. Deep Learning

Deep&Wide Neuralnetwork : 엄청나게 많은 연산들의 집합, 자유도가 높아 연산들의 구조를 잡고 사용
구조 예) CNN, RNN, etc

※ Deep Learning(CV, NLP 차이)

  • Computer Vision  : 두 단계로 크게 구분
     1-1 이미지 수집 → 1-2 학습 데이터 생성
  • Natural Language Processing : 세 단계로 크게 구분(토큰화 과정 추가)
     1-1 텍스트 수집 → 1-2 정의된 특징(토큰화, 의미분석에 용이한 토큰으로 쪼갬) → 1-3 학습 데이터 생성

 

반응형

4. Pre-training & Fine-tuning (GPT)

기존의 딥러닝 문제점 : 분류 대상이 (태스크가) 바뀔 때마다 다른 모델이 필요

1단계 Pre-training : 모든 Image > Features > Mapping from features > 분류 결과(>1k)

2단계 Fine-tuning : 구분을 원하는 특정 이미지들을 입력

  • Image input > Features(1단계에서 학습된 연산을 고정(Frozen)한 상태) > Mapping from features(테스크를 수행하기 위해 mapping쪽에 해당하는 연산들만 새로 학습) > 특정 이미지 Output

여전히 태스크마다 다른 모델이 필요하지만, 필요한 데이터 수가 적어지고 개발 속도가 올라가게 됨!

 

5. Big Model & zero/few shot (ChatGPT 구조)

ChatGPT를 이해하기 위해 언어 모델(Language model)에 대한 이해가 선행되어야 함.

딥러닝 초창기의 언어 처리 모델은 “RNN” 아키텍쳐로 만들어짐

  • RNN(recurrent neural network), 노드 사이의 연결고리가 cycle을 이룬다고 해서 붙여진 이름으로, 자연어과 같은 sequence 형태의 데이터를 다루는데 특화되어 있음

단순한 다음 단어 맞추기가 ChatGPT롤 발전하게 된 계기?

Emergence(2017.4) :

OpenAI에서 Alec Radford가 언어 모델을 RNN으로 만들고 있었음

그런데 특정 뉴런이 감성 분석을 하고 있음을 발견함(긍정과 부정을 구분해 내는군)

언어 모델링을 하다보면 의도하지 않은 능력이 생기게 되는게 아닐까? > “Emergence”

  • Alec Radford는 GPT논문의 1저자

 

Transformer(2017.6) :

TransformerRNN, CNN과 유사한 아키텍처의 일종

  • “Attention”이란 항목과 항목 사이의 연관성

Transformer는 여러모로 성능이 좋았음. 계산 효율이 기존의 RNN 등에 비해 대단히 높았던게 이점, 게다가 결과의 품질도 더 좋음 > 이후 비전, 추천, 바이오 등 다른 모든 분야에서 쓰는 기술이 됨.

Alec Radford도 자연스럽게 Transformer를 가지고 실험하기 시작함.

 

GPT(2018.6) :

Alec Radford와 동료인 Ilya Sutskever 등이 RNN에서 Transformer로 넘어가며 출판

“Generative pretraining(GP)”을 하는 Transformer(T)

Pretraining-finetuning 패러다임의 대표적인 논문 큰 스케일에서 언어 모델링을 통해 사전학습 모델을 만들고, 이 모델을 파인튜닝하면 다양한 NLP 태스크에서 좋은 성능을 보임.

 

GPT-2(2019.2) :

Ilya Sutskever가 오랫동안 주장했던 믿음은 데이터를 많이 부어 넣고 모델 크기를 키우면 신기한 일들이 일어난다였음

Transformer 전까지는 큰 모델의 학습을 어떻게 할 것인가가 문제였는데, Transformer가 계산 효율이 높아 스케일링에 유리

모델을 키우고(117M > 1.5B)데이터를 왕창 부음(4GB > 40GB) -> GPT-2의 탄생

생성에 너무 뛰어나서 해당 모델이 가짜 정보를 다량 생성할 위험성이 크다고 판단, OpenAIGPT-2를 공개하지 않는다고 함

언어 생성을 아주 잘하게 될 뿐더러 emergence!가 또 보임

GPT2는 방대한 데이터를 기반으로 세상에 대해 많이 배운 모델

  • emergence!:Zero-shot learning : 예시를 전혀 보지 않고, 모델 업데이트 없이 새로운 태스크를 수행
    “Unsupervised multitask learners, 하나를 가르쳤는데 열을 아네”
    독해, 번역, 요약 Q&A 등에 대해 zero-shot 능력이 꽤 있음! 
    Zero-shot인데도 특정 태스크는 기존의 SOTA 모델들을 짓눌러버림
  • SOTA란 state-of-the-art, 즉 현존하는 제일 좋은 모델

 

GPT-3(2020.6) :

여기서 한 번 더 크기를 키운 것이 GPT-3(모델 1.5B > 175B, 데이터 40GB > 600GB+)

많은 데이터로 pretraining해서 더욱 놀라운 생성 능력을 갖추게 됨

역시 여러 측면으로 “emergence”를 확인:

지식을 포함?(world knowledge), 학습 없이 태스크를 배우는 능력?(few-shot learners)

  • “Emergence”: In-context learning, Few-shot도 모델 파인튜닝 없이 되네? : 프롬프트에 예시 몇 개(“few-shot”)를 넣어주면 모델 업데이트 없이 새로운 태스크를 수행

 

GPT-4 출현 : 

CLIP(2021.1) : “zero-shot” 이미지 분류

DALL-E(2021.1): 주어진 텍스트로부터 이미지 생성

Codex(2021.8) : 코드 생성을 위한 모델

InstructGPT(2022.1) : 명령에 대한 파인튜닝과 강화학습 > 이미 지식은 다 있다, 어떻게 뽑아낼 것인가

 

※ 위 정보는 fastcampus.co.kr의 업스테이지 '모두를 위한 ChatGPT UP!'의 강의 내용에서 요약 정리한 것입니다. 구체적인 내용을 배우시려면 업스테이지 강의를 들으시면 많은 도움이 되실 겁니다!

반응형

+ Recent posts