GETTING MY DUCKS IN A ROW

AI/Generative AI

[GenAI StudyJAM] Introduction to Generative AI

Yoobin Park 2024. 5. 5. 20:40
본 글은 Google Cloud Skills Boost의 Beginner:Introduction to Generative AI Learning Path > Introduction to Generative AI 영상에서 배운 내용을 정리한 글입니다.

인공지능이란?

  • 인공지능은 보통 사람의 지능을 요구하는 일들이 가능한 컴퓨터 시스템에 관한 개발과 이론을 의미함
  • AI는 컴퓨터 공학의 한 분야로 자율적으로 추론하고 학습하며 행동할 수 있는 시스템인 Intelligence Agent를 만드는 것
  • 본질적으로 AI는 인간적으로 생각하고 행동하는 기계를 만들기 위한 이론 및 방법

머신러닝

  • AI의 하위 분야로 일일이 명시적으로 프로그래밍할 필요 없이 입력 데이터로부터 컴퓨터가 학습하는 능력을 가지도록 하는 것 → 학습된 모델은 이를 기반으로 새로운 데이터나 전혀 본 적 없는 데이터에서 유용한 예측을 할 수 있다.

Supervised Learning(지도학습) vs Unsupervised Learning(비지도 학습)

  • Unsupervised ML Models
    • 라벨링이 되어 있지 않은 데이터를 학습
    • raw data를 그룹화하는 데에 이용
  • Supervised ML Models
    • 이미 라벨링된 데이터를 사용 → 미래의 값을 예측하기 위해 과거의 예시로부터 배운다.

Deep Learning

  • Deep learning은 인공신경망을 이용해 기존의 머신러닝 기법보다 더 복잡한 패턴을 처리할 수 있는 기술이다.
  • 딥러닝은 인간의 뇌에서 착안하여 복잡한 데이터/테스크를 수행할 수 있도록 많은 노드(뉴런)이 상호연결되어 구성된다.
  • semi-supervised learning(준지도 학습)이라고도 하는데 많은 양의 라벨링된 데이터를 이용해 주어진 task의 기본 개념을 이해하고, 적은 양의 라벨링되지 않은 데이터를 이용해 신경망이 새로운 케이스에 대해 일반화(Generalization)되는 과정을 거치기 때문이다.
  • 생성형 AI는 딥러닝의 하위집합으로써 인공 신경망으로 지도, 비지도 및 준지도 학습 방법을 이용해 라벨링된 데이터, 라벨링되지 않은 데이터 모두 처리 가능하다. -> LLM (대규모 언어 모델)또한 딥러닝의 하위 집합

Generative AI & LLM is a subset of deep learning

Discriminative model(분류형 모델) vs Generative Model (생성형 모델)

  • 딥러닝 모델은 분류형 모델과 생성형 모델 두 유형으로 나눌 수 있다.
  • 분류 모델은 데이터를 분류 및 예측하는데에 사용되기 때문에 일반적으로 라벨링된 데이터셋을 이용해 데이터 포인트의 특성 & 관계를 학습한다.
    • 조건부 확률을 이용해 출력인 y의 확률과 입력인 X를 학습 → 개를 고양이가 아니라 개로 분류하는 것 ⇒ 데이터 인스턴스를 구분

Classical Learning

  • 생성형 모델은 기존 데이터의 확률 분포를 학습해서 주어진 입력값이 무엇과 비슷한지를 생각하고 그와 비슷한 새로운 데이터 인스턴스를 생성한다. → 즉, 문장을 주고 그 다음 올 말을 예측하는 것처럼 새 콘텐츠를 생성할 수 있다.
    • 공통 확률 모델 (x와 y의 확률을 학습) → 이것이 개일 조건부 확률을 예측한 다음 개의 그림을 생성 ⇒ 새로운 데이터 인스턴스 생성 가능

Generative AI

  • 즉, y = f(x)의 y 출력값에 따라 생성형/분류 모델이 구분된다.

기존 ML 모델과 생성형 AI의 차이

생성형 AI (Generative AI, Gen AI)

  • 생성형 AI는 기존의 콘텐츠로부터 배운 것을 기반으로 새로운 컨텐츠를 생성하는 AI의 한 종류로, 텍스트, 이미지, 오디오, 합성 데이터 등 다양한 형태의 콘텐츠를 생성할 수 있다.
  • 기존의 콘텐츠로부터 배우는 과정을 ‘훈련’(training)이라고 하고, 만들어진 결과물은 통계모델로부터 만들어진 것이다
  • 프롬프트(자연어로 된 명령어)가 주어지면, GenAI는 이 생성한 통계모델을 사용해서 어떤 응답을 내야 할지 예측하고 새로운 콘텐츠를 만든다.

데이터에 기반한 생성형 AI의 종류

Generative Language Models

  • training data를 통해서 언어에 있는 패턴을 배운다. → 주어진 어떤 텍스트에 대해 그 다음에 올 말이 무엇일지 예측한다.

