AWS AI Practitioner

AWS AI Practitioner 시험 노트개념 정리16 MIN

트랜스포머·디퓨전 모델과 생성형 AI 활용 사례

트랜스포머와 어텐션, 그 위에 선 LLM과 파운데이션 모델, 여러 입력을 함께 읽는 멀티모달 모델, 잡음을 걷어 내며 그리는 디퓨전 모델을 가르고, 작업마다 어느 갈래가 맞는지 AWS 서비스와 함께 정리합니다.

생성형 AI 문항에서 가장 자주 요구되는 판단은 「이 일에는 어떤 갈래의 모델이 맞는가」입니다. 보고서 요약과 제품 사진 생성은 둘 다 생성형 AI지만 서로 다른 구조의 모델이 맡습니다. 이 편은 두 구조, 곧 트랜스포머와 디퓨전 모델이 어떻게 동작하는지를 시험이 요구하는 깊이만큼 짚고, 그 위에서 작업과 모델 갈래를 짝짓습니다. 앞 편의 토큰과 임베딩이 여기서 다시 나옵니다.

트랜스포머

어텐션

트랜스포머는 문장 속 토큰들을 한꺼번에 읽으면서, 토큰마다 다른 어느 토큰을 얼마나 참고할지를 계산하는 신경망 구조입니다. 그 계산이 어텐션입니다. 「그 가방은 너무 무거워서 들 수 없었다」에서 「무거워서」를 읽을 때 「가방」에 큰 비중을 두는 식으로, 멀리 떨어진 토큰끼리의 관계를 직접 잇습니다. 예전의 순환 신경망은 토큰을 하나씩 차례로 읽어 긴 문장의 앞쪽을 잊기 쉬웠고 병렬로 계산하기도 어려웠는데, 트랜스포머는 이 둘을 함께 풀어 큰 모델을 큰 데이터로 학습시킬 수 있게 했습니다.

비중은 토큰 사이의 점수를 소프트맥스로 바꿔 정합니다. 소프트맥스는 점수들을 합이 1인 비율로 바꾸는 함수입니다. 한 토큰이 세 토큰에 대해 점수 2, 1, 0을 얻었다면 이렇게 됩니다.

e2e2+e1+e0=7.38911.107≈0.665\frac{e^2}{e^2 + e^1 + e^0} = \frac{7.389}{11.107} \approx 0.665

같은 방식으로 나머지 둘은 약 0.245와 0.090입니다. 이 토큰은 첫 번째 토큰의 정보를 66.5% 비중으로 가져다 제 뜻을 다시 씁니다.

트랜스포머 기반 LLM

LLM(대규모 언어 모델)은 트랜스포머를 매우 많은 텍스트로 학습시켜 다음 토큰을 예측하게 만든 모델입니다. 앞 편에서 본 대로 답을 쓸 때는 다음 토큰 하나를 고르고, 그것을 입력 끝에 붙여 다시 다음 토큰을 고르는 일을 되풀이합니다. 번역이나 요약을 따로 가르치지 않아도, 다음 토큰을 잘 맞히려면 문법·사실·문체를 함께 익혀야 하므로 여러 언어 작업을 한 모델이 해냅니다.

파운데이션 모델

파운데이션 모델(FM)은 넓은 데이터로 미리 학습되어 여러 작업의 출발점으로 쓰이는 큰 모델입니다. LLM은 텍스트를 다루는 파운데이션 모델이고, 이미지를 그리는 디퓨전 모델이나 여러 입력을 함께 읽는 멀티모달 모델도 넓게 학습되어 여러 용도에 쓰이면 파운데이션 모델입니다. 둘의 관계는 포함입니다 — LLM은 파운데이션 모델의 한 갈래이지 같은 말이 아닙니다. 시험에서 「파운데이션 모델은 텍스트만 다룬다」는 오답입니다. Amazon Bedrock은 여러 회사의 파운데이션 모델을 한 API로 고르게 해 주는 서비스입니다.

멀티모달 모델

모달리티

모달리티는 입력이나 출력의 종류 — 텍스트·이미지·음성·영상 — 를 말하고, 멀티모달 모델은 둘 이상의 모달리티를 함께 다루는 모델입니다. 영수증 사진을 받아 금액을 글로 뽑거나, 차트 이미지를 보고 추세를 설명하거나, 영상을 보고 요약하는 일이 여기 속합니다. 트랜스포머는 이미지 조각도 토큰처럼 다룰 수 있어 많은 멀티모달 모델이 트랜스포머 위에 서 있습니다.

입력과 출력 방향

