GPT-4V (GPT-4 Vision) / GPT-4o
1. 개요
| 항목 |
내용 |
| 개발사 |
OpenAI |
| 공개일 |
GPT-4V: 2023.09, GPT-4o: 2024.05 |
| 모델 타입 |
Proprietary (Closed Source) |
| 접근 방식 |
API, ChatGPT |
GPT-4V는 OpenAI의 GPT-4에 비전 기능을 추가한 멀티모달 모델이다. GPT-4o는 텍스트, 이미지, 오디오를 네이티브로 처리하는 통합 모델로, GPT-4V의 후속작이다.
2. 아키텍처
2.1 추정 구조
OpenAI는 상세 아키텍처를 공개하지 않음. 추정되는 구조:
[이미지] --> [Vision Encoder] --> [Projection] --> [Transformer Decoder]
^
[텍스트] --------------------------------------------------|
2.2 핵심 컴포넌트
| 컴포넌트 |
추정 사양 |
| Vision Encoder |
ViT 기반 (추정) |
| Language Model |
GPT-4 (추정 1.7T 파라미터) |
| 컨텍스트 길이 |
128K 토큰 |
| 학습 방식 |
End-to-end multimodal |
2.3 GPT-4o 특징
- 네이티브 멀티모달: 이미지, 텍스트, 오디오를 단일 모델로 처리
- 실시간 처리: 평균 320ms 응답 시간
- Mixture of Experts 구조 추정
3. 이미지 처리
3.1 해상도 지원
| 모드 |
해상도 |
토큰 비용 |
| Low |
512x512 |
85 토큰 |
| High |
최대 2048x2048 |
가변 (타일 기반) |
| Auto |
자동 선택 |
자동 |
3.2 타일 처리 방식
High 모드에서 이미지를 512x512 타일로 분할:
- 각 타일당 170 토큰
- 기본 이미지 85 토큰 추가
- 예: 2048x2048 이미지 = 16타일 x 170 + 85 = 2,805 토큰
3.3 멀티 이미지
| 항목 |
지원 |
| 최대 이미지 수 |
컨텍스트 제한 내 무제한 |
| 권장 |
10-20개 |
| 이미지 간 참조 |
지원 |
4. 벤치마크 성능
4.1 GPT-4V 성능
| 벤치마크 |
점수 |
| MMMU (val) |
56.8% |
| MathVista |
49.9% |
| AI2D |
78.2% |
| ChartQA |
78.5% |
| DocVQA |
88.4% |
| TextVQA |
78.0% |
4.2 GPT-4o 성능 (2024.05)
| 벤치마크 |
점수 |
| MMMU (val) |
69.1% |
| MathVista |
63.8% |
| ChartQA |
85.7% |
| DocVQA |
92.8% |
| AI2D |
94.2% |
| TextVQA |
77.4% |
4.3 경쟁 모델 비교 (MMMU)
| 모델 |
점수 |
| GPT-4o |
69.1% |
| Claude 3.5 Sonnet |
68.3% |
| Gemini 1.5 Pro |
62.2% |
| Qwen2-VL-72B |
64.5% |
5. API 사용
5.1 가격 (2024.12 기준)
| 모델 |
입력 (1M 토큰) |
출력 (1M 토큰) |
| GPT-4o |
$2.50 |
$10.00 |
| GPT-4o-mini |
$0.15 |
$0.60 |
| GPT-4-turbo |
$10.00 |
$30.00 |
5.2 API 예시
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://example.com/image.jpg",
"detail": "high"
}
}
]
}
],
max_tokens=1000
)
5.3 Base64 이미지 전송
import base64
def encode_image(image_path):
with open(image_path, "rb") as f:
return base64.standard_b64encode(f.read()).decode("utf-8")
image_data = encode_image("image.png")
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What's in this image?"},
{
"type": "image_url",
"image_url": {
"url": f"data:image/png;base64,{image_data}"
}
}
]
}
]
)
6. 장점
| 장점 |
설명 |
| 최고 수준 성능 |
대부분의 벤치마크에서 SOTA |
| 안정적인 서비스 |
높은 가용성, 빠른 응답 |
| 강력한 추론 |
복잡한 시각적 추론 능력 |
| 다국어 지원 |
영어 외 언어도 우수 |
| OCR 능력 |
다양한 폰트/레이아웃 인식 |
| 생태계 |
풍부한 도구 및 통합 |
7. 단점
| 단점 |
설명 |
| 비용 |
높은 API 비용 |
| 폐쇄형 |
모델 가중치 비공개 |
| 의존성 |
OpenAI 서비스 의존 |
| 환각 |
이미지 세부사항 오류 가능 |
| 레이트 제한 |
API 호출 제한 존재 |
| 비디오 미지원 |
직접적인 비디오 처리 불가 |
8. 사용 사례
8.1 적합한 사용 사례
- 문서 분석 및 OCR
- 차트/그래프 해석
- 기술 다이어그램 이해
- 제품 이미지 분석
- 교육 콘텐츠 생성
- 접근성 (이미지 설명)
8.2 부적합한 사용 사례
- 실시간 비디오 분석 (Gemini 권장)
- 대량 배치 처리 (비용 문제)
- 오프라인 환경
- 프라이버시 민감 데이터
9. 제한사항
9.1 콘텐츠 정책
- 사람 얼굴 식별 거부
- 의료 진단 거부
- 폭력/성인 콘텐츠 필터링
- CAPTCHA 해결 거부
9.2 기술적 제한
| 항목 |
제한 |
| 최대 이미지 크기 |
20MB |
| 지원 포맷 |
PNG, JPEG, GIF, WebP |
| 최대 해상도 |
제한 없음 (토큰으로 변환) |
| 긴 이미지 |
비율에 따라 크롭 가능 |
10. 버전 히스토리
| 버전 |
출시일 |
주요 변경 |
| GPT-4V Preview |
2023.09 |
최초 비전 기능 |
| GPT-4 Turbo |
2024.04 |
Vision 통합, 128K 컨텍스트 |
| GPT-4o |
2024.05 |
네이티브 멀티모달, 속도 향상 |
| GPT-4o-mini |
2024.07 |
경량화, 비용 절감 |
11. 참고 자료