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%로 나타났어요. 클래스 구성에 따라 편향이 달라질 수 있어요.

더 알아보기