시험은 방향을 묻습니다. 이미지를 읽어 글을 내는 것과 글을 받아 이미지를 내는 것은 다른 일입니다. Amazon Nova Lite·Pro 같은 모델은 텍스트·이미지·영상을 입력으로 받아 텍스트를 내놓고, Amazon Nova Canvas는 텍스트를 받아 이미지를, Amazon Nova Reel은 영상을 만듭니다. 「사진 속 손상 부위를 설명한다」가 앞쪽이고 「광고 문구에 맞는 배경 이미지를 만든다」가 뒤쪽입니다.

멀티모달 임베딩

앞 편의 임베딩도 멀티모달이 될 수 있습니다. Amazon Titan Multimodal Embeddings 같은 모델은 글과 이미지를 같은 벡터 공간에 놓으므로, 「빨간 운동화」라는 글로 상품 사진을 찾거나 사진 한 장으로 비슷한 사진을 찾을 수 있습니다. 이때 모델은 아무것도 새로 만들지 않습니다. 생성 모델이 아니라 표현 모델이라는 점이 시험에서 갈리는 자리입니다.

디퓨전 모델

잡음과 복원

디퓨전 모델은 이미지에 잡음을 조금씩 더해 완전한 잡음으로 만드는 과정을 학습 때 보여 준 뒤, 그 반대 방향 — 잡음을 한 단계씩 걷어 내는 법을 익힌 모델입니다. 생성할 때는 순수한 잡음에서 출발해 걷어 내기를 여러 번 되풀이하며 이미지를 드러냅니다. 텍스트 설명은 각 단계에서 「어느 쪽으로 걷어 낼지」를 이끄는 조건으로 들어갑니다. 트랜스포머 LLM이 토큰을 하나씩 덧붙여 만든다면, 디퓨전 모델은 전체 그림을 한꺼번에 다듬어 만든다는 점이 둘을 가르는 기준입니다.

생성 설정

Bedrock에서 이미지 모델을 부를 때는 설명 문장과 함께 크기·장수·설명을 얼마나 강하게 따를지 등을 정합니다.

import base64
import json
import boto3

client = boto3.client("bedrock-runtime", region_name="us-east-1")
body = {
    "taskType": "TEXT_IMAGE",
    "textToImageParams": {"text": "나무 탁자 위의 흰 머그잔, 아침 햇살"},
    "imageGenerationConfig": {"numberOfImages": 1, "width": 1024, "height": 1024,
                              "cfgScale": 7.0, "seed": 42},
}
resp = client.invoke_model(modelId="amazon.nova-canvas-v1:0", body=json.dumps(body))
image_b64 = json.loads(resp["body"].read())["images"][0]
with open("mug.png", "wb") as f:
    f.write(base64.b64decode(image_b64))

cfgScale이 높을수록 설명을 엄격히 따르고, seed를 고정하면 같은 설정에서 같은 그림이 다시 나옵니다. 디퓨전의 출발점인 잡음을 정하는 값이 시드이기 때문입니다.

작업과 모델 갈래

생성 작업

작업 맞는 갈래 AWS에서 고를 만한 것
이미지 생성·편집 디퓨전 Amazon Nova Canvas, Stability AI 모델
영상 생성 영상 생성 모델 Amazon Nova Reel
음성 합성 음성 모델 Amazon Polly, 음성 대화는 Amazon Nova Sonic
코드 생성 트랜스포머 LLM Bedrock의 LLM, 개발 도구 Kiro

코드도 텍스트이므로 코드 생성은 LLM의 일입니다. 「코드를 쓰는 전용 디퓨전 모델」 같은 보기는 없는 조합입니다.

이해와 대화 작업

요약·번역·챗봇은 모두 글을 읽고 글을 쓰는 일이라 LLM이 맡습니다. 요약은 긴 입력을 짧은 출력으로, 번역은 같은 뜻을 다른 언어로, 챗봇은 대화 이력을 이어 받아 답을 씁니다. 정해진 언어쌍을 대량으로 옮기기만 하면 되는 일에는 전용 서비스 Amazon Translate가 더 단순한 선택이고, 어조를 바꾸거나 용어집을 지키며 옮기는 일에는 LLM이 유연합니다.

검색과 추천

검색·추천 엔진에서 생성형 AI가 하는 일은 생성보다 표현입니다. 앞 편의 임베딩으로 상품 설명과 질문을 벡터로 바꿔 뜻이 가까운 것을 찾는 의미 검색이 대표적이고, 찾은 결과를 LLM이 요약해 답으로 내놓으면 RAG가 됩니다. 사용자의 행동 이력을 학습해 다음에 볼 것을 고르는 전통적인 추천은 Amazon Personalize의 자리이고, 문서 검색 서비스는 Amazon Kendra입니다. 시험은 「검색 결과의 질을 높이려 이미지 디퓨전 모델을 쓴다」 같은 어긋난 짝을 오답으로 둡니다.

갈래 고르는 차례

