2.2 모델 분류: GPT vs Codex vs Embedding vs DALL·E vs Whisper

OpenAI는 다양한 종류의 AI 모델을 API 형태로 제공합니다. 각 모델은 특정한 목적과 기능에 최적화되어 있으며, 사용자가 필요에 따라 선택하여 활용할 수 있도록 구성되어 있습니다. 이 절에서는 OpenAI에서 제공하는 주요 모델군인 GPT, Codex, Embedding, DALL·E, Whisper의 특징과 용도, 그리고 각각의 API 호출 방식과 차이점을 자세히 설명합니다.

2.2.1 GPT (Generative Pre-trained Transformer)

GPT는 OpenAI의 대표적인 자연어 처리(NLP) 모델로, 가장 폭넓은 용도를 가지고 있습니다. 시계열적인 텍스트 생성을 기반으로 문장 완성, 요약, 번역, Q&A, 문서 생성 등 다양한 과제를 수행합니다.

🔹 핵심 특징:

  • 자연스럽고 유창한 텍스트 생성 능력

  • Chat Completions API (gpt-3.5-turbo, gpt-4, gpt-4o 등) 기반

  • 시스템-유저-어시스턴트 메시지 전개 구조 지원

  • 최신 모델(gpt-4o)은 멀티모달 입출력을 지원 (텍스트 + 이미지 + 오디오 등)

🔹 주요 사용 사례:

  • AI 챗봇

  • 이메일 및 문서 자동화

  • 창의적 콘텐츠 생성 (글쓰기, 아이디어 브레인스토밍)

  • 텍스트 기반 결정 지원 시스템

🔹 사용 방법 예 (Python SDK):

from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "당신은 한국어 챗봇입니다."},
        {"role": "user", "content": "GPT와 Codex의 차이는 뭐죠?"}
    ]
)
print(response.choices[0].message.content)

2.2.2 Codex: 코드 생성 특화 모델

Codex는 GPT 계열의 파생 모델로, 자연어 명령을 해석해서 코드로 변환하는 데 최적화되어 있습니다. 특히 Python, JavaScript 등을 포함한 다양한 언어를 이해하며, 프로그래밍 작업을 보조하는 데 매우 효과적입니다.

🔹 핵심 특징:

  • GitHub의 대규모 코드 데이터를 사전학습에 활용

  • 사용자 지시문 기반 코드 자동 완성, 수정, 요약 가능

  • GPT-3.5 기반이지만 코드 데이터 중심으로 학습

🔹 지금은 어떻게 쓰이나?

Codex는 더 이상 독립적인 모델 이름으로 노출되기보다, GPT-4 및 GPT-4o의 기능으로 통합되었습니다. 최신 Chat API는 이미 코드에 강점을 가진 모델이므로, Codex를 따로 분리하지 않고 개발 환경에서 GPT 모델로 대체 활용이 가능합니다.

🔹 사용 사례:

  • 코드 생성기, 자동 컴파일러

  • SQL 쿼리 변환기

  • 설명 기반 코드 수정 도우미

🔹 예시 (자연어 → 코드 변환):

response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "Python으로 퀵소트 함수 만들어줘"}
    ]
)
print(response.choices[0].message.content)

2.2.3 Embedding 모델

Embedding 모델은 텍스트를 고차원 벡터(숫자 배열)로 변환해주는 모델로, 의미론적 유사도 분석이나 검색 시스템의 핵심 요소입니다. GPT는 텍스트 생성에 집중한다면, Embedding 모델은 텍스트 간의 의미적 거리 측정에 특화되어 있습니다.

🔹 핵심 특징:

  • 텍스트 (문장, 문단, 문서)를 고정 길이 벡터로 변환

  • cosine similarity 등으로 유사성 비교 가능

  • 최신 모델: text-embedding-3-small, text-embedding-3-large

🔹 사용 사례:

  • 문서 기반 Q&A 시스템

  • 벡터 검색 기반 추천 시스템

  • 의미 기반 유사 문서 찾기 (semantic search)

  • 분류(classification), 클러스터링(clustering)

