CLIP에서 SigLIP으로! 멀티모달 VLM 시각 인코더와 b=-10의 비밀

OpenAI CLIP의 소프트맥스 상대 평가 한계부터 Google SigLIP의 독립 Pairwise 시그모이드 혁신까지 완벽 해부합니다. 10억 개 네거티브 샘플의 그래디언트 폭주를 통제하는 b=-10 베이즈 사전확률의 수학적 유도, O(B²) 메모리 병목 탈출, 링 교환 분산 아키텍처와 최신 VLM(PaliGemma, Gemma 3)의 시각 인코더 생태계를 심층 정리합니다.
IT·과학
저자

Ikmyungterran

공개

2026년 9월 28일

Modified

2026년 9월 28일

힌트💡 이 글에서 해결할 수 있는 핵심 과제
  • 컴퓨터 비전과 언어가 하나의 공통 좌표계에서 만나는 대조학습(Contrastive Learning)의 본질 직관 이해
  • OpenAI CLIP의 소프트맥스(Softmax) 기반 상대 평가가 초래하는 글로벌 분모 정규화와 \(O(B^2)\) 분산 메모리 병목의 실체
  • Google SigLIP이 소프트맥스를 버리고 독립적인 Pairwise 시그모이드(Sigmoid) 이진 판정으로 전환하여 얻은 극적인 이점
  • 유튜브와 대중 강의의 대표적 오류인 “전부 0으로 찍는 치팅 방지”를 교정하고, \(b = -10\) 초기화가 32,000배 그래디언트 폭주를 막는 베이즈 사전확률(Log-odds)임을 수학적으로 증명
  • 분할 청크 손실(Chunked Loss)과 비동기 링 교환(Ring Exchange)을 통한 통신·연산 중첩(Overlap) 원리
  • 최신 오픈소스 VLM(PaliGemma 2, Gemma 3, Idefics3)의 시각 인코더 백본과 Qwen2.5-VL과의 비교 지형도

스마트폰 카메라로 찍은 사진을 올리며 “이 강아지 품종이 뭐야?”라고 물었을 때, 인공지능이 막힘없이 “골든 리트리버입니다”라고 답하는 모습은 이제 일상이 되었습니다.

하지만 기계의 관점에서 보면 이것은 엄청난 기적입니다. 컴퓨터에게 텍스트는 정수 토큰의 나열이고, 이미지는 픽셀 수백만 개의 RGB 숫자 행렬에 불과합니다. 전혀 다른 세상에 살고 있던 언어와 시각을 하나의 거대한 공통 좌표계로 끌어올린 주역이 바로 2021년 OpenAI가 제안한 CLIP(Contrastive Language-Image Pre-training)이었습니다.

그런데 최근 오픈소스 멀티모달(VLM) 생태계를 면밀히 들여다보면 흥미로운 변화가 감지됩니다. Google의 PaliGemma 2와 Gemma 3, Hugging Face의 Idefics3, 그리고 대표적인 멀티모달 프레임워크인 LLaVA-NeXT에 이르기까지, 모델의 ‘시신경’ 역할을 담당하는 비전 인코더(Vision Tower)로 CLIP 대신 구글의 SigLIP(Sigmoid Loss for Language-Image Pre-training)이 핵심 표준으로 자리 잡고 있습니다.

소프트맥스 함수 하나를 시그모이드로 바꿨을 뿐인데, 구글 연구진은 어떻게 수억 장의 빅데이터 분산 학습 효율을 비약적으로 끌어올리고 최첨단 VLM의 눈을 완성했을까요? 그리고 논문에 등장하는 미스터리한 숫자 \(b = -10\)의 정체는 무엇일까요?

선형대수학과 베이즈 통계학, 분산 컴퓨팅 엔지니어링의 관점에서 그 흥미진진한 비밀을 단계별로 파헤쳐 보겠습니다.


1. 멀티모달 AI의 시작: OpenAI CLIP과 공통 잠재 공간

1.1 이미지와 언어를 하나의 좌표계로 묶는 임베딩의 마법

전통적인 인공지능 연구에서 언어(NLP)와 시각(CV)은 서로 다른 언어를 쓰는 외계인과 같았습니다.

  • 자연어 처리(NLP): 문장을 토큰으로 쪼갠 뒤 트랜스포머를 거쳐 고차원 의미 공간으로 보냅니다.
  • 컴퓨터 비전(CV): 픽셀 값(\(H \times W \times C\))을 CNN이나 ViT에 통과시켜 정해진 1,000개 클래스(ImageNet 등) 중 하나로 분류합니다.
[전통적인 독립적 처리 방식]
텍스트: "초원을 달리는 말" ───▶ [Text Model] ───▶ 언어 벡터 [ 0.21, -0.85, 0.44 ]
이미지: [초원과 말 사진]   ───▶ [Vision Model] ─▶ 시각 벡터 [ 0.91,  0.12, -0.63 ]
                                                    ▲
                                    (두 벡터는 공간이 달라 비교 불가!)

OpenAI의 CLIP은 이 두 세계의 벽을 허물었습니다. 인터넷 웹에서 수집한 4억 쌍(400M)의 이미지-텍스트 쌍을 바탕으로, 이미지 인코더와 텍스트 인코더가 출력하는 벡터를 동일한 차원의 공통 잠재 공간(Joint Latent Space)으로 투영하도록 설계했습니다.