문항의 상황을 읽고 갈래를 고를 때는 세 가지를 차례로 묻습니다. 첫째, 무엇이 들어가는가 — 입력에 이미지나 영상이 있으면 멀티모달이 후보입니다. 둘째, 무엇이 나오는가 — 이미지·영상이 나오면 생성 모델, 글이 나오면 LLM, 숫자 목록이 나오면 임베딩 모델입니다. 셋째, 새로 만들 필요가 있는가 — 정해진 번역·음성 변환·문서 검색처럼 전용 관리형 서비스가 이미 하는 일이면 파운데이션 모델보다 그 서비스가 더 단순하고 값도 예측하기 쉽습니다.

연습 문제

  1. 한 토큰이 세 토큰에 대해 어텐션 점수 1, 1, 0을 얻었습니다. 소프트맥스를 거친 첫 번째 토큰의 비중은? (e≈2.718e \approx 2.718)
    ① 약 0.33
    ② 약 0.42
    ③ 약 0.50
    ④ 약 0.73
    ②. e1/(e1+e1+e0)=2.718/6.436≈0.42e^1 / (e^1 + e^1 + e^0) = 2.718 / 6.436 \approx 0.42 입니다. 두 번째도 같은 0.42이고 세 번째가 약 0.16이라 합이 1입니다. ③은 점수 0인 토큰을 빼고 나눈 값입니다.
  2. 파운데이션 모델에 대한 설명으로 옳은 것을 둘 고르시오.
    ① 넓은 데이터로 미리 학습되어 여러 작업의 출발점이 된다
    ② 텍스트만 다루는 모델을 가리킨다
    ③ LLM은 파운데이션 모델의 한 갈래다
    ④ 한 가지 작업만 하도록 처음부터 학습시킨 작은 모델이다
    ⑤ 이미지 생성 모델은 파운데이션 모델이 될 수 없다
    ①과 ③. 파운데이션 모델은 모달리티로 정의되지 않고, 넓게 학습되어 여러 용도에 쓰인다는 점으로 정의됩니다.
  3. 작업과 알맞은 모델 갈래를 짝지으시오.
    (가) 제품 설명 문구로 광고 배경 이미지를 만든다
    (나) 보험 청구서 사진을 읽고 청구 금액을 글로 뽑는다
    (다) 회의록 20쪽을 다섯 줄로 줄인다
    ⓐ 트랜스포머 LLM ⓑ 멀티모달 모델 ⓒ 디퓨전 모델
    (가)-ⓒ, (나)-ⓑ, (다)-ⓐ. (나)는 이미지를 입력으로 읽고 텍스트를 내므로 멀티모달이고, (가)는 텍스트를 받아 이미지를 내는 디퓨전입니다.
  4. 디퓨전 모델이 이미지를 만드는 방식으로 옳은 것은?
    ① 픽셀을 왼쪽 위부터 하나씩 차례로 예측해 덧붙인다
    ② 잡음에서 출발해 잡음을 한 단계씩 걷어 낸다
    ③ 데이터베이스에서 가장 비슷한 이미지를 찾아 돌려준다
    ④ 이미지를 토큰으로 바꿔 다음 토큰을 예측한다
    ②. ③은 생성이 아니라 검색이고, ①과 ④는 덧붙여 만드는 방식이라 디퓨전과 반대입니다.
  5. 같은 설명 문장과 설정으로 이미지를 다시 뽑았는데 매번 다른 그림이 나옵니다. 같은 그림을 다시 얻으려면 고정할 값은?
    ① 출력 최대 토큰
    ② 시드
    ③ 임베딩 차원
    ④ 컨텍스트 윈도우
    ②. 디퓨전의 출발점인 잡음을 정하는 값이 시드라, 시드를 고정하면 같은 설정에서 같은 결과가 나옵니다.
  6. 온라인 쇼핑몰이 「따뜻한 겨울 외투」라고 검색하면 「패딩 점퍼」도 찾히게 하고 싶습니다. 가장 알맞은 방법은?
    ① 상품 설명과 검색어를 임베딩해 벡터 유사도로 찾는다
    ② 디퓨전 모델로 외투 이미지를 새로 만든다
    ③ 검색어를 다른 언어로 번역한다
    ④ 음성 합성으로 검색 결과를 읽어 준다
    ①. 글자가 달라도 뜻이 가까운 것을 찾는 의미 검색입니다.

여섯 문항이 겨누는 것은 둘입니다. 덧붙여 만드는 트랜스포머와 걷어 내며 만드는 디퓨전의 차이, 그리고 입력과 출력의 방향을 보고 갈래를 고르는 것입니다. 작업을 읽을 때 「무엇이 들어가고 무엇이 나오는가」를 먼저 적어 두면 짝이 저절로 정해집니다.

AWS AI Practitioner 시험 노트 전체 보기