GPT 5.6 Sol, OpenAI 역대 최고 vision 모델 — 그래도 Gemini 3.5 Flash가 더 싸고 강하다
GPT 5.6 Sol is the best "vision" model OpenAI ever released
TL;DR Highlight
GPT-5.6 Sol은 detection 13.8→46.2 mAP로 뛰었지만 Gemini 3.5 Flash보다 비싸다
Who Should Read
문서·이미지 처리에 VLM API를 붙이면서 모델 선택과 비용 때문에 고민인 백엔드 개발자
Core Mechanics
- detection이 13.8에서 46.2로 뛰었다
- Roboflow 자체 벤치마크에서 GPT-5.5는 13.8 mAP@50, Sol은 46.2였다.
- Terra는 44.7, Luna는 43.3이었다.
- counting도 라인업 전체가 올랐다
- Sol은 73.0%로 GPT-5.5(64.9%)보다 높았다.
- Terra는 67.6%, Luna는 66.2%였고 가장 싼 Luna도 GPT-5.5를 넘었다.
- OCR은 GPT-5.5와 거의 같다
- 평균 유사도(mean similarity)는 Sol 90.7%, GPT-5.5 91.2%였다.
- 텍스트 추출(특정 정보만 뽑기)은 Sol 82.5%로 GPT-5.5의 87.6%보다 낮았다.
- 좌표 형식을 틀리면 15 mAP 손해
- GPT-5.6은 이미지 픽셀 기준 절대 XYXY 좌표로 요청해야 잘 나온다.
- Gemini 3.5 Flash는 0~1000 정규화 YXYX가 최적이었다.
- 형식을 잘못 쓰면 GPT-5.6 detection이 약 15 mAP 포인트 떨어졌다.
- 2,000×2,000px 이상 이미지는 불안정하다
- Sol이 엉뚱한 위치에 박스를 줄 세우듯 반환한 사례가 있었다.
Community Reactions
- 벤치마크 결론이 너무 순하다는 의견
- Gemini 3.5 Flash가 OCR 하나를 빼고 전부 Sol을 앞섰고, 비용은 1/3이라는 댓글이 있었다.
- 제목을 "Gemini 3.5 Flash가 최고"로 바꿔야 한다는 의견도 있었다.
- 알약 세기는 OpenCV로 충분하다는 반론
- 약국용 비전 모델을 운영하는 사용자는 Sol을 쓰면 지연이 25~50배 느릴 것이라고 했다.
- 알약 세기는 25년 된 OpenCV 템플릿 매칭으로 풀 수 있다는 의견도 있었다.
- 실사용에서는 편차가 크다는 경험
- 매장 진열대 사진에서 원하는 상품을 찾고 크롭하는 일은 잘 했다는 경험이 있었다.
- 반사된 옷차림 인식이나 악보 읽기는 성공했다는 경험도 있었다.
- 반대로 퍼즐과 낡은 안경 식별은 실패했다는 경험도 있었다.
- 벤치마크 샘플에 오류가 있다는 지적
- 동전 예시는 EXIF 방향 처리가 틀려 90도 회전됐을 가능성을 지적한 댓글이 있었다.
- 어떤 벤치 결과는 Sol이 맞는데 정답 쪽에 오류가 있어 보인다는 댓글도 있었다.
How to Apply
- 오늘 내 이미지 20장으로 좌표 형식 A/B 테스트
- 쓰는 detection 프롬프트에 "픽셀 단위 절대 XYXY 좌표로 반환"을 명시하고 현재 형식과 비교하라.
- 정답 박스와 IoU(겹침 비율)를 계산해 점수 차이를 확인하라.
- 큰 이미지는 전송 전에 리사이즈·크롭하기
- 2,000×2,000px 이상 입력은 API 호출 전 축소하거나 영역별로 잘라서 보내라.
- 박스가 일렬로 늘어서는 이상 출력이 사라지는지 로그로 확인하라.
- 모델 선택은 비용·지연까지 같이 비교하기
- 대량 detection·counting은 Gemini 3.5 Flash와 Luna를 같은 이미지 세트로 돌려 이미지당 비용과 초를 기록하라.
- 문서 OCR은 GPT-5.5와 점수가 비슷하니 비용 기준으로 고르라.
- 단순 반복 작업은 전통 CV로 분리하기
- 알약처럼 형태가 고정된 대상은 OpenCV나 기존 detector로 먼저 풀어 보라.
- VLM은 규칙 해석이 필요한 질문에만 호출하라.
Try It
# Claude나 ChatGPT에 이미지를 첨부하고 그대로 붙여넣기 (원문의 GPT-5.6 detection 프롬프트 팁을 옮긴 것)
첨부한 이미지에서 {{찾을 대상, 예: 알약}}을 모두 찾아라.
각 객체를 JSON 배열로 반환하라: [{"label": "...", "box": [x_min, y_min, x_max, y_max]}]
좌표는 이미지 픽셀 단위의 절대값 XYXY 형식으로 쓴다. 0~1000 정규화나 YXYX 순서는 쓰지 않는다.
객체가 많으면 빠뜨리거나 중복하지 말고, 확신이 없으면 제외하라.
이어서 해 볼 것: 같은 이미지를 "0~1000 정규화 YXYX" 형식으로 바꿔 다시 요청하고, 박스 위치가 얼마나 달라지는지 비교해 보라.Terminology
관련 논문
The Judge Can Debias Itself: LLM-as-a-Judge가 스스로 편향을 고치게 하는 법
심사 프롬프트에 편향 경고를 넣거나 스스로 비판시켰더니 21개 중 20개 조합에서 정확도가 올랐다
미국 노동시간의 90%는 AI 벤치마크가 제대로 다루지 못하는 일이다
벤치마크 29개를 직업 과제에 매핑했더니 노동시간 90%가 커버 밖
Postgres 19, AI 코드 리뷰가 버그를 너무 많이 찾아 출시 연기
LLM 코드 리뷰가 버그를 쏟아내 Postgres 19가 11월로 밀리고 기능 8~10개가 빠졌다
StarSkirmish Bench v0.2: LLM이 1시간 만에 짜는 StarCraft 봇 대결
LLM에게 1시간 동안 StarCraft 봇을 짜게 했더니 GPT-6 Astra가 1위
그럴듯한 설명 하나면 멀티모달 LLM 심사위원도 속는다 (JUPE 벤치마크)
정답은 그대로 두고 설명만 붙였더니 MLLM 심사위원의 오답 거절률이 12.7~13.8%p 떨어졌다
신경망은 이미 깔끔하다: polysemanticity의 원인 재해석
뉴런을 직접 들여다봤더니 대부분 한 가지 역할이 있었다는 주장
Linus Torvalds의 첫 LLM 보조 패치 시리즈
Linus가 LLM으로 folio 조회 패치 10개를 만들어 read() 벤치가 10배 빨라졌다