ai papers

SigLIP과 SigLIP 2는 CLIP을 어떻게 확장했을까?

Junyoung Park · 2026-08-07 · 17 min

CLIP 다음에 왜 SigLIP이 필요했을까?

CLIP은 이미지와 텍스트를 하나의 embedding space에 정렬한다. 같은 의미의 image-text pair는 가까워지고, 관련이 없는 pair는 멀어지도록 학습한 뒤 자연어 prompt를 classifier처럼 사용할 수 있게 만든다. 이 아이디어는 이제 너무 익숙해졌지만, 학습에는 한 가지 중요한 조건이 붙는다.

하나의 이미지에 대응되는 텍스트를 찾으려면, 같은 batch에 있는 다른 모든 텍스트와의 상대적인 점수가 필요하다.

CLIP의 Softmax contrastive loss는 개별 pair만 보고 계산할 수 없다. Batch 안의 모든 image-text similarity를 모아 normalization해야 하고, 여러 Device로 학습할 때는 각 Device가 가진 embedding을 서로 전달해야 한다.

SigLIP은 이 지점에서 굉장히 단순한 질문을 던진다.

반드시 여러 후보 중 정답 하나를 고르는 Softmax 문제로 만들어야 할까? 각각의 image-text pair가 서로 맞는지만 독립적으로 판단하면 안 될까?

그리고 2025년에 공개된 SigLIP 2는 질문의 범위를 한 번 더 넓힌다.

Image와 text의 global alignment를 잘하는 것만으로 좋은 vision encoder가 완성될까? Patch 단위의 위치, dense feature, 여러 언어와 서로 다른 aspect ratio까지 이해하려면 무엇이 더 필요할까?

두 논문의 이름은 이어지지만 contribution의 성격은 꽤 다르다. SigLIP은 loss와 distributed training의 재설계에 가깝고, SigLIP 2는 여러 representation learning 기법을 하나의 encoder training recipe로 통합한 연구에 가깝다.

CLIP의 Softmax contrastive loss 다시 보기

Batch size가 BB이고, L2 normalization된 image embedding과 text embedding을 각각 xix_i, yiy_i라고 하자. CLIP은 모든 similarity를 계산하여 B×BB \times B matrix를 만든다.

sij=txiyj,s_{ij}=t x_i^\top y_j,

