생성형 AI(Generative AI)의 소개

구글 클라우드 Generative AI learning path - Introduction to Generative AI

안녕하세요. 융(Yong)입니다.🌼 여러분은 CHAT GPT를 사용해보셨나요? 요즘에는 다양한 분야에서 생성형 AI들이 등장하고 있는데요. 디지엠유닛원에서도 구글 클라우드가 제공하는 ‘Generative AI learning path’ 강의 트랙을 따라 생성형 AI 스터디를 진행하고 있습니다. 해당 강의는 여기에서 보실 수 있습니다. 이번주에는 첫 강의인 ‘Introduction to Generative AI’에 대한 스터디를 진행했는데요. 강의 내용을 기반으로 멤버들과 공부한 내용을 취합해 정리하였습니다.


1. 생성형 AI(Generative AI)란 무엇일까?

생성형 AI는 기존 콘텐츠에서 배운 내용을 기반으로 새로운 콘텐츠를 생성하는 인공지능(AI)의 한 유형입니다. 정확하게는 머신러닝 중 딥 러닝의 하위 분야라고 볼 수 있습니다. AI 관련 지식이 없는 상태에서 인공지능(AI), 머신러닝(ML), 딥러닝(Deep Learing), 생성형 AI 등 관련 개념을 구분하기란 쉽지 않은데요. 이 비슷해 보이는 개념들은 아래 그림과 같은 포함관계에 있습니다. 우리가 배우고자 하는 생성형 AI는 벤 다이어그램에서 딥러닝의 하위 분야에 있습니다. 생성형 AI를 제대로 알아보기 위해서는 상위 개념들도 함께 살펴볼 필요가 있습니다. ai-venn-diagram


2. 인공지능과 머신러닝의 차이

상위 개념부터 차근차근 살펴봅시다. AI란 무엇이고, 머신러닝이란 무엇일까요?

  • AI는 컴퓨터 과학의 한 분야로, 이론과 방법을 다루며 추론, 학습, 자율적인 행동을 수행할 수 있는 시스템을 만드는 학문입니다. 쉽게 말해, 사람처럼 사고하고 행동하는 기계를 만드는 것이 목표인 분야라고 볼 수 있습니다.
  • 머신러닝(machine learning)은 AI의 하위 분야입니다. 입력 데이터를 사용하여 모델을 훈련시키는 프로그램 또는 시스템을 의미합니다. 훈련된 모델은 새로운 데이터를 기존의 훈련 데이터에서 얻은 유용한 예측을 할 수 있습니다. 머신러닝은 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 제공합니다.

머신 러닝의 하위 분야인 딥러닝에 대해 알아보기 전에, 머신러닝의 방법. 즉 컴퓨터를 학습시키는 방법에 대해 알아봅시다. 대표적인 학습 방법의 종류로는 지도 학습(Supervised ML models)과 비지도 학습(Unsupervised ML models)이 있습니다.


3. 지도 학습 vs 비지도 학습

지도학습은 마치 교사가 학생에게 가르쳐주듯 ‘x는 y야.‘라고 정답을 알려주는 학습 방법입니다. 반면 비지도 학습은 컴퓨터에 ‘정답’을 가르쳐주지 않습니다. 많은 양의 데이터를 넣어주고 컴퓨터 스스로 특징들을 분류하고 구분하게 합니다. 네, 맞습니다. 두 학습 방법의 가장 큰 차이는 학습하는 데이터에 정답(레이블)이 있느냐 없느냐입니다. 정확히 말하자면 레이블은 이름, 유형, 또는 숫자와 같은 태그가 있는 데이터를 의미합니다. 지도 학습 모델은 레이블이 있는 데이터를 사용하고, 비지도 학습은 레이블이 없는 데이터를 사용합니다.

아주 간단한 예를 들어 볼까요? ‘사과’라는 이름표(레이블)를 붙인 수많은 사과 이미지를 학습한 컴퓨터가 있다고 가정합시다. 이 컴퓨터는 학습되지 않은 이미지를 받았을 때 이전의 학습된 ‘사과’ 데이터와 비교해 유사하다면 그 이미지를 ‘사과’라고 판별할 수 있습니다. 이것이 지도학습의 예입니다.