[강아지 사진]   ──▶ [ Vision Encoder (ViT) ]        ──▶ v_img  = [ 0.12, -0.71, 0.39, 0.84 ]
"하얀 강아지"   ──▶ [ Text Encoder (Transformer) ]  ──▶ v_text = [ 0.09, -0.68, 0.44, 0.79 ]
                                                                     │
                                              내적(유사도) 계산 가능! ──┘

1.2 \(L_2\) 정규화와 코사인 유사도의 기하학

두 벡터의 유사도를 측정할 때 단순 내적(\(\mathbf{x} \cdot \mathbf{y} = \|\mathbf{x}\| \|\mathbf{y}\| \cos\theta\))을 쓰면, 벡터의 길이(Norm)가 큰 샘플이 실제 의미와 무관하게 높은 점수를 받는 왜곡이 발생합니다.

따라서 CLIP은 모든 출력 벡터를 크기가 1인 단위 벡터로 만드는 \(L_2\) 정규화(L2 Normalization)를 적용합니다:

\[\hat{\mathbf{x}} = \frac{\mathbf{x}}{\|\mathbf{x}\|_2}, \quad \hat{\mathbf{y}} = \frac{\mathbf{y}}{\|\mathbf{y}\|_2}\]

단위 벡터 간의 내적은 순수한 코사인 유사도(Cosine Similarity)가 됩니다:

\[\hat{\mathbf{x}} \cdot \hat{\mathbf{y}} = \cos\theta\]

여기에 로짓(Logit)의 스케일을 조절하여 확률 분포의 엔트로피를 제어하는 학습 가능한 온도 파라미터 \(\tau\) (또는 \(t = 1/\tau\))를 곱해 최종 유사도 점수 \(s_{ij}\)를 계산합니다:

\[s_{ij} = \frac{\hat{\mathbf{x}}_i^\top \hat{\mathbf{y}}_j}{\tau} = t \cdot (\hat{\mathbf{x}}_i^\top \hat{\mathbf{y}}_j)\]

1.3 배치 크기 \(B\)와 유사도 행렬의 구조

배치 크기(Batch Size)를 \(B\)라고 할 때, 한 번의 스텝에 \(B\)개의 이미지와 \(B\)개의 텍스트 캡션이 들어옵니다.

\[I = \{I_1, I_2, \dots, I_B\}, \quad T = \{T_1, T_2, \dots, T_B\}\]

인코더를 거쳐 나온 임베딩들을 일괄 행렬 곱하면 \(B \times B\) 크기의 코사인 유사도 행렬(Similarity Matrix)이 형성됩니다:

\[\mathbf{S} = \begin{bmatrix} s_{11} & s_{12} & \dots & s_{1B} \\ s_{21} & s_{22} & \dots & s_{2B} \\ \vdots & \vdots & \ddots & \vdots \\ s_{B1} & s_{B2} & \dots & s_{BB} \end{bmatrix}\]

                Text Embeddings (j)
              dog    apple   car   castle
            ┌──────┬──────┬──────┬──────┐
      dog   │  ★   │  ×   │  ×   │  ×   │   ★ : Positive Pair (대각선, 진짜 짝)
Image apple │  ×   │  ★   │  ×   │  ×   │   × : Negative Pair (비대각선, 오답 짝)
 (i)  car   │  ×   │  ×   │  ★   │  ×   │
      castle│  ×   │  ×   │  ×   │  ★   │
            └──────┴──────┴──────┴──────┘

CLIP의 목표는 직관적입니다. 대각선(\(s_{ii}\), Positive Pair)의 유사도는 극대화하고, 비대각선(\(s_{ij}, i \neq j\), Negative Pair)의 유사도는 극소화하는 것입니다.

1.4 Softmax 객관식 시험과 글로벌 분모 정규화의 족쇄

CLIP은 대각선 원소를 키우기 위해 다중 클래스 분류의 표준 손실 함수인 소프트맥스 크로스 엔트로피(Softmax Cross-Entropy)를 채택했습니다.

이미지 \(I_i\)의 입장에서 \(B\)개의 텍스트 후보 중 진짜 짝 \(T_i\)를 맞힐 확률은 다음과 같습니다:

\[P(T_i \mid I_i) = \frac{\exp(s_{ii})}{\sum_{j=1}^{B} \exp(s_{ij})}\]

[다지선다 객관식 시험의 비유]
문제: 다음 [강아지 사진]에 가장 알맞은 단어 하나를 고르시오.
  ① 사과       (점수 s_12 = 0.1)
  ② 강아지     (점수 s_11 = 4.5)  <-- 정답
  ③ 자동차     (점수 s_13 = -0.8)
  ④ 고성       (점수 s_14 = 0.3)

확률 P(②) = exp(4.5) / [ exp(0.1) + exp(4.5) + exp(-0.8) + exp(0.3) ]

여기에 텍스트 입장에서 이미지를 맞히는 방향까지 합쳐 양방향 대칭 손실(Symmetric Cross-Entropy Loss)을 완성합니다:

\[\mathcal{L}_{\text{CLIP}} = \frac{1}{2} \left( \mathcal{L}_{I \to T} + \mathcal{L}_{T \to I} \right)\]

\[\mathcal{L}_{I \to T} = -\frac{1}{B} \sum_{i=1}^{B} \log \frac{\exp(s_{ii})}{\sum_{j=1}^{B} \exp(s_{ij})}, \quad \mathcal{L}_{T \to I} = -\frac{1}{B} \sum_{j=1}^{B} \log \frac{\exp(s_{jj})}{\sum_{i=1}^{B} \exp(s_{ij})}\]

