프로젝트 소개
OpenCLIP은 OpenAI의 CLIP(Contrastive Language-Image Pre-training)을 오픈소스로 구현한 것입니다. 사전 학습된 이미지-텍스트 모델을 로드하고, 임베딩을 계산하며, 제로샷 분류를 실행하기 위한 Python 라이브러리 open_clip_torch와 CLIP 스타일 모델을 재현 및 확장하기 위한 학습 스택을 제공합니다.
주요 기능:
- 사전 학습 모델 모음: LAION-400M, LAION-2B, DataComp-1B 등으로 학습된 모델과 OpenAI CLIP, SigLIP, DFN, SigLIP2, PE 가중치 로딩을 지원합니다. 모델은 open_clip.list_pretrained()로 나열할 수 있고 create_model_and_transforms로 로드할 수 있으며, 로컬 경로나 Hugging Face Hub에서도 가능합니다.
- 추론 API: 이미지와 텍스트를 공유 임베딩 공간으로 인코딩한 뒤, 제로샷 분류를 위해 유사도 기반 레이블 확률을 계산합니다. ViT-B-32와 laion2b_s34b_b79k 가중치를 사용한 예제가 제시되어 있습니다.
- 학습 스택: 메인 브랜치는 TrainingTask 래퍼, 딕셔너리 기반 배치, FSDP2 지원, NaFlex 가변 해상도 이미지/오디오 파이프라인, 여러 torch.compile 전략을 중심으로 재구성된 학습 파이프라인을 사용합니다. v3 브랜치는 이전 릴리스 안정 학습 API를 유지합니다.
- 모델 계열: CLIP, SigLIP, CoCa, MaMMUT, CLAP 오디오-텍스트, NaFlex CLIP/CLAP, GenLIP/GenLAP 생성 캡셔닝, 그리고 RoPE, SwiGLU, RMSNorm, 마스크드 풀링을 갖춘 현대적 텍스트 타워.
- 도구: 토크나이저 래퍼, 손실 팩토리(create_loss), WebDataset 파이프라인, 길이 버킷팅, 그래디언트 누적 지원, Hugging Face 토크나이저 통합.
README의 주요 운영 세부 사항: 최소 torch>=2.6, 체크포인트 로드는 weights_only=True를 사용하며, 메인 브랜치에 여러 호환성 깨지는 API/CLI 변경 사항이 문서화되어 있습니다. 기존 사전 학습 .pt 체크포인트는 계속 로드할 수 있습니다. 이 프로젝트는 대규모 임베딩 계산을 위한 clip-retrieval과 분류 작업에서 제로샷 모델을 미세 조정하기 위한 WiSE-FT도 안내합니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.