반면, 굳이 이름표를 붙이지 않고 엄청나게 많은 과일 사진들을 학습한 컴퓨터가 있다고 가정합시다. 이는 비지도 학습에 해당합니다. 컴퓨터는 수많은 과일 사진들을 유사성을 기준으로 그룹화합니다. 그중에 빨간색의 동그란 과일들 위주로 묶어놓은 그룹에 사과 이미지가 다수 포함되어있을 수 있겠네요. 다만 컴퓨터는 그 그룹을 ‘사과’ 그룹이라고 구체적으로 식별하지는 않습니다. 실제 이름이나 유형을 모른 채 비슷한 과일 이미지를 함께 묶어두는 것이죠. 컴퓨터는 이러한 그룹 중 일부가 사과와 같은 특정 유형의 과일에 해당한다는 것을 본질적으로 알지 못합니다. 이러한 클러스터를 해석하고 의미를 할당하는 것은 사람의 몫입니다. 비지도 학습은 이렇게 미리 정의된 레이블 없이 데이터에서 패턴과 구조를 찾아냅니다.

지도 학습과 비지도 학습의 과정

supervised-unsupervised-learning-process 지도 학습에서는 테스트 데이터값 또는 x가 모델에 입력됩니다. 여기서 x는 훈련되지 않은 새 데이터입니다. 모델은 예측을 출력하고, 해당 예측과 모델을 훈련하는 데 사용된 훈련 데이터를 비교합니다. 예측된 테스트 데이터값과 실제 훈련 데이터값이 많이 차이가 나면, 이를 오류(Error) - 더 정확하게는 피드백(Feedback) - 라고 합니다. 그리고 모델은 이 오류(Error)를 줄이기 위해 예측과 실제 값이 더 가까워지도록 합니다. 비지도 학습에서는 지도 학습과 달리 비교할 예측값(Expected output)이 없습니다. 답이 없는 학습을 시켰기 때문에 결과물도 지도 학습에 비해 어떻게 나올지 예상이 안 되는 측면이 있죠.


4. 머신러닝과 딥러닝

machine-learning-deep-learning 딥러닝은 머신러닝의 하위 집합입니다. 머신러닝은 다양한 학습 방법을 포함하는 넓은 분야이고, 딥러닝은 인공 신경망을 사용하여 머신러닝보다 “더 복잡한 패턴”을 처리할 수 있는 머신러닝의 한 유형입니다.

딥러닝의 ‘인공 신경망’은 인간의 뇌를 모방한 구조로, 많은 연결된 뉴런들로 이루어져 있습니다. 이 뉴런들은 데이터를 처리하고 예측을 수행하는 데 사용됩니다. 일반적으로 인공 신경망은 아래 그림처럼 여러 개의 뉴런 레이어로 구성되어 있어 기존의 머신러닝 모델보다 더 복잡한 패턴을 학습할 수 있습니다. 이렇게 여러 겹의 레이어를 사용하기 때문에 딥(Deep) 러닝이라는 이름이 붙여졌죠.

deep-learning-layers

위에서 알려드린 지도 학습과 비지도 학습의 구분에 대해서 기억하시나요? 딥러닝의 인공 신경망은 지도 학습과 비지도 학습 모두 사용할 수 있습니다. 즉 학습에 레이블이 있는 데이터와 레이블이 없는 데이터를 모두 사용하는 것이죠. 두 방법을 모두 사용한다는 점에서 딥러닝은 준지도 학습(semi-supervised learning) 에 해당합니다. 보통 딥 러닝에서 레이블이 있는 데이터를 제공하는 것은 시간이 많이 들기 때문에 작은 양의 레이블이 있는 데이터와 큰 양의 레이블이 없는 데이터를 함께 사용하여 모델을 훈련시킵니다. 레이블이 있는 데이터는 신경망이 작업의 기본 개념을 학습하는 데 도움을 주고, 레이블이 없는 데이터는 신경망이 새로운 예제로 일반화하는 데 도움을 줍니다.


5. (다시) 생성형 AI(Generative AI)란 무엇일까?

자, 생성형 AI의 상위 개념인 딥러닝에 대해서도 간략히 알아봤으니, 다시 생성형 AI의 정의로 돌아와 봅시다.

  • 생성형 AI(Generative AI)란, 텍스트, 이미지, 오디오, 합성 데이터 등 다양한 유형의 콘텐츠를 생성할 수 있는 인공지능 기술입니다.
  • 생성형 AI(Generative AI) 딥러닝의 하위 분야입니다. 즉, 지도, 비지도, 준지도 학습 방법을 통해 레이블이 있는 데이터와 없는 데이터를 모두 처리할 수 있습니다.
  • 대규모 언어 모델(LLM)도 딥러닝의 하위 분야입니다. 대규모 언어 모델은 번역, 질문에 대한 답변, 채팅 및 콘텐츠 요약, 콘텐츠 및 코드 생성과 같은 언어 관련 작업을 수행하는 데 매우 효과적인 머신러닝 모델입니다. (대규모 언어 모델에 대해서는 다음 글에서 자세히 다룰 예정입니다.)