여기서 결정적인 엔지니어링 문제가 발생합니다. 분모에 들어있는 \(\sum_{j=1}^{B} \exp(s_{ij})\)라는 글로벌 정규화(Global Normalization) 항 때문입니다:

  1. 상대적 경쟁 구조: 특정 짝의 유사도 점수(\(s_{ii}\))가 아무리 높아도, 다른 엉뚱한 후보들(\(s_{ij}\))의 점수가 덩달아 높으면 정답 확률이 깎입니다.
  2. 전체 참조의 강제: \(s_{ii}\) 하나를 채점하기 위해 반드시 배치 안의 모든 \(B\)개 경쟁 후보의 점수를 한 메모리에 올려놓고 합산해야 합니다.

OpenAI는 날카로운 표현 공간을 학습시키기 위해 무려 \(B = 32,768\)이라는 거대한 배치를 사용했습니다. 하지만 이 거대한 배치가 분산 GPU 클러스터에 올라가는 순간, 메모리와 통신은 비명을 지르기 시작했습니다.


2. SigLIP의 패러다임 전환: 상대적 경쟁에서 독립 OX 문제로

2.1 4지선다 객관식을 독립적인 True/False 시험으로!

2023년 구글 연구진(Xiaohua Zhai 등)은 ICCV 2023에서 SigLIP(Sigmoid Loss for Language-Image Pre-training)을 발표하며 근본적인 물음을 던졌습니다:

“멀티모달 대조학습에서 왜 꼭 소프트맥스를 써서 모든 후보 간의 상대적 정규화를 거쳐야 하는가? 그냥 각 이미지-텍스트 쌍을 독립적인 참/거짓(Binary Classification) 문제로 보면 안 되는가?”

개념적 전환은 명쾌합니다. 학생들에게 시험을 치르게 하는 방식을 완전히 바꾼 것입니다.

flowchart TD
    subgraph CLIP_Exam ["CLIP의 N지선다 상대 평가"]
        direction TB
        Q1["[강아지 사진]에 맞는 캡션 하나를 골라라!"]
        C1["① 사과<br>② 강아지 (정답)<br>③ 자동차<br>④ 고성"]
        NORM["분모 정규화: 다른 모든 보기의 점수가 내 확률을 깎아내림"]
        Q1 --> C1 --> NORM
    end

    subgraph SigLIP_Exam ["SigLIP의 독립 OX 절대 평가"]
        direction TB
        O1["문제 1: [강아지 사진] & [강아지] ──▶ 참(O)인가?"]
        O2["문제 2: [강아지 사진] & [사과]   ──▶ 거짓(X)인가?"]
        O3["문제 3: [강아지 사진] & [자동차] ──▶ 거짓(X)인가?"]
        INDEP["완전한 독립성: 문제 2를 채점할 때 문제 1의 점수를 볼 필요가 전혀 없음!"]
        O1 & O2 & O3 --> INDEP
    end

2.2 묶인 행렬에서 독립 셀의 집합으로

배치 크기 \(B=4\)일 때 두 모델이 유사도 행렬을 다루는 관점의 차이를 시각화하면 다음과 같습니다:

              CLIP의 관점                              SigLIP의 관점
        (행/열 단위로 강하게 결합)                  (각 칸이 완전히 독립된 셀)

        T1    T2    T3    T4                       T1     T2     T3     T4
     ┌───────────────────────┐                  ┌──────┬──────┬──────┬──────┐
  I1 │  ●  ←  ○  ←  ○  ←  ○  │ (Softmax 분모)I1 │ [O]  │ [X]  │ [X]  │ [X]  │
     ├───────────────────────┤                  ├──────┼──────┼──────┼──────┤
  I2 │  ○  ←  ●  ←  ○  ←  ○  │               I2 │ [X]  │ [O]  │ [X]  │ [X]  │
     ├───────────────────────┤                  ├──────┼──────┼──────┼──────┤
  I3 │  ○  ←  ○  ←  ●  ←  ○  │               I3 │ [X]  │ [X]  │ [O]  │ [X]  │
     ├───────────────────────┤                  ├──────┼──────┼──────┼──────┤
  I4 │  ○  ←  ○  ←  ○  ←  ●  │               I4 │ [X]  │ [X]  │ [X]  │ [O]  │
     └───────────────────────┘                  └──────┴──────┴──────┴──────┘
  • CLIP: 가로 한 줄(행) 또는 세로 한 줄(열) 전체의 지수합(\(\sum \exp\))이 1이 되도록 정규화해야 하므로, 행과 열 단위의 강한 결합이 필수적입니다.
  • SigLIP: 총 \(B \times B = B^2\)개의 셀이 각각 독립된 이진 레이블(\(+1\) 또는 \(-1\))을 가진 개별 데이터 포인트로 동작합니다.

2.3 SigLIP 목적함수의 수학적 정밀 유도

SigLIP의 수식을 정밀하게 유도해 보겠습니다. 단위 정규화된 이미지 벡터 \(\hat{\mathbf{x}}_i\)와 텍스트 벡터 \(\hat{\mathbf{y}}_j\)에 대해 로짓 \(s_{ij}\)를 선형 변환 형태로 정의합니다:

