멀티모달이란?
텍스트만 처리하는 것을 넘어 **여러 형태의 데이터(모달리티)**를 동시에 처리합니다.
flowchart LR
subgraph INPUT["입력"]
I1["📝 텍스트"]
I2["🖼️ 이미지"]
I3["🔊 오디오"]
I4["🎥 비디오"]
I5["📄 문서/PDF"]
end
MM["멀티모달 AI\n(GPT-4o, Claude, Gemini)"]
subgraph OUTPUT["출력"]
O1["텍스트"]
O2["이미지 (생성)"]
O3["오디오"]
end
INPUT --> MM --> OUTPUT
주요 모달리티별 AI
| 모달리티 | 주요 모델 | API |
|---|---|---|
| 이미지 이해 | GPT-4o, Claude 3.5, Gemini | 텍스트 + 이미지 입력 |
| 이미지 생성 | DALL-E 3, Stable Diffusion, Midjourney | 텍스트 → 이미지 |
| 음성 인식 | Whisper | 오디오 → 텍스트 |
| 텍스트-음성 | OpenAI TTS, ElevenLabs | 텍스트 → 오디오 |
| 비디오 이해 | Gemini 1.5, GPT-4o | 비디오 + 텍스트 |
Vision LLM 비교
# GPT-4o: 이미지 이해
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "이 이미지를 설명해주세요."},
{"type": "image_url", "image_url": {"url": "https://..."}}
]
}]
)
# Claude: 이미지 이해
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{"type": "image", "source": {"type": "url", "url": "https://..."}},
{"type": "text", "text": "이 이미지를 설명해주세요."}
]
}]
)
활용 사례
flowchart TB
subgraph CASES["멀티모달 활용 사례"]
C1["📊 차트/그래프 분석\n데이터 시각화 해석"]
C2["📷 영수증/문서 처리\nOCR + 구조화"]
C3["🔍 이미지 검색\n설명으로 이미지 찾기"]
C4["🎨 콘텐츠 생성\n이미지 + 텍스트 조합"]
C5["♿ 접근성\n이미지 설명 생성"]
C6["🏥 의료 이미지\n소견 보조 분석"]
end
토큰 비용 고려사항
이미지를 API로 전송할 때 이미지 크기가 토큰 비용에 영향을 줍니다.
# OpenAI 이미지 토큰 계산 (대략적)
def estimate_image_tokens(width: int, height: int) -> int:
# 저해상도: 85 토큰
# 고해상도: 타일당 85 토큰 + 기본 85
tiles_x = (width + 511) // 512
tiles_y = (height + 511) // 512
return 85 * tiles_x * tiles_y + 85
# 1024×1024 이미지
tokens = estimate_image_tokens(1024, 1024)
print(f"약 {tokens} 토큰") # 약 765 토큰
# 비용 절감: 이미지 리사이즈
from PIL import Image
def resize_for_api(image_path: str, max_size: int = 1024) -> Image.Image:
img = Image.open(image_path)
img.thumbnail((max_size, max_size))
return img
정리
| 항목 | 설명 |
|---|---|
| Vision LLM | 이미지 + 텍스트 입력 처리 |
| DALL-E / SD | 텍스트 → 이미지 생성 |
| Whisper | 음성 → 텍스트 변환 |
| TTS | 텍스트 → 음성 합성 |
| 이미지 토큰 | 크기에 따라 비용 변동 |
다음 편에서는 이미지 이해 — Vision LLM으로 이미지를 분석하고 구조화된 데이터로 추출하는 방법을 배웁니다.