openai/clip-vit-large-patch14 모델 카드
openai/clip-vit-large-patch14 모델 카드
openai/clip-vit-large-patch14는 OpenAI가 공개한 ViT-L/14 기반 CLIP 체크포인트예요. 모델 카드는 공식 CLIP 저장소의 model-card.md를 바탕으로 재작성됐어요.
모델 세부사항
- 모델 날짜: 2021년 1월
- 모델 타입: 이미지 인코더로 ViT-L/14, 텍스트 인코더로 마스크드 셀프 어텐션 트랜스포머
- 모델 크기: 0.4B 파라미터
- 훈련 목표: (이미지, 텍스트) 쌍의 유사도를 대조 손실(contrastive loss)로 최대화
- 원조 변형: ResNet 이미지 인코더 버전과 Vision Transformer 버전이 있었고, 이 저장소는 ViT 버전이에요.
transformers로 사용하기
from PIL import Image
import requests
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("openai/clip-vit-large-patch14")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-large-patch14")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
inputs = processor(text=["a photo of a cat", "a photo of a dog"], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image # 이미지-텍스트 유사도 점수
probs = logits_per_image.softmax(dim=1) # 라벨 확률
의도된 용도와 한계
- 주 용도: 제로샷 이미지 분류 등 컴퓨터 비전의 강건성·일반화 연구
- 배포 한계: 사전 평가가 필요한 배포 시나리오는 out-of-scope이에요.
- 편향: Fairface 데이터로 인종·성별 분류를 평가했을 때 성별 분류 정확도가 인종 전반 96% 이상, 인종 분류 ~93%, 나이 분류 ~63%로 나타났어요. 클래스 구성에 따라 편향이 달라질 수 있어요.