\[s_{ij} = t (\hat{\mathbf{x}}_i^\top \hat{\mathbf{y}}_j) + b\]

  • \(t\): 학습 가능한 스케일 파라미터 (양수 보장을 위해 \(t = \exp(t')\)로 최적화)
  • \(b\): 학습 가능한 편향(Bias) 파라미터 (SigLIP의 핵심 키!)

각 쌍에 대한 정답 라벨 \(z_{ij}\)는 대각선만 \(+1\), 나머지는 \(-1\)입니다:

\[z_{ij} = \begin{cases} +1 & \text{if } i = j \quad (\text{Positive Pair}) \\ -1 & \text{if } i \neq j \quad (\text{Negative Pair}) \end{cases}\]

SigLIP의 손실 함수는 \(B^2\)개의 모든 칸에 대한 시그모이드 로지스틱 손실의 평균입니다:

\[\mathcal{L}_{\text{SigLIP}} = -\frac{1}{B} \sum_{i=1}^{B} \sum_{j=1}^{B} \log \sigma(z_{ij} s_{ij})\]

\[\sigma(u) = \frac{1}{1 + \exp(-u)}\]

수식을 양성(Positive) 항과 음성(Negative) 항으로 명시적으로 분리해 보면 그 진가가 더욱 뚜렷해집니다:

\[\mathcal{L}_{\text{SigLIP}} = \frac{1}{B} \left[ \sum_{i=1}^{B} -\log \sigma(s_{ii}) + \sum_{i=1}^{B} \sum_{j \neq i} -\log (1 - \sigma(s_{ij})) \right]\]

수식을 아무리 뜯어보아도 분모의 총합 기호(\(\sum \exp\))가 단 하나도 존재하지 않습니다. \(s_{ij}\) 하나의 손실을 계산할 때 다른 어떤 셀의 점수도 참조할 필요가 없습니다.

2.4 핵심 팩트체크: SigLIP도 대조학습(Contrastive Learning)인가?

정답: 네, 100% 명백한 대조학습입니다.

간혹 “소프트맥스를 버리고 시그모이드 이진 분류를 쓰니 대조학습이 아니다”라고 오해하는 경우가 있습니다.

하지만 대조학습(Contrastive Representation Learning)의 본질은 특정 수식(Softmax InfoNCE)에 있는 것이 아니라, “진짜 짝(Positive)은 공간에서 당기고(Pull), 가짜 짝(Negative)은 공간에서 밀어내는(Push)” 최적화 역학에 있습니다.

SigLIP은 단지 밀고 당기는 메커니즘을 ’소프트맥스 상대 경쟁’에서 ’시그모이드 독립 판정’으로 우아하게 교체했을 뿐입니다.


3. “b = -10”의 진짜 의미: 32,000배 그래디언트 폭주를 다루는 통계학

3.1 극단적인 불균형의 세계 (\(B = 32,000\))

SigLIP의 논문을 읽다 보면 가장 눈길을 사로잡는 하이퍼파라미터 설정이 바로 편향 초기값 \(b = -10\)입니다.

배치 크기 \(B = 32,000\)일 때 전체 행렬의 크기를 계산해 보면 숨이 턱 막힙니다:

  • 전체 쌍의 개수: \(32,000 \times 32,000 = 1,024,000,000\) (약 10억 2,400만 개)
  • 진짜 짝(Positive): 대각선 단 32,000개
  • 가짜 짝(Negative): 비대각선 1,023,968,000개 (약 10억 2,396만 개)

\[\text{Positive Ratio} = \frac{32,000}{1,024,000,000} = \frac{1}{32,000} \approx \mathbf{0.003125\%}\]

전체 데이터의 \(99.997\%\)가 거짓(False)이고, 단 \(0.003\%\)만이 참(True)인 극단적인 불균형 데이터셋입니다.

3.2 “전부 0으로 찍는 치팅 방지”라는 설명의 기술적 오류

유튜브나 입문용 강의에서는 이 현상을 흔히 이렇게 설명합니다:

“시험 문제의 99.99%가 X라면, 학생(모델)은 문제를 읽지도 않고 전부 X라고 찍어버리는 치팅을 할 것이다. 그래도 99.99점을 맞기 때문이다. 모델이 학습을 포기하는 것을 막기 위해 \(b=-10\)을 준 것이다.”

직관적인 비유로서는 귀에 쏙 들어오지만, 딥러닝 최적화 이론 관점에서는 엄밀히 틀린 설명입니다.

신경망은 시험 점수(정확도, Accuracy)를 보고 가중치를 업데이트하는 것이 아니라, 오차의 기울기인 그래디언트(Gradient)를 보고 학습합니다.

만약 모델이 모든 입력에 대해 “전부 거짓(\(0\))”이라고 예측해 버린다면: 1. 10억 개의 Negative 쌍에 대해서는 정답을 맞혔으므로 손실이 작습니다. 2. 하지만 32,000개의 Positive 쌍에 대해서는 완벽하게 틀렸기 때문에 극도로 큰 오차가 발생합니다. 3. 이 큰 오차로부터 강력한 양성 그래디언트(Positive Gradient)가 뿜어져 나오기 때문에, 모델은 가만히 멈춰 서서 학습을 포기할 수가 없습니다.

그렇다면 구글 연구진이 실제로 마주했던 진짜 공학적 재앙은 무엇이었을까요? 바로 초기 그래디언트의 절대적 규모 불균형(Destructive Gradient Explosion)이었습니다.

3.3 초기값 \(b=0\)이 초래하는 치명적인 그래디언트 폭격

만약 일반적인 딥러닝 관례대로 편향 초기값을 \(b = 0\)으로 두면 어떻게 될까요?

학습 초기 임의로 초기화된 인코더들이 출력하는 임베딩은 고차원 구면 상에 무작위로 흩어져 있으므로, 내적 유사도는 평균적으로 0에 수렴합니다 (\(\hat{\mathbf{x}}_i^\top \hat{\mathbf{y}}_j \approx 0\)).

따라서 초기 로짓은 \(s_{ij} = t(0) + 0 = 0\)이 되고, 시그모이드 출력 확률은 다음과 같아집니다:

\[P(z_{ij} = 1) = \sigma(0) = 0.5 \quad (50\%)\]

현실 세계의 진짜 짝 확률은 \(0.0031\%\)인데, 모델은 모든 쌍에 대해 “50% 확률로 진짜 짝 같은데?”라고 선언하는 셈입니다.

이제 손실 함수에 대한 로짓의 그래디언트를 유도해 보겠습니다:

\[\frac{\partial \mathcal{L}_{ij}}{\partial s_{ij}} = \sigma(s_{ij}) - y_{ij} \quad (y_{ij} \in \{1, 0\})\]

  • Positive Pair (\(y_{ij} = 1\))의 그래디언트: \[\sigma(0) - 1 = 0.5 - 1 = \mathbf{-0.5}\] (모델에게 “로짓을 더 키워라!”라고 당기는 신호)
  • Negative Pair (\(y_{ij} = 0\))의 그래디언트: \[\sigma(0) - 0 = 0.5 - 0 = \mathbf{+0.5}\] (모델에게 “로짓을 더 깎아내려라!”라고 미는 신호)

단일 샘플로 보면 두 신호의 크기는 \(0.5\)로 완벽하게 대칭입니다. 하지만 배치를 구성하는 개수가 다릅니다!

이미지 1개 관점에서 발생하는 그래디언트의 총합을 계산해 보면 경악스러운 결과가 나옵니다:

\[\text{Positive Gradient (1개)} = 1 \times (-0.5) = -0.5\] \[\text{Negative Gradient (31,999개)} = 31,999 \times (+0.5) = +15,999.5\] \[\mathbf{\text{Net Gradient}} = -0.5 + 15,999.5 = \mathbf{+15,999.0}\]

음수 신호가 양수 신호를 무려 32,000배의 압도적인 힘으로 짓밟아 버립니다.

첫 번째 역전파 스텝이 일어나는 순간, 상상을 초월하는 거대한 그래디언트 폭탄이 인코더의 모든 파라미터로 쏟아져 들어가 가중치를 산산조각 내버립니다. 모델은 시작하자마자 수치적 불안정성(Optimization Destabilization)에 빠져 회복 불능 상태가 됩니다.

3.4 베이즈 사전확률(Log-Odds)과 \(b=-10\)의 수학적 일치

구글 연구진은 이 문제를 통계학의 가장 기초적인 원리인 베이즈 사전확률(Prior Probability)의 주입으로 우아하게 해결했습니다.

데이터를 보기 전이라도, 임의의 두 쌍이 진짜일 확률 \(p\)는 대략 \(1/B\)라는 객관적 사실을 우리는 이미 알고 있습니다. 모델의 초기 출력이 이 사전확률을 그대로 반영하도록 바이어스 \(b\)를 미리 설정해 주면 됩니다.

로지스틱 회귀에서 확률 \(p\)를 만드는 로짓 값은 로그 오즈(Log-Odds, 오즈비의 자연로그)입니다:

\[\text{Logit}(p) = \ln \left( \frac{p}{1 - p} \right)\]

배치 크기 \(B = 32,000\)일 때의 사전확률 \(p = \frac{1}{32,000} \approx 0.00003125\)를 대입해 보겠습니다:

\[\text{Logit}(p) = \ln \left( \frac{0.00003125}{1 - 0.00003125} \right) = \ln \left( \frac{0.00003125}{0.99996875} \right) \approx \ln(0.0000312509) \approx \mathbf{-10.373}\]

놀랍지 않습니까? \(-10.373\)이라는 숫자가 도출됩니다.

논문에서 지정한 초기값:

\[b = \mathbf{-10}\]

   이론적 사전확률의 Logit               SigLIP의 초기 바이어스
      ln(p / (1 - p))                           b
             │                                  │
             ▼                                  ▼
         -10.373                              -10.0
             └────────────── 거의 완벽히 일치 ────────┘

“\(b = -10\)”은 감으로 맞춘 마법의 숫자가 아니라, \(B \approx 32,000\) 규모의 거대 배치에서 발생하는 극단적인 양성 데이터 희소성을 신경망의 출력 분포와 정확히 일치시켜 주기 위한 정밀한 통계학적 보정 장치였던 것입니다!

3.5 그래디언트 동역학의 기적적인 평형

바이어스를 \(b = -10\)으로 세팅했을 때 초기 그래디언트가 어떻게 균형을 되찾는지 확인해 봅시다.

초기 유사도가 0일 때 로짓은 \(s_{ij} \approx -10\)이 되므로, 시그모이드 출력 확률은:

\[P \approx \sigma(-10) = \frac{1}{1 + \exp(10)} \approx 0.0000454\]

이제 그래디언트 총합을 다시 계산해 보겠습니다:

  1. Negative 1개당 그래디언트: \[\sigma(-10) - 0 = +0.0000454\] 31,999개의 모든 네거티브 그래디언트를 합치면: \[\text{Total Negative Gradient} \approx 31,999 \times 0.0000454 \approx \mathbf{+1.45}\]

  2. Positive 1개당 그래디언트: \[\sigma(-10) - 1 = 0.0000454 - 1 \approx \mathbf{-0.99995}\]

[b = 0 초기화: 통제 불능의 그래디언트 폭주]
Positive Gradient (1개)  : █ (-0.5)
Negative Gradient (합계) : ████████████████████████████████████████ (+15,999.5)
결과: 네거티브 신호가 32,000배 압도하여 가중치 파괴

[b = -10 초기화: 완벽한 동적 평형 달성]
Positive Gradient (1개)  : ██████████ (-1.0)
Negative Gradient (합계) : ██████████████ (+1.45)
결과: 포지티브 1개와 네거티브 32,000개가 1:1.45 수준으로 완벽한 균형 달성!

이 간단한 초기화 하나 덕분에, 수만 개의 네거티브 데이터가 외치는 총합 신호와 단 하나의 포지티브 데이터가 외치는 신호가 거의 1:1에 가까운 대등한 스케일로 맞물리며, 첫 스텝부터 모델이 안정적으로 수렴 궤도에 오를 수 있게 됩니다.


4. 분산학습 엔지니어링: O(B²) 메모리 감옥 탈출

4.1 CLIP 분산학습의 진짜 병목은 무엇인가?

\(B = 32,000\) 수준의 배치는 GPU 한 대의 VRAM에 올릴 수 없으므로 여러 대의 가속기에 배치를 쪼개어 담는 분산 데이터 병렬 학습(DDP)을 수행합니다.

여기서 대중적으로 가장 널리 퍼진 오해 하나를 바로잡아야 합니다:

❌ 흔한 오해: “CLIP은 배치 크기가 커질수록 네트워크 통신량이 \(B^2\)으로 폭증해서 망한다.”
⭕ 정확한 사실: 네트워크 통신량 자체는 배치 크기 \(B\)에 선형 비례(\(O(Bd)\))하며, \(B^2\)으로 폭증하는 것은 각 GPU 내부의 행렬 연산량(\(O(B^2d)\))과 유사도 행렬의 VRAM 메모리 점유 공간(\(O(B^2)\))입니다.

자원 구분 시간/공간 복잡도 배치 크기 \(B\)에 따른 양상 병목 주범 여부
임베딩 네트워크 통신량 \(O(Bd)\) \(B\)에 정직하게 선형 비례 상대적으로 감당 가능
유사도 행렬 연산량 \(O(B^2d)\) \(B\)의 제곱으로 폭증 FLOPs 증가
유사도 행렬 VRAM 점유 \(O(B^2)\) \(B\)의 제곱으로 폭증 치명적 OOM 발생의 주범!

CLIP은 소프트맥스 분모를 계산하기 위해 각 GPU가 자기가 가지고 있지 않은 다른 모든 GPU의 텍스트 임베딩을 모으는 All-Gather 통신을 수행해야 하고, 자신의 VRAM에 거대한 \(B \times B\) 유사도 행렬을 통째로 띄워야만 했습니다. 배치가 커질수록 가속기 메모리는 순식간에 고갈(OOM)되었습니다.

4.2 SigLIP의 분할 청크 처리(Chunked Loss)

SigLIP은 분모 정규화가 없으므로 전체 행렬을 한꺼번에 메모리에 올릴 필요가 원천적으로 없습니다!

각 가속기의 로컬 배치 크기를 \(b = B / K\) (\(K\)는 GPU 수)라고 할 때, SigLIP은 \(b \times b\) 크기의 아주 작은 블록(Block) 단위로 쪼개어 연산하고 즉시 역전파를 수행할 수 있습니다.

[전체 B x B 행렬을 잘게 쪼개어 처리하는 청크 기법]
          T_chunk 0   T_chunk 1   T_chunk 2   T_chunk 3
        ┌───────────┬───────────┬───────────┬───────────┐
I_chunk │  Block 0  │  Block 1  │  Block 2  │  Block 3  │
   0    │  (b x b)  │  (b x b)  │  (b x b)  │  (b x b)  │
        └───────────┴───────────┴───────────┴───────────┘
          ▲
          │
      GPU 0 메모리에는 한 순간에 오직 작은 'Block 0' 하나만 생성됨!
      계산 끝나면 즉시 메모리 해제 -> 피크 메모리가 O(B²)에서 O(b²)으로 급감!

4.3 비동기 링 교환(Ring Exchange) 아키텍처

❌ 흔한 오해: “SigLIP은 분산 학습에서 GPU 간 통신을 완전히 없앴다.”
⭕ 정확한 사실: 통신은 여전히 발생합니다. 다만 All-Gather 대신 비동기 Ring Exchange 방식을 채택하여 통신과 연산을 완벽하게 중첩(Overlap)시켰습니다.

sequenceDiagram
    autonumber
    participant GPU0 as GPU 0 (I_0, T_0)
    participant GPU1 as GPU 1 (I_1, T_1)
    participant GPU2 as GPU 2 (I_2, T_2)
    participant GPU3 as GPU 3 (I_3, T_3)

    Note over GPU0,GPU3: Round 1: 자기 자신의 로컬 청크 계산 (대각선 블록 처리)
    GPU0->>GPU0: I_0 x T_0 손실 계산 및 역전파
    GPU1->>GPU1: I_1 x T_1 손실 계산 및 역전파

    Note over GPU0,GPU3: 비동기 링 통신: 텍스트 청크를 다음 이웃 GPU로 1칸씩 전달
    GPU0->>GPU1: T_0 전송 (Non-blocking)
    GPU1->>GPU2: T_1 전송 (Non-blocking)
    GPU2->>GPU3: T_2 전송 (Non-blocking)
    GPU3->>GPU0: T_3 전송 (Non-blocking)

    Note over GPU0,GPU3: Round 2: 전달받은 이웃 텍스트와 내 이미지 계산 (비대각선 네거티브)
    GPU0->>GPU0: I_0 x T_3 손실 계산 및 역전파
    GPU1->>GPU1: I_1 x T_0 손실 계산 및 역전파

다음 라운드에 쓸 텍스트 벡터를 백그라운드 P2P 통신으로 넘겨받는 동안, GPU 코어는 현재 라운드의 행렬 연산을 쉼 없이 수행하므로 통신 지연 시간(Latency)이 0에 가깝게 은폐(Hiding)됩니다.

4.4 배치 크기 스케일링의 진실: 32k에서의 성능 조기 포화

❌ 흔한 오해: “SigLIP은 배치를 무한히 100만까지 키울수록 성능이 계속 올라간다.”
⭕ 정확한 사실: 구글 연구진이 100만(1M) 배치까지 실험했으나, 실제 성능 향상은 약 32k 부근에서 완벽히 포화(Saturation)되었습니다.

ImageNet Zero-shot 성능
   ▲
85%│                                      ────────── (성능 포화 및 미세 하락)
   │                                . - '
80%│                          . - '
   │                    . - '
75%│              . - '
   │        . - '
70%│  . - '
   └──────────────────┬─────────────┬─────────────┬─────────────► 배치 크기
                     8k            32k           128k          1M
                                    ▲
                                [포화 지점]

SigLIP의 진정한 가치는 “배치를 100만까지 늘릴 수 있다”는 과시적 확장이 아니라, “소프트맥스 모델이 초대형 배치에서나 겨우 낼 수 있었던 최고 수준의 표현력을, \(B=32\text{k}\) 수준의 현실적인 배치 크기에서도 온전히 발휘하게 해 준 알고리즘적 효율성”에 있습니다.


5. 웹 데이터 노이즈와 VLM 시각 인코더 생태계

5.1 노이즈 강건성: 수학적 비결합 vs 가중치 공유

실제 웹 스케일 데이터셋(LAION, WebLI 등)은 엉뚱한 캡션이나 광고 배너 이미지가 넘쳐납니다.

구글 연구진의 실험 결과, 데이터 오염 비율이 올라갈수록 소프트맥스(CLIP) 모델의 정확도는 급격히 붕괴한 반면, SigLIP 모델은 높은 성능을 견고하게 유지했습니다.

이 현상에 대해서도 명확한 팩트체크가 필요합니다:

❌ 과장된 설명: “SigLIP은 잘못된 데이터 쌍이 들어와도 다른 샘플에 0%의 영향도 주지 않는다.”
⭕ 정확한 진실: 손실 수식 분모를 통한 직접적인 확률 오염은 100% 차단되었지만, 모든 샘플이 인코더 가중치를 공유하므로 역전파된 그래디언트를 통한 간접적 영향은 존재합니다.

  • CLIP: 쓰레기 데이터의 로짓(\(s_{15}\))이 정상 데이터의 분모(\(\sum \exp\))에 직접 더해져 순전파 단계부터 확률 분포를 왜곡시킵니다.
  • SigLIP: 정상 데이터의 손실 \(\mathcal{L}_{11} = -\log \sigma(s_{11})\) 안에 쓰레기 데이터의 변수 자체가 없습니다. 손실 계산 레벨에서 완벽히 격리되므로 훨씬 강건한 학습이 가능합니다.

5.2 현대 VLM의 3단계 표준 아키텍처 속 SigLIP

현대 멀티모달 언어 모델(VLM)은 크게 3가지 핵심 부품의 결합으로 이루어집니다:

flowchart LR
    subgraph VisionFrontEnd ["1. 시각 인식 (눈)"]
        IMG["입력 이미지"] --> VE["Vision Encoder<br>(SigLIP / ViT)"]
        VE --> VF["Visual Representations<br>(시각 특징 벡터들)"]
    end

    subgraph Connector ["2. 신경망 다리 (번역기)"]
        VF --> PROJ["Projector / Resampler<br>(MLP or Cross-Attention)"]
        PROJ --> VT["Visual Tokens<br>(LLM이 이해하는 토큰 형태)"]
    end

    subgraph LLMBackEnd ["3. 언어 및 추론 (두뇌)"]
        TXT["사용자 텍스트 질문"] --> EMB["Text Embeddings"]
        VT --> DEC["Autoregressive LLM<br>(Gemma, Llama 등)"]
        EMB --> DEC
        DEC --> OUT["최종 텍스트 답변 생성"]
    end

여기서 SigLIP의 위치는 바로 1단계인 ‘비전 인코더(Vision Tower)’입니다. 텍스트를 생성하는 두뇌가 아니라, 픽셀 덩어리를 고차원 시각 의미 벡터로 압축해 내는 ‘가장 정밀하고 왜곡 없는 시신경’ 역할을 수행합니다.

5.3 주요 채택 모델과 강력한 대안 진영

현대 오픈 가중치 VLM 진영에서 SigLIP은 압도적인 존재감을 과시하고 있습니다:

  1. PaliGemma / PaliGemma 2 (Google DeepMind): SigLIP-So400m 비전 인코더와 Gemma 2 언어 모델을 결합하여 가벼우면서도 뛰어난 제로샷 성능 발휘.
  2. Gemma 3 (Google, 2025): \(896 \times 896\) 고해상도 입력과 동적 패치 분할 기술을 갖춘 커스텀 SigLIP 비전 인코더를 4B, 12B, 27B 전 라인업에 채택.
  3. Idefics3 (Hugging Face): 기존 CLIP 기반 인코더를 버리고 SigLIP 비전 타워를 기본 채택하여 문서 이해 및 OCR 성능 대폭 향상.
  4. LLaVA-NeXT (LLaVA 1.6): 고정밀 공간 인식 작업에 SigLipVisionTower를 기본 선택지로 지원.

⚠️ 주의해야 할 과장과 반례: Qwen2.5-VL

그렇다고 해서 “모든 VLM이 SigLIP을 쓴다”고 단정하는 것은 왜곡입니다.

알리바바의 Qwen2.5-VL은 SigLIP을 쓰지 않고, 자체 설계한 동적 해상도 네이티브 Vision Transformer(NaViT 스타일 패치 분할 + 2D-RoPE 회전 위치 임베딩 + Window Attention)를 적용하여 최정상급 성능을 내고 있습니다.

따라서 2026년 기준 멀티모달 시각 인코더의 지형도는 “SigLIP 계열(PaliGemma, Gemma 3, Idefics 등)과 네이티브 동적 ViT 계열(Qwen-VL 등)의 건강한 양자 경쟁 구도”로 이해하는 것이 가장 정확합니다.


6. CLIP vs SigLIP 종합 비교 치트시트

두 아키텍처의 핵심 차이점과 대중적 오해를 한눈에 볼 수 있도록 총정리했습니다.

비교 항목 OpenAI CLIP (2021) Google SigLIP (ICCV 2023)
기본 학습 철학 \(N\)지선다 상대 평가 (Ranking) \(N^2\)개의 독립적인 True / False 절대 평가
활성화 함수 Softmax (\(\frac{\exp(s_i)}{\sum \exp(s_j)}\)) Sigmoid (\(\frac{1}{1 + \exp(-s)}\))
손실 함수 (Loss) Symmetric Cross-Entropy Loss Pairwise Logistic (Binary Cross-Entropy) Loss
학습 파라미터 학습 가능한 스케일 \(\tau\) (온도) 학습 가능한 스케일 \(t\) + 학습 가능한 편향 \(b\)
초기 편향 (\(b\)) 없음 \(b = -10\) (베이즈 사전확률 Log-Odds 주입)
글로벌 분모 정규화 필수 (행/열 전체 합산 필요) 완전 불필요 (독립적 스칼라 손실)
VRAM 피크 메모리 \(O(B^2)\) - 대규모 배치 시 OOM 직면 \(O(b^2)\) - 가속기 로컬 배치 비례 (청크 분할)
분산 네트워크 통신 All-Gather 집합 통신 (동기화) 비동기 Ring Exchange (통신-연산 중첩)
네트워크 통신량 \(O(Bd)\) (배치 크기 선형 비례) \(O(Bd)\) (배치 크기 선형 비례)
웹 라벨 노이즈 내성 분모 오염으로 인해 상대적 취약 수학적 손실 비결합으로 높은 강건성
성능 최적 배치 크기 거대 배치일수록 유리 약 32k 수준에서 성능 조기 포화
주요 채택 생태계 SD 1.5, SDXL, 초기 LLaVA PaliGemma 2, Gemma 3, Idefics3, LLaVA-NeXT

7. 맺음말: 우아한 수식 하나가 바꾼 하드웨어 시스템

트랜스포머와 멀티모달의 발전사를 되돌아보면 언제나 깊은 감동을 받게 됩니다.

구글의 SigLIP 연구진은 수만 장의 초고가 GPU를 무작정 더 사들이는 손쉬운 길을 택하지 않았습니다. 대신 “대조학습의 본질이 무엇인가?”, “글로벌 정규화 분모가 하드웨어 시스템에 어떤 폭력을 행사하고 있는가?”라는 근본적인 질문으로 되돌아갔습니다.

  • 상대 평가를 독립 OX 평가로 바꿈으로써 \(O(B^2)\)의 메모리 감옥에서 하드웨어를 해방시켰고,
  • \(99.997\%\)의 음성 데이터가 뿜어내는 32,000배의 그래디언트 폭탄을 \(b = -10\)이라는 단 하나의 베이즈 사전확률 보정으로 잠재웠습니다.

소프트맥스에서 시그모이드로의 전환은 단순한 수식 교체가 아니라, 수학적 엄밀함과 하드웨어 엔지니어링이 가장 아름답게 맞물린 멀티모달 AI 혁신의 정수였습니다.


📚 참고 문헌 및 공식 출처

구분 자료명 주요 내용 링크
CLIP 원전 논문 Learning Transferable Visual Models From Natural Language Supervision (OpenAI, ICML 2021) 4억 쌍 웹 데이터를 활용한 대조학습 및 멀티모달 공통 잠재 공간 제안 arXiv:2103.00020
SigLIP 원전 논문 Sigmoid Loss for Language-Image Pre-training (Google, ICCV 2023) 시그모이드 손실 함수, b=-10 초기화, 청크 손실 및 링 교환 분산 아키텍처 제안 arXiv:2303.15343
SigLIP 2 논문 SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Richness, Locality, and Dense Features (Google DeepMind, 2025) 마스크드 예측, 캡셔닝 손실, 지식 증류 및 NaViT 동적 해상도 결합 arXiv:2502.14786
Gemma 3 공식 기술 보고서 Gemma 3 Technical Report (Google DeepMind, 2025) SigLIP 비전 인코더 기반의 4B/12B/27B 고해상도 멀티모달 아키텍처 상세 arXiv:2503.19786
Qwen2.5-VL 기술 보고서 Qwen2.5-VL Technical Report (Alibaba, 2025) 동적 해상도 네이티브 ViT, 2D-RoPE 및 Window Attention 비전 아키텍처 arXiv:2502.13923


함께 읽으면 좋은 글