🔹 사용 방법 예 (Python SDK):

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="이 문장을 벡터로 변환해주세요."
)

embedding_vector = response.data[0].embedding

🔹 주의 사항:

  • Embedding 결과물은 수천 개 차원의 벡터이므로, 저장 및 검색 시 벡터 DB (예: FAISS, Pinecone)와 함께 활용해야 합니다.

  • 텍스트 디코딩은 불가능하며, 추론적인 재생성 대신 수학적 비교 수단으로 사용합니다.

2.2.4 DALL·E: 텍스트-이미지 생성 모델

DALL·E는 문자열로 전달되는 설명을 기반으로 고해상도의 디지털 이미지를 생성하는 모델입니다. 최근에는 이미지 편집(Inpainting) 기능도 함께 제공되어, 특정 영역만 수정하거나 이미지를 변환할 수 있게 되었습니다.

🔹 핵심 특징:

  • "텍스트 설명" → "이미지" 생성 (text-to-image)

  • "이미지 일부 변경" 기능 제공 (inpainting)

  • 기본 해상도: 1024x1024 픽셀

  • OpenAI API에서 직접 이미지 URL 반환

🔹 사용 사례:

  • 썸네일 자동 생성

  • 마케팅용 이미지, 아이콘 제작

  • 콘텐츠 디자인 시안 생성

🔹 생성 예시:

response = client.images.generate(
    prompt="우주 공간에서 책을 읽는 고양이 일러스트",
    n=1,
    size="1024x1024"
)

image_url = response.data[0].url
print(image_url)

🔹 편집 예시 (이미지 업로드 + 마스크):

  • 기존 이미지에 마스크를 설정하여 그 영역만 새롭게 생성

  • 'image_edit' API 분기로 사용

2.2.5 Whisper: 음성 → 텍스트 변환 모델 (STT)

Whisper는 음성 인식에 최적화된 모델로, 다양한 언어의 오디오 파일을 텍스트로 전사(STT: Speech-to-Text)합니다. Whisper는 사전 학습된 대용량 모델을 통해 높은 정확도를 자랑하며, 다국어 자동 감지도 가능합니다.

🔹 핵심 특징:

  • 고정된 음성 파일(mp3, wav 등)을 입력하면 텍스트로 출력

  • 다국어 자동 전사 가능

  • 붙임말(“음”, “어...”)이나 배경음이 있는 조건에서도 잘 인식

🔹 사용 사례:

  • 회의록 자동 생성기

  • 팟캐스트 전사 시스템

  • 고객센터 통화 녹취 분석

🔹 예시 호출:

with open("sample_korean_audio.mp3", "rb") as audio_file:
    transcript = client.audio.transcriptions.create(
        model="whisper-1",
        file=audio_file,
        response_format="text"
    )
    print(transcript)

2.2.6 전체 모델 비교 요약

모델군
주요 목적
대표 모델
입력
출력

GPT

텍스트 생성/이해/추론

gpt-3.5-turbo, gpt-4, gpt-4o

메시지, 지시문

대화형 텍스트

Codex

코드 생성

codex (이제 GPT에 통합)

자연어, 코드 일부

코드, 함수, 쿼리

Embedding

의미 벡터 변환

text-embedding-3-small

텍스트

벡터 (list of float)

DALL·E

이미지 생성 및 편집

dall-e-3

텍스트 (or 이미지 + 마스크)

이미지 URL

Whisper

음성 → 텍스트(STT) 변환

whisper-1

음성 파일

텍스트 (전사 결과)

마무리

OpenAI가 제공하는 모델은 각기 다른 문제를 해결하도록 설계되어 있지만, 최근에는 GPT-4o처럼 멀티모달 기능을 제공하며 점점 통합되고 있는 경향을 보입니다. 이 장에서는 각 모델의 역할과 차이점을 이해했으며, 다음 장들에서는 이들 모델을 어떻게 실제로 사용할 수 있는지 코드 중심으로 더욱 깊이 다뤄보겠습니다.

Last updated