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