Generative Image Models

  • Diffusion 같은 기술을 이용해서 새로운 이미지를 만들고 모델에 프롬프트나 사용자의 상상이 주어지면, 랜덤 노이즈나 프롬프트로부터 이미지를 만들어낸다.
  • 생성형 모델은 이미지/텍스트를 입력으로 사용해 텍스트/이미지/동영상 등 다양한 형태의 인스턴스를 만들 수 있다. 

생성형 AI 관련 개념

생성형 AI의 원리 - Transformer

  • 생성형 AI의 힘은 Transformer의 사용에 있다고 해도 과언이 아니다. Transformer는 2018년 자연어 처리에서 혁명을 일으킨 모델로, 입력 시퀀스를 인코딩하는 인코더와 관련 task에 대한 표현을 디코딩하는 디코더로 구성되어 있다.

생성형 AI의 한계 - Hallucination

  • Hallucination은 모델이 전혀 말이 안되거나 문법적으로 옳지 않은 단어나 문장을 생성하는 것을 말한다. 예전에 ChatGPT의 ‘세종대왕 맥북 던짐 사건’이 있었는데 모델이 없었던 일을 헛소리하는 걸 생각하면 된다.
  • Hallucination은 출력값을 이해하기 어렵게 만들기 때문에 Transformer에 큰 문제가 될 수 있다. 이가 발생할 때는 다음과 같은 여러 요인들을 확인해야 한다.
    • 모델을 충분한 데이터로 훈련하지 않았다.
    • 모델이 훈련한 데이터가 노이즈가 많거나 더럽다.
    • 모델에 충분한 문맥이 제공되지 않았다.
    • 모델에 제약조건을 주지 않았다.

생성형 AI의 제어 - Prompt

  • 대규모 언어 모델(LLM)에 입력으로써 제공되는 짧은 텍스트로, 다양한 방법으로 모델 출력을 제어하는 데 사용될 수 있다.
  • 요즘 ChatGPT가 영어 회화를 위한 도구로 쓰는 법을 설명한 유튜브를 어렵지 않게 볼 수 있는데, 영상 내용들은 다 비슷하다. ChatGPT에게 회화를 시작하기 전 단순히 ‘나랑 영어 회화해줘’를 말하고 시작하는 게 아니라 ‘중학교 수준으로 대화해주고, 너가 영어를 먼저 말한 뒤에 한국어로 뜻을 설명해줘’ 처럼 미리 설정을 해놓고 회화를 진행한다. 그것처럼 원하는 출력을 만들도록 입력창(프롬프트)을 생성하는 과정을 프롬프트 디자인이라고 한다.

Generative AI 모델의 종류

Text-to-text model

  • 입력값으로 자연어를 받고 텍스트 출력값을 내는 모델을 말한다. 번역처럼 텍스트 쌍을 맵핑하는 법을 학습한다.
  • 적용: 생성, 분류, 요약, 번역, 검색(연구), 추출, 클러스터링, 콘텐츠 편집 및 수정

Text-to-image model

  • 상대적으로 꽤 최근에 나온 모델이고 짧은 텍스트의 설명이 캡션으로 있는 대규모 이미지 데이터셋을 학습한 모델로, diffusion이 이 모델에 가장 많이 쓰이는 기술이다.
  • 적용: 이미지 생성, 이미지 편집

Text-to-video/text-to-3D model

  • Text-to-video 모델은 텍스트 입력값을 받아 그를 표현하는 비디오를 만들기 위한 모델이다. 입력값 텍스트로 하나의 문장에서부터 전체 스크립트를 줄 수 있고, 모델은 이에 상응하는 결과물을 비디오로 내놓는다.
  • 비슷하게 text-to-3D 모델은 사용자의 텍스트 설명에 해당하는 3차원 오브젝트를 만드는데 3D 세계나 게임에 사용된다.
  • 적용: 비디오 생성/편집, 게임 자산

Text-to-task model

  • 특정 테스크나 행동을 처리하기 위해 훈련된 모델로, 질문 대답하기, 검색하기, 예측하기, 어떤 행동 취하기 등의 task를 맡아서 할 수 있다. 예를 들어서웹 UI를 탐색하거나 GUI를 통해서 문서 편집을 하는 등의 task를 할 수 있다.
  • 적용: 소프트웨어 에이전트, 가상 비서, 자동화

Foundation model (기반 모델)

  • 대규모 AI 모델로 광범위한 모델을 선행학습하여 후에 미세 조정을 거쳐 다양한 Downstream task에 적용될 수 있도록 설계된 모델
    • e.g. 감정 분석, 이미지 캡션, 객체 인식과 같은 테스크에 맞춰 의료 서비스, 금융, 고객 서비스 등의 분야에 사용될 수 있다.
  • Vertex AI는 이와 같은 기반 모델을 포함하는 모델 가든을 제공
    • 고객이 제품이나 서비스에 대해 느끼는 감정을 수집해야 하는 경우 → 분류/감정분석 태스크 모델 사용
    • 인원/차량 수 분석을 수행해야 하는 경우 등
  •