gen-ai-venn-diagram


6. 딥러닝 모델 유형

딥러닝 모델 또는 머신러닝 모델은 결과물에 따라 크게 ‘생성 모델’과 ‘판별 모델’로 나눌 수 있습니다. deep-learning-model-types

판별 모델(Discriminative)

  • 판별 모델은 데이터 포인트에 대한 레이블을 분류하거나 예측하는 데 사용됩니다.
  • 판별 모델은 일반적으로 레이블이 있는 데이터 집합으로 훈련됩니다. 그리고 데이터 포인트의 특징과 레이블 사이의 관계를 학습합니다.
  • 한 번 판별 모델이 학습되면 새로운 데이터 포인트의 레이블을 예측하는 데 사용됩니다.

생성 모델(Generative)

  • 생성 모델은 기존 데이터의 학습된 확률 분포를 기반으로 새로운 데이터 인스턴스를 생성합니다.
  • 따라서 생성 모델은 새로운 콘텐츠를 생성합니다.

판별 모델 vs 생성 모델 예시

discriminative-generative-tech-ex 쉽게 말해, 판별 모델은 서로 다른 데이터 개체를 ‘분류’ 하고, 생성 모델은 새로운 데이터 개체를 ‘생성’ 합니다.

  • 판별 모델: 고양이가 아닌 개로 식별하는 조건부확률 분포를 학습하고 주어진 그림을 “이것은 개다”라고 분류합니다.
  • 생성 모델: “이것은 개다”라고 예측할 가능성을 학습하고 개의 사진을 생성합니다.

생성형 AI 모델 구분하기

gen-ai-function

전통적인 머신러닝 모델은 데이터와 레이블, 또는 예측하려는 대상 간의 관계를 학습하려고 합니다. 반면, 생성형 AI 모델은 콘텐츠를 생성할 수 있도록 콘텐츠의 패턴을 학습합니다. 이 의미가 헷갈리신다면 생성형 AI와 생성형 AI가 아닌 것을 구분하는 더 간단한 기준이 있습니다. 바로 결과물(output, y)입니다.

  • 출력, y, 레이블이 숫자, 클래스(스팸 여부), 확률이 출력될 경우 -> 생성형 AI❌
  • 이미지, 텍스트, 음성 등과 같은 자연어 형태의 콘텐츠가 출력될 경우 -> 생성형 AI✅

만약 y가 예측된 판매량과 같은 숫자라면 생성형 AI가 아닙니다. 만약 y가 “판매란 무엇인가? 판매란 ~“와 같은 문장인 경우, 생성형 AI가 맞습니다. 생성형 AI의 응답은 이미 모델이 훈련한 방대한 데이터에 기초하여 생성됩니다.


7. 생성형 AI로 오기까지의 발전 과정

전통적인 프로그래밍

  • 전통적인 프로그래밍에서는 고양이를 구분하기 위해 규칙을 직접 하드 코딩해야 했습니다.
  • 예를 들면, 동물 유형(포유류), 다리 4개, 귀 2개, 털 있음, 털실과 캣닙 선호도 등을 판별하는 규칙들을 직접 만들어야 했죠.

신경망

  • 신경망의 파도(~ 2012)에서는 고양이와 개의 사진을 네트워크에 제공하고 “이것이 고양이인가요?”라고 물어볼 수 있었습니다. 그러면 네트워크는 고양이로 예측했습니다.

생성 모델

  • 생성형 파도(Generative language models: LaMDA, PaLM, GPT, etc) 에서는 사용자가 텍스트, 이미지, 오디오, 비디오 등의 자료를 생성할 수 있습니다.
  • 예를 들어, PaLM(Pathways Language Model), 또는 LAMBDA(대화 애플리케이션용 언어 모델)과 같은 모델은 인터넷의 다양한 소스에서 대량의 데이터를 수집하고 기반 언어 모델을 구축합니다. 우리가 단순히 질문만 하면(프롬프트로 입력하거나 명령을 던지면) 모델이 학습한 정보를 제공합니다.
  • “고양이란 무엇인가?”라고 묻는다면, 모델은 고양이에 대한 모든 학습 내용을 답으로 제시할 것입니다.

8. 생성형 AI 관련 용어

생성형 AI를 다루면 반드시 만나게 될 주요 용어에 대해서도 알아봅시다.

변환기(트랜스포머, Transformer)