여기서 t=exp(t)t=\exp(t')는 학습 가능한 temperature scale이다. Diagonal에 있는 (xi,yi)(x_i,y_i)가 positive pair이고 나머지는 negative pair이다.

CLIP loss는 image에서 text를 찾는 방향과 text에서 image를 찾는 방향의 Cross-entropy를 평균낸다.

LCLIP=12Bi=1B[logexp(sii)j=1Bexp(sij)+logexp(sii)j=1Bexp(sji)].\mathcal{L}_{\text{CLIP}} = -\frac{1}{2B} \sum_{i=1}^{B} \left[ \log \frac{\exp(s_{ii})}{\sum_{j=1}^{B}\exp(s_{ij})} + \log \frac{\exp(s_{ii})}{\sum_{j=1}^{B}\exp(s_{ji})} \right].

첫 번째 항은 이미지 ii를 보고 BB개의 텍스트 중 정답을 찾고, 두 번째 항은 텍스트 ii를 보고 BB개의 이미지 중 정답을 찾는다.

이 loss의 직관은 명확하다. 다만 Softmax의 분모가 batch 전체에 의존한다. 여러 Device에 batch가 분산되어 있다면 각 Device의 local embedding만으로는 global denominator를 계산할 수 없다. 결국 전체 embedding을 모으는 all-gather와 B×BB \times B similarity matrix의 materialization이 필요해진다.

Batch를 크게 만들수록 negative sample이 풍부해지는 장점은 있지만, 동시에 loss를 계산하기 위한 통신량과 memory 부담도 커진다. 여기서 contrastive learning의 통계적 이점과 distributed system의 비용이 서로 묶이게 된다.

SigLIP: 정답 하나를 고르는 대신 모든 Pair를 판정한다

SigLIP은 BB개의 class 중 하나를 고르는 문제를 B2B^2개의 binary classification 문제로 바꾼다.

zij={+1,i=j1,ijz_{ij} = \begin{cases} +1, & i=j \\ -1, & i\neq j \end{cases}

Logit과 Sigmoid loss는 다음과 같다.

ij=txiyj+b,\ell_{ij}=t x_i^\top y_j+b, LSigLIP=1Bi=1Bj=1Blogσ(zijij).\mathcal{L}_{\text{SigLIP}} = -\frac{1}{B} \sum_{i=1}^{B} \sum_{j=1}^{B} \log \sigma\left(z_{ij}\ell_{ij}\right).

Positive pair라면 ij\ell_{ij}가 커지도록, negative pair라면 작아지도록 logistic loss를 적용한다. Softmax가 “이 이미지와 가장 잘 맞는 텍스트는 무엇인가?”를 묻는다면 Sigmoid는 “이 이미지와 이 텍스트는 서로 맞는가?”를 모든 조합에 대해 반복해서 묻는다.

겉으로 보면 activation 하나를 Softmax에서 Sigmoid로 바꾼 것처럼 보인다. 하지만 중요한 차이는 ij\ell_{ij}가 다른 pair의 score와 독립적으로 loss를 구성한다는 것이다. 더 이상 row나 column 전체의 normalization factor가 필요하지 않다.

CLIP Softmax와 SigLIP Sigmoid loss의 직관 비교
CLIP은 여러 후보가 하나의 정답 자리를 두고 경쟁하지만, SigLIP은 각 image-text pair를 독립적으로 판정한다. 이해를 돕기 위해 직접 구성한 개념도다.

두 loss의 차이는 아래와 같다.

구분CLIP SoftmaxSigLIP Sigmoid
문제의 관점BB개 후보 중 정답 선택각 pair의 match 여부 판정
NormalizationBatch의 row/column 전체 필요Pair마다 독립적
방향Image→Text, Text→Image 두 항하나의 symmetric pairwise loss
분산 학습Global embedding 수집 필요Local chunk 단위 계산 가능
Negative 수Batch size에 따라 증가Batch size와 별도로 masking/선택 가능

Positive보다 Negative가 압도적으로 많은데 괜찮을까?

Batch size가 BB라면 positive pair는 BB개지만 negative pair는 B2BB^2-B개이다. 예를 들어 B=16,384B=16{,}384라면 positive는 약 1.6만 개이고 negative는 약 2.68억 개다.

초기 logit이 0 부근이라면 각 pair의 match probability는 0.50.5가 된다. 실제 prior와 비교하면 지나치게 positive한 예측이고, 수많은 negative가 loss를 지배하면서 학습 초기에 큰 correction이 발생할 수 있다.

SigLIP은 이를 줄이기 위해 learnable bias bb를 추가하고 다음 값으로 초기화한다.

t=log10,t=10,b=10.t'=\log 10,\qquad t=10,\qquad b=-10.

σ(10)4.54×105\sigma(-10)\approx 4.54\times 10^{-5}이므로, 초기 match probability가 매우 낮게 시작한다. Batch size 32k에서 실제 positive 비율이 대략 1/B1/B라는 점을 생각하면 꽤 자연스러운 초기화다. 논문의 ablation에서도 b=10b=-10을 사용했을 때 bias가 없거나 b=0b=0인 경우보다 성능이 일관되게 좋았다.

여기서 bias는 단순한 구현 detail이 아니다. Softmax는 후보 중 확률의 합이 1이 되기 때문에 class imbalance가 normalization 안에 어느 정도 내장되어 있다. 반면 독립적인 binary classification으로 문제를 바꾸면 match prior를 어떤 logit에서 시작할 것인지를 직접 정해야 한다. Learnable bias가 바로 그 역할을 한다.

Sigmoid loss가 분산 학습을 단순하게 만드는 이유

SigLIP의 pairwise loss도 전체 batch 기준으로는 여전히 B2B^2개의 pair를 계산한다. 따라서 “Sigmoid를 사용하면 quadratic compute가 사라진다”라고 이해하면 안 된다. 달라지는 것은 B2B^2 similarity matrix를 한 번에 memory에 올리고 global normalization할 필요가 없다는 점이다.

SigLIP의 distributed chunked loss 계산 과정
Image chunk는 각 Device에 고정하고 text chunk만 순환시키며 local loss를 누적한다. 논문 Figure 1의 계산 과정을 단순화해 직접 구성한 개념도다.

Device가 DD개이고 각 Device의 local batch size가 b=B/Db=B/D라고 하자. 각 Device는 다음 과정을 수행한다.

  1. 자신의 image embedding과 text embedding으로 b×bb \times b local loss를 계산한다.
  2. Text embedding chunk를 이웃 Device로 순환시킨다.
  3. 새로 받은 text chunk와 local image embedding 사이의 loss를 계산하고 누적한다.
  4. 모든 image-text chunk가 한 번씩 만날 때까지 반복한다.
  5. 마지막에 각 Device의 loss만 합친다.

이 방식에서는 embedding 전체를 all-gather할 필요가 없고, 한 시점에 materialize되는 similarity matrix도 B2B^2가 아니라 b2b^2 크기다. Loss가 pair마다 독립적이기 때문에 가능한 구현이다.

SigLIP의 contribution은 loss function과 system design이 만나는 지점에 있다. 수식은 더 단순해졌고, 그 변화가 communication pattern과 peak memory를 함께 바꾼다.

Batch size를 백만까지 키우면 계속 좋아질까?

논문은 Sigmoid loss 덕분에 batch size를 최대 1M까지 확장해본다. 여기서 가장 흥미로운 결론은 “1M이 좋다”가 아니라 32k 정도면 이미 충분했다는 것이다.

SigLIP의 batch size에 따른 성능 변화
출처: Sigmoid Loss for Language Image Pre-Training, Figure 2. 왼쪽부터 SigLiT, SigLIP, multilingual SigLIP 결과다.

Batch size가 16k보다 작을 때는 Sigmoid loss가 Softmax보다 뚜렷하게 좋았다. Batch가 커지면 Softmax가 따라오지만, 두 loss 모두 32k 부근부터 성능 향상이 빠르게 포화된다. Multilingual setting에서는 오히려 32k를 넘어갈수록 XM3600 retrieval 성능이 떨어졌다.

Batch size가 커지면 한 step에 더 많은 negative를 보지만, 동일한 examples seen을 유지할 때 optimizer update 횟수는 줄어든다. 쉬운 negative가 계속 추가되는 효과도 제한적이다. “Contrastive learning은 무조건 거대한 batch가 좋다”는 통념보다 충분히 다양한 hard negative와 충분한 update 수의 균형이 중요하다는 결과로 볼 수 있다.

여기서 논문의 용어를 하나 구분할 필요가 있다.

  • SigLIP: Image encoder와 text encoder를 함께 학습한다.
  • SigLiT: LiT처럼 pre-trained image encoder를 frozen한 채 text tower를 학습한다.

논문 abstract에서 강조한 4개의 TPUv4로 이틀 만에 ImageNet zero-shot 84.5%를 달성한 결과는 SigLIP from-scratch가 아니라 ViT-g/14 image encoder를 고정한 SigLiT 결과다. 반면 randomly initialized B/16 image-text encoder를 함께 학습한 SigLIP은 32개의 TPUv4에서 이틀 동안 72.1%, 5일 동안 73.4%를 기록했다.

두 설정 모두 Sigmoid loss의 효율성을 보여주지만, 학습 비용을 비교할 때는 frozen image backbone의 유무를 섞어 해석하지 않는 것이 중요하다.

SigLIP의 성능과 실제 Contribution

논문 후반의 scale-up 결과에서 SigLIP B/16은 224 해상도 기준 ImageNet zero-shot 76.2%, COCO retrieval Recall@1에서 image-to-text 64.4%, text-to-image 47.2%를 기록한다. 같은 표의 OpenCLIP B는 각각 70.2%, 59.4%, 42.3%였다. Shape-Optimized 400M model은 ImageNet zero-shot 83.2%까지 올라간다.

물론 이 숫자를 loss만의 순수한 효과로 해석하면 안 된다. Training data, examples seen, optimizer, architecture와 resolution이 함께 달라지기 때문이다. 이 논문에서 더 설득력 있는 근거는 동일한 setting에서 Softmax와 Sigmoid를 비교한 batch-size ablation이다.

본인이 생각하는 SigLIP의 contribution은 다음 세 가지다.

  1. Image-text contrastive learning을 global categorical classification이 아니라 independent pairwise classification으로 다시 정의했다.
  2. 그 결과 loss 계산에서 global normalization과 full similarity matrix materialization을 제거할 수 있었다.
  3. Batch size와 negative-to-positive ratio를 loss의 정의에서 분리하여, 1M batch와 negative masking 같은 실험을 가능하게 만들었다.

성능이 몇 % 올랐다는 사실보다, CLIP-style training에서 반드시 필요하다고 생각했던 global Softmax가 필수 조건이 아니었다는 사실이 더 흥미롭다.

그렇다면 SigLIP만으로 좋은 Vision Encoder가 완성될까?

SigLIP은 image와 text의 pooled representation을 정렬하는 데에는 강하다. Image retrieval이나 zero-shot classification처럼 이미지 전체의 의미를 묻는 task에는 적합하다.

하지만 pooled embedding이 비슷하다고 해서 각 patch가 어디에 무엇이 있는지를 잘 표현한다는 보장은 없다. 예를 들어 다음 task는 global similarity만으로 풀기 어렵다.

  • “빨간 우산을 든 사람”의 bounding box를 찾는 referring expression comprehension
  • 각 pixel의 class를 예측하는 semantic segmentation
  • Patch별 depth나 surface normal을 추정하는 dense prediction
  • 세로로 긴 문서나 가로로 넓은 화면에서 OCR 정보 보존하기
  • 영어 이외의 언어로 이미지 검색하기

이 한계를 해결하고자 제안된 것이 SigLIP 2다. 다만 SigLIP 2는 새로운 단일 loss를 제시한 연구라기보다는 LocCa, SILC, TIPS, DINO 계열, active data curation, NaViT/FlexiViT의 아이디어를 SigLIP 위에 통합한 recipe paper로 이해하는 편이 정확하다.

SigLIP 2의 기본 Architecture와 Data

SigLIP 2의 fixed-resolution model은 기존 SigLIP과 같은 dual-encoder architecture를 유지한다. Image tower와 text tower는 ViT 구조를 사용하고, pooled representation은 MAP(Multihead Attention Pooling) head로 추출한다. 따라서 standard SigLIP 2 checkpoint는 tokenizer와 vocabulary 차이를 제외하면 기존 SigLIP 구현에 비교적 쉽게 교체할 수 있다.

학습 설정에서 눈에 띄는 부분은 다음과 같다.

  • WebLI의 10B images, 12B alt-texts를 사용한다.
  • 데이터는 109개 언어를 포함한다.
  • English web page에서 얻은 pair 90%, non-English page의 pair 10%로 mixture를 구성한다.
  • Text length는 64이며 vocabulary 256k의 multilingual Gemma tokenizer를 사용한다.
  • Batch size는 32k, 총 40B examples를 학습한다.
  • Model은 ViT-B(86M), L(303M), So400m(400M), g(1B) 크기로 공개됐다.

원래 SigLIP이 “32k면 충분하다”는 결론을 냈고, SigLIP 2도 바로 그 batch size를 사용한다. 후속 연구가 전작의 extreme batch experiment보다 합리적인 지점을 실제 recipe로 채택한 셈이다.

SigLIP 2의 Training Recipe

SigLIP 2의 global alignment와 local feature 학습 구성
SigLIP 2는 global image-text alignment에 image-only self-supervision과 training-only decoder를 더한다. 논문 Figure 1의 objective를 단순화해 직접 구성한 개념도다.

그림의 가운데가 기존 SigLIP의 image-text alignment이고, 왼쪽과 오른쪽이 SigLIP 2에서 더한 training signal이다. SigLIP 2는 기존 구조를 유지하면서 세 종류의 학습 신호를 추가한다.

1. Sigmoid loss와 LocCa decoder를 함께 학습한다

첫 번째 단계에서는 기존 Sigmoid image-text loss와 LocCa의 decoder loss를 같은 weight로 사용한다. Image encoder의 pooled output은 Sigmoid loss로 text embedding과 정렬하고, pooling 전 patch sequence는 Cross-attention이 있는 AR decoder로 전달한다.

Decoder는 세 가지 target을 학습한다.

  • Captioning: Image 전체를 설명하는 text를 생성한다.
  • Referring expression prediction: 특정 region을 설명하는 text로부터 bounding box coordinate를 예측한다.
  • Grounded captioning: Bounding box가 주어졌을 때 해당 region의 caption을 생성한다.

Global Sigmoid loss가 “이미지 전체가 어떤 문장과 가까운가?”를 학습한다면 decoder loss는 “어떤 region이 어떤 text와 연결되는가?”를 patch representation에 주입한다. Localization 성능이 크게 좋아지는 이유가 여기에 있다.

중요한 점은 이 decoder가 representation learning을 위한 training-only module이라는 것이다. 공개 checkpoint에는 포함되지 않는다. 학습할 때는 더 풍부한 supervision을 주되, inference에서는 기존 dual encoder의 효율을 유지한다.

2. 마지막 20%에는 Self-distillation과 Masked Prediction을 더한다

Caption과 bounding box supervision만으로 모든 local feature가 좋아지는 것은 아니다. SigLIP 2는 학습의 80%가 완료된 시점부터 EMA teacher를 추가하고 image-only self-supervised learning을 수행한다.

첫 번째 objective는 local-to-global self-distillation이다.

  • Teacher는 원본 image의 global view를 본다.
  • Student는 같은 image에서 잘라낸 8개의 local view를 본다.
  • Student의 representation이 teacher의 global representation과 일치하도록 학습한다.
  • Teacher weight는 student weight의 EMA로 갱신한다.

두 번째는 masked prediction이다.

  • Student image patch의 50%를 mask token으로 바꾼다.
  • Teacher는 mask가 없는 같은 global view를 본다.
  • Masked 위치의 student patch feature가 teacher patch feature를 따라가도록 학습한다.

이는 DINO/iBOT 계열에서 익숙한 방식이다. Sigmoid loss가 pooled semantic alignment를 담당하고, self-distillation과 masked prediction이 un-pooled patch에 local semantics를 채워 넣는다.

논문은 augmentation이 image-text alignment를 방해하지 않도록 SigLIP/LocCa loss에는 원본 image를 사용하고, self-supervised loss에만 별도의 augmented view를 사용한다. 여러 objective를 단순히 한 input에 억지로 합치지 않고 서로 다른 학습 신호가 충돌하는 지점을 피한 설계다.

3. 작은 Model에는 Active Data Curation으로 Distillation한다

ViT-B/16과 B/32처럼 작은 fixed-resolution model에는 ACID 방식의 active data curation을 추가한다. 일반적인 knowledge distillation처럼 teacher logit을 student가 직접 모방하는 방식은 아니다.

Teacher와 현재 learner가 각 example의 “learnability”를 평가하고, 64k super-batch에서 학습 가치가 높은 32k를 선택한다. 좋은 teacher의 knowledge가 label이나 logit 대신 어떤 data를 보여줄 것인가를 통해 student에 전달된다. 논문에서는 이를 “distillation through data”로 설명한다.

이 단계는 모든 model에 공통으로 들어가는 것이 아니라 작은 model의 성능을 보완하기 위한 추가 fine-tuning이다. 그래서 B-sized SigLIP 2의 향상 폭을 큰 model과 직접 비교할 때는 active curation의 효과가 포함되어 있음을 고려해야 한다.

4. NaFlex는 Image를 정사각형으로 찌그러뜨리지 않는다

일반적인 ViT는 모든 image를 224×224224\times224384×384384\times384 같은 고정된 정사각형으로 resize한다. 자연 이미지에서는 큰 문제가 아닐 수 있지만, 문서·화면·그래프처럼 aspect ratio 자체가 정보를 가지는 image에서는 distortion이 발생한다.

NaFlex는 NaViT의 native aspect ratio와 FlexiViT의 variable sequence length를 합친 variant다.

  1. 원본 aspect ratio를 최대한 유지하면서 height와 width를 patch size의 배수로 resize한다.
  2. Patch coordinate와 padding mask를 함께 전달한다.
  3. Learned positional embedding을 target의 non-square patch grid에 맞게 interpolation한다.
  4. 하나의 checkpoint가 {128,256,576,784,1024}\{128,256,576,784,1024\}의 여러 sequence length를 처리하도록 학습한다.

문서처럼 긴 image에는 더 많은 token을, 단순한 image에는 더 적은 token을 사용할 수 있으므로 inference cost와 성능을 조절하기 쉽다.

그러나 NaFlex가 항상 standard model보다 좋은 것은 아니다. Natural image benchmark에서는 fixed square variant가 더 좋은 경우도 있고, 학습하지 않은 sequence length 밖으로 extrapolation하는 성능도 좋지 않았다. 또한 구현 복잡도를 줄이기 위해 NaFlex 학습에는 앞서 설명한 self-distillation과 masked prediction을 적용하지 않았다.

NaFlex는 “무조건 더 좋은 SigLIP 2”가 아니라 문서/OCR과 variable resolution이 중요한 application을 위한 별도 trade-off다.

Core Task에서 SigLIP 2는 얼마나 좋아졌을까?

같은 B/16, resolution 256 조건에서 논문이 보고한 SigLIP과 SigLIP 2의 결과는 다음과 같다.

BenchmarkSigLIPSigLIP 2변화
ImageNet zero-shot76.779.1+2.4
ObjectNet zero-shot71.374.5+3.2
COCO Text→Image R@147.453.2+5.8
COCO Image→Text R@165.169.7+4.6
XM3600 Text→Image R@122.540.7+18.2
XM3600 Image→Text R@129.951.0+21.1

English 중심의 classification과 retrieval도 좋아졌지만, 가장 큰 차이는 multilingual retrieval에서 나타난다. 이전 SigLIP은 영어 중심의 학습에 강했고 별도의 mSigLIP이 다국어를 담당했다면, SigLIP 2는 하나의 model로 두 영역의 격차를 상당 부분 줄였다.

SigLIP 2의 언어별 Crossmodal-3600 retrieval 성능
출처: SigLIP 2, Figure 2. SigLIP 2는 대부분의 언어에서 기존 SigLIP을 크게 앞서고 multilingual 전용 mSigLIP에 근접한다.

다만 90%가 English page에서 수집된 data이고 10%만 non-English라는 점은 흥미롭다. 단순히 언어 비율을 균등하게 만드는 것이 답이라기보다, English task의 성능을 유지하면서 multilingual coverage를 확보하는 mixture를 찾은 것이다.

Dense Feature와 Localization에서 차이가 더 크게 나타난다

SigLIP 2의 목적은 zero-shot accuracy를 1~2% 올리는 데 그치지 않는다. Global pooled feature만 잘하던 encoder의 patch representation을 개선하는 것이 더 중요한 목표다.

SigLIP 2의 dense prediction 성능 비교
출처: SigLIP 2, Table 2. Segmentation은 높을수록, depth와 normal error는 낮을수록 좋다.

So400m/14, resolution 224에서 SigLIP 2는 SigLIP보다 PASCAL segmentation mIoU가 72.0에서 77.1로, ADE20k는 37.6에서 41.8로 올라간다. NYUv2 depth RMSE도 0.576에서 0.493으로 감소한다. Image encoder를 frozen하고 probe를 붙인 결과이므로, downstream fine-tuning만 잘해서 생긴 차이라기보다 pre-trained representation 자체가 더 dense한 정보를 포함한다고 볼 수 있다.

Localization에서는 차이가 더 크다. L-sized model, sequence length 256의 RefCOCO validation Acc@0.5는 SigLIP의 67.33에서 SigLIP 2의 86.04로 올라간다. 이는 단순한 self-supervised loss보다 caption, bounding box, region caption을 함께 학습한 LocCa decoder의 영향이 크다.

흥미롭게도 같은 decoder-based loss를 사용하고 English caption에 집중한 LocCa가 일부 referring expression benchmark에서는 SigLIP 2보다 여전히 높았다. Multi-lingual generality와 특정 English localization task의 최고 성능이 항상 같은 방향으로 움직이지 않는다는 뜻이다.

VLM의 Vision Encoder로도 더 좋은가?

최근 SigLIP을 접하는 경우는 standalone zero-shot classifier보다 LLaVA, PaliGemma와 같은 VLM의 vision encoder인 경우가 많다. Vision encoder가 image를 token sequence로 바꾸고, projector가 이를 LLM의 embedding space에 연결한다.

SigLIP 2 논문은 SigLIP, SigLIP 2, AIMv2 encoder를 frozen한 뒤 Gemma 2 LLM과 연결하여 PaliGemma와 유사한 조건으로 비교한다. Model size와 resolution 전반에서 SigLIP 2가 SigLIP보다 좋은 평균 성능을 보였다.

이 결과는 dense feature 개선과도 연결된다. VLM은 하나의 pooled vector만 받는 것이 아니라 image patch token을 받아 OCR, counting, spatial reasoning을 수행한다. Patch representation이 좋아지면 segmentation뿐 아니라 LLM에 전달되는 visual token의 품질도 좋아질 수 있다.

SigLIP 2는 CLIP을 대체할 zero-shot model이면서 VLM에 넣기 위한 범용 visual tokenizer에 더 가까워졌다.

Multilingual과 Fairness는 같은 문제가 아니다

SigLIP 2는 multilingual data mixture와 함께 training data의 de-biasing filter도 적용한다. 논문은 cultural diversity와 fairness를 별도의 benchmark로 평가한다.

예를 들어 L/16, resolution 256에서 random object를 특정 gender와 연관하는 representation bias metric은 SigLIP의 약 35.5%에서 SigLIP 2의 7.3%로 감소했다. Dollar Street와 GeoDE를 사용한 geographic diversity 평가에서도 여러 지표가 개선됐다.

하지만 이것을 “SigLIP 2는 공정하다”는 일반적인 보장으로 해석해서는 안 된다. 특정 sensitive attribute, prompt와 dataset으로 측정한 결과이며 다른 문화권이나 downstream application에서는 새로운 bias가 나타날 수 있다. 논문에서도 income level이나 geographic region별 세부 slice에서는 개선이 작거나 거의 없는 경우가 있었다.

Multilingual vocabulary를 갖추는 것, 다양한 지역의 data를 포함하는 것, 사회적 bias를 줄이는 것은 서로 관련은 있지만 동일한 문제는 아니다. SigLIP 2가 세 요소를 함께 다뤘다는 점은 좋지만, 각각을 독립적으로 계속 평가해야 한다.

SigLIP과 SigLIP 2의 차이 정리

구분SigLIPSigLIP 2
핵심 질문Global Softmax가 꼭 필요한가?Global alignment만으로 충분한가?
기본 구조Image/Text dual encoderSigLIP과 같은 dual encoder
주된 변화Pairwise Sigmoid lossDecoder + SSL + data curation + multilingual data
Global semantic강함더 향상됨
Patch/dense feature직접적인 supervision이 약함Masked prediction과 self-distillation 추가
Localization제한적Caption/box decoder로 크게 개선
Multilingual별도 mSigLIP setting하나의 기본 model에서 지원
Input resolution주로 fixed squareFixed square + NaFlex variant
Inference costDual encoderStandard variant는 같은 구조, training decoder는 제거

SigLIP 2는 SigLIP loss를 버리지 않는다. 오히려 Sigmoid loss를 global semantic anchor로 그대로 두고, 그 loss가 잘 가르치지 못하는 local semantics를 다른 objective로 보충한다.

한계점과 해석할 때 주의할 부분

Sigmoid가 False Negative를 해결한 것은 아니다

Batch의 off-diagonal pair를 모두 negative로 간주하는 가정은 그대로다. 서로 다른 두 caption이 같은 의미를 표현하거나, 다른 image가 동일한 object를 포함한다면 false negative가 생길 수 있다. Sigmoid loss가 label noise에 더 robust한 실험 결과를 보였지만 문제 자체가 사라진 것은 아니다.

Memory 효율과 Compute complexity를 구분해야 한다

Chunked implementation은 full B×BB\times B matrix의 peak memory와 all-gather를 줄인다. 하지만 모든 pair를 계산한다면 전체 similarity 연산량은 여전히 batch size에 대해 quadratic하다. 1M batch가 가능했다는 사실과 1M batch가 경제적이라는 말은 다르다.

SigLIP 2의 개선은 Loss 하나의 효과가 아니다

SigLIP 2는 data mixture, tokenizer, caption/box decoder, self-supervised learning, active curation, training examples와 compute가 동시에 바뀐다. 따라서 “SigLIP 2가 SigLIP보다 좋으니 특정 objective 하나가 정답”이라고 말하기 어렵다. 이 논문은 새로운 원리 하나를 분리해 증명하기보다, 검증된 여러 요소를 결합해 강한 open-weight encoder를 만드는 데 목적이 있다.

Training은 전작보다 훨씬 무거워졌다

SigLIP이 비교적 적은 Device에서도 가능한 efficient loss를 강조했다면, SigLIP 2는 최대 2048개의 TPUv5e에서 40B examples를 학습한다. 학습 후 decoder를 제거해 inference 구조는 단순하지만, 좋은 representation을 얻기 위한 pre-training 비용까지 가벼운 것은 아니다.

NaFlex checkpoint는 목적에 따라 선택해야 한다

Native aspect ratio와 variable token budget이 중요하면 NaFlex가 매력적이다. 반대로 natural image classification이 주된 목적이라면 self-distillation과 active curation의 이점을 모두 받은 fixed-resolution checkpoint가 더 나을 수 있다.

결론

SigLIP은 굉장히 좋은 종류의 연구라고 생각한다. 기존 framework를 완전히 뒤집지 않고 loss의 관점을 categorical classification에서 pairwise binary classification으로 옮겼을 뿐인데, 그 변화가 수식, memory, Device communication, batch-size 실험의 자유도를 함께 바꿨다.

반면 SigLIP 2의 매력은 새로운 한 가지 아이디어보다 잘 알려진 아이디어들을 서로 방해하지 않게 배치한 것에 있다.

  • Sigmoid loss는 image-text의 global semantics를 정렬한다.
  • Decoder는 caption과 region의 관계를 patch feature에 넣는다.
  • Self-distillation은 local view와 global view를 연결한다.
  • Masked prediction은 가려진 patch의 semantics를 복원하게 한다.
  • Active curation은 작은 model에 보여줄 data를 teacher가 고르게 한다.
  • Multilingual mixture와 de-biasing은 representation의 coverage를 넓힌다.
  • NaFlex는 실제 image의 aspect ratio와 inference budget을 보존한다.

두 논문에서 내가 기억해둘 문장은 다음과 같다.

SigLIP은 CLIP의 loss가 요구하던 global normalization을 제거하여 language-image pre-training을 더 단순하고 확장 가능하게 만든 연구다.

SigLIP 2는 그 효율적인 global alignment 위에 localization, dense feature, multilinguality와 flexible resolution을 더해 범용 vision encoder로 확장한 연구다.

논문과 공개 checkpoint는 Google DeepMind big_vision repository에서 확인할 수 있다.