how-transformer-works

  • 생성형 AI의 힘은 변환기(트랜스포머Transformer)의 사용에서 나옵니다.
  • 변환기는 2018년 자연어 처리 분야에서 혁명적인 발전을 이끌어냈습니다.
  • 고수준에서 변환기 모델은 인코더와 디코더로 구성됩니다.
  • 인코더는 입력 시퀀스를 인코딩하고, 해당 표현을 디코더에 전달하여 관련 작업을 위해 해독하는 방법을 학습합니다.

환각(할루시네이션, Hallucination)

  • 변환기에서 환각(할루시네이션, hallucination)은 모델에 의해 생성된 무의미하거나 문법적으로 올바르지 않은 단어나 구문을 말합니다.
  • 환각은 모델이 충분한 데이터로 훈련되지 않았거나 노이즈가 많거나 오염된 데이터로 훈련되었거나 충분한 문맥이나 제약 조건을 주지 않았을 때, 발생할 수 있습니다.
  • 환각은 변환기에 문제가 될 수 있으며, 출력 텍스트를 이해하기 어렵게 만들 수 있습니다. 또한, 환각으로 인해 모델이 잘못된 정보를 생성할 가능성도 높아집니다.

프롬프트(prompt)

  • 프롬프트(prompt)는 대형 언어 모델에게 입력으로 주어지는 짧은 텍스트 조각입니다.
  • 프롬프트는 모델의 출력을 다양한 방식으로 제어하는 데 사용될 수 있습니다.
  • 프롬프트 디자인 은 큰 언어 모델에서 원하는 출력을 생성하는 프롬프트를 만드는 과정입니다.
  • 생성형 AI는 입력한 훈련 데이터에 크게 의존합니다. 그리고 입력 데이터의 패턴과 구조를 분석하여 학습합니다.

9. Gen AI의 응용 - 생성 모델 종류

생성 모델의 종류로는 텍스트 생성 모델 (Text-to-Text), 이미지 생성 모델 (Text-to-Image), 비디오 및 3D 생성 모델 (Text-to-Video, Text-to-3D), 태스크 기반 모델 (Text-to-Task) 등이 있습니다.

  • 텍스트 생성 모델 (Text-to-Text): 텍스트 생성, 클러스터링, 요약, 번역, 리서치, 추출 등에 활용
  • 이미지 생성 모델 (Text-to-Image): 이미지 생성, 이미지 편집 등에 활용
  • 비디오 및 3D 생성 모델 (Text-to-Video, Text-to-3D): 비디오 생성, 비디오 편집, 게임 에셋 생성 등에 활용
  • 태스크 기반 모델 (Text-to-Task): 웹 UI를 탐색하거나 GUI를 통해 문서를 변경 등 자동화 등에 활용

대표적인 이미지 생성 모델로 미드저니와 DALL-E2가 있습니다. 아래는 실제로 DALL-E2에서 텍스트를 입력하여 이미지를 생성한 예시입니다. 여기에서 직접 텍스트로 이미지를 생성해볼 수 있습니다. (‘오드 아이를 가진 박스 속 하얀 고양이’를 입력한 결과물) dall-e2-sample DALL-E2와 같이 대규모 데이터셋을 사용해 사전에 학습되어 있는 일종의 반 제품형태의 AI 모델을 ‘기반 모델(파운데이션 모델, Fundation Model)‘이라고 합니다. 생성형 AI 프로세스는 훈련 코드, 레이블 데이터 및 모든 유형의 미분류 데이터를 가져와서 기반 모델을 구축할 수 있습니다. 이후 기반 모델은 텍스트, 코드, 이미지, 오디오, 비디오 등과 같은 새로운 콘텐츠를 생성할 수 있습니다.

기반 모델은 개발자가 별도의 모델 구축과 학습을 위해 시간과 자원을 들이지 않아도 다양한 작업을 수행할 능력을 갖추고 있습니다. 튜닝을 통해 일부 서비스에 특화시킬 수도 있죠. 대표적인 기반 모델로는 OpenAI 사의 DALL-E2 와 GPT-3 외에도 Google AI의 LaMDA 등이 있습니다.




참고자료 및 출처 Generative AI learning path ※ 사용된 도표 이미지는 모두 구글 클라우드의 Introduction to Generative AI 강의 영상에서 가져왔습니다.

디지엠유닛원 주식회사

  • 대표이사 권혁태
  • 개인정보보호책임자 정경영
  • 사업자등록번호 252-86-01619
  • 주소
    서울특별시 금천구 가산디지털1로 83, 6층 601호(가산동, 파트너스타워)
  • 이메일 web@dgmit.com