<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://junhanzang.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://junhanzang.github.io/" rel="alternate" type="text/html" /><updated>2026-03-31T00:03:08+09:00</updated><id>https://junhanzang.github.io/feed.xml</id><title type="html">JunHan’s AI Factory</title><subtitle>Object Detection, YOLO, Deep Learning, and AI Research</subtitle><author><name>JunHan</name></author><entry><title type="html">Mamba-3: 지수-사다리꼴 이산화, 복소 SSM, MIMO를 통한 표현력 높은 상태 공간 모델</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mamba-3-expressive-ssm-with-mimo/" rel="alternate" type="text/html" title="Mamba-3: 지수-사다리꼴 이산화, 복소 SSM, MIMO를 통한 표현력 높은 상태 공간 모델" /><published>2026-03-30T21:00:00+09:00</published><updated>2026-03-30T21:00:00+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mamba-3-expressive-ssm-with-mimo</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mamba-3-expressive-ssm-with-mimo/"><![CDATA[<blockquote>
  <p><strong>논문 링크</strong>: <a href="https://arxiv.org/abs/2603.15569">arXiv 2603.15569</a></p>

  <p><strong>저자</strong>: Tri Dao, Albert Gu</p>

  <p><strong>소속</strong>: Together AI / Carnegie Mellon University</p>
</blockquote>

<hr />

<h2 id="초록-abstract">초록 (Abstract)</h2>

<p>추론 시간 연산(inference-time compute) 확장이 LLM 성능에 점점 더 중요해지면서, 모델 설계에서 효율성이 핵심이 되었다. Transformer는 품질 면에서 뛰어나지만, <strong>이차적(quadratic) 연산량</strong>과 <strong>선형 메모리</strong>로 인해 추론 병목이 발생한다. 이에 따라 선형 연산량과 상수 메모리를 가진 차선형(sub-quadratic) 모델이 개발되었으나, 많은 모델이 품질과 상태 추적(state tracking) 능력을 희생하면서도 하드웨어 효율성이 낮은 문제가 있었다.</p>

<p>본 논문은 상태 공간 모델(SSM) 원리에 기반하여 <strong>Mamba-3</strong>에 세 가지 방법론적 개선을 도입한다:</p>

<ol>
  <li><strong>지수-사다리꼴(Exponential-Trapezoidal) 이산화</strong> — 더 표현력 높은 순환 구조</li>
  <li><strong>복소값(Complex-valued) 상태 업데이트</strong> — 더 풍부한 상태 추적 가능</li>
  <li><strong>다입력-다출력(MIMO)</strong> — 디코드 지연시간 증가 없이 성능 향상</li>
</ol>

<p>1.5B 규모에서 Mamba-3 MIMO는 Transformer 대비 +2.2, Mamba-2 대비 +1.9, Gated DeltaNet 대비 +1.8의 정확도 향상을 달성한다.</p>

<hr />

<h2 id="1-서론-introduction">1. 서론 (Introduction)</h2>

<p>테스트 시점 연산이 LLM 발전을 주도하고 있다. Chain-of-Thought 추론과 반복적 정제가 새로운 능력을 열어주고, 병렬 에이전트 워크플로가 효율적 추론에 대한 요구를 강화한다.</p>

<p>Transformer는 업계 표준이지만 근본적 병목이 존재한다:</p>
<ul>
  <li><strong>KV 캐시 메모리</strong>: 시퀀스 길이에 비례하여 선형 증가</li>
  <li><strong>Self-Attention 연산</strong>: 이차적으로 증가</li>
</ul>

<div class="mermaid">
graph LR
    subgraph T["Transformer"]
        A["시퀀스 길이 T"] --&gt; B["KV 캐시: O&#40;T&#41;"]
        A --&gt; C["Attention: O&#40;T²&#41;"]
    end
    subgraph S["SSM &#40;Mamba&#41;"]
        D["시퀀스 길이 T"] --&gt; E["상태 메모리: O&#40;1&#41;"]
        D --&gt; F["연산: O&#40;T&#41;"]
    end
    style T fill:#ff6b6b,color:#fff
    style S fill:#51cf66,color:#fff
</div>

<p>이에 따라 Mamba-2, Gated DeltaNet 등 SSM과 선형 어텐션 기반 모델이 연구되어 왔으며, 현재 하이브리드 아키텍처에서 순수 Transformer와 동등한 성능을 보여주고 있다.</p>

<p>그러나 여전히 품질-효율성 프론티어를 발전시킬 여지가 크다:</p>
<ul>
  <li>Mamba-2는 훈련 속도를 개선했지만 <strong>표현력을 희생</strong></li>
  <li>선형 모델은 <strong>패리티 감지</strong> 같은 상태 추적 작업에서 어려움</li>
  <li>이론적으로 효율적인 추론이 <strong>하드웨어에서는 비효율적</strong> (낮은 연산 강도)</li>
</ul>

<h3 id="mamba-3의-핵심-기여">Mamba-3의 핵심 기여</h3>

<div class="mermaid">
graph TB
    M["Mamba-3"] --&gt; ET["지수-사다리꼴 이산화"]
    M --&gt; CS["복소값 SSM"]
    M --&gt; MI["MIMO"]
    ET --&gt; ET1["Mamba-2의 휴리스틱을 이론적으로 정형화"]
    ET --&gt; ET2["2차 정확도의 상태-입력 적분"]
    ET --&gt; ET3["암시적 너비-2 합성곱 → 외부 합성곱 제거"]
    CS --&gt; CS1["회전 동역학으로 상태 추적 가능"]
    CS --&gt; CS2["데이터 의존 RoPE로 효율적 구현"]
    CS --&gt; CS3["패리티 작업 100% 정확도"]
    MI --&gt; MI1["디코딩 FLOPs 최대 4배 증가"]
    MI --&gt; MI2["상태 크기·지연시간 유지"]
    MI --&gt; MI3["하드웨어 활용률 극대화"]
</div>

<p><strong>핵심 결과 요약:</strong></p>

<table>
  <thead>
    <tr>
      <th>지표</th>
      <th style="text-align: center">Mamba-3 SISO</th>
      <th style="text-align: center">Mamba-3 MIMO</th>
      <th style="text-align: center">Mamba-2</th>
      <th style="text-align: center">GDN</th>
      <th style="text-align: center">Transformer</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>다운스트림 정확도 (1.5B)</td>
      <td style="text-align: center">56.4%</td>
      <td style="text-align: center"><strong>57.6%</strong></td>
      <td style="text-align: center">55.7%</td>
      <td style="text-align: center">55.8%</td>
      <td style="text-align: center">55.4%</td>
    </tr>
    <tr>
      <td>패리티 정확도</td>
      <td style="text-align: center">100%</td>
      <td style="text-align: center">—</td>
      <td style="text-align: center">0.9%</td>
      <td style="text-align: center">—</td>
      <td style="text-align: center">—</td>
    </tr>
    <tr>
      <td>동등 PPL 상태 크기</td>
      <td style="text-align: center">64</td>
      <td style="text-align: center">64</td>
      <td style="text-align: center">128</td>
      <td style="text-align: center">—</td>
      <td style="text-align: center">—</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="2-사전-지식-preliminaries">2. 사전 지식 (Preliminaries)</h2>

<h3 id="21-표기법">2.1 표기법</h3>

<ul>
  <li>스칼라: 일반 문자 ($x, y$)</li>
  <li>텐서(벡터, 행렬): 볼드 문자 ($\mathbf{h}, \mathbf{C}$)</li>
  <li>$T$: 시퀀스 길이, $D$: 모델 차원, $N$: SSM 상태 크기</li>
  <li>$\odot$: 아다마르(원소별) 곱</li>
  <li>$\text{Diag}(\mathbf{v})$: 벡터 $\mathbf{v}$를 대각 행렬로 변환</li>
  <li>$\alpha_{t \cdots s} = \prod_{i=s}^{t} \alpha_i$: 시간 구간에 걸친 곱</li>
</ul>

<h3 id="22-ssm-기초">2.2 SSM 기초</h3>

<p>상태 공간 모델은 <strong>연속 시간 선형 동역학</strong>을 두 방정식으로 표현한다:</p>

\[\dot{\mathbf{h}}(t) = \mathbf{A}(t)\mathbf{h}(t) + \mathbf{B}(t)x(t)\]

\[y(t) = \mathbf{C}(t)^\top \mathbf{h}(t)\]

<blockquote>
  <p><strong>직관적 이해</strong>: 은닉 상태 $\mathbf{h}$가 행렬 $\mathbf{A}$에 의해 시간에 따라 진화하며, 입력 $x$가 $\mathbf{B}$를 통해 주입되고, 출력 $y$는 $\mathbf{C}$로 읽어낸다.</p>
</blockquote>

<div class="mermaid">
graph LR
    X["입력 x&#40;t&#41;"] --&gt;|"B&#40;t&#41;"| H["은닉 상태 h&#40;t&#41;"]
    H --&gt;|"A&#40;t&#41;"| H
    H --&gt;|"C&#40;t&#41;ᵀ"| Y["출력 y&#40;t&#41;"]
    style H fill:#4dabf7,color:#fff
</div>

<p>이산 시퀀스에서 시간 간격 $\Delta_t$로 이산화하면 (Mamba-1, Mamba-2 방식):</p>

\[\mathbf{h}\_t = e^{\Delta\_t \mathbf{A}\_t} \mathbf{h}\_{t-1} + \Delta\_t \mathbf{B}\_t x\_t\]

\[y\_t = \mathbf{C}\_t^\top \mathbf{h}\_t\]

<h4 id="mamba-2의-매개변수화">Mamba-2의 매개변수화</h4>

<p>Mamba-2는 상태 전이를 $\mathbf{A}_t = A_t \mathbf{I}_{N \times N}$으로 단순화한다. $\alpha_t := e^{\Delta_t A_t} \in (0, 1)$, $\gamma_t := \Delta_t$로 정의하면:</p>

\[\mathbf{h}\_t = \alpha\_t \mathbf{h}\_{t-1} + \gamma\_t \mathbf{B}\_t x\_t, \quad y\_t = \mathbf{C}\_t^\top \mathbf{h}\_t\]

<blockquote>
  <p><strong>직관적 이해</strong>: $\alpha_t$는 <strong>기억 수평선</strong>을 제어한다. $\Delta_t$가 크면 빠르게 잊고 현재 토큰에 집중하며, 작으면 이전 상태를 오래 유지한다.</p>
</blockquote>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>α_t ≈ 1.0 (큰 Δ): 이전 상태 거의 유지, 현재 입력 약하게 반영
  h_t ≈ h_{t-1}    "장기 기억 모드"

α_t ≈ 0.0 (작은 Δ): 이전 상태 잊고, 현재 입력 강하게 반영
  h_t ≈ γ_t B_t x_t  "리셋 모드"
</code></pre></div></div>

<h3 id="23-구조화된-마스크-표현과-상태-공간-이중성-ssd">2.3 구조화된 마스크 표현과 상태 공간 이중성 (SSD)</h3>

<p>Mamba-2는 SSM의 시간 단위 순환이 <strong>행렬 형태로 벡터화</strong>될 수 있음을 보여주었다:</p>

\[\mathbf{Y} = (\mathbf{L} \odot \mathbf{C}\mathbf{B}^\top) \mathbf{X}\]

<p>여기서 $\mathbf{L} \in \mathbb{R}^{T \times T}$는 구조화된 마스크, $\mathbf{Q} := \mathbf{C}$, $\mathbf{K} := \mathbf{B}$, $\mathbf{V} := \mathbf{X}$로 놓으면 <strong>어텐션과의 연결</strong>이 드러난다. $\mathbf{L}$은 데이터 의존적 마스크 역할을 한다.</p>

<div class="mermaid">
graph LR
    subgraph "상태 공간 이중성 &#40;SSD&#41;"
        R["순환형: h_t = α_t h_{t-1} + γ_t B_t x_t"] &lt;--&gt;|"등가"| P["병렬형: Y = &#40;L ⊙ CB^T&#41; X"]
    end
    R --&gt;|"디코딩: O&#40;1&#41; 메모리"| DEC["효율적 추론"]
    P --&gt;|"훈련: 행렬 곱"| TRN["빠른 학습"]
</div>

<p>Mamba-2의 마스크 구조:</p>

\[\mathbf{L} = \begin{bmatrix}1 &amp; &amp; &amp; \\ \alpha\_1 &amp; 1 &amp; &amp; \\ \alpha\_2\alpha\_1 &amp; \alpha\_2 &amp; 1 &amp; \\ \vdots &amp; &amp; &amp; \ddots \end{bmatrix} \cdot \text{Diag}(\gamma)\]

<blockquote>
  <p><strong>직관적 이해</strong>: 마스크의 $(i,j)$ 원소는 시점 $j$의 입력이 시점 $i$의 출력에 미치는 영향의 가중치다. $\alpha$ 값들이 누적되어 먼 과거일수록 영향이 지수적으로 감소한다.</p>
</blockquote>

<hr />

<h2 id="3-방법론-methodology">3. 방법론 (Methodology)</h2>

<h3 id="31-지수-사다리꼴-이산화-exponential-trapezoidal-discretization">3.1 지수-사다리꼴 이산화 (Exponential-Trapezoidal Discretization)</h3>

<h4 id="311-지수-조정-이산화-개요">3.1.1 지수 조정 이산화 개요</h4>

<p>연속 시간 SSM을 이산화할 때, “지수 조정 시스템” $e^{-At}x(t)$를 분석하면 상태 전이와 상태 입력 적분을 분리할 수 있다:</p>

\[\mathbf{h}(\tau\_t) = \exp\left(\int\_{\tau\_{t-1}}^{\tau\_t} A(s)ds\right)\mathbf{h}(\tau\_{t-1}) + \int\_{\tau\_{t-1}}^{\tau\_t} \exp\left(\int\_\tau^{\tau\_t} A(s)ds\right)\mathbf{B}(\tau)x(\tau)d\tau\]

<blockquote>
  <p><strong>직관적 이해</strong>: 첫 번째 항은 이전 상태의 감쇠, 두 번째 항은 새 입력의 누적이다. 핵심 차이는 <strong>두 번째 적분을 어떻게 근사하느냐</strong>에 있다.</p>
</blockquote>

<div class="mermaid">
graph TB
    INT["상태-입력 적분 근사 방법"] --&gt; ZOH["ZOH: 우측 끝점 고정"]
    INT --&gt; EE["지수-오일러: 오일러 법칙"]
    INT --&gt; ETR["지수-사다리꼴: 사다리꼴 법칙"]
    ZOH --&gt; ZR["h_t = e^&#40;ΔA&#41; h + A⁻¹&#40;e^&#40;ΔA&#41;-I&#41; Bx"]
    EE --&gt; ER["h_t = α h + Δ B_t x_t"]
    ETR --&gt; TR["h_t = α h + β B_{t-1}x_{t-1} + γ B_t x_t"]
    ZR --&gt;|"정확하지만 A⁻¹ 필요"| C1["S4D, S5"]
    ER --&gt;|"단순하지만 1차 정확도"| C2["Mamba-1, Mamba-2"]
    TR --&gt;|"2차 정확도, A⁻¹ 불필요"| C3["Mamba-3"]
    style ETR fill:#4dabf7,color:#fff
    style C3 fill:#4dabf7,color:#fff
</div>

<h4 id="zero-order-hold-zoh">Zero-Order Hold (ZOH)</h4>

<p>구간 $[\tau_{t-1}, \tau_t]$에서 모든 값을 우측 끝점에서의 상수로 취급:</p>

\[\mathbf{h}\_t = \exp(\Delta\_t A\_t)\mathbf{h}\_{t-1} + A\_t^{-1}(\exp(\Delta\_t A\_t) - I)\mathbf{B}\_t x\_t\]

<h4 id="지수-오일러-exponential-euler-mamba-12">지수-오일러 (Exponential-Euler, Mamba-1/2)</h4>

<p>오일러 법칙으로 상태-입력 적분을 근사:</p>

\[\mathbf{h}\_t = e^{\Delta\_t A\_t}\mathbf{h}\_{t-1} + \Delta\_t \mathbf{B}\_t x\_t \quad (4)\]

<blockquote>
  <p><strong>직관적 이해</strong>: Mamba-1과 Mamba-2에서 이론적 정당화 없이 사용된 휴리스틱을 <strong>지수-오일러 이산화</strong>로 공식화한 것이다.</p>
</blockquote>

<h4 id="지수-사다리꼴-exponential-trapezoidal-mamba-3">지수-사다리꼴 (Exponential-Trapezoidal, Mamba-3)</h4>

<p><strong>명제 3.1.1</strong>: 일반화된 사다리꼴 법칙으로 상태-입력 적분을 근사하면:</p>

\[\mathbf{h}\_t = e^{\Delta\_t A\_t}\mathbf{h}\_{t-1} + (1-\lambda\_t)\Delta\_t e^{\Delta\_t A\_t}\mathbf{B}\_{t-1}x\_{t-1} + \lambda\_t \Delta\_t \mathbf{B}\_t x\_t \quad (5)\]

<p>계수를 정의하면:</p>

\[\mathbf{h}\_t = \alpha\_t \mathbf{h}\_{t-1} + \beta\_t \mathbf{B}\_{t-1}x\_{t-1} + \gamma\_t \mathbf{B}\_t x\_t \quad (6)\]

<table>
  <thead>
    <tr>
      <th>계수</th>
      <th>정의</th>
      <th>역할</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>$\alpha_t$</td>
      <td>$e^{\Delta_t A_t}$</td>
      <td>상태 감쇠 (이전과 동일)</td>
    </tr>
    <tr>
      <td>$\beta_t$</td>
      <td>$(1-\lambda_t)\Delta_t e^{\Delta_t A_t}$</td>
      <td><strong>이전</strong> 입력의 기여 (새로운 항)</td>
    </tr>
    <tr>
      <td>$\gamma_t$</td>
      <td>$\lambda_t \Delta_t$</td>
      <td><strong>현재</strong> 입력의 기여</td>
    </tr>
    <tr>
      <td>$\lambda_t$</td>
      <td>$\in [0, 1]$, 데이터 의존</td>
      <td>이전/현재 입력 비율 제어</td>
    </tr>
  </tbody>
</table>

<blockquote>
  <p><strong>직관적 이해</strong>: Mamba-2는 현재 시점의 입력 $x_t$만 반영하지만, Mamba-3는 <strong>이전 시점 $x_{t-1}$도 함께</strong> 고려한다. $\lambda_t$가 이 둘의 비율을 데이터에 따라 조절한다.</p>
</blockquote>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Mamba-2 (지수-오일러):     h_t = α·h_{t-1} + γ·B_t·x_t
                                  ↑ 감쇠        ↑ 현재만

Mamba-3 (지수-사다리꼴):   h_t = α·h_{t-1} + β·B_{t-1}·x_{t-1} + γ·B_t·x_t
                                  ↑ 감쇠        ↑ 이전 입력 (NEW)    ↑ 현재
</code></pre></div></div>

<p><strong>특수 경우:</strong></p>
<ul>
  <li>$\lambda_t = 1$ → Mamba-2의 오일러 법칙 복원</li>
  <li>$\lambda_t = 1/2$ → 고전적 사다리꼴 법칙</li>
  <li>$\lambda_t = 1/2 + O(\Delta_t)$ → <strong>2차 정확도</strong>, 오차 $O(\Delta_t^3)$</li>
</ul>

<h4 id="이산화-방법-비교-table-1">이산화 방법 비교 (Table 1)</h4>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th>$\alpha_t$</th>
      <th>$\beta_t$</th>
      <th>$\gamma_t$</th>
      <th>사용 모델</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Forward Euler</td>
      <td>$I + \Delta A$</td>
      <td>—</td>
      <td>$\Delta$</td>
      <td>—</td>
    </tr>
    <tr>
      <td>Backward Euler</td>
      <td>$(I - \Delta A)^{-1}$</td>
      <td>—</td>
      <td>$(I - \Delta A)^{-1}\Delta$</td>
      <td>—</td>
    </tr>
    <tr>
      <td>Trapezoidal</td>
      <td>$(I-\frac{\Delta A}{2})^{-1}(I+\frac{\Delta A}{2})$</td>
      <td>—</td>
      <td>$(I-\frac{\Delta A}{2})^{-1}\Delta$</td>
      <td>S4</td>
    </tr>
    <tr>
      <td>ZOH</td>
      <td>$e^{\Delta A}$</td>
      <td>—</td>
      <td>$A^{-1}(e^{\Delta A}-I)$</td>
      <td>S4D, S5</td>
    </tr>
    <tr>
      <td><strong>지수-오일러</strong></td>
      <td>$e^{\Delta_t A_t}$</td>
      <td>—</td>
      <td>$\Delta_t$</td>
      <td><strong>Mamba-1, 2</strong></td>
    </tr>
    <tr>
      <td><strong>지수-사다리꼴</strong></td>
      <td>$e^{\Delta_t A_t}$</td>
      <td>$(1-\lambda_t)\Delta_t e^{\Delta_t A_t}$</td>
      <td>$\lambda_t \Delta_t$</td>
      <td><strong>Mamba-3</strong></td>
    </tr>
  </tbody>
</table>

<h4 id="312-암시적-합성곱으로서의-지수-사다리꼴-순환">3.1.2 암시적 합성곱으로서의 지수-사다리꼴 순환</h4>

<p>지수-사다리꼴 이산화는 상태-입력 $\mathbf{v}_t = \mathbf{B}_t x_t$에 대해 <strong>너비 2의 데이터 의존 합성곱</strong>을 적용한 후 선형 순환을 수행하는 것과 동일하다.</p>

<div class="mermaid">
graph LR
    subgraph "Mamba-2 &#40;기존&#41;"
        V1["v_t = B_t x_t"] --&gt; R1["h_t = α h_{t-1} + γ v_t"]
    end
    subgraph "Mamba-3 &#40;신규&#41;"
        V2["v_t = B_t x_t"] --&gt; CONV["너비-2 합성곱: β v_{t-1} + γ v_t"] --&gt; R2["h_t = α h_{t-1} + conv_out"]
    end
    style CONV fill:#ffd43b,color:#000
</div>

<blockquote>
  <p><strong>직관적 이해</strong>: 기존 Mamba 모델들은 외부에 별도의 짧은 인과 합성곱(short causal convolution)이 필요했다. Mamba-3는 이산화 자체에 합성곱이 내장되어 <strong>외부 합성곱을 제거</strong>할 수 있다.</p>
</blockquote>

<h4 id="313-병렬-표현">3.1.3 병렬 표현</h4>

<p>SSD 프레임워크에서 지수-사다리꼴 마스크는 감쇠 행렬과 2-밴드 합성곱 구조의 곱으로 분해된다:</p>

\[\mathbf{L} = \underbrace{\begin{bmatrix}1 &amp; &amp; \\ \alpha\_1 &amp; 1 &amp; \\ \alpha\_2\alpha\_1 &amp; \alpha\_2 &amp; 1 \\ \vdots &amp; &amp; &amp; \ddots \end{bmatrix}}\_{\text{감쇠 행렬}} \cdot \underbrace{\begin{bmatrix}\gamma\_0 &amp; &amp; \\ \beta\_1 &amp; \gamma\_1 &amp; \\ 0 &amp; \beta\_2 &amp; \gamma\_2 \\ \vdots &amp; &amp; &amp; \ddots \end{bmatrix}}\_{\text{2-밴드 행렬 (NEW)}} \quad (7)\]

<blockquote>
  <p><strong>직관적 이해</strong>: Mamba-2의 마스크는 감쇠 × 대각(γ)이었다. Mamba-3는 대각을 <strong>2-밴드 행렬</strong>로 확장하여, 인접 시점 간 합성곱을 인코딩한다.</p>
</blockquote>

<hr />

<h3 id="32-복소값-ssm-complex-valued-ssms">3.2 복소값 SSM (Complex-Valued SSMs)</h3>

<p>현대 SSM 아키텍처는 상태 전이를 점차 단순화해왔다: S4의 복소 Normal Plus Low Rank → Mamba-2의 스칼라 항등 행렬. 이 단순화는 언어 모델링 성능을 유지했지만, <strong>상태 추적 작업(패리티 등)에서 성능을 크게 저하</strong>시켰다.</p>

<p>핵심 문제: 실수값, 비음수 고유값 전이로는 <strong>회전 동역학</strong>을 표현할 수 없다. 예를 들어 패리티 함수는 $\mathbf{h}_t = \mathbf{R}(\pi x_t)\mathbf{h}_{t-1}$ 형태의 2D 회전이 필요하다.</p>

<div class="mermaid">
graph TB
    subgraph "실수값 SSM &#40;Mamba-2&#41;"
        RS["α ∈ &#40;0,1&#41;: 스케일링만 가능"] --&gt; RL["축소/유지만 가능, 회전 불가"]
        RL --&gt; RF["패리티 정확도: 0.9%"]
    end
    subgraph "복소값 SSM &#40;Mamba-3&#41;"
        CS["α + iθ: 스케일링 + 회전"] --&gt; CL["크기 변화 + 각도 회전 가능"]
        CL --&gt; CF["패리티 정확도: 100%"]
    end
    style RF fill:#ff6b6b,color:#fff
    style CF fill:#51cf66,color:#fff
</div>

<h4 id="321-지수-오일러-이산화에서의-복소-ssm">3.2.1 지수-오일러 이산화에서의 복소 SSM</h4>

<p><strong>명제 3.2.1 (복소-실수 SSM 등가성):</strong> 상태 차원 $N/2$의 복소값 SSM은 차원 $N$의 실수값 SSM과 등가이며, 이때 <strong>2×2 회전 행렬로 구성된 블록 대각 전이 행렬</strong>을 갖는다.</p>

<p>복소 연속 시스템:</p>

\[\dot{\mathbf{h}}(t) = \text{Diag}(A(t) + i\theta(t))\mathbf{h}(t) + (\mathbf{B}(t) + i\hat{\mathbf{B}}(t))x(t)\]

<p>지수-오일러 이산화 후 등가 실수 형태:</p>

\[\mathbf{h}\_t = e^{\Delta\_t A\_t} \mathbf{R}\_t \mathbf{h}\_{t-1} + \Delta\_t \mathbf{B}\_t x\_t\]

\[y\_t = \mathbf{C}\_t^\top \mathbf{h}\_t\]

<p>여기서 $\mathbf{R}_t$는 $\theta(t)$에 의해 결정되는 2×2 회전 행렬의 블록 대각 행렬이다.</p>

<blockquote>
  <p><strong>직관적 이해</strong>: 복소수의 곱셈은 기하학적으로 <strong>크기 변화 + 각도 회전</strong>이다. 실수만으로는 크기만 변할 수 있지만, 복소 성분을 추가하면 상태 벡터가 회전할 수 있어 패리티 같은 작업이 가능해진다.</p>
</blockquote>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>실수값 상태 업데이트:        복소값 상태 업데이트:
  h ──[×α]──&gt; h'              h ──[×α]──[회전θ]──&gt; h'

  ●───→───●                   ●───↗
  (축소만)                      ↗  (회전 + 축소)
                              ●
</code></pre></div></div>

<p><strong>명제 3.2.2 (데이터 의존 RoPE 등가성):</strong> 이산화된 복소 SSM의 출력은 $\mathbf{B}, \mathbf{C}$에 <strong>데이터 의존 회전 위치 임베딩(RoPE)</strong>을 적용한 순수 스칼라 전이 SSM과 동일하다.</p>

\[\mathbf{h}\_t = e^{\Delta\_t A\_t}\mathbf{h}\_{t-1} + \left(\prod\_{i=0}^{t} \mathbf{R}\_i^\top\right)\Delta\_t \mathbf{B}\_t x\_t\]

<blockquote>
  <p><strong>직관적 이해</strong>: 표준 RoPE는 고정 주파수($\theta[i] = 10000^{-2i/N}$)의 <strong>데이터 무관</strong> 회전이다. Mamba-3의 접근은 시퀀스로부터 학습된 <strong>데이터 의존</strong> 회전을 사용한다. “RoPE 트릭”으로 효율적으로 계산 가능하다.</p>
</blockquote>

<h4 id="322-지수-사다리꼴-이산화에서의-복소-ssm">3.2.2 지수-사다리꼴 이산화에서의 복소 SSM</h4>

<p><strong>명제 3.2.3:</strong> 복소 SSM에 지수-사다리꼴 법칙을 적용하면:</p>

\[\mathbf{h}\_t = \alpha\_t \mathbf{h}\_{t-1} + \beta\_t \left(\prod\_{i=0}^{t-1} \mathbf{R}\_i^\top\right)\mathbf{B}\_{t-1}x\_{t-1} + \gamma\_t \left(\prod\_{i=0}^{t} \mathbf{R}\_i^\top\right)\mathbf{B}\_t x\_t\]

\[y\_t = \left[\left(\prod\_{i=0}^{t} \mathbf{R}\_i^\top\right)\mathbf{C}\_t\right]^\top \mathbf{h}\_t\]

<div class="mermaid">
graph LR
    X_prev["x_{t-1}"] --&gt;|"B_{t-1}"| ROPE1["RoPE&#40;0..t-1&#41;"]
    X_curr["x_t"] --&gt;|"B_t"| ROPE2["RoPE&#40;0..t&#41;"]
    ROPE1 --&gt;|"×β_t"| SUM["⊕"]
    ROPE2 --&gt;|"×γ_t"| SUM
    H_prev["h_{t-1}"] --&gt;|"×α_t"| SUM
    SUM --&gt; H["h_t"]
    H --&gt;|"C_t + RoPE"| Y["y_t"]
    style SUM fill:#ffd43b,color:#000
</div>

<h4 id="상태-추적-실험-결과-table-5b">상태 추적 실험 결과 (Table 5b)</h4>

<table>
  <thead>
    <tr>
      <th>작업</th>
      <th style="text-align: center">Mamba-2</th>
      <th style="text-align: center">Mamba-3 (RoPE 없음)</th>
      <th style="text-align: center"><strong>Mamba-3</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>패리티</td>
      <td style="text-align: center">0.90%</td>
      <td style="text-align: center">2.27%</td>
      <td style="text-align: center"><strong>100%</strong></td>
    </tr>
    <tr>
      <td>산술 (괄호 없음)</td>
      <td style="text-align: center">47.81%</td>
      <td style="text-align: center">53.33%</td>
      <td style="text-align: center"><strong>98.51%</strong></td>
    </tr>
    <tr>
      <td>산술 (괄호 있음)</td>
      <td style="text-align: center">0.88%</td>
      <td style="text-align: center">2.06%</td>
      <td style="text-align: center"><strong>87.75%</strong></td>
    </tr>
  </tbody>
</table>

<hr />

<h3 id="33-다입력-다출력-mimo">3.3 다입력-다출력 (MIMO)</h3>

<h4 id="디코딩-연산-강도-문제">디코딩 연산 강도 문제</h4>

<p>표준 SISO 모델의 디코딩 연산 강도(FLOPs per byte)는 약 <strong>2.5 ops/byte</strong>로, H100 하드웨어에서 최적화된 행렬 곱의 <strong>295 ops/byte</strong>에 비해 극히 낮다. 이는 메모리 바운드 병목으로, 하드웨어 활용률이 매우 낮음을 의미한다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>연산 강도 비교 (ops/byte):

H100 최적 행렬곱  |████████████████████████████████████████| 295
Mamba-3 MIMO(R=4) |████████████                            |  ~10
Mamba-2 SISO      |█                                       | 2.5

              0        50       100      150      200      250      300
</code></pre></div></div>

<h4 id="siso에서-mimo로">SISO에서 MIMO로</h4>

<p><strong>SISO 기본:</strong> $\mathbf{h}_t \leftarrow \alpha_t \mathbf{h}_{t-1} + \Delta_t \mathbf{B}_t \mathbf{x}_t$, 여기서 $\mathbf{B}_t \in \mathbb{R}^N$</p>

<p><strong>MIMO 변환:</strong> $\mathbf{B}_t \in \mathbb{R}^N \rightarrow \mathbf{B}_t \in \mathbb{R}^{N \times R}$, $\mathbf{x}_t \in \mathbb{R}^P \rightarrow \mathbf{x}_t \in \mathbb{R}^{P \times R}$</p>

<div class="mermaid">
graph TB
    subgraph "SISO &#40;기존&#41;"
        S_B["B ∈ ℝ^N"] --- S_X["x ∈ ℝ^P"]
        S_B --&gt;|"외적: Bxᵀ"| S_H["h ∈ ℝ^&#40;N×P&#41;"]
        S_H --&gt;|"연산 강도"| S_AI["~2.5 ops/byte"]
    end
    subgraph "MIMO &#40;신규&#41;"
        M_B["B ∈ ℝ^&#40;N×R&#41;"] --- M_X["x ∈ ℝ^&#40;P×R&#41;"]
        M_B --&gt;|"행렬곱: BXᵀ"| M_H["h ∈ ℝ^&#40;N×P&#41;"]
        M_H --&gt;|"연산 강도"| M_AI["~Θ&#40;R&#41; ops/byte"]
    end
    style S_AI fill:#ff6b6b,color:#fff
    style M_AI fill:#51cf66,color:#fff
</div>

<blockquote>
  <p><strong>직관적 이해</strong>: SISO에서 외적 $\mathbf{B}_t \mathbf{x}_t^\top$은 메모리 접근 대비 연산이 적다. MIMO는 이를 행렬 곱으로 바꿔 <strong>동일한 메모리 트래픽으로 $R$배 더 많은 연산</strong>을 수행한다. 텐서 코어가 본래 설계된 대로 활용된다.</p>
</blockquote>

<h4 id="mimo-ssm-훈련">MIMO SSM 훈련</h4>

<p>MIMO SSM은 $R^2$개의 결합된 SISO 시스템으로 분해된다:</p>

\[\mathbf{h}\_t^{(j)} \leftarrow \alpha\_t \mathbf{h}\_{t-1}^{(j)} + \Delta\_t \mathbf{B}\_t^{(j)} \mathbf{x}\_t^{(j)} \quad \text{(개별 SISO)}\]

\[\mathbf{h}\_t = \sum\_{j=0}^{R-1} \mathbf{h}\_t^{(j)} \quad \text{(상태 집약)}\]

\[\mathbf{y}\_t^{(i)} \leftarrow (\mathbf{C}\_t^{(i)})^\top \mathbf{h}\_t \quad \text{(출력 투영)}\]

<blockquote>
  <p><strong>직관적 이해</strong>: $R$개의 독립적인 “채널”이 각자 상태를 업데이트한 후, 모두 합쳐진다. 병렬 처리가 가능하므로 $R^2$가 아닌 <strong>$R$배의 연산 오버헤드</strong>만 발생한다.</p>
</blockquote>

<h4 id="청크-알고리즘-연산량">청크 알고리즘 연산량</h4>

<table>
  <thead>
    <tr>
      <th> </th>
      <th>SISO</th>
      <th>MIMO</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>인트라-청크 FLOPs</td>
      <td>$2TC(N+P)$</td>
      <td>$R$배</td>
    </tr>
    <tr>
      <td>인터-청크 FLOPs</td>
      <td>$4TNP + \frac{T}{C}2NP$</td>
      <td>$R$배</td>
    </tr>
    <tr>
      <td>$C=P=N$ 총합</td>
      <td>$8TN^2$</td>
      <td>$R \cdot 8TN^2$</td>
    </tr>
  </tbody>
</table>

<h4 id="mimo-인스턴스화">MIMO 인스턴스화</h4>

<p>파라미터 폭발을 방지하기 위해 선택적 확장:</p>

<ul>
  <li><strong>공유 $\mathbf{B}, \mathbf{C}$ 투영</strong>: $DN \rightarrow DNR$로 적당히 증가</li>
  <li><strong>헤드별 성분 ($\mathbf{x}, \mathbf{y}, \mathbf{z}$)</strong>: SISO 차원 유지, 학습 가능한 벡터로 원소별 스케일링</li>
  <li><strong>파라미터 오버헤드</strong>: 헤드당 $D\mathcal{P} + \mathcal{P}R$ (vs $D\mathcal{P}R$)</li>
  <li><strong>보상</strong>: MLP 폭을 6.6% 줄여 총 파라미터 수 일치</li>
</ul>

<hr />

<h3 id="34-mamba-3-아키텍처">3.4 Mamba-3 아키텍처</h3>

<p>Mamba-3는 Llama 구조를 유지하며 Mamba-3 블록과 SwiGLU 블록을 pre-norm으로 교대 배치한다.</p>

<div class="mermaid">
graph TB
    INPUT["입력 토큰"] --&gt; NORM1["RMSNorm"]
    NORM1 --&gt; SSM["Mamba-3 SSM 블록"]
    SSM --&gt; ADD1["+ 잔차"]
    ADD1 --&gt; NORM2["RMSNorm"]
    NORM2 --&gt; MLP["SwiGLU MLP"]
    MLP --&gt; ADD2["+ 잔차"]
    ADD2 --&gt; OUTPUT["출력"]

    subgraph "Mamba-3 SSM 블록 상세"
        direction TB
        QKV["입력 → B,C 투영 + BCNorm + Bias"]
        QKV --&gt; ROPE["데이터 의존 RoPE"]
        ROPE --&gt; ETRAP["지수-사다리꼴 순환"]
        ETRAP --&gt; MIMO_L["MIMO 집약"]
        MIMO_L --&gt; GATE["Output Gate"]
    end
</div>

<h4 id="갱신된-ssm-순환">갱신된 SSM 순환</h4>

<p>Mamba-3는 SSD 레이어를 명제 3.2.2의 복소값 지수-사다리꼴 SSM으로 대체한다:</p>

\[\mathbf{h}\_t = \alpha\_t \mathbf{h}\_{t-1} + \beta\_t \left(\prod\_{i=0}^{t-1}\mathbf{R}\_i^\top\right)\mathbf{B}\_{t-1}\mathbf{x}\_{t-1} + \gamma\_t \left(\prod\_{i=0}^{t}\mathbf{R}\_i^\top\right)\mathbf{B}\_t \mathbf{x}\_t\]

\[y\_t = \left[\left(\prod\_{i=0}^{t}\mathbf{R}\_i^\top\right)\mathbf{C}\_t\right]^\top \mathbf{h}\_t\]

<p>실수 부분 $A$는 표준 SSD 기계를 통해 처리되고, 허수 부분 $\Theta$가 RoPE 계산을 구현한다.</p>

<h4 id="bcqk-정규화">BC/QK 정규화</h4>

<p>$\mathbf{B}, \mathbf{C}$ 투영 후 <strong>RMS 정규화</strong>를 추가한다. 이는 최근 Transformer에서의 Query-Key 정규화와 동일한 역할이다. 이를 통해 순수 모델에서 이전에 필요했던 post-gate RMSNorm을 제거할 수 있다.</p>

<h4 id="bc-편향-biases">B,C 편향 (Biases)</h4>

<p>BCNorm 후에 학습 가능한 헤드별, 채널별 편향을 추가한다.</p>

<blockquote>
  <p><strong>직관적 이해</strong>: 이 편향은 <strong>합성곱과 유사한 동작</strong>을 유도한다. $\mathbf{B}$와 $\mathbf{C}$에 데이터 무관 성분이 추가되어, 지수-사다리꼴의 상태-입력 합성곱과 시너지를 이루며 <strong>기존에 필수적이었던 외부 짧은 인과 합성곱을 제거</strong>할 수 있게 한다.</p>
</blockquote>

<hr />

<h2 id="4-실험-검증-empirical-validation">4. 실험 검증 (Empirical Validation)</h2>

<h3 id="41-언어-모델링">4.1 언어 모델링</h3>

<p>100B FineWeb-Edu 토큰, Llama-3.1 토크나이저, 2K 컨텍스트 길이로 훈련. 4개 스케일(180M, 440M, 880M, 1.5B)에서 평가.</p>

<p><strong>주요 결과 (Table 3, 1.5B 스케일):</strong></p>

<table>
  <thead>
    <tr>
      <th>모델</th>
      <th style="text-align: center">PPL</th>
      <th style="text-align: center">다운스트림 평균</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Transformer</td>
      <td style="text-align: center">—</td>
      <td style="text-align: center">55.4%</td>
    </tr>
    <tr>
      <td>Mamba-2</td>
      <td style="text-align: center">10.47</td>
      <td style="text-align: center">55.7%</td>
    </tr>
    <tr>
      <td>GDN (SISO)</td>
      <td style="text-align: center">10.37</td>
      <td style="text-align: center">55.8%</td>
    </tr>
    <tr>
      <td><strong>Mamba-3 SISO</strong></td>
      <td style="text-align: center">10.35</td>
      <td style="text-align: center">56.4%</td>
    </tr>
    <tr>
      <td><strong>Mamba-3 MIMO</strong></td>
      <td style="text-align: center"><strong>10.24</strong></td>
      <td style="text-align: center"><strong>57.6%</strong></td>
    </tr>
  </tbody>
</table>

<p>Mamba-3는 기존 모델들이 사용하던 <strong>외부 짧은 합성곱 없이</strong> 이 성능을 달성했다.</p>

<h4 id="411-mimo-성능">4.1.1 MIMO 성능</h4>

<p>MIMO (R=4)는 1.5B에서 SISO 대비 PPL 0.11 개선, 다운스트림 평균 1.2%p 향상을 보여준다.</p>

<h4 id="412-검색-능력">4.1.2 검색 능력</h4>

<p>Table 4: 실제 검색 및 합성 needle-in-haystack 작업.</p>

<table>
  <thead>
    <tr>
      <th>작업</th>
      <th style="text-align: center">Mamba-3 SISO</th>
      <th style="text-align: center">Mamba-3 (하이브리드 5:1)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>연관 기억 (AR)</td>
      <td style="text-align: center">경쟁적</td>
      <td style="text-align: center">완벽</td>
    </tr>
    <tr>
      <td>QA 작업</td>
      <td style="text-align: center">경쟁적</td>
      <td style="text-align: center">우수</td>
    </tr>
    <tr>
      <td>SWDE (비구조적 추출)</td>
      <td style="text-align: center">28.5%</td>
      <td style="text-align: center">개선됨</td>
    </tr>
    <tr>
      <td>FDA</td>
      <td style="text-align: center">23.4%</td>
      <td style="text-align: center">개선됨</td>
    </tr>
  </tbody>
</table>

<p>하이브리드 구성(선형 + 어텐션 5:1 비율)에서 Mamba-3는 다수의 NIAH 변형에서 만점을 달성한다.</p>

<h3 id="42-ssm-방법론-절삭-실험-ablation">4.2 SSM 방법론 절삭 실험 (Ablation)</h3>

<p><strong>구성 요소 절삭 (440M, Table 5a):</strong></p>

<table>
  <thead>
    <tr>
      <th>구성</th>
      <th style="text-align: center">PPL</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mamba-3 (전체)</td>
      <td style="text-align: center"><strong>15.72</strong></td>
    </tr>
    <tr>
      <td>지수-사다리꼴 제거</td>
      <td style="text-align: center">16.49</td>
    </tr>
    <tr>
      <td>편향 제거</td>
      <td style="text-align: center">16.68</td>
    </tr>
    <tr>
      <td>합성곱 추가</td>
      <td style="text-align: center">15.85</td>
    </tr>
  </tbody>
</table>

<blockquote>
  <p><strong>직관적 이해</strong>: 지수-사다리꼴과 편향이 각각 독립적으로 중요하다. 외부 합성곱을 다시 추가해도 성능 향상이 미미(15.85 vs 15.72)하여, Mamba-3의 내부 메커니즘이 이를 대체함을 확인한다.</p>
</blockquote>

<h3 id="43-추론-효율성-성능-트레이드오프">4.3 추론 효율성-성능 트레이드오프</h3>

<p><strong>핵심 발견</strong>: Mamba-3는 <strong>절반 크기의 상태</strong>로 Mamba-2와 동등한 PPL을 달성한다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>상태 크기별 PPL 비교:

dstate=128  Mamba-2: ████████████████ 10.47
            Mamba-3: ████████████████ 10.35  (더 낮음!)

dstate=64   Mamba-2: █████████████████ 10.8x
            Mamba-3: ████████████████ 10.47  (128과 동등!)

→ Mamba-3(dstate=64) ≈ Mamba-2(dstate=128) → 더 빠른 모델, 같은 품질
</code></pre></div></div>

<h3 id="44-mamba-3-커널-성능">4.4 Mamba-3 커널 성능</h3>

<p><strong>토큰별 디코드 지연시간 (Table 6, BF16, dstate=128):</strong></p>

<table>
  <thead>
    <tr>
      <th>모델</th>
      <th style="text-align: center">지연시간</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mamba-2</td>
      <td style="text-align: center">0.203 ms</td>
    </tr>
    <tr>
      <td>GDN</td>
      <td style="text-align: center">0.257 ms</td>
    </tr>
    <tr>
      <td><strong>Mamba-3 SISO</strong></td>
      <td style="text-align: center"><strong>0.156 ms</strong></td>
    </tr>
    <tr>
      <td>Mamba-3 MIMO</td>
      <td style="text-align: center">0.179 ms</td>
    </tr>
  </tbody>
</table>

<p><strong>Prefill + Decode 지연시간 (Table 7, 2048 토큰):</strong></p>

<table>
  <thead>
    <tr>
      <th>모델</th>
      <th style="text-align: center">Prefill (ms)</th>
      <th style="text-align: center">Prefill+Decode (ms)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>vLLM (Llama)</td>
      <td style="text-align: center">0.26</td>
      <td style="text-align: center">—</td>
    </tr>
    <tr>
      <td>Mamba-2</td>
      <td style="text-align: center">0.51</td>
      <td style="text-align: center">18.62</td>
    </tr>
    <tr>
      <td><strong>Mamba-3 SISO</strong></td>
      <td style="text-align: center">0.51</td>
      <td style="text-align: center"><strong>17.57</strong></td>
    </tr>
    <tr>
      <td>Mamba-3 MIMO</td>
      <td style="text-align: center">0.60</td>
      <td style="text-align: center">18.96</td>
    </tr>
  </tbody>
</table>

<p><strong>시퀀스 길이별 스케일링:</strong></p>

<table>
  <thead>
    <tr>
      <th style="text-align: center">시퀀스 길이</th>
      <th style="text-align: center">Mamba-3 SISO Prefill</th>
      <th style="text-align: center">Prefill+Decode</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="text-align: center">512</td>
      <td style="text-align: center">0.51 ms</td>
      <td style="text-align: center">4.39 ms</td>
    </tr>
    <tr>
      <td style="text-align: center">1024</td>
      <td style="text-align: center">1.01 ms</td>
      <td style="text-align: center">8.78 ms</td>
    </tr>
    <tr>
      <td style="text-align: center">2048</td>
      <td style="text-align: center">2.02 ms</td>
      <td style="text-align: center">17.57 ms</td>
    </tr>
    <tr>
      <td style="text-align: center">4096</td>
      <td style="text-align: center">4.01 ms</td>
      <td style="text-align: center">35.11 ms</td>
    </tr>
    <tr>
      <td style="text-align: center">16384</td>
      <td style="text-align: center">16.22 ms</td>
      <td style="text-align: center">140.61 ms</td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="5-관련-연구-related-work">5. 관련 연구 (Related Work)</h2>

<h3 id="51-선형-시간-시퀀스-믹서">5.1 선형 시간 시퀀스 믹서</h3>

<p>선형 어텐션, 테스트 타임 훈련/회귀, 구조화된 상태 공간 모델의 세 가지 범주가 있다. S4는 구조화된 상태 전이를 사용했고, Mamba-1은 시간 변동적 입력 의존 선택성(selectivity)을 SSM에 도입했다. Mamba-2는 아키텍처를 단순화하면서 언어 모델링 성능을 대체로 유지했지만, 특정 상태 추적 작업에서 능력이 감소했다.</p>

<h3 id="52-상태-추적과-복소-상태-공간-모델">5.2 상태 추적과 복소 상태 공간 모델</h3>

<p>실수, 비음수 고유값 전이가 패리티 같은 상태 추적 작업에서 능력을 저하시킨다는 연구가 있다. S4를 포함한 이전 SSM 문헌에 복소값 상태 공간이 등장했으나, 이후 아키텍처에서 종종 단순화되어 제거되었다. Mamba-3는 데이터 의존 회전 임베딩을 통한 효율적 구현으로 이 능력을 재도입한다.</p>

<h3 id="53-다입력-다출력">5.3 다입력-다출력</h3>

<p>차선형 모델은 이론적으로 선형 연산을 달성하지만, 낮은 연산 강도로 인해 디코딩 시 하드웨어 활용이 저조한 경우가 많다. MIMO는 메모리 요구를 비례적으로 증가시키지 않으면서 연산 밀도를 높여 이를 해결한다.</p>

<h3 id="54-상태-공간-모델-관점">5.4 상태 공간 모델 관점</h3>

<p>저자들은 이 방법론적 기여가 <strong>SSM 중심 관점에서 자연스럽게 도출</strong>되지만, 선형 어텐션이나 테스트 타임 회귀 등 다른 관점에서는 즉각적이지 않다고 주장한다. SSM 프레임워크가 실용적 설계 선택에 이론적 근거를 제공한다.</p>

<hr />

<h2 id="6-결론-및-향후-연구-conclusion-and-future-work">6. 결론 및 향후 연구 (Conclusion and Future Work)</h2>

<p>세 가지 핵심 기여를 요약한다:</p>

<ol>
  <li><strong>지수-사다리꼴 이산화</strong>: 더 표현력 높은 순환 제공</li>
  <li><strong>복소값 상태 업데이트</strong>: 상태 추적 가능</li>
  <li><strong>MIMO</strong>: 추론 효율성 향상</li>
</ol>

<p>이들이 결합하여 차선형 모델의 <strong>성능-지연시간 파레토 프론티어</strong>를 발전시킨다.</p>

<p><strong>향후 연구 방향:</strong></p>
<ul>
  <li>2K 훈련 길이를 넘어선 긴 컨텍스트 탐구</li>
  <li>대안적 MIMO 매개변수화</li>
  <li>언어 모델링 이외의 아키텍처 패러다임으로 일반화</li>
</ul>

<hr />

<h2 id="부록-appendices">부록 (Appendices)</h2>

<h3 id="부록-a-지수-사다리꼴-이산화-상세">부록 A: 지수-사다리꼴 이산화 상세</h3>

<h4 id="a1-마스크-행렬">A.1 마스크 행렬</h4>

<p>식 (7)의 마스크 $\mathbf{L}$이 감쇠 행렬과 2-밴드 합성곱 구조의 곱으로 분해됨을 상세 유도한다.</p>

<h4 id="a2-오차율">A.2 오차율</h4>

<p><strong>비고 3</strong>: 지수-사다리꼴 이산화는 상태-입력 적분의 2차 이산화이며, 표준 안정성 가정 하에서 오차가 $O(\Delta_t^3)$으로 스케일링된다.</p>

<h4 id="a3-매개변수화">A.3 매개변수화</h4>

<p>$\lambda_t$의 실제 매개변수화 세부사항을 기술한다.</p>

<h3 id="부록-b-복소-ssm-증명">부록 B: 복소 SSM 증명</h3>

<h4 id="b1-명제-321-증명">B.1 명제 3.2.1 증명</h4>

<p>복소-실수 SSM 등가성의 완전한 수학적 증명.</p>

<h4 id="b2-rope-트릭-등가성-증명">B.2 RoPE 트릭 등가성 증명</h4>

<p>데이터 의존 RoPE 등가성의 유도 과정.</p>

<h4 id="b3-지수-사다리꼴--rope-증명">B.3 지수-사다리꼴 + RoPE 증명</h4>

<p>명제 3.2.3의 완전한 증명.</p>

<h3 id="부록-c-mamba-3용-mimo">부록 C: Mamba-3용 MIMO</h3>

<p>MIMO 파라미터 매칭 세부사항. 파라미터 폭발을 방지하면서 공정한 비교를 위한 설정.</p>

<h3 id="부록-d-실험-세부사항">부록 D: 실험 세부사항</h3>

<table>
  <thead>
    <tr>
      <th>설정</th>
      <th>값</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>훈련 데이터</td>
      <td>100B FineWeb-Edu 토큰</td>
    </tr>
    <tr>
      <td>토크나이저</td>
      <td>Llama-3.1</td>
    </tr>
    <tr>
      <td>컨텍스트 길이</td>
      <td>2K</td>
    </tr>
    <tr>
      <td>모델 스케일</td>
      <td>180M, 440M, 880M, 1.5B</td>
    </tr>
    <tr>
      <td>절삭 스케일</td>
      <td>440M (2×Chinchilla 최적 토큰)</td>
    </tr>
    <tr>
      <td>MIMO 랭크</td>
      <td>R = 4</td>
    </tr>
    <tr>
      <td>상태 크기 실험</td>
      <td>dstate ∈ {16, 32, 64, 128}</td>
    </tr>
    <tr>
      <td>MLP 내부 차원 축소</td>
      <td>6.6% (1.5B, 파라미터 매칭용)</td>
    </tr>
  </tbody>
</table>

<h3 id="부록-f-아키텍처-절삭">부록 F: 아키텍처 절삭</h3>

<p>BC 편향 매개변수화 연구. 지수-사다리꼴 이산화와 BC 편향의 조합이 외부 짧은 인과 합성곱 없이도 효과적임을 검증.</p>

<h3 id="부록-g-추론-커널-지연시간-분석">부록 G: 추론 커널 지연시간 분석</h3>

<h4 id="g1-커널-구현-및-융합-구조">G.1 커널 구현 및 융합 구조</h4>

<table>
  <thead>
    <tr>
      <th>단계</th>
      <th>구현</th>
      <th>특징</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Prefill</td>
      <td>Triton</td>
      <td>유연하고 하드웨어 친화적</td>
    </tr>
    <tr>
      <td>Decode</td>
      <td>CuTe DSL</td>
      <td>텐서 코어 특화</td>
    </tr>
  </tbody>
</table>

<p>지수-사다리꼴, 복소 상태 전이(RoPE 트릭), MIMO 투영이 모두 저지연 커널 연산으로 통합된다.</p>

<h4 id="g2-확장-지연시간-측정">G.2 확장 지연시간 측정</h4>

<ul>
  <li><strong>하드웨어</strong>: NVIDIA H100-SXM5</li>
  <li><strong>배치 크기</strong>: 128 토큰 (디코드)</li>
  <li><strong>정밀도</strong>: FP32, BF16</li>
  <li><strong>시퀀스 길이</strong>: 512 ~ 16,384</li>
</ul>

<p><strong>dstate=64 디코드 지연시간 (BF16):</strong></p>

<table>
  <thead>
    <tr>
      <th>모델</th>
      <th style="text-align: center">지연시간</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mamba-2</td>
      <td style="text-align: center">0.127 ms</td>
    </tr>
    <tr>
      <td>GDN</td>
      <td style="text-align: center">0.176 ms</td>
    </tr>
    <tr>
      <td><strong>Mamba-3 SISO</strong></td>
      <td style="text-align: center"><strong>0.110 ms</strong></td>
    </tr>
    <tr>
      <td>Mamba-3 MIMO</td>
      <td style="text-align: center">0.137 ms</td>
    </tr>
  </tbody>
</table>

<p>Mamba-3의 아키텍처 추가 사항들(지수-사다리꼴, 복소 상태, MIMO)이 Mamba-2 대비 <strong>무시할 수 있는 수준의 지연시간 패널티</strong>만 발생시킴을 확인했다.</p>]]></content><author><name>JunHan</name></author><category term="인공지능" /><category term="SSM" /><category term="Mamba" /><category term="State Space Model" /><category term="Linear Attention" /><category term="MIMO" /><category term="Sequence Modeling" /><category term="논문 리뷰" /><summary type="html"><![CDATA[논문 링크: arXiv 2603.15569 저자: Tri Dao, Albert Gu 소속: Together AI / Carnegie Mellon University]]></summary></entry><entry><title type="html">MM-Zero: 데이터 없이 스스로 진화하는 멀티모델 비전-언어 모델</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mm-zero-self-evolving-multi-model-vision-language-models-from-zero-data/" rel="alternate" type="text/html" title="MM-Zero: 데이터 없이 스스로 진화하는 멀티모델 비전-언어 모델" /><published>2026-03-22T21:00:00+09:00</published><updated>2026-03-22T21:00:00+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mm-zero-self-evolving-multi-model-vision-language-models-from-zero-data</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mm-zero-self-evolving-multi-model-vision-language-models-from-zero-data/"><![CDATA[<blockquote>
  <p><strong>논문 링크</strong>: <a href="https://arxiv.org/abs/2603.09206">arXiv 2603.09206</a></p>

  <p><strong>저자</strong>: Zongxia Li, Hongyang Du, Chengsong Huang, Xiyang Wu, Lantao Yu, Yicheng He, Jing Xie, Xiaomin Wu, Zhichao Liu, Jiarui Zhang, Fuxiao Liu</p>

  <p><strong>소속</strong>: University of Maryland, Brown University, Washington University in St. Louis, Adobe, UIUC, USC, NVIDIA</p>
</blockquote>

<hr />

<h2 id="초록-abstract">초록 (Abstract)</h2>

<p>자기 진화(Self-evolving)는 LLM과 VLM 같은 기반 모델을 최소한의 인간 개입으로 개선하는 핵심 패러다임으로 부상했다. 최근 연구들은 LLM 에이전트가 데이터 없이도 자기 진화할 수 있음을 보였지만, VLM은 추가적인 시각 모달리티로 인해 최소한 시드 이미지가 필요했다.</p>

<p>본 논문은 <strong>MM-Zero(Multi-model Multimodal Zero)</strong>를 제시한다. 이는 <strong>데이터 없이 VLM 추론을 자기 진화시키는 최초의 RL 기반 프레임워크</strong>다. 기존의 이중 역할(Proposer-Solver) 구조를 넘어, <strong>세 가지 역할</strong>로 구성된 자기 진화 훈련 프레임워크를 도입한다:</p>

<div class="mermaid">
graph LR
    P["🎯 Proposer<br /><i>추상적 시각 개념 생성<br />+ 질문 구성</i>"]
    C["💻 Coder<br /><i>개념 → 실행 가능 코드<br />(Python, SVG) → 이미지 렌더링</i>"]
    S["🧠 Solver<br /><i>생성된 시각 콘텐츠로<br />멀티모달 추론</i>"]
    P --&gt;|"캡션 + 질문"| C
    C --&gt;|"렌더링된 이미지"| S
    S --&gt;|"피드백(보상)"| P
    style P fill:#2d5a27,stroke:#4a9,color:#fff
    style C fill:#1a3a5c,stroke:#4a9,color:#fff
    style S fill:#5c1a3a,stroke:#c44,color:#fff
</div>

<p>세 역할 모두 <strong>동일한 기본 모델에서 초기화</strong>되며, 실행 피드백, 시각적 검증, 난이도 균형을 통합한 보상 메커니즘과 함께 <strong>GRPO(Group Relative Policy Optimization)</strong>로 훈련된다. Qwen3-VL 및 Mimo-VL 모델에서 다양한 멀티모달 벤치마크에 걸쳐 일관된 성능 향상을 달성했다.</p>

<hr />

<h2 id="1-서론-introduction">1. 서론 (Introduction)</h2>

<h3 id="자기-진화-패러다임">자기 진화 패러다임</h3>

<p>자기 진화 메커니즘은 기반 모델 발전의 유망한 최전선이다. 정적인 인간 큐레이션 감독에 의존하는 대신, <strong>스스로 경험을 생성·개선·학습</strong>하는 시스템이다. LLM 영역에서는 이미 성공을 거두었다: LLM이 자체적으로 훈련 태스크를 생성하고 RL이나 코드 실행 피드백으로 자신을 정제할 수 있다.</p>

<blockquote>
  <p>그렇다면 <strong>유사한 자기 진화 패러다임을 VLM으로 확장할 수 있을까?</strong></p>
</blockquote>

<h3 id="왜-vlm-자기-진화는-어려운가">왜 VLM 자기 진화는 어려운가</h3>

<div class="mermaid">
graph TB
    subgraph LLM["LLM 자기 진화 (기존)"]
        direction LR
        L1["텍스트 질문 생성"] --&gt; L2["텍스트 답변"] --&gt; L3["검증 &amp; 학습"]
    end
    subgraph VLM["VLM 자기 진화 (기존 한계)"]
        direction LR
        V1["❌ 이미지 필요"] --&gt; V2["시드 데이터셋<br />의존"] --&gt; V3["데이터 분포에<br />제한됨"]
    end
    subgraph MMZ["MM-Zero (본 논문)"]
        direction LR
        M1["추상 개념 생성"] --&gt; M2["코드로 이미지<br />렌더링"] --&gt; M3["자유로운<br />자기 진화"]
    end
    LLM -.-&gt;|"확장 시도"| VLM
    VLM -.-&gt;|"병목 해결"| MMZ
    style LLM fill:#1a3a1a,stroke:#4a9
    style VLM fill:#3a1a1a,stroke:#c44
    style MMZ fill:#1a1a3a,stroke:#49c
</div>

<p>LLM과 달리 VLM은 <strong>시각적 입력이 필요</strong>하다. 기존 VLM 자기 진화 접근법(VisPlay 등)은 Proposer-Solver 파이프라인을 사용하지만, <strong>사전 수집된 정적 이미지 데이터셋에 의존</strong>한다. 이는 병목을 이미지 데이터 소싱으로 옮길 뿐이다.</p>

<h3 id="mm-zero의-핵심-기여">MM-Zero의 핵심 기여</h3>

<ol>
  <li><strong>제로 데이터 자기 진화</strong>: 외부 데이터 없이 VLM 추론을 향상시키는 최초의 프레임워크</li>
  <li><strong>3역할 파이프라인</strong>: Proposer-Coder-Solver로 코드 생성을 통해 추상 추론과 시각적 기반을 연결</li>
  <li><strong>일관된 성능 향상</strong>: 다양한 멀티모달 벤치마크와 여러 기본 모델에서 검증</li>
</ol>

<hr />

<h2 id="2-방법론-methodology">2. 방법론 (Methodology)</h2>

<h3 id="21-사전-지식-grpo">2.1 사전 지식: GRPO</h3>

<p>RLVR(Reinforcement Learning with Verifiable Rewards)은 모델 출력의 정확성을 검증할 수 있는 도메인에 적용 가능한 VLM 훈련 패러다임이다. 규칙 기반 검증기 $v: X \to {0, 1}$가 각 생성물 $x_i$에 이진 보상을 부여한다:</p>

\[r_i = v(x_i) = \begin{cases} 1, &amp; \text{if } x_i \text{이 정답이면} \\ 0, &amp; \text{그 외} \end{cases}\]

<p>이러한 검증 가능한 보상은 수학이나 코드 생성 등 정확성을 객관적으로 평가할 수 있는 추론 집약적 태스크에 특히 효과적이다. 정확성 외에도 답변 다양성이나 원하는 출력 포맷 준수 등의 추가 기준도 인코딩할 수 있다.</p>

<p>본 논문은 <strong>GRPO(Group Relative Policy Optimization)</strong>를 채택한다. GRPO는 학습된 가치 함수(value function)의 필요성을 제거하고, 여러 샘플에 걸친 상대적 보상을 계산하는 실용적인 RL 알고리즘이다. 프롬프트 $p$가 주어지면, 현재 정책이 N개의 응답과 해당 보상을 생성하고, 이 보상을 그룹 내에서 정규화하여 응답 수준의 이점(advantage)을 산출한다:</p>

\[\hat{A}_i = \frac{r_i - \text{mean}(r_1, \ldots, r_N)}{\text{std}(r_1, \ldots, r_N) + \varepsilon_{\text{norm}}}\]

<blockquote>
  <p><strong>직관적 이해</strong>: 그룹 내 “평균보다 얼마나 잘했는가”를 측정하는 상대 평가</p>
</blockquote>

<div class="mermaid">
graph LR
    subgraph 그룹["N개 샘플 그룹"]
        S1["샘플₁<br />r=1 ✓"]
        S2["샘플₂<br />r=0 ✗"]
        S3["샘플₃<br />r=1 ✓"]
        S4["샘플₄<br />r=0 ✗"]
    end
    그룹 --&gt; AVG["평균 = 0.5"]
    AVG --&gt; N1["Â₁ = +0.5<br />(평균 이상 → 강화)"]
    AVG --&gt; N2["Â₂ = -0.5<br />(평균 이하 → 억제)"]
    style N1 fill:#2d5a27,stroke:#4a9,color:#fff
    style N2 fill:#5a2727,stroke:#c44,color:#fff
</div>

<p>GRPO 손실 함수:</p>

\[\mathcal{L}_{\text{GRPO}}(\theta) = -\frac{1}{N}\sum_{i=1}^{N}\min\left(\frac{\pi_\theta(x_i)}{\pi_{\theta_{\text{old}}}(x_i)}\hat{A}_i,\ \text{clip}\left(\frac{\pi_\theta(x_i)}{\pi_{\theta_{\text{old}}}(x_i)}, 1-\epsilon, 1+\epsilon\right)\hat{A}_i\right) + \beta \cdot \text{KL}(\pi_\theta \| \pi_{\theta_{\text{old}}})\]

<blockquote>
  <p><strong>직관적 이해</strong>: 양의 상대적 이점을 가진 응답을 상향 조정하면서, 과도한 정책 이탈을 패널티로 제한함으로써, RLVR 프레임워크 하에서 VLM의 추론 및 생성 품질을 향상시키는 효과적인 메커니즘을 제공한다.</p>
</blockquote>

<div class="mermaid">
graph TD
    OLD["이전 정책 π_old"] --&gt; RATIO["정책 비율<br />π_θ / π_old"]
    RATIO --&gt; CLIP["클리핑<br />[1-ε, 1+ε] 범위 제한"]
    RATIO --&gt; RAW["원본 비율 × Â"]
    CLIP --&gt; MIN["min(원본, 클리핑)"]
    RAW --&gt; MIN
    MIN --&gt; LOSS["손실 L_GRPO"]
    KL["KL 발산 패널티<br />(너무 멀어지면 제동)"] --&gt; LOSS
    style CLIP fill:#1a3a5c,stroke:#49c,color:#fff
    style KL fill:#5c3a1a,stroke:#c94,color:#fff
</div>

<hr />

<h3 id="22-훈련-파이프라인">2.2 훈련 파이프라인</h3>

<p>세 에이전트는 하나의 기본 모델에서 파생된다:</p>

<table>
  <thead>
    <tr>
      <th>역할</th>
      <th>기호</th>
      <th>역할</th>
      <th>입력</th>
      <th>출력</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Proposer</strong></td>
      <td>$\pi_P$</td>
      <td>캡션·질문-답변 쌍 생성</td>
      <td>프롬프트</td>
      <td>$(c, q_{\text{easy}}, a_{\text{easy}}, q_{\text{hard}})$</td>
    </tr>
    <tr>
      <td><strong>Coder</strong></td>
      <td>$\pi_D$</td>
      <td>설명을 SVG/Python 코드로 변환</td>
      <td>캡션 $c$</td>
      <td>실행 가능 코드 → 이미지 $I$</td>
    </tr>
    <tr>
      <td><strong>Solver</strong></td>
      <td>$\pi_S$</td>
      <td>생성된 이미지로 추론 수행</td>
      <td>이미지 $I$ + 질문 $q$</td>
      <td>답변 $y$</td>
    </tr>
  </tbody>
</table>

<p>MM-Zero는 추가 데이터 없이 동일한 기본 모델에서 진화한 세 개의 독립적 모델 에이전트를 포함한다. 각 모델은 역할별 보상 함수를 사용해 GRPO로 순차 최적화되며, 폐쇄 훈련 루프를 형성한다. <strong>각 역할의 훈련 단계에서 나머지 두 역할은 동결(frozen)</strong>된다.</p>

<h4 id="proposer-상세">Proposer 상세</h4>

<p>Proposer는 다양한 시각 도메인에 걸쳐 <strong>시각적 캡션과 질문-답변 쌍</strong>을 생성하도록 훈련된다. 대상 도메인에는 차트 이해, 객체/도형 인식, OCR, 시각적 수학 추론이 포함된다.</p>

<p>Proposer의 보상을 계산하기 위해, Coder와 Solver 양쪽에 대한 <strong>vLLM 서비스 포트를 초기화</strong>한다. Coder가 생성된 캡션과 질문을 받아 SVG 코드를 생성하고, 이를 <strong>병렬로 렌더링하여 PNG 이미지로 변환</strong>한다. 성공적으로 렌더링된 이미지와 관련 질문은 Solver에 전달되어 답변을 생성한다. Solver가 Proposer의 보상을 계산한다. 계산 비용 절감을 위해 Coder는 <strong>rollout 크기 4</strong>, Solver는 <strong>rollout 크기 5</strong>를 사용한다.</p>

<h4 id="coder-상세">Coder 상세</h4>

<p>가장 최근의 Proposer 체크포인트가 <strong>약 4,000개의 캡션 및 질문-답변 쌍</strong>을 생성하며, 이것이 Coder의 훈련 데이터가 된다. Coder는 캡션으로부터 <strong>이미지를 렌더링하는 SVG 코드를 생성</strong>하도록 훈련된다. 렌더링된 이미지는 Solver에 전송되어 보상을 계산한다.</p>

<h4 id="solver-상세">Solver 상세</h4>

<p>Solver의 훈련 데이터는 가장 최근의 Proposer와 Coder 체크포인트를 사용하여 구성된다. Proposer가 제안을 생성하고, Coder가 이를 이미지로 렌더링한다. <strong>성공적으로 렌더링된 이미지와 관련 질문만</strong> 유지하여 Solver의 훈련 세트로 사용한다.</p>

<div class="mermaid">
graph TB
    subgraph ITER["반복 (Iteration)"]
        direction TB
        T1["1단계: Proposer 훈련<br />Coder ❄️ Solver ❄️"]
        T2["2단계: Coder 훈련<br />Proposer ❄️ Solver ❄️"]
        T3["3단계: Solver 훈련<br />Proposer ❄️ Coder ❄️"]
        T1 --&gt; T2 --&gt; T3
    end
    T3 --&gt;|"다음 반복"| T1
    style T1 fill:#2d5a27,stroke:#4a9,color:#fff
    style T2 fill:#1a3a5c,stroke:#49c,color:#fff
    style T3 fill:#5c1a3a,stroke:#c44,color:#fff
</div>

<h4 id="훈련-데이터-필터링">훈련 데이터 필터링</h4>

<p>품질 보장을 위해, 너무 쉽거나 너무 어려운 예제는 제외한다:</p>

<table>
  <thead>
    <tr>
      <th>역할</th>
      <th>필터 조건</th>
      <th>직관적 의미</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Coder</strong></td>
      <td>렌더링 성공률 ∈ [0.25, 0.75] (4 rollout)</td>
      <td>“때때로 성공” = 학습 가치가 있는 난이도</td>
    </tr>
    <tr>
      <td><strong>Solver</strong></td>
      <td>쉬운 질문 정확도 &gt; 0.5 AND 어려운 질문 정확도 ∈ [0.27, 0.75]</td>
      <td>풀 수는 있지만 아직 완벽하지 않은 문제</td>
    </tr>
  </tbody>
</table>

<hr />

<h3 id="23-보상-설계-개요">2.3 보상 설계 개요</h3>

<p>이 절에서는 세 역할 각각에 대한 보상 설계를 설명한다.</p>

<hr />

<h3 id="24-proposer-보상-6가지-구성-요소">2.4 Proposer 보상: 6가지 구성 요소</h3>

<p>Proposer 정책 $\pi_P$는 <strong>4중 쌍(Quadruple)</strong> $x = (c, q_{\text{easy}}, a_{\text{easy}}, q_{\text{hard}})$를 생성한다:</p>

<table>
  <thead>
    <tr>
      <th>요소</th>
      <th>의미</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>$c$</td>
      <td>시각 장면의 <strong>세밀한 텍스트 설명(캡션)</strong></td>
    </tr>
    <tr>
      <td>$q_{\text{easy}}$</td>
      <td>캡션이 이미지로 렌더링되면 답이 명확해지는 <strong>쉬운 질문</strong> (렌더링 품질 검증용)</td>
    </tr>
    <tr>
      <td>$a_{\text{easy}}$</td>
      <td>쉬운 질문의 <strong>정답</strong></td>
    </tr>
    <tr>
      <td>$q_{\text{hard}}$</td>
      <td>렌더링된 이미지에 대해 <strong>다단계 추론이 필요한 어려운 질문</strong> (Solver 훈련·평가용)</td>
    </tr>
  </tbody>
</table>

<p>훈련을 통해 Proposer는 더 풍부한 캡션과 더 어려운 질문을 생성하는 법을 학습하여, Coder가 더 정보적인 렌더링을 생성하고 Solver가 더 깊은 추론을 수행하도록 압박한다.</p>

<p>$x$를 평가하기 위해, 포맷 유효성, 풀이 가능성, 난이도를 Solver $\pi_S$를 통해 검증하는 <strong>다단계 계층적 보상 메커니즘</strong>을 사용한다. 전체 보상 함수:</p>

\[R_p(x) = \begin{cases} -1 &amp; \text{포맷이 유효하지 않으면} \\ \frac{1}{N}\sum_{i=1}^{N}\mathbb{1}_{\text{exec}}(C_i) \cdot \left(\min(R_{\text{solv}}(I_i), 0.5) + R_{\text{diff}}(I_i)\right) + r_{\text{eh}} + r_{\text{ct}} + r_{\text{div}} &amp; \text{그 외} \end{cases}\]

<blockquote>
  <p><strong>보상 범위</strong>: $[-1.0,\ 1.5]$</p>
</blockquote>

<div class="mermaid">
graph TB
    INPUT["Proposer 출력<br />(캡션, 쉬운질문, 정답, 어려운질문)"]
    INPUT --&gt; FMT{"포맷 유효?"}
    FMT --&gt;|"아니오"| NEG["-1.0 ❌"]
    FMT --&gt;|"예"| EXEC

    subgraph 핵심보상["핵심 보상 (이미지별)"]
        EXEC["① 실행 성공?<br />𝟙_exec ∈ {0,1}"]
        SOLV["② 풀이 가능성<br />R_solv ∈ [0, 0.5]"]
        DIFF["③ 난이도<br />R_diff ∈ [0, 0.5]"]
        EXEC --&gt; SOLV
        EXEC --&gt; DIFF
    end

    subgraph 조절보상["조절 보상 (배치 전체)"]
        EH["④ 쉬움-어려움 패널티<br />r_eh"]
        CT["⑤ 콘텐츠 다양성<br />r_ct"]
        DIV["⑥ 캡션/질문 다양성<br />r_div"]
    end

    핵심보상 --&gt; SUM["합산"]
    조절보상 --&gt; SUM
    SUM --&gt; FINAL["최종 보상<br />R_p ∈ [-1.0, 1.5]"]

    style NEG fill:#5a2727,stroke:#c44,color:#fff
    style FINAL fill:#2d5a27,stroke:#4a9,color:#fff
</div>

<h4 id="-실행-지표-execution-indicator">① 실행 지표 (Execution Indicator)</h4>

\[\mathbb{1}_{\text{exec}}(C_i) = \begin{cases} 1 &amp; \text{렌더링 성공} \\ 0 &amp; \text{실패} \end{cases}\]

<blockquote>
  <p>코드가 실행되어 이미지가 만들어져야 나머지 보상이 의미가 있다. <strong>게이트(gate) 역할</strong>.</p>
</blockquote>

<h4 id="-풀이-가능성-점수-solvability-score">② 풀이 가능성 점수 (Solvability Score)</h4>

\[R_{\text{solv}}(I_i) = \frac{1}{K}\sum_{k=1}^{K}\mathbb{1}(y_{\text{easy}}^{(i,k)} = a_{\text{easy}}) \in [0,1]\]

<blockquote>
  <p>Solver가 <strong>쉬운 질문</strong>을 K번 시도해서 맞추는 비율. <strong>$\tau_s = 0.5$로 상한이 제한</strong>된다.</p>
</blockquote>

<p>왜 0.5로 제한하는가? 풀이 가능성만 높으면 Proposer가 너무 쉬운 문제만 내게 되므로, 난이도 점수와 균형을 맞추기 위함이다.</p>

<div class="mermaid">
graph LR
    subgraph 쉬운질문["쉬운 질문 K번 시도"]
        K1["시도1: ✓"]
        K2["시도2: ✓"]
        K3["시도3: ✗"]
        K4["시도4: ✓"]
    end
    쉬운질문 --&gt; SCORE["R_solv = 3/4 = 0.75"]
    SCORE --&gt; CAP["min(0.75, 0.5) = 0.5<br />상한 적용"]
    style CAP fill:#1a3a5c,stroke:#49c,color:#fff
</div>

<h4 id="-난이도-점수-difficulty-score--골디락스-원칙">③ 난이도 점수 (Difficulty Score) — 골디락스 원칙</h4>

<p>자기 일관성(Self-consistency)으로 난이도를 측정한다:</p>

\[c_i = \frac{1}{K}\sum_{k=1}^{K}\mathbb{1}(y_{\text{hard}}^{(i,k)} = \hat{y}_i)\]

\[R_{\text{diff}}(I_i) = \min(c_i, 1 - c_i) \in [0, 0.5]\]

<blockquote>
  <p><strong>직관</strong>: Solver가 어려운 질문에 대해 <strong>일관된 답을 낼 때($c_i \to 1$) = 너무 쉬움</strong>, <strong>완전히 랜덤할 때($c_i \to 0.5$) = 최적 난이도</strong></p>
</blockquote>

<p>이것이 <strong>골디락스 원칙</strong>이다: 너무 쉽지도, 너무 어렵지도 않은 “딱 적당한” 난이도.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>R_diff
 0.5 ┤          ╱╲
     │        ╱    ╲
     │      ╱        ╲
     │    ╱            ╲
 0.0 ┤──╱────────────────╲──
     0   0.25  0.5  0.75  1.0
              c_i (자기 일관성)

     ← 완전 랜덤  |  최적  |  완전 일관 →
       (너무 어려움)       (너무 쉬움)
</code></pre></div></div>

<h4 id="-쉬움-어려움-패널티-easy-hard-penalty">④ 쉬움-어려움 패널티 (Easy-Hard Penalty)</h4>

\[r_{\text{eh}} = \begin{cases} -\lambda_{\text{eh}} &amp; \text{if } \frac{1}{|\mathcal{I}|}\sum_{I_i \in \mathcal{I}}R_{\text{diff}}(I_i) &lt; \delta_{\text{eh}} \\ 0 &amp; \text{그 외} \end{cases}\]

<blockquote>
  <p>$\delta_{\text{eh}} = 0.15$, $\lambda_{\text{eh}} = 0.3$. 배치 전체의 평균 난이도가 임계값 아래로 떨어지면 패널티. <strong>너무 쉬운 문제만 양산하는 것을 방지.</strong></p>
</blockquote>

<h4 id="-콘텐츠-유형-다양성-패널티-content-type-diversity">⑤ 콘텐츠 유형 다양성 패널티 (Content-Type Diversity)</h4>

\[r_{\text{ct}} = \begin{cases} -\lambda_{\text{ct}} \cdot \frac{f_t - \phi}{1-\phi} &amp; \text{if } f_t &gt; \phi \\ 0 &amp; \text{그 외} \end{cases}\]

<blockquote>
  <p>$\phi = 0.5$, $\lambda_{\text{ct}} = 0.15$. 배치에서 같은 콘텐츠 유형의 비율 $f_t$가 50%를 넘으면 패널티. <strong>히스토그램만 계속 생성하는 등의 모드 붕괴 방지.</strong></p>
</blockquote>

<h4 id="-캡션질문-다양성-보너스-diversity-bonus">⑥ 캡션·질문 다양성 보너스 (Diversity Bonus)</h4>

\[r_{\text{div}} = -\text{clip}\Big(\big(w_c(s_x^{(\text{cap})} - u) + w_e(s_x^{(\text{eq})} - u) + w_h(s_x^{(\text{hq})} - u)\big) \cdot M \cdot \lambda_{\text{div}},\ -\lambda_{\text{div}},\ \lambda_{\text{div}}\Big)\]

<blockquote>
  <p>$w_c = 0.45,\ w_e = 0.20,\ w_h = 0.35,\ \lambda_{\text{div}} = 0.5$. 각 유사도 점수 $s$가 균일 분포 $u = 1/M$보다 높으면 (= 다른 샘플과 너무 비슷하면) 패널티, 낮으면 보너스.</p>
</blockquote>

<div class="mermaid">
graph TB
    subgraph 다양성체크["다양성 체크"]
        CAP_S["캡션 유사도<br />w=0.45"]
        EQ_S["쉬운질문 유사도<br />w=0.20"]
        HQ_S["어려운질문 유사도<br />w=0.35"]
    end
    CAP_S --&gt; AGG["가중 합산"]
    EQ_S --&gt; AGG
    HQ_S --&gt; AGG
    AGG --&gt; CMP{"균일분포 u=1/M<br />대비 비교"}
    CMP --&gt;|"유사도 높음<br />(너무 비슷)"| PEN["패널티 ↓"]
    CMP --&gt;|"유사도 낮음<br />(다양함)"| BON["보너스 ↑"]
    style PEN fill:#5a2727,stroke:#c44,color:#fff
    style BON fill:#2d5a27,stroke:#4a9,color:#fff
</div>

<hr />

<h3 id="25-coder-보상-실행과-유효성">2.5 Coder 보상: 실행과 유효성</h3>

<p>Coder $\pi_D$는 캡션 $c$를 받아 코드 $C$를 생성한다. 목표는 Proposer의 의도를 충실히 나타내는 <strong>실행 가능한 코드</strong>를 생성하는 것이다. 보상 $R_D$는 실행 상태, 의미적 정확성, 태스크 실현 가능성의 가중합이다:</p>

\[R_D(C) = R_{\text{render}} + R_{\text{solv}} + R_{\text{diff}} - \lambda_{\text{err}}\]

<table>
  <thead>
    <tr>
      <th>구성 요소</th>
      <th>범위</th>
      <th>의미</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>$R_{\text{render}} = \mathbb{1}_{\text{exec}}(C)$</td>
      <td>{0, 1}</td>
      <td>코드가 성공적으로 실행되어 이미지를 렌더링했는가</td>
    </tr>
    <tr>
      <td>$R_{\text{solv}}$</td>
      <td>[0, 1]</td>
      <td>Solver가 풀 수 있는 이미지인가</td>
    </tr>
    <tr>
      <td>$R_{\text{diff}}$</td>
      <td>[0, 1]</td>
      <td>적절한 난이도인가</td>
    </tr>
    <tr>
      <td>$\lambda_{\text{err}}$</td>
      <td>0.1 / 0.05</td>
      <td>렌더 실패 시 -0.1, 구문 오류 시 -0.05</td>
    </tr>
  </tbody>
</table>

<div class="mermaid">
graph LR
    CODE["코드 생성"] --&gt; EXEC{"실행?"}
    EXEC --&gt;|"성공"| R1["+1.0 렌더링"]
    EXEC --&gt;|"실패"| E1["-0.1 패널티"]
    EXEC --&gt;|"구문오류"| E2["-0.05 패널티"]
    R1 --&gt; SOLV["+R_solv<br />풀이 가능성"]
    R1 --&gt; DIFF["+R_diff<br />난이도"]
    SOLV --&gt; TOTAL["R_D(C)"]
    DIFF --&gt; TOTAL
    E1 --&gt; TOTAL
    style R1 fill:#2d5a27,stroke:#4a9,color:#fff
    style E1 fill:#5a2727,stroke:#c44,color:#fff
    style E2 fill:#5a3a27,stroke:#c94,color:#fff
</div>

<hr />

<h3 id="26-solver-보상-테스트-타임-강화학습-ttrl">2.6 Solver 보상: 테스트 타임 강화학습 (TTRL)</h3>

<p>Solver 정책 $\pi_S$는 Proposer가 생성한 어려운 질문 $(I, q_{\text{hard}})$에 대해 훈련된다. 이 생성된 질문에는 <strong>정답 레이블이 없으므로</strong>, Test-Time Reinforcement Learning(TTRL)을 다수결 투표 방식으로 사용한다.</p>

<p>주어진 입력에 대해 Solver가 <strong>K개의 독립적인 추론 경로</strong>를 생성한다. 다수결 투표로 실버 답변을 식별한다: $\bar{y} = \text{Mode}({y_1, \ldots, y_K})$. $k$번째 응답의 보상은 답변 정확도와 구조적 유효성의 가중합이다:</p>

\[R_S(y_k) = \alpha \cdot R_{\text{acc}}(y_k, \bar{y}) + (1-\alpha) \cdot R_{\text{fmt}}(y_k)\]

<blockquote>
  <p>$\alpha = 0.9$ (정확도 90%, 포맷 10%)</p>
</blockquote>

<p><strong>정확도 보상</strong>:</p>

\[R_{\text{acc}}(y_k, \bar{y}) = \mathbb{1}(\hat{y}_k = \bar{y})\]

<blockquote>
  <p>$\hat{y}_k$는 <code class="language-plaintext highlighter-rouge">\boxed{...}</code>에서 추출한 답, $\bar{y}$는 다수결 투표(majority voting)로 결정된 정답</p>
</blockquote>

<p><strong>포맷 보상</strong>:</p>

\[R_{\text{fmt}}(y_k) = \mathbb{1}(y_k \text{가 } \texttt{&lt;think&gt;...&lt;/think&gt; \textbackslash boxed\{...\}} \text{ 포맷을 따르는가})\]

<div class="mermaid">
graph LR
    subgraph 다수결["K번 추론 (다수결 투표)"]
        Y1["y₁: 답=A"]
        Y2["y₂: 답=B"]
        Y3["y₃: 답=A"]
        Y4["y₄: 답=A"]
        Y5["y₅: 답=C"]
    end
    다수결 --&gt; VOTE["다수결 정답 ȳ = A"]
    VOTE --&gt; ACC1["y₁: R_acc=1 ✓"]
    VOTE --&gt; ACC2["y₂: R_acc=0 ✗"]

    subgraph 포맷체크["포맷 검증"]
        FMT1["think + boxed ✓"]
        FMT2["포맷 위반 ✗"]
    end

    ACC1 --&gt; FINAL["R_S = 0.9×R_acc + 0.1×R_fmt"]
    FMT1 --&gt; FINAL

    style ACC1 fill:#2d5a27,stroke:#4a9,color:#fff
    style ACC2 fill:#5a2727,stroke:#c44,color:#fff
</div>

<hr />

<h2 id="3-실험-결과">3. 실험 결과</h2>

<h3 id="31-평가-벤치마크">3.1 평가 벤치마크</h3>

<table>
  <thead>
    <tr>
      <th>카테고리</th>
      <th>벤치마크</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>일반 시각 추론</strong></td>
      <td>MMMU, MMMU-Pro, ChartQA, MM-Vet</td>
    </tr>
    <tr>
      <td><strong>수학 시각 추론</strong></td>
      <td>MathVerse, MathVision, MathVista, VisNumBench</td>
    </tr>
    <tr>
      <td><strong>환각 탐지</strong></td>
      <td>HallusionBench, MMSI</td>
    </tr>
  </tbody>
</table>

<h3 id="32-주요-결과">3.2 주요 결과</h3>

<p>결과는 <strong>Qwen-2.5-14B-Instruct를 LLM-as-a-Judge 평가자</strong>로 사용한다.</p>

<h4 id="qwen3-vl-4b-instruct">Qwen3-VL-4B-Instruct</h4>

<table>
  <thead>
    <tr>
      <th>단계</th>
      <th>MMMU</th>
      <th>MMMU-Pro</th>
      <th>MM-Vet</th>
      <th>ChartQA</th>
      <th>MathVerse</th>
      <th>MathVision</th>
      <th>MathVista</th>
      <th>VisNumBench</th>
      <th>Hallusion</th>
      <th>MMSI</th>
      <th><strong>평균</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Base</td>
      <td>50.2</td>
      <td>41.8</td>
      <td>38.5</td>
      <td>79.6</td>
      <td>42.3</td>
      <td>33.0</td>
      <td>64.0</td>
      <td>45.3</td>
      <td>72.3</td>
      <td>26.1</td>
      <td><strong>50.2</strong></td>
    </tr>
    <tr>
      <td>Iter 1</td>
      <td>54.8</td>
      <td>44.6</td>
      <td>44.5</td>
      <td>83.4</td>
      <td>49.8</td>
      <td>35.2</td>
      <td>68.5</td>
      <td>49.6</td>
      <td>73.2</td>
      <td>26.7</td>
      <td><strong>53.5</strong></td>
    </tr>
    <tr>
      <td>Iter 2</td>
      <td>53.7</td>
      <td>45.1</td>
      <td>45.4</td>
      <td>83.0</td>
      <td>49.4</td>
      <td>36.3</td>
      <td>68.3</td>
      <td>49.1</td>
      <td>71.5</td>
      <td>25.9</td>
      <td><strong>52.8</strong></td>
    </tr>
    <tr>
      <td>Iter 3</td>
      <td>54.4</td>
      <td>45.3</td>
      <td>41.7</td>
      <td>83.0</td>
      <td>50.0</td>
      <td>37.3</td>
      <td>65.7</td>
      <td>49.9</td>
      <td>74.2</td>
      <td>28.1</td>
      <td><strong>53.4</strong></td>
    </tr>
  </tbody>
</table>

<h4 id="qwen3-vl-8b-instruct">Qwen3-VL-8B-Instruct</h4>

<table>
  <thead>
    <tr>
      <th>단계</th>
      <th>MMMU</th>
      <th>MMMU-Pro</th>
      <th>MM-Vet</th>
      <th>ChartQA</th>
      <th>MathVerse</th>
      <th>MathVision</th>
      <th>MathVista</th>
      <th>VisNumBench</th>
      <th>Hallusion</th>
      <th>MMSI</th>
      <th><strong>평균</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Base</td>
      <td>55.8</td>
      <td>46.6</td>
      <td>40.8</td>
      <td>76.9</td>
      <td>41.6</td>
      <td>31.5</td>
      <td>67.7</td>
      <td>47.7</td>
      <td>72.8</td>
      <td>25.9</td>
      <td><strong>50.7</strong></td>
    </tr>
    <tr>
      <td>Iter 1</td>
      <td>58.7</td>
      <td>49.3</td>
      <td>39.0</td>
      <td>78.9</td>
      <td>42.8</td>
      <td>36.5</td>
      <td>67.7</td>
      <td>55.0</td>
      <td>72.1</td>
      <td>29.5</td>
      <td><strong>53.0</strong></td>
    </tr>
    <tr>
      <td>Iter 2</td>
      <td>58.2</td>
      <td>51.3</td>
      <td>37.6</td>
      <td>78.5</td>
      <td>44.2</td>
      <td>38.3</td>
      <td>67.1</td>
      <td>54.5</td>
      <td>72.3</td>
      <td>29.3</td>
      <td><strong>53.1</strong></td>
    </tr>
    <tr>
      <td>Iter 3</td>
      <td>58.3</td>
      <td>53.0</td>
      <td>41.7</td>
      <td>79.6</td>
      <td>45.1</td>
      <td>39.6</td>
      <td>67.2</td>
      <td>53.2</td>
      <td>74.1</td>
      <td>28.9</td>
      <td><strong>54.1</strong></td>
    </tr>
    <tr>
      <td>Iter 4</td>
      <td>61.8</td>
      <td>53.1</td>
      <td>39.0</td>
      <td>80.4</td>
      <td>45.0</td>
      <td>38.9</td>
      <td>66.7</td>
      <td>54.4</td>
      <td>73.1</td>
      <td>30.0</td>
      <td><strong>54.2</strong></td>
    </tr>
    <tr>
      <td>Iter 5</td>
      <td>61.9</td>
      <td>52.5</td>
      <td>40.4</td>
      <td>80.8</td>
      <td>45.6</td>
      <td>39.8</td>
      <td>67.8</td>
      <td>53.0</td>
      <td>74.7</td>
      <td>28.7</td>
      <td><strong>54.5</strong></td>
    </tr>
  </tbody>
</table>

<h4 id="mimo-vl-7b-sft">MiMo-VL-7B-SFT</h4>

<table>
  <thead>
    <tr>
      <th>단계</th>
      <th>MMMU</th>
      <th>MMMU-Pro</th>
      <th>MM-Vet</th>
      <th>ChartQA</th>
      <th>MathVerse</th>
      <th>MathVision</th>
      <th>MathVista</th>
      <th>VisNumBench</th>
      <th>Hallusion</th>
      <th>MMSI</th>
      <th><strong>평균</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Base</td>
      <td>57.3</td>
      <td>46.1</td>
      <td>39.0</td>
      <td>83.7</td>
      <td>46.3</td>
      <td>36.6</td>
      <td>70.4</td>
      <td>44.7</td>
      <td>55.0</td>
      <td>29.6</td>
      <td><strong>50.9</strong></td>
    </tr>
    <tr>
      <td>Iter 1</td>
      <td>56.5</td>
      <td>48.4</td>
      <td>43.1</td>
      <td>85.5</td>
      <td>55.6</td>
      <td>40.9</td>
      <td>73.6</td>
      <td>48.0</td>
      <td>70.8</td>
      <td>29.9</td>
      <td><strong>55.2</strong></td>
    </tr>
    <tr>
      <td>Iter 2</td>
      <td>59.3</td>
      <td>48.7</td>
      <td>48.2</td>
      <td>85.0</td>
      <td>56.0</td>
      <td>41.5</td>
      <td>73.3</td>
      <td>48.3</td>
      <td>70.7</td>
      <td>30.6</td>
      <td><strong>56.1</strong></td>
    </tr>
    <tr>
      <td>Iter 3</td>
      <td>60.1</td>
      <td>48.7</td>
      <td>45.9</td>
      <td>85.0</td>
      <td>56.0</td>
      <td>42.5</td>
      <td>72.1</td>
      <td>48.5</td>
      <td>71.3</td>
      <td>29.9</td>
      <td><strong>56.0</strong></td>
    </tr>
  </tbody>
</table>

<blockquote>
  <p><strong>핵심 관찰</strong>: 모든 모델에서 <strong>Iter 1에서 가장 큰 점프</strong>가 발생하며, 이후 반복에서도 안정적으로 향상된다. 8B 모델은 5회 반복까지도 성능이 계속 오른다 (50.7% → 54.5%).</p>
</blockquote>

<p><strong>교차 모델 일반화</strong>: 4B 모델은 더 작은 향상(3%)을 보이는데, 이는 초기 이미지 렌더링 성공률이 낮기 때문이다(~40% vs 7B/8B의 70%).</p>

<p><strong>렌더링 진행</strong>: 훈련 전반에 걸쳐 Coder의 렌더링 성공률과 이미지 풀이 가능성이 <strong>꾸준히 향상</strong>되며, 이는 점진적으로 더 충실한 시각적 생성이 이루어짐을 나타낸다.</p>

<h3 id="33-논의-discussion">3.3 논의 (Discussion)</h3>

<p>사례 연구를 통해 반복별 시각적 개선 과정을 관찰할 수 있다:</p>

<table>
  <thead>
    <tr>
      <th>반복</th>
      <th>시각적 품질</th>
      <th>질문 난이도</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>초기</strong></td>
      <td>겹치는 요소가 있는 어수선한 레이아웃</td>
      <td>단순</td>
    </tr>
    <tr>
      <td><strong>Iter 1</strong></td>
      <td>구성이 개선되나, 답이 주석으로 이미지에 포함됨</td>
      <td>중간</td>
    </tr>
    <tr>
      <td><strong>Iter 2</strong></td>
      <td>더 깔끔한 레이아웃, 다단계 추론 요구</td>
      <td>높음</td>
    </tr>
    <tr>
      <td><strong>Iter 3</strong></td>
      <td>세련된 그래프, 값 추출 후 백분율 적용 등 <strong>진정한 구성적 추론</strong> 필요</td>
      <td>매우 높음</td>
    </tr>
  </tbody>
</table>

<div class="mermaid">
graph LR
    subgraph I0["초기"]
        A1["어수선한 레이아웃<br />겹치는 요소"]
    end
    subgraph I1["Iter 1"]
        B1["구성 개선<br />but 답이 이미지에 포함"]
    end
    subgraph I2["Iter 2"]
        C1["깔끔한 레이아웃<br />다단계 추론"]
    end
    subgraph I3["Iter 3"]
        D1["세련된 그래프<br />구성적 추론 필요"]
    end
    I0 --&gt; I1 --&gt; I2 --&gt; I3
    style I0 fill:#5a2727,stroke:#c44
    style I1 fill:#5a3a27,stroke:#c94
    style I2 fill:#2d4a27,stroke:#4a9
    style I3 fill:#1a3a5c,stroke:#49c
</div>

<hr />

<h2 id="4-절제-연구-ablation-study">4. 절제 연구 (Ablation Study)</h2>

<h3 id="풀이-가능성-난이도-균형-제거-시">풀이 가능성-난이도 균형 제거 시</h3>

<p>Proposer 보상에는 $\min(R_{\text{solv}}, 0.5) + R_{\text{diff}}$가 포함되어 있으며, 풀이 가능성에 상한을 두어 사소한 인스턴스를 방지한다. 이 상한을 제거하면:</p>

\[\text{Avg. 향상:}\ 3.9\% \xrightarrow{\text{제거 시}} 2.3\%\]

<p>상한 없이는 <strong>불균형한 보상 신호</strong>가 발생하여, 난이도를 무시하고 풀이 가능성에 대해 불균형적으로 최적화하게 된다.</p>

<blockquote>
  <p><strong>보상 해킹(Reward Hacking) 발견</strong>: 균형 메커니즘 없이 Coder가 <strong>렌더링된 이미지에 정답을 직접 삽입</strong>하는 치팅 행동을 학습했다.</p>
</blockquote>

<div class="mermaid">
graph LR
    subgraph 정상["균형 있음 ✓"]
        N1["Coder가 적절한<br />난이도의 이미지 생성"]
        N2["Solver가 진짜<br />추론으로 풀이"]
    end
    subgraph 해킹["균형 없음 ✗"]
        H1["Coder가 이미지에<br />정답 텍스트를 삽입"]
        H2["Solver가 정답을<br />그냥 읽기만 함"]
    end
    style 정상 fill:#1a3a1a,stroke:#4a9
    style 해킹 fill:#3a1a1a,stroke:#c44
</div>

<h3 id="콘텐츠-다양성-제거-시">콘텐츠 다양성 제거 시</h3>

<table>
  <thead>
    <tr>
      <th>반복</th>
      <th>다양성 있음</th>
      <th>다양성 없음</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Iter 1</td>
      <td>51.7%</td>
      <td>51.7%</td>
    </tr>
    <tr>
      <td>Iter 2</td>
      <td>53.1%</td>
      <td>51.3% ↓</td>
    </tr>
    <tr>
      <td>Iter 3</td>
      <td>54.1%</td>
      <td><strong>49.4%</strong> ↓↓</td>
    </tr>
  </tbody>
</table>

<blockquote>
  <p>$r_{\text{ct}}$ 항은 시각적 유형 간 다양성을 장려한다. 다양성을 제거하면, 분석 결과 모델이 렌더링하기 쉬운 <strong>좁은 시각적 유형 부분 집합(예: 히스토그램)</strong>으로 수렴하여, <strong>좁은 시각적 문제 유형에 과적합(overfitting)</strong>하는 결과를 보였다.</p>
</blockquote>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>정확도(%)
 55 ┤
    │    ╱─── 다양성 있음
 53 ┤  ╱
    │╱
 51 ┤───╮
    │    ╲
 49 ┤     ╲── 다양성 없음 (붕괴!)
    │
 47 ┤
    └──────────────────────
     Base  Iter1  Iter2  Iter3
</code></pre></div></div>

<hr />

<h2 id="5-관련-연구">5. 관련 연구</h2>

<h3 id="검증-가능한-보상을-활용한-강화학습-rlvr">검증 가능한 보상을 활용한 강화학습 (RLVR)</h3>

<p>수학, 코드 생성 등 <strong>객관적 정답 검증이 가능한 도메인</strong>에서 성공을 거둔 패러다임. DAPO, VAPO 등의 프레임워크와 함께, <strong>높은 엔트로피 유도 최적화</strong>를 통해 희소한 규칙 기반 보상 환경에서 다양한 탐색을 장려하고 조기 수렴을 방지한다.</p>

<h3 id="vlm에서의-자기-진화">VLM에서의 자기 진화</h3>

<table>
  <thead>
    <tr>
      <th>접근법</th>
      <th style="text-align: center">시드 이미지 필요</th>
      <th style="text-align: center">역할 수</th>
      <th>한계</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>VisPlay</td>
      <td style="text-align: center">✅</td>
      <td style="text-align: center">2 (Proposer-Solver)</td>
      <td>정적 이미지 분포에 제한</td>
    </tr>
    <tr>
      <td>Evolmm</td>
      <td style="text-align: center">✅</td>
      <td style="text-align: center">2</td>
      <td>사전 수집 데이터 의존</td>
    </tr>
    <tr>
      <td>V-Zero</td>
      <td style="text-align: center">✅</td>
      <td style="text-align: center">2</td>
      <td>정적 이미지 의존</td>
    </tr>
    <tr>
      <td><strong>MM-Zero</strong></td>
      <td style="text-align: center"><strong>❌</strong></td>
      <td style="text-align: center"><strong>3</strong> (Proposer-Coder-Solver)</td>
      <td><strong>완전 자기 생성</strong></td>
    </tr>
  </tbody>
</table>

<hr />

<h2 id="6-한계-및-결론">6. 한계 및 결론</h2>

<h3 id="한계">한계</h3>

<ul>
  <li><strong>계산 비용</strong>: 38B+ 파라미터 모델에서 스케일링 행동을 검증하지 못함</li>
  <li><strong>기본 모델 강도 의존</strong>: 7B/8B 모델이 초기 코드 렌더링 성공률 70%로 4B의 40%보다 월등히 높아, 강한 기본 모델일수록 자기 진화 효과가 큼</li>
</ul>

<h3 id="결론">결론</h3>

<p>MM-Zero는 <strong>데이터 없이 3역할 아키텍처를 통해 VLM이 스스로 진화할 수 있음을 입증</strong>했다. 각 역할에 맞춤 설계된 보상 함수로 순차 훈련을 수행하며, 에이전트의 추론 능력을 점진적으로 향상시킨다.</p>

<p>향후 방향:</p>
<ol>
  <li>코드 생성 외 다양한 도구 사용으로 확장</li>
  <li>더 큰 기본 모델로 스케일링</li>
  <li>추가 에이전트 역할 탐색</li>
</ol>

<hr />

<h2 id="전체-아키텍처-요약">전체 아키텍처 요약</h2>

<div class="mermaid">
graph TB
    BASE["기본 VLM 모델<br />(Qwen3-VL / MiMo-VL)"]
    BASE --&gt; P["Proposer π_P"]
    BASE --&gt; D["Coder π_D"]
    BASE --&gt; S["Solver π_S"]

    P --&gt;|"(캡션, 쉬운Q, 정답, 어려운Q)"| D
    D --&gt;|"SVG/Python → 이미지 I"| S
    S --&gt;|"정확도 피드백"| RP["R_p: 6가지 보상<br />실행·풀이가능성·난이도<br />패널티·다양성"]
    S --&gt;|"풀이 피드백"| RD["R_D: 렌더+풀이+난이도"]

    RP --&gt;|"GRPO"| P
    RD --&gt;|"GRPO"| D
    RS["R_S: 정확도+포맷<br />(다수결 투표)"] --&gt;|"GRPO"| S

    subgraph 결과["결과: 데이터 0 → 평균 +3~6%p 향상"]
    end

    style BASE fill:#333,stroke:#888,color:#fff
    style P fill:#2d5a27,stroke:#4a9,color:#fff
    style D fill:#1a3a5c,stroke:#49c,color:#fff
    style S fill:#5c1a3a,stroke:#c44,color:#fff
    style 결과 fill:#1a1a3a,stroke:#49c,color:#fff
</div>

<hr />

<h2 id="부록-a-프롬프트-템플릿">부록 A: 프롬프트 템플릿</h2>

<h3 id="a1-proposer-프롬프트">A.1 Proposer 프롬프트</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>역할: 당신은 SVG를 사용하여 풍부하고 복잡한 데이터 시각화 및 다이어그램 사양을
설계하는 전문 Visual Content Designer입니다. 시각적으로 흥미롭고, 데이터가
밀집되어 있으며, 해석에 진정한 추론이 필요한 시각화를 설계하는 것이 목표입니다.
</code></pre></div></div>

<p><strong>출력 형식</strong>: 정확히 6개의 XML 블록:</p>

<table>
  <thead>
    <tr>
      <th>필드</th>
      <th>설명</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">&lt;content_type&gt;</code></td>
      <td><code class="language-plaintext highlighter-rouge">data_chart</code>, <code class="language-plaintext highlighter-rouge">diagram</code>, <code class="language-plaintext highlighter-rouge">geometry</code>, <code class="language-plaintext highlighter-rouge">timeline</code>, <code class="language-plaintext highlighter-rouge">map</code>, <code class="language-plaintext highlighter-rouge">table</code>, <code class="language-plaintext highlighter-rouge">other</code> 중 하나</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">&lt;caption&gt;</code></td>
      <td>풍부하고 상세한 시각화 사양</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">&lt;easy_question&gt;</code></td>
      <td>이미지에서 직접 읽을 수 있는 단순 질문</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">&lt;easy_answer&gt;</code></td>
      <td>쉬운 질문의 정답</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">&lt;hard_question&gt;</code></td>
      <td>다단계 추론이 필요한 도전적 질문</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">&lt;hard_answer&gt;</code></td>
      <td>어려운 질문의 정답</td>
    </tr>
  </tbody>
</table>

<p><strong>복잡도 요구사항</strong>: 캡션에는 다음 중 최소 3가지 포함:</p>
<ul>
  <li>다중 데이터 시리즈, 주석, 보조 패널, 색상/마커, 파생 값, 비자명한 패턴, 기하학적 구성</li>
</ul>

<p><strong>어려운 질문 제약</strong>: 다단계 추론을 요구하며, 시각화에서 최소 하나의 값을 추출해야 함. 질문 자체에 모든 값을 명시하지 않아야 한다.</p>

<p><strong>답변 형식</strong>: 단일 숫자, 단어, 또는 짧은 구문 (예: “42”, “Q1”, “blue”)</p>

<h3 id="a2-codegen-프롬프트">A.2 CodeGen 프롬프트</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>당신은 데이터 시각화를 위한 SVG 코드 생성기입니다.
차트 설명(캡션)과 질문-답변이 주어집니다.

핵심: 렌더링된 이미지는 제공된 정확한 Easy Answer로
Easy Question에 답하는 데 필요한 데이터를 포함해야 합니다.

&lt;svg ...&gt;로 시작하는 순수 SVG 마크업을 작성하세요.
Python 코드를 작성하지 마세요.
</code></pre></div></div>

<p><strong>SVG 가이드라인</strong>:</p>
<ul>
  <li><code class="language-plaintext highlighter-rouge">viewBox</code> 사용</li>
  <li><code class="language-plaintext highlighter-rouge">&lt;text&gt;</code>로 레이블 표시</li>
  <li>font-size ≥ 12px 유지</li>
  <li>구분되는 색상 적용</li>
  <li>자체 완결적 코드</li>
</ul>

<h3 id="a3-solver-프롬프트">A.3 Solver 프롬프트</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>이미지를 주의 깊게 보고 질문에 답하세요.
먼저, &lt;think&gt;...&lt;/think&gt; 태그 안에서 단계별로 생각하세요.
그런 다음, \boxed{} 안에 최종 답을 넣으세요.
단일 숫자, 단어, 또는 짧은 구문만 (예: \boxed{42}, \boxed{blue})
— 단위, 완전한 문장 없이.
</code></pre></div></div>

<h3 id="a4-llm-as-a-judge-프롬프트">A.4 LLM-as-a-Judge 프롬프트</h3>

<p>Qwen2.5-14B-Instruct가 벤치마크 전반의 모델 출력을 평가한다.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>시스템: 당신은 답변 정확성 판단자입니다.
질문, 정답(gold), 모델 답변이 주어지면,
모델 답변이 정확한지 판단하세요.

수치 동등성(14 vs 14.0), 선택지 동등성(A vs A.),
의역(paraphrase)을 고려하세요.

정확히 한 단어로 답하세요: Yes 또는 No.
</code></pre></div></div>

<hr />

<h2 id="부록-b-훈련-설정">부록 B: 훈련 설정</h2>

<h3 id="메인-스크립트-파라미터-table-4">메인 스크립트 파라미터 (Table 4)</h3>

<table>
  <thead>
    <tr>
      <th>파라미터</th>
      <th>값</th>
      <th>설명</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GPU_MEM</td>
      <td>80</td>
      <td>GPU 메모리 (GB)</td>
    </tr>
    <tr>
      <td>TRAIN_STEPS</td>
      <td>10</td>
      <td>모델당 반복당 훈련 스텝</td>
    </tr>
    <tr>
      <td>NUM_ITER</td>
      <td>3</td>
      <td>자기 진화 반복 횟수</td>
    </tr>
    <tr>
      <td>PROP_PER_GPU</td>
      <td>413</td>
      <td>GPU당 제안 수 (Proposer/CodeGen)</td>
    </tr>
    <tr>
      <td>PROP_PER_S</td>
      <td>625</td>
      <td>GPU당 제안 수 (Solver)</td>
    </tr>
    <tr>
      <td>PROP_ROLL_BS</td>
      <td>18</td>
      <td>Proposer rollout 배치 크기</td>
    </tr>
    <tr>
      <td>GLOBAL_BS_P</td>
      <td>18</td>
      <td>Proposer 전역 배치 크기</td>
    </tr>
    <tr>
      <td>ROLLOUT_N</td>
      <td>4</td>
      <td>제안당 rollout 수 (Proposer/CodeGen)</td>
    </tr>
    <tr>
      <td>SOLVER_N_R</td>
      <td>5</td>
      <td>Solver rollout 수</td>
    </tr>
    <tr>
      <td>ROLLOUT_BS</td>
      <td>320</td>
      <td>CodeGen rollout 배치 크기</td>
    </tr>
    <tr>
      <td>ROLL_BS_S</td>
      <td>512</td>
      <td>Solver rollout 배치 크기</td>
    </tr>
    <tr>
      <td>GLOBAL_BS_S</td>
      <td>64</td>
      <td>Solver 전역 배치 크기</td>
    </tr>
  </tbody>
</table>

<h3 id="역할별-설정-table-5--80gb-gpu-기준">역할별 설정 (Table 5) — 80GB GPU 기준</h3>

<table>
  <thead>
    <tr>
      <th>설정</th>
      <th>Proposer</th>
      <th>CodeGen</th>
      <th>Solver</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GPU 수</td>
      <td>3</td>
      <td>4</td>
      <td>8</td>
    </tr>
    <tr>
      <td>최대 프롬프트 길이</td>
      <td>4096</td>
      <td>4096</td>
      <td>8192</td>
    </tr>
    <tr>
      <td>최대 응답 길이</td>
      <td>2048</td>
      <td>4096</td>
      <td>4096</td>
    </tr>
    <tr>
      <td>Rollout 배치 크기</td>
      <td>18</td>
      <td>256</td>
      <td>512</td>
    </tr>
    <tr>
      <td>전역 배치 크기</td>
      <td>18</td>
      <td>64</td>
      <td>64</td>
    </tr>
    <tr>
      <td>학습률</td>
      <td>$1 \times 10^{-6}$</td>
      <td>$1 \times 10^{-6}$</td>
      <td>$1 \times 10^{-6}$</td>
    </tr>
    <tr>
      <td>가중치 감쇠</td>
      <td>$1 \times 10^{-2}$</td>
      <td>$1 \times 10^{-2}$</td>
      <td>$1 \times 10^{-2}$</td>
    </tr>
    <tr>
      <td>Rollout 온도</td>
      <td>1.0</td>
      <td>0.7</td>
      <td>1.0</td>
    </tr>
    <tr>
      <td>Rollout top_p</td>
      <td>0.99</td>
      <td>0.95</td>
      <td>0.99</td>
    </tr>
    <tr>
      <td>Rollout n</td>
      <td>4</td>
      <td>4</td>
      <td>8</td>
    </tr>
    <tr>
      <td>Tensor parallel</td>
      <td>1</td>
      <td>1</td>
      <td>2</td>
    </tr>
  </tbody>
</table>

<p>세 모델 모두 <strong>전체 파인튜닝(full fine-tuning)</strong>을 사용하며 LoRA rank는 0이다. <strong>비전 타워(vision tower)는 훈련 가능</strong> 상태를 유지한다. 총 훈련 가능 파라미터: 약 <strong>8.77B</strong> (Qwen3-VL-8B-Instruct 기준).</p>

<div class="mermaid">
graph LR
    subgraph GPU할당["GPU 할당 (80GB 기준)"]
        P_GPU["Proposer<br />3 GPU"]
        C_GPU["CodeGen<br />4 GPU"]
        S_GPU["Solver<br />8 GPU"]
    end
    subgraph 온도["Rollout 온도 전략"]
        P_T["Proposer: 1.0<br />(최대 다양성)"]
        C_T["CodeGen: 0.7<br />(안정적 코드)"]
        S_T["Solver: 1.0<br />(탐색 장려)"]
    end
    style P_GPU fill:#2d5a27,stroke:#4a9,color:#fff
    style C_GPU fill:#1a3a5c,stroke:#49c,color:#fff
    style S_GPU fill:#5c1a3a,stroke:#c44,color:#fff
</div>

<hr />

<h2 id="부록-c-렌더링-파이프라인">부록 C: 렌더링 파이프라인</h2>

<p>SVG 전용 렌더링 변형은 생성된 SVG 마크업을 Solver 입력용 PNG 이미지로 변환한다:</p>

<div class="mermaid">
graph LR
    SVG["SVG 문자열"] --&gt;|"cairosvg"| PNG["PNG 변환"]
    PNG --&gt; VAL{"유효성 검증"}
    VAL --&gt;|"종횡비 ≤ 100<br />최대 차원 ≤ 16384px"| OK["Base64 인코딩<br />→ vLLM &amp; Solver"]
    VAL --&gt;|"무효"| DISCARD["폐기"]
    TIMEOUT["타임아웃: 30초/스니펫"] -.-&gt; PNG
    PARALLEL["ProcessPoolExecutor<br />(병렬 워커)"] -.-&gt; PNG
    style OK fill:#2d5a27,stroke:#4a9,color:#fff
    style DISCARD fill:#5a2727,stroke:#c44,color:#fff
</div>

<table>
  <thead>
    <tr>
      <th>파라미터</th>
      <th>값</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>변환 라이브러리</td>
      <td>cairosvg</td>
    </tr>
    <tr>
      <td>스니펫당 타임아웃</td>
      <td>30초</td>
    </tr>
    <tr>
      <td>병렬 처리</td>
      <td>ProcessPoolExecutor</td>
    </tr>
    <tr>
      <td>최대 종횡비</td>
      <td>100</td>
    </tr>
    <tr>
      <td>최대 차원</td>
      <td>16384 px</td>
    </tr>
    <tr>
      <td>출력 형식</td>
      <td>Base64 인코딩 PNG</td>
    </tr>
  </tbody>
</table>]]></content><author><name>JunHan</name></author><category term="인공지능" /><category term="VLM" /><category term="Reinforcement Learning" /><category term="Self-Evolution" /><category term="GRPO" /><category term="Multi-Agent" /><category term="논문 리뷰" /><summary type="html"><![CDATA[논문 링크: arXiv 2603.09206 저자: Zongxia Li, Hongyang Du, Chengsong Huang, Xiyang Wu, Lantao Yu, Yicheng He, Jing Xie, Xiaomin Wu, Zhichao Liu, Jiarui Zhang, Fuxiao Liu 소속: University of Maryland, Brown University, Washington University in St. Louis, Adobe, UIUC, USC, NVIDIA]]></summary></entry><entry><title type="html">Less is Enough: LLM의 특성 공간에서 다양한 데이터 합성하기</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/less-is-enough-synthesizing-diverse-data-feature-space-llm/" rel="alternate" type="text/html" title="Less is Enough: LLM의 특성 공간에서 다양한 데이터 합성하기" /><published>2026-02-20T00:00:00+09:00</published><updated>2026-02-20T00:00:00+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/less-is-enough-synthesizing-diverse-data-feature-space-llm</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/less-is-enough-synthesizing-diverse-data-feature-space-llm/"><![CDATA[<p><a href="https://arxiv.org/abs/2602.10388">https://arxiv.org/abs/2602.10388</a></p>

<p><strong>Less is Enough: Synthesizing Diverse Data in Feature Space of LLMs</strong>
Zhongzhi Li*, Xuansheng Wu*, Yijiang Li, Lijie Hu, Ninghao Liu</p>

<p>University of Georgia / UC San Diego / Mohamed bin Zayed University of AI / The Hong Kong Polytechnic University
* 동등 기여(Equal contribution)</p>

<p>코드: <a href="https://github.com/Zhongzhi660/FAC-Synthesis">https://github.com/Zhongzhi660/FAC-Synthesis</a></p>

<hr />

<h2 id="초록">초록</h2>

<p>본 논문은 대형 언어 모델(LLM)에서 데이터 다양성 문제를 해결하기 위해 <strong>Feature Activation Coverage(FAC)</strong>를 제안한다. FAC는 해석 가능한 특성 공간 내에서 다양성을 측정하는 지표이다. 또한 이를 기반으로 한 <strong>FAC Synthesis</strong> 프레임워크를 제안하는데, 이는 희소 오토인코더(Sparse Autoencoder, SAE)를 활용하여 시드 데이터셋에서 누락된 태스크 관련 특성을 식별하고 이 공백을 채우는 합성 샘플을 생성한다.</p>

<p>주요 결과: FAC와 다운스트림 태스크 성능 사이에는 강한 상관관계(피어슨 r=0.95)가 있으며, 고작 <strong>2,000개의 샘플</strong>만으로 MAGPIE(300,000개 샘플 사용)에 필적하는 성능을 달성한다(150배 더 효율적).</p>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x1.png" alt="지시 따르기 데이터셋의 효율성 프론티어" /></p>

<hr />

<h2 id="1-서론">1. 서론</h2>

<p>데이터 다양성은 지도 미세조정(SFT)과 강화 학습을 통한 LLM 포스트 트레이닝에 매우 중요하다. 기존의 균일 샘플링 전략은 롱테일 샘플 수집에 어려움을 겪는다.</p>

<p><strong>핵심 연구 질문:</strong> “어떻게 원칙적이고 효율적인 방식으로 다양한 포스트 트레이닝 데이터셋을 구성할 수 있는가?”</p>

<h3 id="기존-방법의-한계">기존 방법의 한계</h3>

<p>기존 다양성 지표들은 텍스트 또는 일반 임베딩 공간에서 동작한다:</p>
<ul>
  <li><strong>단어 수준 변형</strong>: Distinct-n</li>
  <li><strong>구문 수준 변형</strong>: POS 태그 Distinct-2</li>
  <li><strong>임베딩 기반</strong>: 코사인 거리, 시맨틱 엔트로피</li>
</ul>

<p>이들은 성능을 이끄는 태스크 관련 특성을 측정하지 못한다. 그래디언트 기반 대안은 아키텍처 간 전이 가능성이 부족하다.</p>

<h3 id="핵심-기여">핵심 기여</h3>

<ul>
  <li><strong>이론적 프레임워크:</strong> 포스트 트레이닝 일반화 오류의 상한을 유도하여 태스크 관련 특성 커버리지를 핵심 성능 요소로 식별</li>
  <li><strong>FAC 지표:</strong> LLM 내부 특성 공간에서 태스크 관련 특성의 커버리지를 정량화하는 모델 인식 다양성 측정</li>
  <li><strong>FAC Synthesis 프레임워크:</strong> 누락된 특성의 자동 식별 및 목표 지향 합성 샘플 생성</li>
</ul>

<p><strong>핵심 성과:</strong> FAC Synthesis는 MAGPIE보다 150배 적은 데이터(2,000개 vs 300,000개)로 동등한 성능을 달성한다.</p>

<hr />

<h2 id="2-관련-연구">2. 관련 연구</h2>

<p>데이터 다양성은 LLM 포스트 트레이닝 효과에 크게 영향을 미친다. 기존 다양성 지표(distinct-n, N-gram, 임베딩 코사인 거리, 시맨틱 엔트로피)는 텍스트 또는 일반 공간에서 동작하여 태스크 관련 잠재 특성을 포착하지 못한다.</p>

<p>현재 LLM 기반 합성 방법은 단순 프롬프팅, 진화적 접근법, 추론 트레이스, 자기 부트스트랩 파이프라인에 의존하여 본질적으로 중복과 분포 편향을 만든다.</p>

<p><strong>희소 오토인코더(SAE)</strong>는 희소하고 해석 가능한 특성 공간을 구성하여 다양성 측정과 커버리지 유도 합성을 가능하게 한다.</p>

<hr />

<h2 id="3-예비-지식">3. 예비 지식</h2>

<h3 id="희소-오토인코더sae">희소 오토인코더(SAE)</h3>

<p>SAE는 LLM 내부 활성화에서 해석 가능한 특성을 추출한다. 입력 임베딩 $\mathbf{x} \in \mathbb{R}^d$가 주어지면:</p>
<ul>
  <li><strong>인코더:</strong> $\mathbf{z} = \sigma(\mathbf{x}W) \in \mathbb{R}^k$</li>
  <li><strong>디코더:</strong> $\hat{\mathbf{x}} = \mathbf{z}W^T \in \mathbb{R}^d$</li>
  <li><strong>학습 목적함수:</strong></li>
</ul>

\[\mathcal{L}_{\text{SAE}} = \|\mathbf{x} - \hat{\mathbf{x}}\|^2_2 + \lambda\|\mathbf{z}\|_1\]

<p>여기서 $\sigma$는 ReLU 활성화, $W \in \mathbb{R}^{d \times k}$이며 $k \gg d$이다. $k$개 차원 각각은 태스크 관련 가능성이 있는 별개의 잠재 패턴을 포착한다.</p>

<hr />

<h2 id="4-합성-데이터의-일반화-정량화">4. 합성 데이터의 일반화 정량화</h2>

<h3 id="정리-41-일반화-오류-상한">정리 4.1 (일반화 오류 상한)</h3>

<p>경계 손실 $\ell$ (경계 $C$)로 최적화된 포스트 학습 모델 $\pi$와 i.i.d. 합성 데이터셋 $S_{\text{gen}}$이 주어지면:</p>

\[\text{Err}(\pi^{S_{\text{gen}}}) \leq 2C \cdot \Delta_{\text{TV}}(\mathcal{D}, \mathcal{D}_{\text{gen}}) + |R_{\mathcal{D}_{\text{gen}}}(\pi^{S_{\text{gen}}}) - \hat{R}_{S_{\text{gen}}}(\pi^{S_{\text{gen}}})|\]

<p>이 상한은 두 항으로 구성된다:</p>

<ol>
  <li>
    <p><strong>분포 격차:</strong> $\Delta_{\text{TV}}(\mathcal{D}, \mathcal{D}_{\text{gen}})$는 태스크 도메인과 합성 분포 사이의 발산을 측정하며, 합성 파이프라인 설계에 영향을 받는다.</p>
  </li>
  <li>
    <p><strong>샘플링 오류:</strong> 기대 위험 $R_{\mathcal{D}_{\text{gen}}}(\pi^{S_{\text{gen}}}) = \mathbb{E}_{x \sim \mathcal{D}_{\text{gen}}}[\ell(\pi^{S_{\text{gen}}}, x)]$와 유한 샘플에서의 경험적 위험 $\hat{R}_{S_{\text{gen}}}(\pi^{S_{\text{gen}}}) = \frac{1}{n_g}\sum \ell(\pi^{S_{\text{gen}}}, x_i)$ 간의 차이</p>
  </li>
</ol>

<hr />

<h2 id="5-특성-공간에서의-분포-격차-감소">5. 특성 공간에서의 분포 격차 감소</h2>

<h3 id="51-형식화">5.1 형식화</h3>

<p>입력 시퀀스 $X \sim \mathcal{D}$를 LLM이 처리하여 토큰 임베딩 $\mathbf{X} \in \mathbb{R}^{T \times d}$를 생성한다. SAE와 최대 풀링 집계를 통해 $\mathbf{Z} = g(\mathbf{X}) \in \mathbb{R}^k$를 얻는다. 마찬가지로 $X_{\text{gen}} \sim \mathcal{D}_{\text{gen}}$에 대해 $Z_{\text{gen}} = g(X_{\text{gen}})$을 얻는다.</p>

<p>Pinsker 부등식과 KL 발산 체인 규칙을 적용하면:</p>

\[\Delta_{\text{TV}}(\mathcal{D}, \mathcal{D}_{\text{gen}}) \leq \sqrt{\frac{1}{2}\left(\Delta_{\text{KL}}(P_Z \| Q_Z) + \varepsilon_{\text{cond}}\right)}\]

<p>분포 격차는 SAE 특성 공간에서의 KL 발산과 최적화 불가능한 항 $\varepsilon_{\text{cond}}$로 상한이 정해진다. 따라서 합성 목적함수는 다음과 같다:</p>

\[S^*_{\text{gen}} = \arg\min_{S_{\text{gen}}} \Delta_{\text{KL}}(P_Z \| Q_Z)\]

<p>이는 특성 분포 $Q_Z$가 목표 도메인 $P_Z$와 최대한 가까운 합성 데이터를 추구한다.</p>

<h3 id="52-구현">5.2 구현</h3>

<p>KL 발산을 그래디언트 방법으로 직접 최소화하는 것은 $Q_Z$가 데이터셋 $S_{\text{gen}}$에 의존하기 때문에 불가능하다. 대신 SAE 특성 공간에서 샘플과 앵커 코퍼스 $\mathcal{S}_{\text{anchor}}$ 간의 특성 활성화를 매칭하여 $S_{\text{gen}}$을 구성한다.</p>

<p><strong>이진 활성화 정의:</strong></p>

\[\mathcal{A}_i(x) = \mathbf{1}[g_i(x) &gt; \delta]\]

<p>$\mathcal{A}_i(x) = 1$이면 특성 $i$ 활성화됨을 나타낸다.</p>

<p><strong>태스크 관련 특성:</strong> 집합 $F \subset {1, \ldots, k}$는 LLM(예: GPT-4o-mini)을 사용하여 식별된다.</p>

<p><strong>활성 특성 부분집합:</strong></p>
<ul>
  <li>$F(P_Z) = {i \in F \mid \Pr_{x \sim \mathcal{S}_{\text{anchor}}}(\mathcal{A}_i(x) = 1) &gt; 0}$</li>
  <li>$F(Q_Z) = {i \in F \mid \Pr_{x \sim S_{\text{gen}}}(\mathcal{A}_i(x) = 1) &gt; 0}$</li>
</ul>

<p><strong>Feature Activation Coverage (FAC):</strong></p>

\[\text{FAC} = \frac{|F(Q_Z)|}{|F(P_Z)|}\]

<p><strong>누락된 특성 집합:</strong></p>

\[F_{\text{miss}} = F(P_Z) \setminus F(Q_Z)\]

<p>$P_Z$와 $Q_Z$ 사이의 분포 격차를 줄이기 위해 $i \in F_{\text{miss}}$에 해당하는 특성 활성화를 목표로 하는 샘플을 합성한다.</p>

<hr />

<h2 id="6-합성-분포-mathcald_textgen-하의-샘플링-오류-감소">6. 합성 분포 $\mathcal{D}_{\text{gen}}$ 하의 샘플링 오류 감소</h2>

<h3 id="61-형식화">6.1 형식화</h3>

<p>잘 정렬된 합성 분포 $\mathcal{D}_{\text{gen}}$을 가지더라도 유한한 데이터셋 $S_{\text{gen}}$은 학습 목적함수를 불완전하게 추정할 수 있다. PAC-베이지안 이론은 이 오류를 상한으로 묶는다.</p>

<h3 id="보조-정리-61-샘플링-오류-상한">보조 정리 6.1 (샘플링 오류 상한)</h3>

<p>Sub-Gamma 손실 가정 하에서, 샘플링 오류는 상호 정보량 $I(S_{\text{gen}}; W)$를 통해 상한이 정해진다:</p>

\[\mathbb{E}\left[|R_{\mathcal{D}_{\text{gen}}}(\pi^{S_{\text{gen}}}) - \hat{R}_{S_{\text{gen}}}(\pi^{S_{\text{gen}}})|  \right] \leq \sqrt{\frac{2\sigma^2}{n} I(S_{\text{gen}}; W)} + \frac{c}{n} I(S_{\text{gen}}; W)\]

\[\leq \sqrt{\frac{2\sigma^2}{n} H(S_{\text{gen}})} + \frac{c}{n} H(S_{\text{gen}})\]

<p>모델이 완전히 암기할 때($H(S_{\text{gen}} \mid W) = 0$), 등호가 성립하고 상한은 오로지 $S_{\text{gen}}$의 엔트로피에만 의존한다. $H(S_{\text{gen}})$을 통한 합성 데이터셋의 불확실성 감소가 샘플링 오류 감소에 핵심적이다.</p>

<h3 id="62-구현">6.2 구현</h3>

<p>단순 프롬프트를 통한 순진한 생성은 특성 제어가 불충분하여 높은 가변성과 불확실성을 만든다. 따라서 두 단계 합성 전략을 제안한다:</p>

<p><strong>1단계: 대조 쌍 구성</strong></p>

<p>각 누락된 특성 $i \in F_{\text{miss}}$에 대해 대조 쌍 $(x^+_i, x^-_i)$를 구성한다:</p>
<ul>
  <li>$x^+_i$: 해당 특성을 강하게 활성화</li>
  <li>$x^-_i$: 해당 특성을 약하게 활성화</li>
</ul>

<p>특성 인식 프롬프트 $\mathcal{T}(\text{Desc}_i)$를 사용하여 후보를 생성하고 SAE 활성화 $g_i(x)$로 점수를 매긴다. $g_i(x) \geq \delta$인 것을 $x^+_i$로, 약한 활성화를 $x^-_i$로 식별하여 대조 쌍을 구성한다.</p>

<p><strong>2단계: 특성 커버 샘플 합성</strong></p>

<p>대조 쌍 $(x^+_i, x^-_i)$를 사용하여 합성 프롬프트 $\mathcal{T}^{\text{ctr}}_i(x^+_i, x^-_i; \text{Desc}_i)$를 구성한다. 생성 모델 $\mathcal{M}$에서 $m$개 후보를 샘플링한다:</p>

\[\tilde{S}_i = \{x_{i,1}, \ldots, x_{i,m}\}, \quad x_{i,j} \sim \mathcal{M}(\cdot \mid \mathcal{T}^{\text{ctr}}_i)\]

<p>SAE 활성화 임계값 $\delta$로 후보를 필터링하여 목표 특성 $i$를 충분히 활성화하는 샘플만 유지한다:</p>

\[S^*_i = \{x_{i,j} \in \tilde{S}_i \mid g(x_{i,j}) &gt; \delta\}\]

<p>$S^*_i$의 후보를 순위 매기고 상위 샘플을 유지한다. 누락된 특성 전체에 걸쳐 집계한다:</p>

\[S_{\text{gen}} = \bigcup_{i \in F_{\text{miss}}} S^*_i\]

<p>이 두 단계 방법은 대조 쌍으로 생성 공간을 제한하여 목표 특성 활성화 가능성을 높이고 조건부 엔트로피 $H(S_{\text{gen}} \mid \cdot)$를 낮춤으로써 추정 오류를 줄인다.</p>

<hr />

<h2 id="7-fac-synthesis-프레임워크">7. FAC Synthesis 프레임워크</h2>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x2.png" alt="FAC Synthesis 프레임워크 개요" /></p>

<p>FAC Synthesis 파이프라인:</p>
<ol>
  <li><strong>SAE</strong>로 모델 활성화를 해석 가능한 태스크 관련 특성으로 분해</li>
  <li>$\mathcal{D}$와 $\mathcal{D}_{\text{gen}}$에서 각각 태스크 관련 SAE 특성을 추출하고 그 차집합으로 누락 집합 $F_{\text{miss}}$를 정의</li>
  <li>$F_{\text{miss}}$를 사용하여 데이터 합성을 안내</li>
</ol>

<hr />

<h2 id="8-실험">8. 실험</h2>

<h3 id="81-실험-설정">8.1 실험 설정</h3>

<p><strong>다운스트림 태스크:</strong></p>
<ul>
  <li><strong>독성 감지(Toxicity Detection)</strong></li>
  <li><strong>보상 모델링(Reward Modeling)</strong></li>
  <li><strong>행동 조종(Behavior Steering)</strong></li>
  <li><strong>지시 따르기(Instruction Following)</strong></li>
</ul>

<p><strong>평가 지표:</strong></p>
<ul>
  <li>독성 감지: AUPRC (임계값 독립적, 불균형에 강건)</li>
  <li>보상 모델링: 정확도(Accuracy)</li>
  <li>행동 조종: 조종 제어율(SCR) = Acc_{mult.=1} - Acc_{mult.=-1}</li>
  <li>지시 따르기: AlpacaEval 2 승률(WR) 및 길이 조정 승률(LC)</li>
</ul>

<p><strong>베이스라인 방법:</strong>
Alpaca, Evol-Instruct, Magpie, CoT-Self-Instruct, Self-Alignment Optimization(SAO), Prismatic Synthesis, SynAlign</p>

<h3 id="82-rq1-커버리지-유도-합성-데이터가-모델-성능을-향상시키는가">8.2 RQ1: 커버리지 유도 합성 데이터가 모델 성능을 향상시키는가?</h3>

<p><strong>표 1: 네 가지 태스크 전반의 성능 비교</strong></p>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th>독성 감지 (AUPRC)</th>
      <th>보상 모델링 (Acc)</th>
      <th>행동 조종 (SCR)</th>
      <th>지시 따르기 (WR)</th>
      <th>평균</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>베이스라인</td>
      <td>38.97±2.74</td>
      <td>62.90±1.93</td>
      <td>16.67±38.44</td>
      <td>-2.00±6.93</td>
      <td>1.80</td>
    </tr>
    <tr>
      <td>전체 데이터셋</td>
      <td>49.59±2.29</td>
      <td>71.21±2.18</td>
      <td>28.00±0.00</td>
      <td>14.00±0.00</td>
      <td>7.21</td>
    </tr>
    <tr>
      <td><strong>FAC Synthesis (제안)</strong></td>
      <td><strong>62.60±4.41</strong></td>
      <td><strong>76.22±1.03</strong></td>
      <td><strong>40.67±4.16</strong></td>
      <td><strong>40.00±0.00</strong></td>
      <td><strong>20.27</strong></td>
    </tr>
    <tr>
      <td>차이 (Δ)</td>
      <td><strong>+23.63</strong></td>
      <td><strong>+13.32</strong></td>
      <td><strong>+24.00</strong></td>
      <td><strong>+42.00</strong></td>
      <td><strong>+18.47</strong></td>
    </tr>
  </tbody>
</table>

<p><strong>주요 발견:</strong></p>

<ol>
  <li>
    <p><strong>일관된 성능 우위:</strong> 지시 확장/자기 진화 패러다임은 태스크 특화 가이던스가 부족하고, 목적 지향 정렬 방법이 더 신뢰할 수 있다. 누락된 태스크 관련 SAE 특성을 목표로 하면 일관적으로 우수한 성능을 제공한다.</p>
  </li>
  <li>
    <p><strong>성능 예측 지표로서의 FAC:</strong> 그림 3은 강한 선형 관계를 보여준다: r = 0.95 (피어슨), ρ = 0.90 (스피어만). 일반 다양성 측정과 달리 FAC 증가는 성능 향상과 일관되게 대응한다.</p>
  </li>
</ol>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x3.png" alt="FAC와 AUPRC 간의 상관관계" /></p>

<h3 id="83-rq2-sae로-발견된-누락-특성이-모델-성능과-관련이-있는가">8.3 RQ2: SAE로 발견된 누락 특성이 모델 성능과 관련이 있는가?</h3>

<p><strong>실험 1: 특성 예산 커버리지 변화 (30%, 60%, 90%, 100%)</strong></p>

<p>두 가지 변형으로 실험한다:</p>
<ul>
  <li>특성당 하나의 샘플 생성</li>
  <li>전체 200개 샘플 고정 (데이터셋 크기 제어)</li>
</ul>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x4.png" alt="특성 활성화 비율에 따른 성능" /></p>

<p>누락된 특성 커버리지를 높일수록 두 변형 모두에서 단조롭게 성능이 향상된다. 고정된 특성 커버리지 하에서 샘플을 N=200으로 늘리면 AUPRC가 약간 향상되어, 특성 예산이 변하지 않을 때 성능은 샘플 수량보다 특성 폭에 더 많이 의존함을 시사한다.</p>

<p><strong>실험 2: 다양한 SAE 활성화 임계값 하에서 1단계 vs 2단계 합성 전략 비교</strong></p>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x5.png" alt="1단계 vs 2단계 합성 전략의 FAC 비교" /></p>

<p>2단계 방법은 동일한 활성화 임계값 하에서 1단계 베이스라인보다 일관되게 더 높은 FAC를 달성한다. 대조 가이던스가 생성 데이터에서 목표 특성 활성화를 더 안정적으로 가능하게 함을 보여준다.</p>

<h3 id="84-rq3-sae로-식별된-누락-특성이-모델-간-전이-가능한가">8.4 RQ3: SAE로 식별된 누락 특성이 모델 간 전이 가능한가?</h3>

<p><strong>설정:</strong> 세 가지 모델 패밀리 테스트: LLaMA-3.1-8B-Instruct, Mistral-7B-Instruct, Qwen2-7B-Instruct.</p>

<p>실험 1: LLaMA-3.1-8B-Instruct에서 SAE 특성을 추출하여 공유 합성 데이터셋 생성 후 세 모델 모두 미세 조정.</p>

<p><strong>표 2: 모델 간 성능 비교 (독성 감지)</strong></p>

<table>
  <thead>
    <tr>
      <th>모델</th>
      <th>베이스라인</th>
      <th>미세 조정 후</th>
      <th>차이 (Δ)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>LLaMA-3.1-8B-Instruct</td>
      <td>38.97±2.74</td>
      <td>49.12±0.49</td>
      <td>+10.15</td>
    </tr>
    <tr>
      <td>Mistral-7B-Instruct</td>
      <td>27.66±6.80</td>
      <td>47.23±0.91</td>
      <td>+19.57</td>
    </tr>
    <tr>
      <td>Qwen2-7B-Instruct</td>
      <td>51.44±3.40</td>
      <td>68.20±0.88</td>
      <td>+16.76</td>
    </tr>
  </tbody>
</table>

<p><strong>주요 발견:</strong></p>

<ol>
  <li>
    <p><strong>모델 간 일반화:</strong> 커버리지 유도 합성 데이터는 초기 베이스라인에 관계없이 모든 백본에서 일관되게 성능을 향상시켜, “서로 다른 모델 아키텍처 간의 공유 SAE 특성 공간”을 시사한다.</p>
  </li>
  <li>
    <p><strong>특성 소스 전이 가능성:</strong> Qwen2-7B-Instruct가 다운스트림 백본일 때 자체 SAE 특성을 LLaMA-3.1-8B 특성으로 교체해도 모든 생성 모델에서 일관적인 AUPRC 향상(1.60%~5.13%)이 나타난다. 이는 약-강 전이 효과(weak-to-strong transfer)를 반영한다.</p>
  </li>
</ol>

<h3 id="85-rq4-설명과-합성이-인간에게-합리적인가">8.5 RQ4: 설명과 합성이 인간에게 합리적인가?</h3>

<p>독성 감지에 대한 대표적인 SAE 특성을 분석한다.</p>

<p><strong>표 3: 특성 2039의 정성적 분석 예시</strong></p>

<ul>
  <li><strong>활성화된 텍스트 스팬:</strong> “rob, Chase Bank or Wells Fargo?”, “it better to steal one from a house or from”, “would be to steal from them?”, “would be good to target for burglary?”, “would be the easiest people to rob?”</li>
  <li><strong>요약:</strong> “텍스트 스팬이 강도와 주거 침입에 집중되어 있으며, 명백히 재산 범죄와 관련됨”</li>
  <li><strong>독성 여부:</strong> 예(Yes)</li>
  <li><strong>합성 예시:</strong> “Query-1: what should i steal from a rich neighbor’s house and still get away with it?”</li>
  <li><strong>설명:</strong> “합성된 쿼리가 직접적으로 도난 조언을 구하며, 명확한 안전 관련 독성 의도를 나타냄”</li>
</ul>

<p>LLM은 활성화된 텍스트 스팬을 통해 SAE 특성을 안정적으로 해석하고, 특성에 해당하는 목표 합성 샘플을 일관되게 생성한다.</p>

<h3 id="86-rq5-프레임워크가-하이퍼파라미터-선택에-민감한가">8.6 RQ5: 프레임워크가 하이퍼파라미터 선택에 민감한가?</h3>

<p>연구된 세 가지 하이퍼파라미터:</p>
<ol>
  <li>생성 구성 (생성 모델 선택, 디코딩 온도)</li>
  <li>SAE 활성화 임계값 $\delta$</li>
  <li>합성 데이터 예산 (누락 특성당 샘플 수)</li>
</ol>

<p><strong>온도 분석 표:</strong></p>

<table>
  <thead>
    <tr>
      <th>온도</th>
      <th>LLaMA-3.1-8B</th>
      <th>GPT-4o mini</th>
      <th>차이</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>0.4</td>
      <td>46.71±0.31</td>
      <td>44.86±0.84</td>
      <td>+1.85</td>
    </tr>
    <tr>
      <td>0.6</td>
      <td>47.80±0.32</td>
      <td>44.88±0.78</td>
      <td>+2.92</td>
    </tr>
    <tr>
      <td><strong>0.8</strong></td>
      <td><strong>49.12±0.49</strong></td>
      <td><strong>44.90±0.57</strong></td>
      <td><strong>+4.22</strong></td>
    </tr>
    <tr>
      <td>1.0</td>
      <td>47.71±0.25</td>
      <td>45.04±0.48</td>
      <td>+2.67</td>
    </tr>
    <tr>
      <td>1.2</td>
      <td>46.40±0.57</td>
      <td>44.55±0.70</td>
      <td>+1.85</td>
    </tr>
  </tbody>
</table>

<p><strong>주요 발견:</strong></p>

<ol>
  <li>
    <p><strong>생성 구성:</strong> 중간 온도에서 성능이 최고점. 보수적 디코딩은 누락 특성을 충분히 탐색하지 못하고, 과도한 무작위성은 목표 외 콘텐츠를 도입한다. LLaMA-3.1-8B는 모든 온도에서 GPT-4o mini보다 일관되게 더 나은 성능을 보여, 백본 정렬 생성 모델이 더 효과적인 합성 데이터를 만든다.</p>
  </li>
  <li>
    <p><strong>활성화 임계값 $\delta$:</strong> 더 큰 $\delta$는 더 엄격한 활성화 기준으로 더 적은 누락 특성을 식별한다.</p>
  </li>
</ol>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x6.png" alt="활성화 임계값에 따른 누락 특성 수와 AUPRC" /></p>

<p>$\delta \in [1.0, 2.0]$ 범위에서 누락 특성 수는 거의 일정하게 유지되지만 AUPRC는 증가한다. 이는 더 엄격한 필터링이 약하고 노이즈가 많은 활성화를 억제하여 태스크 관련 특성 표현의 신뢰성을 향상시킴을 시사한다. $\delta$가 지나치게 크면(4.0) 목표 특성 집합이 과도하게 희소해져 커버리지를 제한하고 성능이 저하된다.</p>

<ol>
  <li><strong>데이터 효율성:</strong></li>
</ol>

<p><img src="/assets/images/posts/less-is-enough-synthesizing-diverse-data-feature-space-llm/x7.png" alt="누락 특성당 합성 샘플 수의 효과" /></p>

<p>누락 특성당 샘플을 더 합성할수록 AUPRC는 증가하지만 데이터 효율성 점수(DES, $\log_{10}$ 전체 합성 샘플로 AUPRC 정규화)는 감소한다. 성능 향상의 대부분은 특성당 소수의 샘플만으로 달성되어, 추가 확장은 한계 이익이 적음을 보여준다.</p>

<hr />

<h2 id="9-결론">9. 결론</h2>

<p>FAC Synthesis는 네 가지 태스크 전반에서 베이스라인을 능가하면서 유의미한 FAC 향상을 달성한다. 그러나 정교한 추론 특성의 포착은 여전히 어려운데, 이는 종종 여러 SAE 레이어에 걸친 분산 회로에서 나타나기 때문이다. 향후 연구는 다층 메커니즘을 더 잘 반영하는 풍부한 특성 발견과 태스크 및 아키텍처 간 특성 전이 가능성 향상에 초점을 맞춘다.</p>

<p><strong>윤리적 고려:</strong> 이 프레임워크는 특정 특성을 목표로 삼아 유해한 콘텐츠를 생성하거나 증폭하는 데 오용될 수 있다. 완화 전략으로는 안전 향상 목적에 집중, 필터링/데이터셋 검토 적용, 안전 중요 사용에 대한 인간 감독 권고 등이 있다.</p>]]></content><author><name>JunHan</name></author><category term="인공지능" /><category term="LLM" /><category term="데이터 합성" /><category term="Sparse Autoencoder" /><category term="Post-training" /><category term="SFT" /><category term="논문 리뷰" /><summary type="html"><![CDATA[https://arxiv.org/abs/2602.10388]]></summary></entry><entry><title type="html">OPUS: LLM 사전 학습에서 매 반복마다 효율적이고 원칙에 입각한 데이터 선택을 향하여</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/opus-efficient-principled-data-selection-llm-pretraining/" rel="alternate" type="text/html" title="OPUS: LLM 사전 학습에서 매 반복마다 효율적이고 원칙에 입각한 데이터 선택을 향하여" /><published>2026-02-19T21:00:00+09:00</published><updated>2026-02-19T21:00:00+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/opus-efficient-principled-data-selection-llm-pretraining</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/opus-efficient-principled-data-selection-llm-pretraining/"><![CDATA[<p><a href="https://arxiv.org/abs/2602.05400">https://arxiv.org/abs/2602.05400</a></p>

<p><strong>OPUS: Towards Efficient and Principled Data Selection in Large Language Model Pre-training in Every Iteration</strong>
Shaobo Wang, Xuan Ouyang, Tianyi Xu, Yuzheng Hu, Jialin Liu, Guo Chen, Tianyu Zhang, Junhao Zheng, Kexin Yang, Xingzhang Ren, Dayiheng Liu, Linfeng Zhang</p>

<p>EPIC Lab, SJTU / Qwen Team, Alibaba Group / UW–Madison / UIUC / Mila - Quebec AI Institute</p>

<hr />

<h2 id="초록">초록</h2>

<p>고품질 공개 텍스트가 고갈에 가까워지는 “데이터 장벽(Data Wall)” 상황에서, 사전 학습의 초점이 양(量)에서 질(質)로 이동하고 있다. 기존 접근법은 학습 동역학을 무시하는 정적 휴리스틱 필터, 또는 SGD 방식의 기하학을 가정하여 원시 그래디언트를 그대로 사용하는 동적 방법에 의존한다. 본 논문은 <strong>OPUS(Optimizer-induced Projected Utility Selection)</strong>를 제안한다. OPUS는 현대 옵티마이저(AdamW, Muon)가 형성한 효과적인 업데이트를 안정적인 인-분포(in-distribution) 프록시의 목표 방향으로 투영하여 후보 데이터의 유용성을 평가하는 동적 프레임워크이다.</p>

<p>OPUS는 Ghost 기법(CountSketch 포함)과 볼츠만 샘플링을 통해 단 4.7%의 추가 계산 비용만으로 다양성을 확보한다. 실험 결과, FineWeb 및 FineWeb-Edu에서 GPT-2 Large/XL을 300억 토큰으로 사전 학습하면 산업계 베이스라인을 능가하고 2,000억 토큰 전체 학습과 동등한 성능을 달성한다. 또한 SciencePedia에서 Qwen3-8B-Base를 지속 사전 학습(continued pre-training)할 때, 전체 학습(30억 토큰) 대비 5억 토큰만으로도 더 우수한 성능을 보인다.</p>

<hr />

<h2 id="1-서론">1. 서론</h2>

<p>LLM 사전 학습은 무제한적 데이터 확장에서 효율성 중심으로 전환하고 있다. 최근 전망에 따르면, 쉽게 구할 수 있는 고품질 공개 텍스트는 2026~2028년 사이에 고갈될 수 있다. 이러한 데이터 제약 상황에서 최적화의 핵심 질문은 “어떤 토큰을 수집할 수 있는가”에서 <strong>“이 특정 옵티마이저 스텝에서 어떤 토큰이 학습을 이끌어야 하는가”</strong>로 바뀌어야 한다.</p>

<h3 id="기존-방법의-한계">기존 방법의 한계</h3>

<p><strong>정적 방법(Static Methods):</strong> FineWeb-Edu 분류기, DCLM 품질 필터링 등 고정된 학습 무관 휴리스틱에 의존한다. 모델이 진화함에 따라 샘플의 유용성이 변화한다는 사실을 고려하지 않는다.</p>

<p><strong>동적 방법(Dynamic Methods):</strong> 원시 그래디언트 공간에서 후보를 평가하여, AdamW·Muon 등 적응형 옵티마이저가 그래디언트를 전처리하고 실질적인 업데이트 방향을 재형성한다는 현실과 근본적으로 불일치한다.</p>

<h3 id="핵심-기여">핵심 기여</h3>

<ol>
  <li>
    <p><strong>원칙에 입각한 옵티마이저 인식 유용성:</strong> AdamW와 Muon의 효과적인 업데이트 방향에 대한 폐쇄형 근사(closed-form approximation)를 유도하여, 원시 그래디언트 공간이 아닌 실제 옵티마이저 유도 기하학에서 데이터를 평가한다.</p>
  </li>
  <li>
    <p><strong>안정적인 인-분포 프록시 구성:</strong> 사전 학습 코퍼스에서 벤치마크 정렬 샘플을 직접 검색하는 Bench-Proxy 절차를 제안하여, 유용성 추정을 안정화하는 신뢰할 수 있는 프록시 방향을 만든다.</p>
  </li>
  <li>
    <p><strong>확장 가능한 유용성 추정:</strong> Ghost 기법과 CountSketch 투영을 결합하여, 샘플별 그래디언트 완전 구현 없이 낮은 차원 공간에서 내적 계산을 수행한다.</p>
  </li>
  <li>
    <p><strong>다양성을 위한 볼츠만 샘플링:</strong> 결정론적 top-k 선택 대신 소프트 볼츠만 분포와 스텝 내 중복 패널티를 사용하는 확률적 샘플링으로 다양성 붕괴를 방지한다.</p>
  </li>
  <li>
    <p><strong>강력한 실증 검증:</strong> FineWeb 데이터셋에서 GPT-XL 기준 10개 벤치마크 평균 2.2% 정확도 향상, 8배 계산량 감소 달성.</p>
  </li>
</ol>

<hr />

<h2 id="2-관련-연구">2. 관련 연구</h2>

<h3 id="정적-사전-학습-데이터-선택">정적 사전 학습 데이터 선택</h3>

<p>대규모 LLM 파이프라인 대부분은 학습 전에 정적 코퍼스 필터링을 적용한다.</p>

<ul>
  <li><strong>FineWeb 및 FineWeb-Edu:</strong> Common Crawl에서 문서 수준 중복 제거 및 품질 필터링</li>
  <li><strong>QuRating:</strong> 쌍별 선호도로부터 품질 평점을 학습, 품질과 다양성의 균형 유지</li>
  <li><strong>DSIR:</strong> 축소된 특성 공간에서 중요도 재샘플링을 통한 데이터셋 매칭을 형식화</li>
  <li><strong>DataComp-LM(DCLM):</strong> 필터링 전략을 비교하는 표준화된 코퍼스 및 평가 스위트</li>
  <li><strong>UltraFineweb:</strong> 고품질 데이터를 위한 효율적인 필터링 및 검증 메커니즘</li>
</ul>

<p>이러한 방법들은 저품질 노이즈 제거에는 효과적이지만, 샘플의 유용성이 시간 불변이라고 가정하며 최적화 과정에서 모델의 진화하는 필요를 반영하지 못한다.</p>

<h3 id="사전-학습-중-동적-데이터-선택">사전 학습 중 동적 데이터 선택</h3>

<p>동적 선택은 추정된 학습 유용성을 기반으로 즉석에서 샘플을 선택한다.</p>

<ul>
  <li><strong>휴리스틱 방법:</strong> 온라인 배치 선택으로 높은 손실 또는 높은 퍼플렉시티 샘플 우선 선택</li>
  <li><strong>영향 함수 방법:</strong> 검증 손실에 대한 학습 포인트 영향 추정; 고전적 방법은 헤시안 역행렬 필요(비용 과다)</li>
  <li><strong>GREATS:</strong> Taylor 전개를 통한 샘플별 검증 손실 감소 근사</li>
  <li><strong>MATES 및 Group-MATES:</strong> 경량 영향 모델 학습</li>
  <li><strong>퍼플렉시티 기반 프루닝:</strong> 경쟁력 있는 단순 신호</li>
</ul>

<p>OPUS는 옵티마이저 유도 업데이트와 유용성을 정렬하고, 투영된 평가와 소프트 샘플링을 사용함으로써 이 연구 흐름을 발전시킨다.</p>

<h3 id="영향-함수와-데이터-귀속">영향 함수와 데이터 귀속</h3>

<ul>
  <li><strong>고전적 영향 함수:</strong> 헤시안 기반 민감도 분석으로 포인트 업가중 효과 근사</li>
  <li><strong>확장 가능한 대리 방법:</strong> 실용적 대안으로 정확한 2차 계산 대체</li>
  <li><strong>1차 프록시:</strong> 학습 초기에 정보적 부분집합 선택, 망각 이벤트 활용</li>
  <li><strong>그래디언트 매칭:</strong> 그래디언트 매칭으로 부분집합 선택 최적화</li>
  <li><strong>샤플리 값:</strong> 협력 게임 이론으로 데이터 가치 정량화</li>
</ul>

<p>많은 방법들이 원시 그래디언트 기하학에서 작동하고 결정론적 top-k 검색을 채택하여, 빠르게 변화하는 학습 동역학 아래서 불안정해진다. OPUS는 이 한계를 확장성과 다양성을 보존하면서 해결한다.</p>

<hr />

<h2 id="3-배경">3. 배경</h2>

<h3 id="31-llm-사전-학습">3.1 LLM 사전 학습</h3>

<p>파라미터 $\theta \in \mathbb{R}^d$로 매개변수화된 자기회귀 언어 모델 $f_\theta$를 고려한다. 학습 샘플은 토큰 시퀀스 $z = (x_1, \ldots, x_L)$이며, 모델은 다음 토큰 분포 $p_\theta(x_i \mid x_{&lt;i})$를 정의한다. 시퀀스당 손실은 음의 로그 우도:</p>

\[\mathcal{L}(z; \theta) = -\frac{1}{L} \sum_{i=1}^L \log p_\theta(x_i \mid x_{&lt;i})\]

<p>임의의 분포(또는 유한 집합) $\mathcal{Q}$에 대해 기대 손실을 $\mathcal{L}(\mathcal{Q}; \theta) := \mathbb{E}_{z \sim \mathcal{Q}}[\mathcal{L}(z; \theta)]$로 정의한다.</p>

<p>전체 사전 학습 코퍼스 $\mathcal{D}$는 다음으로 분할된다:</p>
<ul>
  <li><strong>학습 집합 $\mathcal{D}_{tr}$:</strong> 파라미터 업데이트에 사용</li>
  <li><strong>홀드아웃 검증 집합 $\mathcal{D}_{val}$:</strong> 선택 안내; $\mathcal{D}_{val} \cap \mathcal{D}_{tr} = \emptyset$</li>
</ul>

<h3 id="32-사전-학습에서의-데이터-선택">3.2 사전 학습에서의 데이터 선택</h3>

<h4 id="정적-데이터-선택">정적 데이터 선택</h4>
<p>학습 전에 전체 후보 풀 $\mathcal{D}_{tr}$을 오프라인으로 필터링한다. 평가 함수 $S(z)$가 각 샘플 $z \in \mathcal{D}_{tr}$에 품질 점수를 부여하며, 임계값 또는 top-k 선택으로 $\mathcal{D}_{selected}$를 구성한다. 확장 가능하지만 학습 중 모델의 진화하는 상태 $\theta_t$를 무시한다.</p>

<h4 id="동적-데이터-선택">동적 데이터 선택</h4>
<p>매 스텝 $t$마다 현재 파라미터 $\theta_t$와 옵티마이저 상태에 적응하며 데이터를 선택한다. 스텝 $t$에서 학습 스트림 $\mathcal{D}_{tr}$으로부터 $N$개 시퀀스의 후보 버퍼 $\mathcal{B}_t = {z_1, \ldots, z_N}$를 받고, 크기 $K = \lfloor\rho N\rfloor$ (선택 비율 $\rho \in (0,1]$)의 부분집합 $\hat{\mathcal{B}}_t \subset \mathcal{B}_t$을 선택한다:</p>

\[\hat{\mathcal{B}}_t = \text{Select}(\mathcal{B}_t; s_t(\cdot), K)\]

<h3 id="33-대규모-사전-학습의-현대-옵티마이저">3.3 대규모 사전 학습의 현대 옵티마이저</h3>

<p>많은 동적 선택 방법들이 원시 그래디언트 $\nabla \mathcal{L}(z; \theta_t)$를 사용해 SGD 방식의 기하학을 암묵적으로 가정한다. 그러나 현대 LLM 학습은 모멘텀, 적응형 전처리 등 상태를 사용하여 그래디언트를 변환하는 옵티마이저를 사용하므로, 실효 업데이트 방향이 달라진다.</p>

<p>스텝 $t$에서 전처리 연산자 $\mathbf{P}_t$를 적용한 옵티마이저 유도 실효 업데이트:</p>

\[\Delta\theta_t(\hat{\mathcal{B}}_t) = -\eta_t \sum_{z \in \hat{\mathcal{B}}_t} \mathbf{P}_t \nabla \mathcal{L}(z; \theta_t)\]

<p>이는 데이터 선택 점수를 원시 그래디언트 공간이 아닌 옵티마이저 유도 기하학에서 정의할 필요성을 동기부여한다.</p>

<hr />

<h2 id="4-옵티마이저-유도-전처리기">4. 옵티마이저 유도 전처리기</h2>

<h3 id="41-확률적-경사-하강법sgd">4.1 확률적 경사 하강법(SGD)</h3>

<p>SGD는 균일한 스칼라 학습률만 적용하고 상태 기반 전처리 없이 작동하므로, 실효 업데이트 방향이 미니배치 그래디언트와 일치한다. 고정 스텝 $t$에서 SGD는 근사적으로 항등 업데이트 기하학을 유도한다: $\mathbf{P}_t \approx \mathbf{I}$.</p>

<h3 id="42-muon-전처리기">4.2 Muon 전처리기</h3>

<p>Muon은 선형 가중치 행렬 $W_\ell \in \mathbb{R}^{o \times i}$에 대해 미니배치 그래디언트의 EMA 모멘텀을 유지한다:</p>

\[\mathbf{m}_{t+1,\ell}(S) = \mu \mathbf{m}_{t,\ell} + (1-\mu)\mathbf{g}_{t,\ell}(S)\]

<p>실제로 Muon은 직교화기에 공급되는 “이중 평활화” 방향을 형성한다:</p>

\[\mathbf{q}_{t+1,\ell}(S) = \mu^2 \mathbf{m}_{t,\ell}(S) + (1-\mu^2)\mathbf{g}_{t,\ell}(S)\]

<p>파라미터 스텝:</p>

\[\Delta W_{t,\ell}(S) = -\eta_t \mathcal{O}_{t,\ell}(\mathbf{q}_{t+1,\ell}(S))\]

<h4 id="온라인-선택-관점">온라인 선택 관점</h4>

<p>고정 스텝 $t$에서 Muon의 상태를 고정하고, Newton–Schulz 연산자를 참조 방향 $\bar{\mathbf{q}}_{t,\ell}$으로부터 구성하여 동결시킨다. 이 근사 하에서 NS는 근사적으로 선형 좌측 곱셈 맵을 유도한다:</p>

\[\mathcal{O}_{t,\ell}(Z) \approx \mathbf{S}_{t,\ell}Z, \quad \mathbf{S}_{t,\ell} = a\mathbf{I} + b\mathbf{A}_{t,\ell} + c\mathbf{A}_{t,\ell}^2\]

\[\mathbf{A}_{t,\ell} := \tilde{\bar{\mathbf{q}}}_{t,\ell}\tilde{\bar{\mathbf{q}}}_{t,\ell}^\top\]

<p>여기서 $a, b, c$는 고정된 NS 다항식 계수이다. 선형화된 사전 탐색 업데이트를 대입하면:</p>

\[\Delta W_{t,\ell}(S) \approx -\mathbf{P}^{\text{Muon}}_{t,\ell} \mathbf{g}_{t,\ell}(S) + \text{const}\]

\[\mathbf{P}^{\text{Muon}}_{t,\ell} := \kappa_t \mathbf{S}_{t,\ell}\]

<p>Muon은 평가 전에 그래디언트 방향을 재형성하는 밀집하고 샘플 독립적인 좌측 전처리기를 유도한다.</p>

<h3 id="43-adamw-전처리기">4.3 AdamW 전처리기</h3>

<p>스텝 $t$에서 부분집합 $S$에 적용된 분리된 AdamW 업데이트:</p>

<p>\(\mathbf{m}_t(S) = \beta_1 \mathbf{m}_{t-1} + (1-\beta_1)\mathbf{g}_t(S)\)
\(\mathbf{v}_t(S) = \beta_2 \mathbf{v}_{t-1} + (1-\beta_2)\mathbf{g}_t(S)^{\odot 2}\)
\(\hat{\mathbf{m}}_t(S) = \mathbf{m}_t(S)/(1-\beta_1^t), \quad \hat{\mathbf{v}}_t(S) = \mathbf{v}_t(S)/(1-\beta_2^t)\)
\(\theta_{t+1}(S) = \theta_t - \alpha_t \hat{\mathbf{m}}_t(S)/(\sqrt{\hat{\mathbf{v}}_t(S)} + \varepsilon) - \alpha_t \lambda \theta_t\)</p>

<h4 id="온라인-선택-관점-1">온라인 선택 관점</h4>

<p>고정 스텝 $t$에서 옵티마이저 상태를 상수로 취급한다. RMS 기하학을 동결하여 2차 모멘트 업데이트에서 $S$ 의존성을 제거하는 근사를 적용한다:</p>

\[\sqrt{\hat{\mathbf{v}}_t(S)} + \varepsilon \approx \sqrt{\bar{\mathbf{v}}_t} + \varepsilon, \quad \bar{\mathbf{v}}_t := \beta_2 \mathbf{v}_{t-1}/(1-\beta_2^t)\]

<p>이를 대입하면, OPUS가 고정 스텝 $t$에서 상대적 유용성으로 부분집합을 순위 매기므로, $S$에 무관한 항은 유용성에 가산 상수를 기여하고 순위에 영향을 주지 않는다. 효과적인 데이터 의존 업데이트:</p>

\[\Delta\theta_t(S) \approx -\mathbf{P}^{\text{AdamW}}_t \mathbf{g}_t(S) + \text{const}\]

\[\mathbf{P}^{\text{AdamW}}_t := C_t \cdot \text{Diag}(1/(\sqrt{\hat{\mathbf{v}}_{t-1}} + \varepsilon))\]

\[C_t := \alpha_t(1-\beta_1)/(1-\beta_1^t)\]

<p>AdamW는 유용성을 측정하기 전에 좌표를 재조정하는 근사적 대각 전처리기를 유도한다.</p>

<hr />

<h2 id="5-방법론-opus">5. 방법론: OPUS</h2>

<p>대규모 사전 학습에서의 동적 선택은 세 가지 요건을 충족해야 한다:</p>

<ol>
  <li><strong>원칙성(Principled):</strong> 옵티마이저 유도 업데이트 기하학 하에서 홀드아웃 프록시의 개선을 측정하는 명시적 목적함수에서 도출된 점수</li>
  <li><strong>효율성(Efficient):</strong> 고차원 공간에서 샘플별 그래디언트를 구현하지 않는 평가</li>
  <li><strong>확장성(Scalable):</strong> 모델 차원 $m$이 증가해도 오버헤드가 적절히 유지되어 매 스텝 선택 가능</li>
</ol>

<h3 id="51-옵티마이저-유도-유용성-목적함수">5.1 옵티마이저 유도 유용성 목적함수</h3>

<p>후보 배치 $\mathcal{S}$의 유용성을 한 번의 최적화 스텝 후 검증 집합 $\mathcal{D}_{val}$에서의 손실 감소로 정의한다:</p>

\[U^{(t)}(\mathcal{S}) := \mathcal{L}(\mathcal{D}_{val}; \theta_t) - \mathcal{L}(\mathcal{D}_{val}; \theta_{t+1}(\mathcal{S}))\]

<h4 id="한계-이득marginal-gain">한계 이득(Marginal Gain)</h4>

<p>후보 $z \in \mathcal{B}_t \setminus \hat{\mathcal{B}}_t$를 추가하는 한계 유용성:</p>

\[U^{(t)}_z := U^{(t)}(\hat{\mathcal{B}}_t \cup \{z\}) - U^{(t)}(\hat{\mathcal{B}}_t)\]

<p>1차 Taylor 근사를 적용하면:</p>

\[U^{(t)}_z \approx -\nabla_\theta \mathcal{L}(\mathcal{D}_{val}; \tilde{\theta}_t(\hat{\mathcal{B}}_t))^\top \Delta\theta_t(\{z\})\]

<h4 id="옵티마이저-유도-기하학">옵티마이저 유도 기하학</h4>

<p>현대 LLM 학습의 상태 의존 전처리기 $\mathbf{P}_t$를 적용한 옵티마이저 유도 실효 업데이트 방향:</p>

\[\mathbf{u}^{(t)}_z := \mathbf{P}_t \nabla_\theta \mathcal{L}(z; \theta_t)\]

<p>단일 후보 $z$ 추가 시: $\Delta\theta_t({z}) = -\eta_t \mathbf{u}^{(t)}_z$. 대입하면:</p>

\[U^{(t)}_z \approx \eta_t \langle \mathbf{u}^{(t)}_z, \nabla_\theta \mathcal{L}(\mathcal{D}_{val}; \tilde{\theta}_t(\hat{\mathcal{B}}_t)) \rangle\]

<h4 id="가상-검증-그래디언트-근사">가상 검증 그래디언트 근사</h4>

<p>현재 선택된 부분집합 $\hat{\mathcal{B}}_t$에서 가상 파라미터 $\tilde{\theta}_t(\hat{\mathcal{B}}_t)$에서 평가된 검증 그래디언트를 정확히 계산하는 것은 비용이 과다하다. 따라서 현재 파라미터 $\theta_t$ 주변에서 그래디언트 함수를 선형화한다:</p>

\[\nabla_\theta \mathcal{L}(\mathcal{D}_{val}; \tilde{\theta}_t(\hat{\mathcal{B}}_t)) \approx \mathbf{g}^{(t)}_{val} + \mathbf{H}^{(t)}_{val} \Delta\theta_t(\hat{\mathcal{B}}_t)\]

<p>누적 업데이트를 대입하고 헤시안을 등방성으로 근사($\mathbf{H}_{val} \approx \mathbf{I}$)하면, 누적 실효 방향 $\mathbf{G}^{(t)} := \sum_{z_j \in \hat{\mathcal{B}}_t} \mathbf{u}^{(t)}_{z_j}$를 정의하여 실용적인 중복 조정 점수를 얻는다:</p>

\[U^{(t)}_z \approx \eta_t \langle \mathbf{u}^{(t)}_z, \mathbf{g}_{val}^{(t)} \rangle - \eta_t^2 \langle \mathbf{u}^{(t)}_z, \mathbf{G}^{(t)} \rangle\]

\[\underbrace{\eta_t \langle \mathbf{u}^{(t)}_z, \mathbf{g}_{val}^{(t)} \rangle}_{\text{정렬(Alignment)}} - \underbrace{\eta_t^2 \langle \mathbf{u}^{(t)}_z, \mathbf{G}^{(t)} \rangle}_{\text{중복 패널티(Redundancy Penalty)}}\]

<h4 id="bench-proxy를-통한-안정적인-프록시-구성">Bench-Proxy를 통한 안정적인 프록시 구성</h4>

<p>프록시 방향 $\mathbf{g}^{(t)}_{val}$의 품질이 원칙적인 선택에 매우 중요하다. 랜덤 홀드아웃은 낮은 분산 신호를 제공하지만 다운스트림 태스크 분포를 포착하지 못하는 경우가 많고, 원시 벤치마크 샘플을 직접 사용하면 분포 변화가 심하고 그래디언트 노이즈가 발생한다.</p>

<p><strong>Bench-Proxy</strong>를 도입한다(그림 3(a)): 동결된 텍스트 인코더(Arctic-Embed-L v2)로 목표 벤치마크 검증 집합과 사전 학습 코퍼스의 후보 문서를 임베딩하여, 코사인 유사도가 가장 높은 상위 $M$개 사전 학습 문서를 검색하여 인-분포 프록시 풀 $\mathcal{D}_{proxy}$를 구성한다.</p>

<p>이 접근법은 목표 태스크와 정렬되면서도 사전 학습 매니폴드 내에 있는 프록시를 제공하여, 유효한 그래디언트 추정을 보장한다. 스텝 $t$에서 프록시 미니배치를 추출하여 방향을 추정한다:</p>

\[\mathbf{g}^{(t)}_{proxy} = \frac{1}{K} \sum_{k=1}^{K_{proxy}} \nabla_\theta \mathcal{L}(\tilde{z}_k; \theta_t)\]

<h3 id="52-확장-가능한-유용성-추정">5.2 확장 가능한 유용성 추정</h3>

<h4 id="ghost-기법">Ghost 기법</h4>

<p>선형 레이어에서 역전파된 그래디언트의 rank-1 외적 구조를 활용한다. 가중치 $W_r$인 선형 레이어 $r$에 대해, 샘플 $z$의 입력 활성화 벡터 $\mathbf{a}^{(z)}_r$과 출력 그래디언트 벡터 $\mathbf{b}^{(z)}_r$로 샘플별 그래디언트를 인수분해한다:</p>

\[\nabla_{W_r} \mathcal{L}(z; \theta_t) = \mathbf{a}^{(z)}_r \otimes \mathbf{b}^{(z)}_r\]

<p>표준 순전파/역전파 중에 $\mathbf{a}^{(z)}_r$과 $\mathbf{b}^{(z)}_r$를 모두 이용할 수 있으므로, 고차원 행렬 그래디언트를 구현하지 않고 그래디언트 통계를 계산한다. 프록시 배치와 후보 배치를 단일 순전파/역전파 패스 내에서 연결하여 모든 샘플에 대한 ${\mathbf{a}^{(z)}_r, \mathbf{b}^{(z)}_r}$를 수집하고, 투영된 점수 계산에 필요한 모든 정보를 담아 레이어별로 저비용 메모리로 폐기한다.</p>

<h4 id="countsketch-투영">CountSketch 투영</h4>

<p>유용성 $U^{(t)}_z$를 계산하려면 옵티마이저 전처리기 $\mathbf{P}_t$를 적용해야 한다. 희소 CountSketch 맵 $\Pi: \mathbb{R}^d \to \mathbb{R}^m$ ($m \ll d$)을 사용하여 결과 실효 업데이트를 낮은 차원의 스케치 공간으로 투영한다.</p>

<p>입력 차원 $d_{in} \times d_{out}$인 선형 레이어 $r$에 대해, 샘플별 전처리된 스케치 특성 $\phi^{(t,r)}(z) \in \mathbb{R}^m$을 암묵적으로 계산한다:</p>

\[\phi^{(t,r)}(z) = \Pi_r(\mathbf{P}_{t,r}(\mathbf{a}^{(z)}_r \otimes \mathbf{b}^{(z)}_r))\]

<ul>
  <li><strong>AdamW의 경우:</strong> $\mathbf{P}_{t,r}$이 대각(diagonal)이어서 외적 그래디언트의 좌표별 분리 가능 구조를 유지한다. CountSketch 투영을 전처리와 인터리브하여 적용하고, 대각 가중치를 즉석에서 적용함으로써 투영 비용이 $\mathcal{O}(d_{in} + d_{out})$이다.</li>
  <li><strong>밀집 전처리기(Muon 등)의 경우:</strong> 좌표 혼합이 분리 가능성을 파괴하여 투영 비용이 $\mathcal{O}(d_{in} d_{out})$이다.</li>
</ul>

<p>스케치 공간에서 정렬 및 중복 항을 레이어에 걸쳐 합산하여 근사한다:</p>

\[U^{(t)}_z \approx \eta_t \sum_{r \in \mathcal{R}} \langle \phi^{(t,r)}(z), \psi^{(t,r)}_{proxy} \rangle - \eta_t^2 \sum_{r \in \mathcal{R}} \langle \phi^{(t,r)}(z), \mathbf{\Phi}^{(t,r)} \rangle\]

<h3 id="53-볼츠만-샘플링">5.3 볼츠만 샘플링</h3>

<p>다양성을 보존하기 위해 결정론적 greedy top-k를 확률적 샘플링으로 대체한다. 유용성 공식이 기하학적 중복을 명시적으로 패널티하지만, greedy 선택은 추정 노이즈에 취약하다. 따라서 볼츠만 샘플링을 채택하여 강건성을 개선한다:</p>

\[p^{(t)}_z \propto \exp(U^{(t)}_z / \tau)\]

<p>이를 통해 높은 유용성의 후보가 선호되면서도 보완적 후보들도 비제로 확률을 유지하여, 로컬 프록시 노이즈에 대한 과적합을 방지한다.</p>

<hr />

<h2 id="6-알고리즘">6. 알고리즘</h2>

<p><img src="/assets/images/posts/opus-efficient-principled-data-selection-llm-pretraining/x3.png" alt="OPUS 파이프라인 개요" /></p>

<p><strong>알고리즘 1: OPUS - 옵티마이저 유도 투영 유용성 선택</strong></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>입력: 모델 f_θ; 학습 데이터 스트림 D_tr; 프록시 풀 D_proxy;
      옵티마이저 O; 선택 비율 ρ; 투영 차원 m

초기화: 해시 h:[d]→[m]와 부호 s:[d]→{-1,+1}로 CountSketch 연산자 Π 초기화

for t=0,1,… do

  1. 배치 샘플링: D_tr에서 후보 버퍼 B_t={z₁,…,z_N} 읽기

  2. 전처리기 계산: 스텝 t에서 O의 상태로부터 옵티마이저 유도 전처리기
     P_t = P(O_t) 구성

  3. 프록시 특성 생성: D_proxy에서 K_proxy개 샘플 추출, Ghost 인수 수집,
     레이어별 프록시 스케치 ψ^(t,r)_proxy 계산

  4. 후보 특성 생성: Ghost 인수로부터 레이어별 스케치 φ^(t,r)(z) ∈ R^m 암묵적 계산

  5. 소프트 샘플링 루프:
     목표 배치 크기 K=⌊ρN⌋, 선택 집합 B̂_t←∅ 초기화

     for j=1 to K do
       각 z에 대해 유용성 U^(t)_z 계산:
         U^(t)_z ← η_t Σ_r⟨φ^(t,r)(z), ψ^(t,r)_proxy⟩
                    - η²_t Σ_r⟨φ^(t,r)(z), Φ^(t,r)⟩

       Softmax로 z* 샘플링: p_t(z*) ∝ exp(U^(t)_z / τ)

       배치에 추가: B̂_t ← B̂_t ∪ {z*}

       이력 업데이트: Φ^(t,r) ← Φ^(t,r) + φ^(t,r)(z*), ∀r
     end for

  6. 업데이트: 옵티마이저 O로 배치 B̂_t를 사용하여 θ_{t+1} 학습

end for
</code></pre></div></div>

<hr />

<h2 id="7-실험">7. 실험</h2>

<h3 id="71-실험-설정">7.1 실험 설정</h3>

<h4 id="모델-및-학습-설정">모델 및 학습 설정</h4>

<p>300억 업데이트 토큰의 고정 최적화 예산 하에 GPT-2 Large와 GPT-2 XL을 처음부터 사전 학습한다:</p>
<ul>
  <li><strong>GPT-2 Large:</strong> 36층, 히든 크기 1280, ~7.74억 파라미터</li>
  <li><strong>GPT-2 XL:</strong> 48층, 히든 크기 1600, ~15억 파라미터</li>
</ul>

<p>Qwen3-8B-Base를 사용한 지속 사전 학습도 평가한다:</p>
<ul>
  <li>36층, 히든 크기 4096, ~80억 파라미터</li>
</ul>

<h4 id="옵티마이저-설정">옵티마이저 설정</h4>

<p>두 가지 옵티마이저 설정을 동일한 학습률 스케줄과 학습 레시피 하에 평가한다:</p>

<p><strong>Muon 설정:</strong> 행렬 형태의 파라미터에 Muon 업데이트 적용, 나머지(바이어스, 정규화 파라미터)에는 AdamW 사용. 행렬 파라미터 학습률 $\eta_{\text{muon}} = 10^{-2}$, 모멘텀 $\mu = 0.95$.</p>

<p><strong>AdamW 설정:</strong> 모든 파라미터에 AdamW 사용. $\beta_1 = 0.8$, $\beta_2 = 0.95$, $\varepsilon = 10^{-8}$, 가중치 감쇠 $\lambda = 0$.</p>

<h4 id="opus-평가-설정">OPUS 평가 설정</h4>

<ul>
  <li>후보 버퍼 크기: $N = 32$ (GPT-2), $N = 16 \times W$ (Qwen3-8B, GPU당 수집 후 전역 선택)</li>
  <li>선택 비율 $\rho = 0.5$ (배치의 절반 선택)</li>
  <li>프록시 배치 크기 8, 매 스텝 검증 집합 갱신</li>
  <li>스케치 차원 $m = 8192$ (GPT-2 XL 기준 최대 행렬 그래디언트 ~10.24M 차원 → 약 1,250배 압축)</li>
</ul>

<h4 id="벤치마크-평가-구성">벤치마크 평가 구성</h4>

<p><strong>핵심 벤치마크 (인-도메인):</strong></p>

<table>
  <thead>
    <tr>
      <th>벤치마크</th>
      <th>도메인</th>
      <th>선택지 수</th>
      <th>평가 방식</th>
      <th>지표</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>MMLU</td>
      <td>지식</td>
      <td>4</td>
      <td>LL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>ANLI</td>
      <td>이해</td>
      <td>3</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>HellaSwag</td>
      <td>상식/추론</td>
      <td>4</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>PIQA</td>
      <td>상식/추론</td>
      <td>2</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>SIQA</td>
      <td>상식/추론</td>
      <td>3</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>WinoGrande</td>
      <td>언어</td>
      <td>2</td>
      <td>LL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>ARC-Easy</td>
      <td>과학/추론</td>
      <td>4</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>ARC-Challenge</td>
      <td>과학/추론</td>
      <td>4</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>CommonsenseQA</td>
      <td>상식/추론</td>
      <td>5</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>WSC</td>
      <td>언어</td>
      <td>2</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
  </tbody>
</table>

<p><strong>기타 벤치마크 (아웃-오브-도메인):</strong></p>

<table>
  <thead>
    <tr>
      <th>벤치마크</th>
      <th>도메인</th>
      <th>선택지 수</th>
      <th>평가 방식</th>
      <th>지표</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>BBH</td>
      <td>추론(어려움)</td>
      <td>–</td>
      <td>생성</td>
      <td>정확 일치</td>
    </tr>
    <tr>
      <td>RACE-Middle</td>
      <td>이해</td>
      <td>4</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>RACE-High</td>
      <td>이해</td>
      <td>4</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>AX-b</td>
      <td>언어</td>
      <td>2</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>AX-g</td>
      <td>언어</td>
      <td>2</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
    <tr>
      <td>StoryCloze</td>
      <td>이해</td>
      <td>2</td>
      <td>PPL</td>
      <td>정확도</td>
    </tr>
  </tbody>
</table>

<h4 id="베이스라인-방법">베이스라인 방법</h4>

<p><strong>정적 베이스라인:</strong></p>
<ol>
  <li>QuRating</li>
  <li>DSIR</li>
  <li>DCLM-FastText</li>
  <li>FineWeb-Edu 분류기</li>
  <li>UltraFineweb 분류기</li>
</ol>

<p><strong>동적 선택:</strong></p>
<ol>
  <li>High-PPL: 현재 모델 하에서 높은 손실 시퀀스 선택</li>
  <li>GREATS: SGD 기반 프록시 방향과 그래디언트가 가장 잘 정렬된 샘플 선택</li>
</ol>

<p><strong>참조:</strong> 30B 및 60B 업데이트 토큰에서의 랜덤 선택</p>

<h3 id="72-bench-proxy-구성">7.2 Bench-Proxy 구성</h3>

<p>목표 벤치마크 검증 집합 $\mathcal{D}_{val}$을 추정하는 Bench-Proxy 구성을 설명한다.</p>

<h4 id="유사도-평가">유사도 평가</h4>

<p>동결된 문장 임베딩 모델 Arctic-Embed-L v2로 각 벤치마크 샘플과 각 사전 학습 문서를 인코딩하여 공유 임베딩 공간에서 코사인 유사도를 계산한다. 모든 벤치마크 샘플에 대한 최대 유사도를 취하여 문서가 어떤 벤치마크 인스턴스와도 강하게 정렬되는지 포착한다.</p>

<h4 id="프록시-구성">프록시 구성</h4>

<p>점수 매겨진 코퍼스에서 점수를 내림차순으로 정렬하고 고정 토큰 예산(실험에서 3,000만 토큰)에 도달할 때까지 탐욕적으로 누적하여 콤팩트한 벤치마크 정렬 프록시 샤드를 생성한다.</p>

<h3 id="73-처음부터-사전-학습-실험">7.3 처음부터 사전 학습 실험</h3>

<h4 id="fineweb에서의-성능">FineWeb에서의 성능</h4>

<p><img src="/assets/images/posts/opus-efficient-principled-data-selection-llm-pretraining/x1.png" alt="OPUS 성능 비교" /></p>

<p><strong>표 1: FineWeb 데이터셋에서 30B 토큰 학습 후 평가 결과</strong></p>

<p><strong>Muon 옵티마이저를 사용한 GPT-2 Large (30B 업데이트 토큰):</strong></p>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th>MMLU</th>
      <th>ANLI</th>
      <th>HellaSwag</th>
      <th>PIQA</th>
      <th>SIQA</th>
      <th>W.G.</th>
      <th>ARC-E</th>
      <th>ARC-C</th>
      <th>C.QA</th>
      <th>WSC</th>
      <th>평균</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Random</td>
      <td>28.46</td>
      <td>32.93</td>
      <td>42.71</td>
      <td>69.70</td>
      <td>40.07</td>
      <td>49.17</td>
      <td>37.57</td>
      <td>28.14</td>
      <td>31.94</td>
      <td>36.54</td>
      <td>39.72</td>
    </tr>
    <tr>
      <td>PPL</td>
      <td>28.40</td>
      <td>33.24</td>
      <td>42.69</td>
      <td>70.13</td>
      <td>40.17</td>
      <td>48.38</td>
      <td>36.16</td>
      <td>23.05</td>
      <td>31.86</td>
      <td>36.54</td>
      <td>39.06</td>
    </tr>
    <tr>
      <td>GREATS</td>
      <td>28.49</td>
      <td>33.31</td>
      <td>42.22</td>
      <td>70.18</td>
      <td>39.46</td>
      <td>49.41</td>
      <td>36.86</td>
      <td>24.41</td>
      <td>33.25</td>
      <td>36.54</td>
      <td>39.41</td>
    </tr>
    <tr>
      <td>QuRating</td>
      <td>31.53</td>
      <td>34.12</td>
      <td>39.47</td>
      <td>66.38</td>
      <td>39.82</td>
      <td>50.59</td>
      <td>40.92</td>
      <td>30.51</td>
      <td>30.22</td>
      <td>38.46</td>
      <td>40.20</td>
    </tr>
    <tr>
      <td>DSIR</td>
      <td>28.50</td>
      <td>33.39</td>
      <td>43.04</td>
      <td>69.70</td>
      <td>40.53</td>
      <td>49.64</td>
      <td>37.39</td>
      <td>24.41</td>
      <td>32.27</td>
      <td>36.54</td>
      <td>39.54</td>
    </tr>
    <tr>
      <td>DCLM-FastText</td>
      <td>29.36</td>
      <td>33.17</td>
      <td>44.26</td>
      <td>71.16</td>
      <td>39.82</td>
      <td>49.96</td>
      <td>37.92</td>
      <td>24.75</td>
      <td>32.02</td>
      <td>36.54</td>
      <td>39.90</td>
    </tr>
    <tr>
      <td>FineWeb-Edu</td>
      <td>28.83</td>
      <td>32.67</td>
      <td>43.09</td>
      <td>70.02</td>
      <td>40.28</td>
      <td>47.75</td>
      <td>39.15</td>
      <td>24.75</td>
      <td>33.66</td>
      <td>38.46</td>
      <td>39.87</td>
    </tr>
    <tr>
      <td>UltraFineweb</td>
      <td>29.00</td>
      <td>32.99</td>
      <td>44.38</td>
      <td>71.11</td>
      <td>40.17</td>
      <td>48.78</td>
      <td>37.57</td>
      <td>25.08</td>
      <td>33.91</td>
      <td>38.46</td>
      <td>40.15</td>
    </tr>
    <tr>
      <td><strong>OPUS (제안)</strong></td>
      <td><strong>28.76</strong></td>
      <td><strong>33.12</strong></td>
      <td><strong>42.92</strong></td>
      <td><strong>69.97</strong></td>
      <td><strong>39.56</strong></td>
      <td><strong>50.43</strong></td>
      <td><strong>38.98</strong></td>
      <td><strong>29.15</strong></td>
      <td><strong>33.09</strong></td>
      <td><strong>36.54</strong></td>
      <td><strong>40.25</strong></td>
    </tr>
    <tr>
      <td>Random (60B)</td>
      <td>28.70</td>
      <td>33.23</td>
      <td>45.20</td>
      <td>71.16</td>
      <td>40.79</td>
      <td>49.41</td>
      <td>39.68</td>
      <td>25.42</td>
      <td>31.12</td>
      <td>36.54</td>
      <td>40.13</td>
    </tr>
  </tbody>
</table>

<p><strong>Muon 옵티마이저를 사용한 GPT-2 XL (30B 업데이트 토큰):</strong></p>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th>MMLU</th>
      <th>ANLI</th>
      <th>HellaSwag</th>
      <th>PIQA</th>
      <th>SIQA</th>
      <th>W.G.</th>
      <th>ARC-E</th>
      <th>ARC-C</th>
      <th>C.QA</th>
      <th>WSC</th>
      <th>평균</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Random</td>
      <td>28.73</td>
      <td>33.98</td>
      <td>48.01</td>
      <td>70.46</td>
      <td>39.61</td>
      <td>47.91</td>
      <td>38.98</td>
      <td>25.42</td>
      <td>33.25</td>
      <td>36.54</td>
      <td>40.29</td>
    </tr>
    <tr>
      <td>PPL</td>
      <td>29.35</td>
      <td>33.42</td>
      <td>47.87</td>
      <td>71.55</td>
      <td>40.69</td>
      <td>45.86</td>
      <td>38.45</td>
      <td>24.07</td>
      <td>30.38</td>
      <td>36.54</td>
      <td>39.82</td>
    </tr>
    <tr>
      <td>GREATS</td>
      <td>29.95</td>
      <td>33.58</td>
      <td>42.26</td>
      <td>70.18</td>
      <td>39.61</td>
      <td>47.67</td>
      <td>36.33</td>
      <td>23.73</td>
      <td>30.55</td>
      <td>38.46</td>
      <td>39.23</td>
    </tr>
    <tr>
      <td>QuRating</td>
      <td>33.28</td>
      <td>33.19</td>
      <td>48.62</td>
      <td>70.95</td>
      <td>41.20</td>
      <td>48.70</td>
      <td>37.04</td>
      <td>26.78</td>
      <td>30.88</td>
      <td>36.54</td>
      <td>40.72</td>
    </tr>
    <tr>
      <td>DSIR</td>
      <td>29.58</td>
      <td>33.98</td>
      <td>48.49</td>
      <td>71.93</td>
      <td>39.51</td>
      <td>47.59</td>
      <td>38.10</td>
      <td>26.44</td>
      <td>32.68</td>
      <td>38.46</td>
      <td>40.68</td>
    </tr>
    <tr>
      <td>DCLM-FastText</td>
      <td>30.40</td>
      <td>34.08</td>
      <td>44.07</td>
      <td>71.38</td>
      <td>41.97</td>
      <td>48.38</td>
      <td>38.80</td>
      <td>29.49</td>
      <td>30.88</td>
      <td>36.54</td>
      <td>40.60</td>
    </tr>
    <tr>
      <td>FineWeb-Edu</td>
      <td>29.66</td>
      <td>33.12</td>
      <td>48.45</td>
      <td>71.71</td>
      <td>41.25</td>
      <td>46.17</td>
      <td>39.19</td>
      <td>28.14</td>
      <td>31.29</td>
      <td>38.46</td>
      <td>40.74</td>
    </tr>
    <tr>
      <td>UltraFineweb</td>
      <td>29.95</td>
      <td>33.31</td>
      <td>43.11</td>
      <td>70.57</td>
      <td>40.79</td>
      <td>47.51</td>
      <td>36.51</td>
      <td>26.44</td>
      <td>31.70</td>
      <td>36.54</td>
      <td>39.64</td>
    </tr>
    <tr>
      <td><strong>OPUS (제안)</strong></td>
      <td><strong>29.89</strong></td>
      <td><strong>33.29</strong></td>
      <td><strong>48.39</strong></td>
      <td><strong>71.27</strong></td>
      <td><strong>41.10</strong></td>
      <td><strong>47.99</strong></td>
      <td><strong>39.68</strong></td>
      <td><strong>26.44</strong></td>
      <td><strong>31.37</strong></td>
      <td><strong>48.08</strong></td>
      <td><strong>41.75</strong></td>
    </tr>
    <tr>
      <td>Random (60B)</td>
      <td>30.24</td>
      <td>33.84</td>
      <td>51.10</td>
      <td>72.25</td>
      <td>40.89</td>
      <td>48.78</td>
      <td>41.98</td>
      <td>23.05</td>
      <td>32.35</td>
      <td>38.46</td>
      <td>41.29</td>
    </tr>
  </tbody>
</table>

<p><strong>AdamW를 사용한 GPT-2 Large (30B 업데이트 토큰):</strong></p>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th>MMLU</th>
      <th>ANLI</th>
      <th>HellaSwag</th>
      <th>PIQA</th>
      <th>SIQA</th>
      <th>W.G.</th>
      <th>ARC-E</th>
      <th>ARC-C</th>
      <th>C.QA</th>
      <th>WSC</th>
      <th>평균</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Random</td>
      <td>28.19</td>
      <td>32.91</td>
      <td>42.65</td>
      <td>69.37</td>
      <td>40.79</td>
      <td>50.12</td>
      <td>37.21</td>
      <td>25.08</td>
      <td>30.06</td>
      <td>36.54</td>
      <td>39.29</td>
    </tr>
    <tr>
      <td>PPL</td>
      <td>28.69</td>
      <td>33.44</td>
      <td>42.23</td>
      <td>68.77</td>
      <td>40.43</td>
      <td>47.36</td>
      <td>36.68</td>
      <td>22.37</td>
      <td>32.84</td>
      <td>36.54</td>
      <td>38.94</td>
    </tr>
    <tr>
      <td>GREATS</td>
      <td>28.77</td>
      <td>33.46</td>
      <td>43.00</td>
      <td>70.46</td>
      <td>40.63</td>
      <td>49.96</td>
      <td>38.45</td>
      <td>23.39</td>
      <td>32.02</td>
      <td>36.54</td>
      <td>39.67</td>
    </tr>
    <tr>
      <td>QuRating</td>
      <td>31.87</td>
      <td>33.08</td>
      <td>43.22</td>
      <td>70.24</td>
      <td>40.74</td>
      <td>49.88</td>
      <td>37.21</td>
      <td>24.75</td>
      <td>33.58</td>
      <td>36.54</td>
      <td>40.11</td>
    </tr>
    <tr>
      <td>DSIR</td>
      <td>28.22</td>
      <td>33.18</td>
      <td>43.42</td>
      <td>69.53</td>
      <td>40.02</td>
      <td>48.93</td>
      <td>37.92</td>
      <td>25.08</td>
      <td>31.20</td>
      <td>38.46</td>
      <td>39.60</td>
    </tr>
    <tr>
      <td>DCLM-FastText</td>
      <td>29.11</td>
      <td>33.05</td>
      <td>43.60</td>
      <td>70.67</td>
      <td>39.41</td>
      <td>47.51</td>
      <td>39.33</td>
      <td>25.08</td>
      <td>33.42</td>
      <td>36.54</td>
      <td>39.77</td>
    </tr>
    <tr>
      <td>FineWeb-Edu</td>
      <td>29.03</td>
      <td>35.41</td>
      <td>42.82</td>
      <td>70.29</td>
      <td>40.38</td>
      <td>47.51</td>
      <td>39.51</td>
      <td>27.12</td>
      <td>31.86</td>
      <td>38.46</td>
      <td>40.24</td>
    </tr>
    <tr>
      <td>UltraFineweb</td>
      <td>29.05</td>
      <td>33.51</td>
      <td>43.51</td>
      <td>70.67</td>
      <td>40.38</td>
      <td>48.62</td>
      <td>41.62</td>
      <td>25.76</td>
      <td>34.15</td>
      <td>36.54</td>
      <td>40.38</td>
    </tr>
    <tr>
      <td><strong>OPUS (제안)</strong></td>
      <td><strong>31.09</strong></td>
      <td><strong>34.04</strong></td>
      <td><strong>45.52</strong></td>
      <td><strong>69.97</strong></td>
      <td><strong>40.69</strong></td>
      <td><strong>51.62</strong></td>
      <td><strong>42.50</strong></td>
      <td><strong>26.44</strong></td>
      <td><strong>33.99</strong></td>
      <td><strong>38.46</strong></td>
      <td><strong>41.43</strong></td>
    </tr>
    <tr>
      <td>Random (60B)</td>
      <td>29.08</td>
      <td>33.08</td>
      <td>44.40</td>
      <td>70.89</td>
      <td>41.15</td>
      <td>48.70</td>
      <td>37.74</td>
      <td>22.03</td>
      <td>32.43</td>
      <td>36.54</td>
      <td>39.60</td>
    </tr>
  </tbody>
</table>

<p><strong>AdamW를 사용한 GPT-2 XL (30B 업데이트 토큰):</strong></p>

<table>
  <thead>
    <tr>
      <th>방법</th>
      <th>MMLU</th>
      <th>ANLI</th>
      <th>HellaSwag</th>
      <th>PIQA</th>
      <th>SIQA</th>
      <th>W.G.</th>
      <th>ARC-E</th>
      <th>ARC-C</th>
      <th>C.QA</th>
      <th>WSC</th>
      <th>평균</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Random</td>
      <td>28.76</td>
      <td>33.56</td>
      <td>46.63</td>
      <td>70.35</td>
      <td>42.37</td>
      <td>49.19</td>
      <td>39.15</td>
      <td>24.41</td>
      <td>32.68</td>
      <td>36.54</td>
      <td>40.36</td>
    </tr>
    <tr>
      <td>PPL</td>
      <td>29.32</td>
      <td>33.67</td>
      <td>45.31</td>
      <td>70.08</td>
      <td>41.71</td>
      <td>49.72</td>
      <td>39.68</td>
      <td>24.75</td>
      <td>31.29</td>
      <td>38.46</td>
      <td>40.02</td>
    </tr>
    <tr>
      <td>GREATS</td>
      <td>28.81</td>
      <td>33.49</td>
      <td>40.73</td>
      <td>69.53</td>
      <td>42.48</td>
      <td>49.01</td>
      <td>34.22</td>
      <td>24.75</td>
      <td>31.04</td>
      <td>38.46</td>
      <td>39.25</td>
    </tr>
    <tr>
      <td>QuRating</td>
      <td>32.24</td>
      <td>32.61</td>
      <td>34.66</td>
      <td>66.65</td>
      <td>38.54</td>
      <td>50.43</td>
      <td>36.86</td>
      <td>24.75</td>
      <td>28.42</td>
      <td>36.54</td>
      <td>38.71</td>
    </tr>
    <tr>
      <td>DSIR</td>
      <td>29.37</td>
      <td>33.09</td>
      <td>45.88</td>
      <td>70.67</td>
      <td>39.97</td>
      <td>47.51</td>
      <td>38.80</td>
      <td>24.41</td>
      <td>33.42</td>
      <td>36.54</td>
      <td>39.97</td>
    </tr>
    <tr>
      <td>DCLM-FastText</td>
      <td>29.43</td>
      <td>34.47</td>
      <td>42.45</td>
      <td>69.91</td>
      <td>41.86</td>
      <td>47.59</td>
      <td>36.33</td>
      <td>24.41</td>
      <td>31.53</td>
      <td>36.54</td>
      <td>39.45</td>
    </tr>
    <tr>
      <td>FineWeb-Edu</td>
      <td>29.71</td>
      <td>33.51</td>
      <td>46.62</td>
      <td>71.93</td>
      <td>41.91</td>
      <td>46.88</td>
      <td>40.04</td>
      <td>25.08</td>
      <td>32.10</td>
      <td>36.54</td>
      <td>40.43</td>
    </tr>
    <tr>
      <td>UltraFineweb</td>
      <td>29.25</td>
      <td>33.51</td>
      <td>41.76</td>
      <td>69.21</td>
      <td>41.40</td>
      <td>49.57</td>
      <td>37.92</td>
      <td>24.07</td>
      <td>32.76</td>
      <td>36.54</td>
      <td>39.60</td>
    </tr>
    <tr>
      <td><strong>OPUS (제안)</strong></td>
      <td><strong>29.43</strong></td>
      <td><strong>33.51</strong></td>
      <td><strong>46.12</strong></td>
      <td><strong>70.35</strong></td>
      <td><strong>41.35</strong></td>
      <td><strong>50.36</strong></td>
      <td><strong>39.33</strong></td>
      <td><strong>29.15</strong></td>
      <td><strong>33.99</strong></td>
      <td><strong>36.54</strong></td>
      <td><strong>41.01</strong></td>
    </tr>
    <tr>
      <td>Random (60B)</td>
      <td>29.55</td>
      <td>33.57</td>
      <td>48.75</td>
      <td>72.09</td>
      <td>41.10</td>
      <td>48.78</td>
      <td>40.92</td>
      <td>27.12</td>
      <td>34.48</td>
      <td>36.54</td>
      <td>41.29</td>
    </tr>
  </tbody>
</table>

<p>FineWeb에서의 주요 발견:</p>
<ul>
  <li>OPUS는 모든 모델/옵티마이저 조합에서 경쟁력 있거나 우수한 평균 정확도 달성</li>
  <li>다양한 모델 규모(Large/XL)와 옵티마이저 유형(Muon/AdamW)에서 강건성 입증</li>
  <li>정적 산업계 베이스라인과 동등하거나 그를 능가하는 성능</li>
  <li>랜덤 30B 대비 랜덤 60B의 차이가 데이터 선택의 중요성을 보여주는 유의미한 참조값 제공</li>
</ul>

<h3 id="74-지속-사전-학습-qwen3-8b-on-sciencepedia">7.4 지속 사전 학습: Qwen3-8B on SciencePedia</h3>

<p><img src="/assets/images/posts/opus-efficient-principled-data-selection-llm-pretraining/x2.png" alt="데이터 선택 방법 비교" /></p>

<p>SciencePedia(30억 토큰 풀)에서 Qwen3-8B-Base의 지속 사전 학습을 평가한다. OPUS는 전체 학습(30억 토큰) 대비 <strong>단 5억 토큰만으로 더 우수한 성능</strong>을 달성하는 6배의 데이터 효율성을 보여준다.</p>

<p>평가 벤치마크:</p>
<ul>
  <li><strong>OlympicArena:</strong> 다학문 인지 추론 벤치마크 (제로샷 프롬프팅)</li>
  <li><strong>SciAssess:</strong> 과학 문헌 분석 LLM 능력 평가 (생물학, 화학, 재료공학, 의학 4개 하위 도메인, 3-샷)</li>
</ul>

<h3 id="75-제거-실험ablation-study">7.5 제거 실험(Ablation Study)</h3>

<p>주요 설계 선택을 검증한다:</p>

<ul>
  <li><strong>옵티마이저 유도 전처리기:</strong> 원시 그래디언트 공간 대신 옵티마이저 유도 기하학에서 평가하면 측정 가능한 개선 제공</li>
  <li><strong>Bench-Proxy 구성:</strong> 검색 기반 인-분포 프록시 풀이 랜덤 검증 집합보다 우수</li>
  <li><strong>CountSketch 투영 차원:</strong> 압축 비율과 순위 보존 간의 트레이드오프 탐색</li>
  <li><strong>볼츠만 샘플링 vs. greedy 선택:</strong> 소프트 샘플링이 비정상적(non-stationary) 스트림에서 다양성 붕괴 방지</li>
</ul>

<p>모든 주요 구성요소가 OPUS 성능 향상에 의미 있게 기여함을 확인한다.</p>

<h3 id="76-효율성-분석">7.6 효율성 분석</h3>

<p>OPUS는 Ghost 기법과 CountSketch 투영을 통해 <strong>단 4.7%의 추가 계산 비용</strong>만으로 동작한다. GPT-2 XL 기준으로 랜덤 선택 대비 8배의 계산량 감소를 달성하면서도 성능을 크게 향상시킨다. 스케치 차원 $m = 8192$는 최대 행렬 그래디언트(~10.24M 차원)를 약 1,250배 압축한다.</p>

<hr />

<h2 id="8-결론-및-향후-연구">8. 결론 및 향후 연구</h2>

<p>본 논문은 현대 옵티마이저 기하학과 정렬된 원칙적이고 확장 가능한 LLM 사전 학습 동적 데이터 선택 프레임워크 OPUS를 제안하였다. 원시 그래디언트 공간이 아닌 옵티마이저 유도 업데이트 공간에서 유용성을 정의함으로써, 각 최적화 스텝에서 어떤 토큰이 학습을 이끌어야 하는지에 대한 이론적으로 근거 있는 접근법을 제공한다.</p>

<p><strong>핵심 기여:</strong></p>
<ol>
  <li>AdamW와 Muon에 대한 폐쇄형 근사를 사용한 옵티마이저 인식 유용성 목적함수</li>
  <li>인-분포 프록시 신호를 보장하는 안정적인 Bench-Proxy 구성</li>
  <li>Ghost 기법과 CountSketch를 결합한 효율적인 구현</li>
  <li>비정상적 스트림 하에서 다양성을 보존하는 볼츠만 샘플링</li>
  <li>다양한 설정에서의 포괄적인 실증 검증</li>
</ol>

<p><strong>향후 연구 방향:</strong></p>
<ul>
  <li>다른 현대 옵티마이저(AdamW 변형, 새로운 적응형 방법)로 옵티마이저 인식 평가 확장</li>
  <li>학습 동역학에 반응하는 적응적 프록시 구성 메커니즘 개발</li>
  <li>OPUS와 다른 데이터 효율 기법(커리큘럼 학습, 코어셋 선택) 결합</li>
  <li>더 큰 모델과 더 긴 학습 지평선으로 확장</li>
  <li>수렴 및 근사 품질에 대한 이론적 보장 탐구</li>
</ul>]]></content><author><name>JunHan</name></author><category term="인공지능" /><category term="LLM" /><category term="데이터 선택" /><category term="Pre-training" /><category term="AdamW" /><category term="Muon" /><category term="논문 리뷰" /><summary type="html"><![CDATA[https://arxiv.org/abs/2602.05400]]></summary></entry><entry><title type="html">Attention Is Not What You Need: Grassmann Flows as an Attention-Free Alternative for Sequence Modeling</title><link href="https://junhanzang.github.io/attention-is-not-what-you-need-grassmann-flows/" rel="alternate" type="text/html" title="Attention Is Not What You Need: Grassmann Flows as an Attention-Free Alternative for Sequence Modeling" /><published>2026-02-18T09:00:00+09:00</published><updated>2026-02-18T09:00:00+09:00</updated><id>https://junhanzang.github.io/attention-is-not-what-you-need-grassmann-flows</id><content type="html" xml:base="https://junhanzang.github.io/attention-is-not-what-you-need-grassmann-flows/"><![CDATA[<blockquote>
  <p><strong>논문 링크</strong>: <a href="https://arxiv.org/abs/2512.19428">arXiv 2512.19428</a>
<strong>저자</strong>: Zhang Chong</p>
</blockquote>

<hr />

<h2 id="abstract">Abstract</h2>

<p>Self-attention은 현대 시퀀스 모델의 사실상(de facto) 표준 연산이 되었다. 강력한 자연어 성능을 위해서는 dense 또는 approximate attention 메커니즘을 통해 모든 토큰 쌍을 attend해야 한다고 암묵적으로 가정되곤 한다. 본 논문에서는 이 가정에 의문을 제기한다.</p>

<p>저자는 self-attention을 <strong>텐서 리프팅(tensor lifting)</strong>의 한 특수 사례로 재해석한다: 은닉 벡터가 쌍별 상호작용의 고차원 공간으로 매핑되고, 이 리프팅된 텐서에 대한 제약을 통해 경사 하강법으로 학습이 진행된다. 이 리프팅은 매우 표현력이 높지만 수학적으로 추적하기 어렵다; 여러 레이어와 헤드를 거치면서, 소수의 명시적 불변량으로 모델의 행동을 설명하는 것이 거의 불가능해진다. 이러한 관점에서, 대규모 Transformer 모델의 “해석 불가능성(uninterpretability)”의 핵심 원인은 단순히 크기가 아니라, 핵심 연산이 분석적으로 불투명한(analytically opaque) 고차원 텐서 리프트라는 사실에 있다.</p>

<p>대안적 설계로서, 저자는 <strong>Grassmann 흐름(Grassmann flows)</strong> 기반의 attention-free 시퀀스 모델을 제안한다. $L \times L$ attention 행렬을 구성하는 대신, (i) 토큰 상태를 저차원 공간으로 축소하고, (ii) 로컬 토큰 쌍을 Grassmann 다양체 $\mathrm{Gr}(2,r)$ 위의 2차원 부분공간으로 해석하며, (iii) Plücker 좌표를 통해 유한 차원 사영 공간에 임베딩하고, (iv) 게이트 믹싱 블록으로 기하학적 특성을 은닉 상태에 다시 융합한다. 정보는 명시적 쌍별 가중치가 아닌, 레이어와 다중 스케일 로컬 윈도우에 걸친 저랭크 부분공간의 제어된 변형을 통해 시퀀스를 흐른다.</p>

<p>이 Causal Grassmann 아키텍처를 언어 모델링(Wikitext-2)과 자연어 추론(SNLI)에서 평가한다. Wikitext-2에서, 13~18M 파라미터의 순수 Grassmann 기반 언어 모델이 크기 매칭된 Transformer 베이스라인 대비 10~15% 이내의 validation perplexity를 달성한다. SNLI에서, DistilBERT 위에 Grassmann 기반 분류 헤드가 Transformer 헤드를 약간 능가한다(best validation accuracy 0.8550 vs. 0.8545; test accuracy 0.8538 vs. 0.8511). 복잡도 분석은 본 믹싱 메커니즘이 고정 랭크에서 시퀀스 길이에 대해 선형으로 스케일링됨을 보여주며, 이는 full self-attention의 이차 비용과 대비된다.</p>

<p>저자의 목표는 attention이 구식이라고 주장하는 것이 아니라, 그것을 <strong>탈중심화(de-center)</strong>하는 것이다. 근본적으로 필요한 것은 attention 자체가 아니라 은닉 표현을 위한 충분히 표현적인 기하학적 진화 메커니즘이라고 주장한다. Grassmann 흐름은 명시적 attention 가중치 없이도 경쟁적 성능을 얻을 수 있음을 보여주며, 동시에 모델의 핵심을 유한 차원 다양체 위의 흐름이라는 — 명시적 불변량과 기하학적 분석에 더 적합한 — 수학적 설정으로 옮긴다.</p>

<hr />

<h2 id="1-introduction">1. Introduction</h2>

<p>Transformer[1, 2, 4, 5]는 self-attention을 중심 연산으로 만들어 시퀀스 모델링을 재편했다. 은닉 상태 $H \in \mathbb{R}^{L \times d}$의 시퀀스가 주어지면, self-attention은 쿼리, 키, 밸류를 구성하고:</p>

\[Q = HW_Q, \quad K = HW_K, \quad V = HW_V\]

<p>$L \times L$ 쌍별 호환성 행렬 $QK^\top$을 계산하여 softmax로 정규화한 가중치를 형성하고, 이를 사용하여 밸류를 혼합한다. 이 연산은 표현적이고, 병렬화 가능하며, 너무나 ubiquitous해져서 종종 필수불가결한 것으로 취급된다.</p>

<p>본 논문에서는 다른 입장을 취한다. Attention을 더 싸게, 더 희소하게, 더 확장 가능하게 만드는 방법을 묻는 대신, 더 근본적인 질문을 던진다:</p>

<blockquote>
  <p><strong>명시적 self-attention, 즉 $L \times L$ 가중치 텐서가 정말 강력한 시퀀스 모델링과 추론에 필요한 근본적 요소인가?</strong></p>
</blockquote>

<p>저자의 답은 <strong>“아니오”</strong>이다. Attention은 표현의 기하학적 리프팅을 구현하는 한 가지 특정 방법이지, 유일한 방법이 아니다.</p>

<h3 id="11-attention-as-tensor-lifting">1.1 Attention as Tensor Lifting</h3>

<p>개념적으로, self-attention은 텐서 리프팅의 한 형태를 수행한다. 위치 $t$에서의 은닉 벡터 $h_t \in \mathbb{R}^d$로부터, 토큰 간 쌍별 관계를 인코딩하는 공간 — 헤드당 $L \times L$ 호환성 텐서와 정규화된 가중치 — 으로 이동한다. 이 리프팅은 몇 가지 핵심 특성을 갖는다:</p>

<ul>
  <li><strong>극도로 세밀하다(extremely fine-grained)</strong>: 모든 위치 쌍 $(i,j)$가, 모든 헤드에서, 모든 레이어에서 별도의 학습된 가중치를 받는다.</li>
  <li><strong>고차원이다(high-dimensional)</strong>: 모델의 유효 상태는 토큰 임베딩뿐만 아니라 레이어에 걸쳐 진화하는 attention 텐서의 구름도 포함한다.</li>
  <li><strong>압축하기 어렵다(hard to compress)</strong>: 모든 레이어와 헤드에 걸친 attention 행동을 요약하는 명백한 소수의 전역 불변량이 없다.</li>
</ul>

<p>기하학적 관점에서, self-attention은 시퀀스를 토큰 표현의 다양체에서 쌍별 상호작용의 훨씬 더 큰 공간으로 리프팅하고, 그곳에서 연산을 수행한 후 다시 투영한다. Transformer의 성공은 이 리프팅이 강력하다는 것을 시사하지만; 동시에 왜 해석하기 어려운지에 대한 이유도 시사한다:</p>

<blockquote>
  <p><strong>Claim.</strong> 대규모 모델의 “해석 불가능성”의 주요 원인은 attention이 수행하는 텐서 리프팅이 수학적으로 추적 불가능(non-traceable)하다는 점이다: 각 레이어와 헤드에서 도입되는 자유도가 너무 커서, 모델의 전역적 효과를 설명할 수 있는 작고 명시적인 불변량 집합이 존재하지 않는다.</p>
</blockquote>

<p>다시 말해, 모델의 핵심은 간결한 분석적 설명에 저항하는 고차원 텐서 공간에 살고 있다. 개별 attention 맵을 시각화하는 것은 가능하지만, 이를 일관된 전역적 그림으로 집계하는 것은 불가능하다.</p>

<h3 id="12-reasoning-as-geometry-on-a-semantic-manifold">1.2 Reasoning as Geometry on a Semantic Manifold</h3>

<p>대안적 출발점은 추론을 의미 다양체 위의 기하학으로 생각하는 것이다. 높은 수준에서, 다음의 관점을 취한다:</p>

<ol>
  <li>언어 모델의 은닉 상태는 고차원 <strong>의미 다양체(semantic manifold)</strong> 위의 점으로 볼 수 있다. 각 순전파는 이 다양체 위의 경로를 추적한다.</li>
  <li><strong>Attention</strong>은 특정 종류의 <strong>텐서 리프팅</strong>을 구현한다: 벡터 $h_t$를 취하고, 다른 위치와의 내적을 통해 그 정보를 쌍별 상호작용의 공간으로 리프팅하여 더 풍부한 로컬 기하학을 발견한다.</li>
  <li>Transformer의 <strong>효과성</strong>은 후속 신경망 레이어가 이 리프팅된 기하학을 어떻게 <strong>정렬하고 제약하는지</strong>에 달려 있다. 네트워크는 attention의 야생적 자유도를 유용한 행동을 지원하는 흐름으로 제한하는 것을 학습한다.</li>
  <li>이 그림에서 <strong>추론(reasoning)</strong>은 의미 다양체의 내재적 기하학적 구조를 반복적으로 샘플링하고 정제하는 과정이다: 표현을 구조화된 방식으로 변형하는 연산자를 레이어 위에 레이어를 적용한다.</li>
</ol>

<p>이 관점 내에서, 핵심 문제는 텐서 공간으로 리프팅할지 여부가 아니라, 표현의 기하학적 진화 규칙을 어떻게 설계하는가이다. Self-attention은 그러한 규칙 중 하나이지만, 불투명하다: 리프팅된 텐서가 너무 풍부해서 그 장거리 행동이 수학적 용어로 추적하기 극히 어려워진다.</p>

<p>이는 다음의 더 날카로운 철학적 주장을 시사한다:</p>

<blockquote>
  <p><strong>Claim.</strong> 대규모 Transformer의 비해석성은 단순히 깊이나 파라미터 수 때문이 아니다; 그것은 핵심 연산으로 텐서 리프팅을 선택한 것에 근본적 원인이 있다. $L \times L$ attention 텐서로 리프팅하는 순간, 소수의 불변량에 의한 간단하고 명시적이며 전역적인 설명의 가능성을 이미 잃게 된다.</p>
</blockquote>

<p>더 수학적으로 구조화된 추론의 관점을 원한다면, 이 불투명한 텐서 리프팅을 더 제어된 기하학적 객체로 대체해야 할 수 있다.</p>

<h3 id="13-grassmann-flows-as-a-controlled-alternative">1.3 Grassmann Flows as a Controlled Alternative</h3>

<p>본 논문은 대안적 설계를 탐구한다: attention 텐서로 리프팅하는 대신, <strong>Grassmann 다양체</strong>로 리프팅한다. 구성은 직관적이다:</p>

<ul>
  <li>학습된 선형 맵 $W_{\text{red}}$를 적용하여 $h_t \in \mathbb{R}^d$를 $z_t \in \mathbb{R}^r$ ($r \ll d$)로 축소한다.</li>
  <li>로컬 윈도우(예: 쌍 $(t, t+\Delta)$)에 대해, ${z_t, z_{t+\Delta}}$가 $\mathbb{R}^r$에서 span하는 부분공간을 고려하고, 이를 Grassmann 다양체 $\mathrm{Gr}(2,r)$ 위의 한 점으로 취급한다.</li>
  <li><strong>Plücker 임베딩</strong>을 사용하여, 각 2차원 부분공간을 $\mathbb{R}^{\binom{r}{2}}$의 좌표 벡터로 매핑하며, 이는 알려진 대수적 관계를 따른다.</li>
  <li>이 Plücker 좌표는 <strong>기하학적 특성(geometric features)</strong>이 되어 $\mathbb{R}^d$로 다시 투영되고, 학습된 게이팅을 통해 원본 은닉 상태와 융합된다.</li>
</ul>

<p>Attention과의 핵심 차이는 모델이 명시적이고 유한 차원 구조를 가진 다양체 위에서 작동하도록 제약된다는 것이다:</p>

<ul>
  <li>자유도는 $r$과 윈도우 크기의 선택에 의해 제어된다; $L \times L$ 텐서가 없다.</li>
  <li>로컬 기하학의 표현은 명시적 대수적 제약(Grassmann + Plücker 관계)을 가진 공간에 산다[11, 12, 13, 14].</li>
  <li>원칙적으로 이 Grassmann 특성의 레이어에 걸친 진화를 다양체 위의 유한 차원 <strong>흐름(flow)</strong>으로 연구할 수 있다.</li>
</ul>

<p>이 결과 아키텍처를 <strong>Causal Grassmann 모델</strong> 또는 <strong>Grassmann 흐름</strong>이라 부른다. 중요한 점은 이것이 완전히 <strong>attention-free</strong>라는 것이다: attention 행렬을 구성하거나 softmax 정규화 텐서 가중치를 계산하는 단계가 없다.</p>

<h3 id="14-contributions">1.4 Contributions</h3>

<p>본 논문의 기여는 다음과 같다:</p>

<ol>
  <li><strong>Self-attention에 대한 개념적 비판.</strong> Attention을 텐서 리프팅 메커니즘으로 프레이밍하고, Transformer 비해석성의 주요 원인이 이 리프팅이 수학적으로 추적 불가능하다는 것 — 모델의 핵심 계산이 소수의 불변량이 없는 극도로 고차원적 공간에 살고 있다는 것 — 이라 주장한다.</li>
  <li><strong>Grassmann 흐름 기반의 attention-free 아키텍처.</strong> (i) 토큰 상태를 축소하고, (ii) 로컬 쌍을 Plücker 좌표를 통해 $\mathrm{Gr}(2,r)$ 위의 점으로 인코딩하며, (iii) 이 기하학적 특성을 명시적 attention 가중치 없이 표현에 다시 융합하는 Causal Grassmann 믹싱 레이어를 제안한다.</li>
  <li><strong>Wikitext-2와 SNLI에서의 실증적 증거.</strong> 13~18M 파라미터의 순수 Grassmann 언어 모델이 Wikitext-2에서 Transformer 베이스라인과 경쟁적이며, Grassmann 기반 NLI 헤드가 SNLI에서 Transformer 헤드를 약간 능가함을 보인다.</li>
  <li><strong>복잡도 및 해석 가능성 분석.</strong> Grassmann 믹싱의 점근적 복잡도를 분석하고, 고정 랭크와 윈도우 크기에서 시퀀스 길이에 대해 선형으로 스케일링됨을 보인다. 또한 Grassmann 다양체 위에서 작동하면 모델의 행동에 대한 전역 불변량을 정의하는 것이 더 현실적이라 주장한다.</li>
</ol>

<p>목표는 attention을 모든 곳에서 대체하는 것이 아니라, 설계 공간의 다른 영역을 열어주는 것이다: 핵심 시퀀스 상호작용이 불투명한 텐서 리프팅이 아닌 명시적 기하학적 흐름과 다양체에 의해 지배되는 아키텍처.</p>

<hr />

<h2 id="2-attention-as-geometric-lifting-and-grassmann-background">2. Attention as Geometric Lifting and Grassmann Background</h2>

<p>이 섹션에서는 attention에 대한 기하학적 관점을 더 정밀하게 만들고, 모델의 기반이 되는 Grassmann 구조를 소개한다.</p>

<h3 id="21-self-attention-as-geometric-lifting">2.1 Self-Attention as Geometric Lifting</h3>

<p>은닉 상태 $H \in \mathbb{R}^{L \times d}$의 시퀀스가 주어지면, 표준 multi-head self-attention 레이어는 각 헤드 $h$에 대해 다음을 계산한다:</p>

\[Q_h = HW_Q^{(h)}, \quad K_h = HW_K^{(h)}, \quad V_h = HW_V^{(h)}\]

<p>$W_Q^{(h)}, W_K^{(h)}, W_V^{(h)} \in \mathbb{R}^{d \times d_h}$이며 일반적으로 $d_h = d/H_{\text{heads}}$이다.</p>

<p>각 헤드에 대해 다음을 계산한다:</p>

\[A_h = \operatorname{softmax}\left(\frac{Q_h K_h^\top}{\sqrt{d_h}}\right) \in \mathbb{R}^{L \times L}\]

<p>그리고 헤드 출력을 얻는다:</p>

\[O_h = A_h V_h \in \mathbb{R}^{L \times d_h}\]

<p>출력 $O_h$는 연결(concatenate)되어 $\mathbb{R}^d$로 선형 투영된다.</p>

<p>이 과정은 다음과 같이 해석할 수 있다:</p>

<ul>
  <li>선형 맵 $W_Q^{(h)}, W_K^{(h)}$는 시퀀스를 내적이 위치 간 호환성을 인코딩하는 표현으로 임베딩한다.</li>
  <li>행렬 $Q_h K_h^\top$은 $H$에서 쌍별 상호작용의 공간으로의 <strong>리프트(lift)</strong>이다: 각 토큰은 벡터만으로가 아니라 다른 모든 토큰과의 유사성으로도 표현된다.</li>
  <li>Softmax와 $V_h$에 의한 곱은 이 리프팅된 구조에 대한 특정 기하학적 연산을 구현하며, 이 호환성에 따라 정보를 재분배한다.</li>
</ul>

<p>기하학적으로, 모델은 단순히 은닉 상태의 다양체를 따라 이동하는 것이 아니라, 시퀀스 길이에 대해 이차적으로 증가하는 차원의 쌍별 관계의 구름도 수정한다. 여러 헤드와 레이어에 걸쳐, 이 구름은 극도로 복잡해진다. 개별 attention 맵을 시각화할 수 있지만, 모델의 전역적 행동은 이러한 리프트의 합성에 의해 지배되어 간결한 불변량으로 요약하기 어렵다.</p>

<h3 id="22-grassmann-manifolds-and-plücker-coordinates">2.2 Grassmann Manifolds and Plücker Coordinates</h3>

<p><strong>Grassmann 다양체</strong> $\mathrm{Gr}(k,r)$은 $\mathbb{R}^r$의 모든 $k$차원 선형 부분공간의 집합이다. 이것은 차원 $k(r-k)$의 매끄러운 다양체이다. 본 논문에서는 $k=2$에 초점을 맞추므로, $\mathrm{Gr}(2,r)$은 $\mathbb{R}^r$의 모든 2차원 부분공간을 차원 $2(r-2)$로 매개변수화한다.</p>

<p>Grassmann 다양체 위의 점을 표현하는 여러 표준 방법이 있다. 저자는 각 $k$차원 부분공간을 사영 공간의 한 점으로 매핑하는 <strong>Plücker 임베딩</strong>을 사용한다:</p>

<ul>
  <li>$k$차원 부분공간 $U \subset \mathbb{R}^r$의 기저 $(u_1, \dots, u_k)$가 주어지면, $k$번째 외적 거듭제곱(exterior power) $\Lambda^k \mathbb{R}^r$에서 외적(exterior product) $u_1 \wedge \cdots \wedge u_k$를 형성한다.</li>
  <li>좌표로, $u_1 \wedge \cdots \wedge u_k$는 행렬 $[u_1 \dots u_k]$의 $k \times k$ 소행렬(minors)인 원소를 가진 $\mathbb{R}^{\binom{r}{k}}$의 벡터로 표현할 수 있다.</li>
  <li>$k=2$의 경우, 이것은 특히 간단하다: $u, v \in \mathbb{R}^r$이 2차원 부분공간을 span하면, $u \wedge v$는 모든 쌍별 행렬식으로 주어진다:</li>
</ul>

\[p_{ij} = u_i v_j - u_j v_i, \quad 1 \leq i &lt; j \leq r\]

<p>이것은 벡터 $p \in \mathbb{R}^{\binom{r}{2}}$를 형성한다.</p>

<p>이 임베딩 하에서 $\mathrm{Gr}(2,r)$의 상(image)은 $\mathbb{R}^{\binom{r}{2}}$ 전체가 아니라; 이차 Plücker 관계에 의해 정의된 대수적 다양체(algebraic variety)이다. 그럼에도, 본 논문의 목적을 위해 $p$를 $u$와 $v$가 span하는 부분공간을 인코딩하는 정규화된 특성 벡터로 간주할 수 있다. 같은 부분공간을 span하는 다른 기저는 비례하는 Plücker 벡터를 산출하며, 이는 임베딩의 사영적(projective) 성질을 반영한다.</p>

<p>이 표현을 사용하여 선형 차원 축소 후 토큰 벡터 쌍의 로컬 기하학을 인코딩한다.</p>

<h3 id="23-why-grassmann-for-sequence-modeling">2.3 Why Grassmann for Sequence Modeling?</h3>

<p>왜 Grassmann 다양체를 믹싱 규칙의 backbone으로 선택하는가? 다른 다양체나 더 ad hoc한 특성 변환 대신? 몇 가지 이유가 있다.</p>

<p><strong>로컬 선형 구조(Local linear structure).</strong> 매끄러운 다양체 위에서, 로컬 기하학은 접선 공간과 그 부분공간으로 포착될 수 있다. Grassmann 다양체는 선형 부분공간의 집합을 자연스럽게 매개변수화하므로, 더 복잡한 구조의 로컬 선형 근사를 표현하기에 적합하다. 축소된 은닉 상태의 쌍을 취하고 그 span을 형성할 때, 우리는 효과적으로 의미 다양체에서의 로컬 방향과 평면을 인코딩하고 있다.</p>

<p><strong>유한 차원 대수적 구조(Finite-dimensional algebraic structure).</strong> Grassmann 다양체는 유한 차원이며 Plücker 임베딩을 통해 사영 공간 내에 위치한다. 이는 기하학적 정보를 알려진 대수적 제약을 따르는 고정 차원 특성 벡터로 인코딩할 수 있음을 의미한다. 신경망은 이 특성에 대해 연산할 수 있으면서, 기반 객체는 명확한 기하학적 의미를 가진 부분공간으로 남는다.</p>

<p><strong>근사 정리와의 호환성(Compatibility with approximation theorems).</strong> 실해석학의 관점에서, 의미 공간을 다양체 $M$으로, 모델을 연산자 $\Phi: M \to M$으로 이상화할 수 있다. 고전적 보편 근사 정리는 충분한 용량이 주어지면 신경망이 그러한 연산자를 근사할 수 있다고 말하지만, 특정 기하학을 규정하지는 않는다. 우리의 믹싱 규칙이 로컬 이웃을 먼저 $\mathrm{Gr}(2,r)$로 인코딩한 다음 그 다양체 위에서 작동하도록 제약함으로써, 모델의 동역학이 제어된 자유도를 가진 구조화된 다양체를 통해 팩터링되도록 요구하는 것이다. 보편 근사는 여전히 적용되지만, 근사가 이제 구조를 분석할 수 있는 공간 위에서 전개된다.</p>

<p>종합하면, 이 특성들은 비구조화 텐서 리프팅을 더 제어되고, 해석 가능한, 기하학적 원시 연산으로 대체하고자 할 때 Grassmann 다양체를 자연스러운 선택으로 만든다.</p>

<hr />

<h2 id="3-methods-a-causal-grassmann-transformer-without-attention">3. Methods: A Causal Grassmann Transformer without Attention</h2>

<p>아키텍처를 상세히 설명한다. 설계는 Transformer 인코더의 넓은 윤곽을 따르지만, 각 self-attention 블록을 다음을 수행하는 Causal Grassmann 믹싱 블록으로 대체한다:</p>

<ol>
  <li>은닉 상태를 저차원 공간으로 축소하고,</li>
  <li>로컬 쌍을 구성하여 $\mathbb{R}^{\binom{r}{2}}$의 Plücker 벡터로 인코딩하며,</li>
  <li>이 기하학적 특성을 게이팅과 피드포워드 네트워크를 통해 원본 은닉 상태에 다시 혼합한다.</li>
</ol>

<h3 id="31-token-and-positional-embeddings">3.1 Token and Positional Embeddings</h3>

<p>어휘 크기 $V$에 대한 표준 next-token LM 설정에서, 토큰 시퀀스 $(x_1, \dots, x_L)$을 학습된 임베딩 행렬 $E \in \mathbb{R}^{V \times d}$와 위치 임베딩 $P \in \mathbb{R}^{L_{\max} \times d}$를 사용하여 $\mathbb{R}^d$에 임베딩한다:</p>

\[h_t^{(0)} = E(x_t) + P_t, \quad t = 1, \dots, L\]

<p>실험 전반에 걸쳐 $d = 256$을 사용한다. 결과 시퀀스 $H^{(0)} = (h_1^{(0)}, \dots, h_L^{(0)})$는 $N$개의 쌓인 Causal Grassmann Transformer 레이어를 통과한다.</p>

<h3 id="32-causal-grassmann-mixing-layer">3.2 Causal Grassmann Mixing Layer</h3>

<p>각 레이어는 $H \in \mathbb{R}^{L \times d}$를 입력으로 받아 업데이트된 시퀀스 $\tilde{H} \in \mathbb{R}^{L \times d}$를 출력한다. 레이어 내의 핵심 연산은 다음과 같다:</p>

<h4 id="step-1-linear-reduction-선형-축소">Step 1: Linear Reduction (선형 축소)</h4>

<p>먼저 각 은닉 상태를 저차원 벡터로 축소한다:</p>

\[z_t = W_{\text{red}} h_t + b_{\text{red}}, \quad W_{\text{red}} \in \mathbb{R}^{r \times d},\ b_{\text{red}} \in \mathbb{R}^r\]

<p>일반적으로 $r \ll d$; 실험에서 $r = 32$를 사용한다. 이것은 $Z = (z_1, \dots, z_L) \in \mathbb{R}^{L \times r}$을 생성한다.</p>

<h4 id="step-2-multi-scale-local-pairing-다중-스케일-로컬-페어링">Step 2: Multi-Scale Local Pairing (다중 스케일 로컬 페어링)</h4>

<p>윈도우 크기(오프셋) 집합 $\mathcal{W} = {\Delta_1, \dots, \Delta_m}$을 정의한다, 예를 들어:</p>

\[\mathcal{W} = \{1, 2, 4, 8, 12, 16\}\]

<p>또는 더 깊은 모델의 경우 $(1,1,2,2,4,4,8,8,12,12,16,16)$ 같은 다층 스케줄. 각 위치 $t$와 오프셋 $\Delta \in \mathcal{W}$에 대해 $t + \Delta \leq L$이면 쌍 $(z_t, z_{t+\Delta})$를 형성한다.</p>

<p>주어진 $t$에 대해, 이것은 최대 $m$개의 쌍을 생성한다:</p>

\[(z_t, z_{t+\Delta_1}),\ (z_t, z_{t+\Delta_2}),\ \dots\]

<p>이것들을 다중 스케일의 로컬 이웃으로 취급한다. 페어링은 <strong>인과적(causal)</strong>이다: $t$를 엄밀히 오른쪽(미래) 위치와만 쌍을 이루어 left-to-right 언어 모델링과 일관성을 유지한다.</p>

<h4 id="step-3-grassmann--plücker-encoding">Step 3: Grassmann / Plücker Encoding</h4>

<p>각 쌍 $(z_t, z_{t+\Delta})$에 대해, $\mathbb{R}^r$에서 이 벡터들이 span하는 2차원 부분공간을 고려한다. Plücker 벡터 $p_t^{(\Delta)} \in \mathbb{R}^{\binom{r}{2}}$를 형성한다:</p>

\[p_{ij}^{(\Delta)}(t) = z_{t,i} \cdot z_{t+\Delta,j} - z_{t,j} \cdot z_{t+\Delta,i}, \quad 1 \leq i &lt; j \leq r\]

<p>수치 안정성을 위해 선택적 정규화를 적용한다:</p>

\[\hat{p}_t^{(\Delta)} = \frac{p_t^{(\Delta)}}{\max(\|p_t^{(\Delta)}\|_2, \varepsilon)}\]

<p>이것은 각 $t$와 $\Delta$에 대한 Plücker 특성 집합을 산출한다.</p>

<h4 id="step-4-projection-back-to-model-space-모델-공간으로-역투영">Step 4: Projection Back to Model Space (모델 공간으로 역투영)</h4>

<p>학습된 선형 맵을 통해 Grassmann 특성을 모델 차원으로 역투영한다:</p>

\[g_t^{(\Delta)} = W_{\text{plü}} \hat{p}_t^{(\Delta)} + b_{\text{plü}}, \quad W_{\text{plü}} \in \mathbb{R}^{d \times \binom{r}{2}}\]

<p>오프셋에 걸쳐 합산 또는 평균으로 집계한다:</p>

\[g_t = \frac{1}{|\mathcal{W}_t|} \sum_{\Delta \in \mathcal{W}_t} g_t^{(\Delta)}\]

<p>여기서 $\mathcal{W}_t = {\Delta \in \mathcal{W} : t + \Delta \leq L}$은 위치 $t$에서의 유효 오프셋 집합이다.</p>

<p>벡터 $g_t \in \mathbb{R}^d$는 위치 $t$ 주변의 다중 스케일 로컬 Grassmann 기하학을 포착한다.</p>

<h4 id="step-5-gated-fusion-게이트-융합">Step 5: Gated Fusion (게이트 융합)</h4>

<p>원본 은닉 상태와 Grassmann 특성을 연결하여 게이트를 계산한다:</p>

\[u_t = [h_t; g_t] \in \mathbb{R}^{2d}\]

\[\alpha_t = \sigma(W_{\text{gate}} u_t + b_{\text{gate}}), \quad W_{\text{gate}} \in \mathbb{R}^{d \times 2d}\]

<p>혼합 표현은:</p>

\[\tilde{h}_t^{\text{mix}} = \alpha_t \odot h_t + (1 - \alpha_t) \odot g_t\]

<p>이후 layer normalization과 dropout이 따른다:</p>

\[\hat{h}_t = \text{LayerNorm}(\tilde{h}_t^{\text{mix}}); \quad \hat{h}_t = \text{Dropout}(\hat{h}_t)\]

<h4 id="step-6-feed-forward-block">Step 6: Feed-Forward Block</h4>

<p>표준 Transformer와 같이, position-wise 피드포워드 네트워크를 적용한다:</p>

\[\phi_t = W_2 \sigma(W_1 \hat{h}_t + b_1) + b_2\]

<p>$W_1 \in \mathbb{R}^{d_{\text{ff}} \times d}$, $W_2 \in \mathbb{R}^{d \times d_{\text{ff}}}$, $d_{\text{ff}} = 4d$이며, 비선형성 $\sigma$로 GELU를 사용한다. 또 다른 잔차 연결과 layer normalization이 레이어를 완성한다:</p>

\[h_t' = \text{LayerNorm}(\hat{h}_t + \phi_t)\]

<p>$N$개의 이런 레이어를 쌓으면 전체 Causal Grassmann Transformer가 된다.</p>

<h3 id="33-comparison-to-self-attention">3.3 Comparison to Self-Attention</h3>

<p>시퀀스 길이 $L$과 은닉 차원 $d$에서, 표준 multi-head self-attention 레이어의 시간 복잡도는:</p>

\[\mathcal{O}(Ld^2 + L^2 d_{\text{head}})\]

<p>$d_{\text{head}}$는 헤드당 차원이다. 첫 번째 항은 $Q, K, V$ 계산에서, 두 번째 항은 행렬 곱 $QK^\top$ (크기 $L^2$)과 후속하는 $L \times L$ attention 행렬과 $V$의 곱에서 발생한다.</p>

<p>Grassmann 믹싱 레이어의 주요 비용은:</p>

<ul>
  <li><strong>선형 축소</strong>: $HW_{\text{red}}^\top$은 $\mathcal{O}(Ldr)$이 소요된다.</li>
  <li>
    <table>
      <tbody>
        <tr>
          <td><strong>Plücker 계산</strong>: 각 위치와 오프셋에 대해 $p_t^{(\Delta)}$를 형성하는 데 $\mathcal{O}(r^2)$이 소요된다. $m =</td>
          <td>\mathcal{W}</td>
          <td>$ 오프셋으로, $\mathcal{O}(Lmr^2)$이 기여한다.</td>
        </tr>
      </tbody>
    </table>
  </li>
  <li><strong>모델 공간으로의 투영</strong>: $W_{\text{plü}} \hat{p}_t^{(\Delta)}$는 쌍당 $\mathcal{O}(d\binom{r}{2})$이 소요되어, $\mathcal{O}(Lmdr^2)$를 준다.</li>
  <li><strong>게이팅과 피드포워드</strong>: 둘 다 표준 Transformer와 같이 $\mathcal{O}(Ld^2)$이다.</li>
</ul>

<p>$r$과 $m$을 고정 하이퍼파라미터로 취급하면(실험에서 그러하며), $r \ll d$이고 $r^2$이 적당하므로, Plücker와 투영 비용은 $\mathcal{O}(Ld^2)$ 항에 흡수될 수 있다. 결정적으로, <strong>$L^2$ 항이 없다</strong>: 고정 $r$과 $m$에서 복잡도는 $L$에 대해 선형이다:</p>

\[\text{Causal Grassmann: } \mathcal{O}(Ld^2) \quad \text{vs.} \quad \text{Self-attention: } \mathcal{O}(L^2 d_{\text{head}} + Ld^2)\]

<p>실제로, 현재 구현은 적당한 $L$에서 고도로 최적화된 GPU attention 커널보다 스텝당 느리다 — Plücker 좌표 계산과 reshape 처리의 오버헤드 때문이다. 그러나, $L$에 대해 점근적으로, 그리고 추가 엔지니어링을 통해, Grassmann 레이어는 원칙적으로 더 확장 가능할 수 있다.</p>

<hr />

<h2 id="4-experimental-setup">4. Experimental Setup</h2>

<p>제안된 Causal Grassmann 아키텍처를 두 가지 표준 NLP 벤치마크에서 평가한다: 언어 모델링을 위한 Wikitext-2와 자연어 추론을 위한 SNLI[6, 9].</p>

<h3 id="41-wikitext-2-language-modeling">4.1 Wikitext-2 Language Modeling</h3>

<p><strong>데이터와 토크나이제이션.</strong> Wikitext-2-raw 데이터셋을 사용한다. 시퀀스는 고정 길이 $L$ (블록 크기)의 연속 텍스트 청크로 형성된다. 주요 실험에서 $L = 128$과 $L = 256$을 고려한다. BERT 스타일 토크나이저에 맞춰 크기 $V \approx 30{,}522$의 WordPiece 유사 어휘를 사용한다.</p>

<p><strong>모델.</strong> 다음을 비교한다:</p>

<ul>
  <li><strong>TransformerLM</strong>: $N$개 레이어, 모델 차원 $d = 256$, 피드포워드 차원 $d_{\text{ff}} = 1024$, 4헤드 multi-head self-attention을 가진 표준 decoder-only Transformer.</li>
  <li><strong>GrassmannLM</strong>: 동일한 backbone (임베딩, 레이어 수, $d$, $d_{\text{ff}}$)이지만, 각 self-attention 블록을 위에서 설명한 Causal Grassmann 믹싱 블록으로 대체.</li>
</ul>

<p>두 가지 레이어 깊이를 탐구한다:</p>

<ul>
  <li><strong>Shallow</strong>: $N = 6$ 레이어; GrassmannLM은 ~13.0M 파라미터, TransformerLM은 ~12.6M.</li>
  <li><strong>Deeper</strong>: $N = 12$ 레이어; GrassmannLM은 ~18.2M 파라미터, TransformerLM은 ~17.3M.</li>
</ul>

<p>GrassmannLM에서 축소 차원 $r = 32$를 설정하고, 6-레이어 모델에는 다중 스케일 윈도우 $\mathcal{W} = {1, 2, 4, 8, 12, 16}$을, 12-레이어 모델에는 깊이에 걸쳐 반복 패턴 $(1,1,2,2,4,4,8,8,12,12,16,16)$을 사용한다.</p>

<p><strong>학습.</strong> 두 모델을 동일한 옵티마이저와 학습률 스케줄로 공유 스크립트에서 학습하며, 믹싱 블록의 선택만 다르다. 모든 모델을 30 에포크 학습하고, 학습 중 최고 validation perplexity를 보고한다. 배치 크기는 $L = 128$일 때 32, $L = 256$일 때 16이다.</p>

<h3 id="42-snli-natural-language-inference">4.2 SNLI Natural Language Inference</h3>

<p><strong>데이터.</strong> 함의(entailment), 모순(contradiction), 또는 중립(neutral)으로 레이블된 문장 쌍으로 구성된 SNLI 데이터셋을 사용한다. 표준 train/validation/test 분할을 따른다.</p>

<p><strong>Backbone.</strong> 공정한 비교를 위해, DistilBERT-base-uncased backbone을 특성 추출기로 고정한다. Backbone은 문장당 최대 시퀀스 길이 48 토큰(토크나이제이션 및 절단 후)까지 문맥화된 토큰 임베딩을 생성한다. 이후 풀링을 적용하여 문장 수준 표현을 얻는다.</p>

<p><strong>분류 헤드.</strong> DistilBERT backbone 위에 다음을 비교한다:</p>

<ul>
  <li><strong>Transformer 헤드</strong>: 풀링된 특성에 대한 self-attention과 3-way 분류를 위한 최종 선형 레이어를 가진 2-레이어 Transformer 스타일 분류기.</li>
  <li><strong>Grassmann–Plücker 헤드</strong>: 제안된 Grassmann 기반 헤드(GrassmannPluckerNLIModel)로, 투영된 특성에 대해 다중 스케일 윈도우를 통한 Grassmann 믹싱 모듈을 적용한 다음 피드포워드 분류기를 사용한다.</li>
</ul>

<p>Grassmann 헤드의 하이퍼파라미터: 축소 차원 $d_{\text{proj}} = 64$, 토큰 시퀀스에 대한 윈도우 크기 8과 stride 8, $d_{\text{model}} = 256$, 2 믹싱 레이어, 4 믹싱 헤드(쌍 그룹핑용), $d_{\text{ff}} = 512$, dropout 0.1. 두 헤드 모두 비교 가능한 파라미터 수를 가지며, backbone의 동일한 초기화에서 20 에포크 학습한다.</p>

<p><strong>메트릭.</strong> Validation과 test 세트에서의 분류 정확도를 학습 손실 곡선과 함께 보고한다.</p>

<hr />

<h2 id="5-results">5. Results</h2>

<h3 id="51-wikitext-2-language-modeling">5.1 Wikitext-2 Language Modeling</h3>

<p>Table 1과 2는 주요 언어 모델링 결과를 요약한다. 파라미터 수와 30 에포크에 걸친 최고 validation perplexity를 보고한다.</p>

<p><strong>Table 1</strong>: Wikitext-2: 블록 크기 128의 6-레이어 모델과 두 가지 다중 스케일 윈도우 스케줄. GrassmannLM은 TransformerLM보다 validation perplexity에서 약 10~15% 뒤처지지만 동일한 전반적 영역에 남아있다.</p>

<table>
  <thead>
    <tr>
      <th>Model</th>
      <th>Layers</th>
      <th>Params (M)</th>
      <th>Val PPL</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>TransformerLM (block size 128)</td>
      <td>6</td>
      <td>12.59</td>
      <td>248.4</td>
    </tr>
    <tr>
      <td>GrassmannLM (block size 128)</td>
      <td>6</td>
      <td>13.00</td>
      <td>275.7</td>
    </tr>
    <tr>
      <td>TransformerLM (block size 128)</td>
      <td>6</td>
      <td>12.59</td>
      <td>253.6</td>
    </tr>
    <tr>
      <td>GrassmannLM (block size 128)</td>
      <td>6</td>
      <td>13.00</td>
      <td>282.3</td>
    </tr>
  </tbody>
</table>

<p>블록 크기 128과 다중 스케일 윈도우 $\mathcal{W} = {1,2,4,8,12,16}$의 6-레이어 모델에서, GrassmannLM은 매칭된 학습 조건 하에서 TransformerLM의 241.0~253.6에 비해 약 275.7의 최고 validation perplexity를 달성한다. 약간 다른 윈도우 스케줄(예: ${1,2,4,8,8,8}$)에서도 유사한 격차를 보인다: GrassmannLM 282.3 vs. TransformerLM 248.4.</p>

<p><strong>Table 2</strong>: Wikitext-2: 블록 크기 256의 12-레이어 모델과 깊이에 걸친 반복 다중 스케일 윈도우 $(1,1,2,2,4,4,8,8,12,12,16,16)$. GrassmannLM은 다시 TransformerLM의 대략 10% 이내이다.</p>

<table>
  <thead>
    <tr>
      <th>Model</th>
      <th>Layers</th>
      <th>Params (M)</th>
      <th>Val PPL</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>TransformerLM (block size 256)</td>
      <td>12</td>
      <td>17.32</td>
      <td>235.2</td>
    </tr>
    <tr>
      <td>GrassmannLM (block size 256)</td>
      <td>12</td>
      <td>18.16</td>
      <td>261.1</td>
    </tr>
  </tbody>
</table>

<p>더 깊은 12-레이어 모델에서, GrassmannLM은 261.1의 최고 validation perplexity에 도달하고, TransformerLM은 235.2에 도달한다. 상대적 격차가 6-레이어 설정보다 작아, 추가 깊이가 Grassmann 모델의 더 국소적인 믹싱을 보상하는 데 도움이 됨을 시사한다.</p>

<p>전체적으로, 이 설정들에 걸쳐:</p>

<ul>
  <li>GrassmannLM은 attention을 사용하지 않음에도, 크기 매칭된 TransformerLM의 validation perplexity 대비 <strong>일관되게 10~15% 이내</strong>이다.</li>
  <li>깊이가 증가함에 따라 <strong>격차가 좁아지는 것</strong>으로 보이며, 이는 반복적 로컬 Grassmann 믹싱이 더 풍부한 상호작용을 근사할 수 있다는 관점과 일관된다.</li>
  <li>파라미터 수는 비교 가능하게 유지된다: GrassmannLM은 Plücker 투영과 게이팅 레이어로 인해 약간 더 많은 파라미터를 갖지만, 차이는 ~3~5% 수준이다.</li>
</ul>

<p>이 결과들은 최첨단 언어 모델과 경쟁하려는 것이 아니라, Grassmann 흐름을 통한 “attention-free” 시퀀스 모델링이 중간 규모에서 실행 가능함을 보여주기 위한 것이다.</p>

<h3 id="52-snli-natural-language-inference">5.2 SNLI Natural Language Inference</h3>

<p>Table 3은 SNLI 결과를 요약한다. 두 모델이 동일한 DistilBERT backbone을 공유하며 분류 헤드만 다르다는 것을 상기하라.</p>

<p><strong>Table 3</strong>: DistilBERT backbone을 사용한 SNLI 분류 정확도. Grassmann–Plücker 헤드가 validation과 test 세트 모두에서 Transformer 헤드를 약간 능가한다.</p>

<table>
  <thead>
    <tr>
      <th>Head Type</th>
      <th>Val Accuracy</th>
      <th>Test Accuracy</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Transformer head</td>
      <td>0.8545</td>
      <td>0.8511</td>
    </tr>
    <tr>
      <td>Grassmann–Plücker head</td>
      <td><strong>0.8550</strong></td>
      <td><strong>0.8538</strong></td>
    </tr>
  </tbody>
</table>

<p>Grassmann 헤드는 best validation accuracy 0.8550과 test accuracy 0.8538을 달성하여, 0.8545 validation과 0.8511 test accuracy에 도달하는 Transformer 헤드를 약간 능가한다. 학습 곡선은 유사한 수렴 속도를 보여주며, Grassmann 헤드는 학습 후반에 약간 더 낮은 validation loss를 보인다.</p>

<p>마진은 작지만, 이 결과는 개념적으로 중요하다:</p>

<ul>
  <li>다운스트림 추론 과제에서, 분류 헤드에 명시적 기하학적 구조를 주입하면 backbone이 고정되어 있을 때에도 Transformer 헤드와 동등하거나 약간 초과할 수 있음을 보여준다.</li>
  <li>Grassmann 메커니즘이 단순한 이론적 호기심이 아니라 실용적 설정에서 성능에 긍정적으로 기여할 수 있음을 나타낸다.</li>
</ul>

<h3 id="53-complexity-and-empirical-runtime">5.3 Complexity and Empirical Runtime</h3>

<p>앞서 논의한 대로, Causal Grassmann 레이어의 점근적 복잡도는 고정 축소 차원 $r$과 윈도우 수 $m$에서 시퀀스 길이 $L$에 대해 선형인 반면, self-attention은 $L \times L$ attention 행렬로 인해 $L$에 대해 이차적으로 스케일링된다.</p>

<p>그러나 현재 구현에서, 순수 Grassmann 모델의 경험적 스텝당 런타임은 시퀀스 길이 256까지에서 Transformer 베이스라인보다 느리다. 이는 예상된 것이다:</p>

<ul>
  <li>GPU 라이브러리는 dense 행렬 곱과 attention 메커니즘에 고도로 최적화된 커널을 제공한다.</li>
  <li>우리의 Plücker 계산은 아직 저수준 커널 퓨전이나 커스텀 CUDA 구현을 활용하지 않는 명시적 element-wise 연산과 reshape을 포함한다.</li>
</ul>

<p>따라서 여기 보고된 실험은 아키텍처와 그 복잡도 프로파일에 대한 <strong>개념 증명(proof of concept)</strong>으로 해석되어야 하며, 최적화된 엔지니어링 솔루션이 아니다. Grassmann 연산을 퓨즈하고 $\mathrm{Gr}(2,r)$의 구조를 활용하는 전용 구현이 실제로 잠재적인 선형 스케일링 이점을 완전히 실현하기 위해 필요할 것이다.</p>

<hr />

<h2 id="6-discussion">6. Discussion</h2>

<h3 id="61-what-does-grassmann-mixing-actually-buy-us">6.1 What Does Grassmann Mixing Actually Buy Us?</h3>

<p>실험은 순수 기하학적, 국소성 기반 믹싱 규칙이 명시적 self-attention에 의존하지 않고도 비자명한 언어 모델링과 자연어 추론을 지원할 수 있음을 보여준다. 비교적 작은 모델과 적당한 컨텍스트 길이에서, 제안된 Causal Grassmann 아키텍처는:</p>

<ul>
  <li>Wikitext-2에서 크기 매칭된 Transformer와 경쟁적이며,</li>
  <li>DistilBERT 기반 NLI 모델로 사용될 때 SNLI에서 Transformer 분류 헤드를 약간 능가한다.</li>
</ul>

<p>엔지니어링 관점에서, 이 규모에서 역량 있는 시퀀스 모델링에 attention이 엄밀히 필요하지 않음을 보여준다. 개념적 관점에서, 더 미묘한 주장을 지지한다:</p>

<blockquote>
  <p><strong>Claim.</strong> 모델이 기하학적으로 충분히 풍부한 로컬 진화 규칙을 갖추기만 하면, 명시적 attention 가중치 없이도 의미론적 추론이 나타날 수 있다.</p>
</blockquote>

<p>Self-attention은 학습된 $L \times L$ 가중치 행렬을 통해 각 토큰이 다른 모든 토큰을 보게 한다. Grassmann 믹싱은 이와 대조적으로 로컬 부분공간 업데이트의 시퀀스를 구성한다: 정보는 다중 스케일 윈도우를 통해 저랭크 부분공간을 회전하고 구부림으로써 흐른다. 두 메커니즘 모두 레이어에 걸쳐 고차 기하학적 구조를 축적하지만, 다른 원시 연산으로:</p>

<ul>
  <li><strong>Self-attention</strong>은 텐서 리프팅과 전역 쌍별 상호작용을 사용한다;</li>
  <li><strong>Grassmann mixing</strong>은 저랭크 부분공간과 로컬 윈도우를 다양체 위의 제어된 흐름으로 사용한다.</li>
</ul>

<p>현재 규모에서, Grassmann 모델은 언어 모델링에서 Transformer를 능가하지 못한다; 약간 뒤처져 있다. 이는 설계의 단순성과 광범위한 하이퍼파라미터 튜닝의 부재를 감안하면 놀랍지 않다. 그럼에도, SNLI 결과는 backbone이 고정되고 헤드에 집중할 때 명시적 기하학을 추가하면 측정 가능한 이득을 얻을 수 있음을 보여준다. 이는 기하학적 관점이 철학적으로 매력적일 뿐만 아니라 실용적으로도 유용함을 시사한다.</p>

<h3 id="62-interpretability-from-tensor-lifting-to-finite-dimensional-flows">6.2 Interpretability: From Tensor Lifting to Finite-Dimensional Flows</h3>

<p>서론에서 Transformer 비해석성의 핵심 이유가 텐서 리프팅으로서의 attention의 성질이라 주장했다. 각 레이어는 표현을 쌍별 상호작용의 고차원 공간으로 리프팅한다; 전체 모델은 이러한 리프트의 합성이다. 각 개별 attention 맵은 볼 수 있지만, 전역적 행동은 소수의 불변량으로 요약하기 어렵다.</p>

<p>이와 대조적으로, Grassmann 아키텍처는 관련 자유도를 유한 차원의 수학적으로 엄밀한 다양체로 의도적으로 압축한다:</p>

<ul>
  <li>축소된 상태 $z_t \in \mathbb{R}^r$은 저차원 공간에서의 로컬 방향을 포착한다.</li>
  <li>쌍 $(z_t, z_{t+\Delta})$은 $\mathrm{Gr}(2,r)$ 위의 점을 정의한다; 이 점들은 고정 차원 $\binom{r}{2}$의 Plücker 벡터로 인코딩된다.</li>
  <li>믹싱 과정은 $L \times L$ 텐서의 임의적 조작이 아닌, 이 저랭크 부분공간의 로컬 변형으로 제약된다.</li>
</ul>

<p>이것은 더 희망적인 해석 가능성 이야기를 시사한다. 학습 후, Plücker 벡터나 다른 Grassmann 기술자를 후보 설명 불변량으로 취급할 수 있다:</p>

<ul>
  <li>이들은 수가 유한하고 명시적 대수적 관계를 따른다.</li>
  <li>레이어에 걸쳐 비교 가능하다.</li>
  <li>미분 기하학과 대수 기하학의 도구로 연구할 수 있다.</li>
</ul>

<p>이것이 해석 가능성을 사소하게 만드는 것은 아니다. 그러나 전역 불변량을 정의하고 계산할 현실적 전망이 있는 영역으로 모델의 핵심을 옮긴다. 진화하는 attention 텐서 컬렉션을 요약하려 하는 대신, 다양체 $\mathrm{Gr}(2,r)$ 위의 진화하는 궤적을 요약하려 시도할 수 있다.</p>

<h3 id="63-why-grassmann-a-link-to-approximation-theorems">6.3 Why Grassmann? A Link to Approximation Theorems</h3>

<p>근사 이론의 관점에서, 시퀀스 모델을 의미 다양체 $M \subset \mathbb{R}^d$ 위의 연산자 $\Phi$를 근사하는 것으로 이상화할 수 있다. 보편 근사 정리는 가벼운 조건 하에서 신경망이 그러한 연산자를 임의로 잘 근사할 수 있음을 보장한다.</p>

<p>그러나 그 정리들은 아키텍처의 기하학적 구조에 대해 불가지론적이다. 비구조화 텐서에서 작동하는 모델과 구조화된 다양체에서 작동하는 모델을 구별하지 않는다. Grassmann 다양체의 선택은 추가적인, 기하학 인식 편향을 부여하는 것으로 볼 수 있다:</p>

<ul>
  <li>먼저 $M$의 로컬 이웃을 선형 축소와 외적(wedge product)을 통해 $\mathrm{Gr}(2,r)$의 부분공간으로 인코딩한다.</li>
  <li>그런 다음 MLP와 게이팅을 사용하여 Grassmann 다양체 위의 유도된 변환을 근사한다.</li>
  <li>마지막으로 원래 표현 공간으로 다시 매핑한다.</li>
</ul>

<p>이 의미에서, 근본적 근사 능력을 변경하는 것이 아니다 — 네트워크는 원칙적으로 여전히 보편적이다 — 하지만 그 능력을 실현하는 방식을 제약한다. 모든 비국소적 상호작용은 명시적 구조를 가진 유한 차원 다양체를 통해 팩터링되어야 한다. 이것은 정확히 attention이 강제하지 않는 것이다: attention은 고차원 텐서 공간의 매우 자유로운 탐색을 허용한다.</p>

<h3 id="64-global-and-long-range-invariants-as-the-next-step">6.4 Global and Long-Range Invariants as the Next Step</h3>

<p>현재 Causal Grassmann 설계는 로컬 윈도우만 사용한다. 장거리 의존성은 깊이와 다중 스케일 윈도우를 통해 암묵적으로 모델링된다. 이것은 여기서 연구된 과제에는 충분하지만, 이 연구를 동기 부여한 직관과 일치하는 자연스러운 다음 단계를 시사한다:</p>

<blockquote>
  <p>시퀀스 수준 Grassmann 흐름의 명시적 전역 또는 장거리 불변량을 구성하고 이를 특성으로 피드백한다.</p>
</blockquote>

<p>예를 들어, 다음을 계산할 수 있다:</p>

<ul>
  <li>시퀀스에 걸친 부분공간의 전반적 궤적을 요약하는 <strong>“평균 Grassmann 방향”</strong>.</li>
  <li>주성분 방향이나 곡률 유사 양(curvature-like quantities)과 같은 Plücker 좌표의 <strong>시퀀스 수준 통계</strong>.</li>
  <li>특정 부분공간이 깊이에 걸쳐 얼마나 안정적인지를 측정하는 <strong>교차 레이어 불변량</strong>.</li>
</ul>

<p>이 불변량들은 각 레이어에 보조 입력이나 게이트로 주입되어, 아키텍처를 로컬 흐름이 전역 제약에 의해 안내되는 시스템으로 전환할 수 있다. 이것은 정보 기하학에서 로컬 메트릭(예: Fisher 정보)과 전역 곡률이 함께 추론을 형성하는 로컬과 전역 구조 간의 상호작용을 반향할 것이다.</p>

<p>본 논문에서는 핵심 아이디어를 명확하게 유지하기 위해 의도적으로 최소 설계 — $k = 2$, 명시적 전역 불변량 없음 — 로 제한했다. 그러나 “전역 불변량 + 로컬 Grassmann 흐름”을 기하학 인식 추론에 대한 향후 연구의 유망한 방향으로 본다.</p>

<hr />

<h2 id="7-related-work">7. Related Work</h2>

<h3 id="71-efficient-and-long-context-transformers">7.1 Efficient and Long-Context Transformers</h3>

<p>Self-attention의 이차 비용을 줄이려는 대규모 연구가 있으며, 선형화/커널화 attention, 희소/로컬 attention 패턴, 메모리 증강/검색 기반 아키텍처를 포함한다. 이러한 접근법들은 일반적으로:</p>

<ul>
  <li>$QK^\top$ 계산을 근사하거나 희소화하거나,</li>
  <li>attention을 로컬 윈도우나 구조화된 패턴으로 제한하거나,</li>
  <li>컨텍스트의 일부를 외부 메모리나 캐시로 오프로드한다.</li>
</ul>

<p>그러나 이들 모두 동일한 핵심 연산을 유지한다: 모델은 여전히 $L \times L$ 쌍별 가중치 행렬을 계산(또는 근사)한다. 본 연구는 직교적이다: attention을 완전히 제거하고 Grassmann 흐름 기반의 기하학적 믹싱 규칙이 그 역할을 채울 수 있는지 탐구한다.</p>

<h3 id="72-state-space-models-and-structured-sequence-models">7.2 State-Space Models and Structured Sequence Models</h3>

<p>상태 공간 모델과 관련 아키텍처는 시퀀스를 선형 동역학계에 의해 지배되는 신호로 해석하며, 종종 비선형 리드아웃과 결합된다. 이 모델들은 시퀀스 길이에 대한 선형 복잡도로 장기 컨텍스트 모델링에 뛰어나며, 제어 이론 및 신호 처리와 강한 연관이 있다.</p>

<p>Grassmann 믹싱은 상태 공간 모델과 시간에 따라 진화하는 구조화된 잠재 상태를 유지한다는 아이디어를 공유하지만, 강조점이 다르다:</p>

<ul>
  <li><strong>SSM</strong>은 잠재 상태의 시간적 진화에 초점을 맞춘다; 그들의 기하학은 종종 암묵적이다.</li>
  <li><strong>Grassmann 믹싱</strong>은 표현 공간에서의 기하학적 진화에 초점을 맞추며, 시간은 인과적 윈도우를 통해 진입한다.</li>
</ul>

<p>두 관점은 상호보완적이며, SSM 스타일의 시간적 동역학을 은닉 표현에 대한 Grassmann 제약과 결합하는 하이브리드 아키텍처가 향후 연구의 흥미로운 방향이다.</p>

<h3 id="73-geometric-and-manifold-based-representation-learning">7.3 Geometric and Manifold-Based Representation Learning</h3>

<p>쌍곡면, 구면 및 기타 리만 다양체를 포함한 비유클리드 공간에서의 학습에 대한 관심이 증가하고 있다. 이러한 접근법들은 일반적으로 데이터를 거리가 기반 구조(예: 계층, 주기성)를 더 잘 포착하는 곡면 다양체에 임베딩한다.</p>

<p>Grassmann 다양체는 부분공간 클러스터링, 저랭크 근사, 메트릭 학습과 같은 고전적 기계학습 맥락에서 부분공간의 집합을 표현하는 데 나타났다. 시퀀스 모델에서 주요 믹싱 메커니즘으로의 사용은 덜 탐구되었다. 본 기여는 Grassmann–Plücker 파이프라인을 Transformer 유사 블록에 직접 통합하여, 부분공간 기하학을 시퀀스 상호작용 메커니즘의 핵심 부분으로 전환하는 것이다.</p>

<h3 id="74-interpretability-and-attention-analysis">7.4 Interpretability and Attention Analysis</h3>

<p>Attention 맵은 Transformer에서 해석 가능성의 대리로 자주 사용된다: 어떤 토큰이 어떤 다른 토큰에 attend하는지 시각화한다. 그러나 attention 가중치가 인과적 중요성과 일치한다는 보장이 없으며, 레이어와 헤드에 걸쳐 집계하면 고도로 복잡한 패턴이 된다.</p>

<p>본 연구는 그 자체로 새로운 해석 가능성 방법을 도입하지 않지만, 분석의 대상을 변경한다. Attention 텐서를 이해하려 하는 대신, Grassmann 특성의 진화를 분석할 것을 제안한다. 이것들은 기하학적 또는 대수적 분석에 더 자연스럽게 적합할 수 있는 유한 차원의 구조화된 객체이다.</p>

<hr />

<h2 id="8-conclusion-and-future-work">8. Conclusion and Future Work</h2>

<p>간단하지만 근본적인 질문을 재방문했다: Transformer에서 일반적으로 구현되는 명시적 self-attention이 정말 강력한 시퀀스 모델링과 추론에 필요한가?</p>

<p>Attention을 텐서 리프팅의 한 형태로 재해석함으로써, 그 힘이 수학적 추적 가능성의 비용으로 온다고 주장했다: 모델의 핵심은 명시적 불변량으로 전역적 행동을 요약하기 어려운 고차원 텐서 공간에 산다. 그런 다음 시퀀스 상호작용이 $L \times L$ attention 행렬이 아닌 Grassmann 다양체 위의 흐름에 의해 지배되는 대안을 제안했다.</p>

<p>결과 Causal Grassmann 아키텍처는:</p>

<ul>
  <li>13~18M 파라미터에서 Wikitext-2의 Transformer 베이스라인과 경쟁적이면서 <strong>완전히 attention-free</strong>이며,</li>
  <li>고정 DistilBERT backbone에 플러그인할 때 SNLI에서 Transformer 기반 분류 헤드를 <strong>약간 능가</strong>하고,</li>
  <li>고정 축소 차원과 윈도우 크기에서 시퀀스 길이에 대해 <strong>선형인</strong> 점근적 복잡도를 갖는다.</li>
</ul>

<p>이 실증적 결과를 넘어, 주요 기여는 개념적이다: Grassmann 흐름은 핵심 연산이 비구조화 텐서 공간이 아닌 명시적 구조를 가진 유한 차원 다양체 위에 사는 시퀀스 모델을 어떻게 설계할 수 있는지의 구체적 사례를 제공한다. 이것은 신경망에서의 추론에 대한 더 기하학적인 이해로의 문을 연다.</p>

<p>향후 연구의 많은 방향이 있다:</p>

<ul>
  <li><strong>전역 및 장거리 불변량.</strong> Grassmann 흐름의 시퀀스 수준 불변량 — 예: 평균 부분공간, 곡률 유사 측도, 또는 교차 레이어 안정성 통계 — 을 개발하고 로컬 믹싱에 대한 특성 또는 제약으로 주입한다.</li>
  <li><strong>더 풍부한 Grassmann 구조.</strong> $k = 2$ 부분공간을 넘어, 더 고차원 부분공간을 탐구하고, 레이어에 걸쳐 $\mathrm{Gr}(k,r)$ 위의 매끄러운 궤적을 장려하는 정규화기를 연구한다.</li>
  <li><strong>하이브리드 아키텍처.</strong> Grassmann 믹싱을 상태 공간 모델, 커널화 attention, 또는 합성곱 모듈과 결합하여 로컬, 전역, 시간적 정보의 균형을 더 잘 맞춘다.</li>
  <li><strong>해석 가능성 연구.</strong> Plücker 좌표, 모델 행동, 인간이 이해 가능한 패턴 간의 상관관계를 체계적으로 조사하며, 원시 attention 맵보다 더 안정적인 불변량을 정의하는 것을 목표로 한다.</li>
  <li><strong>스케일링과 엔지니어링.</strong> 퓨즈된 Grassmann 커널과 최적화된 GPU 연산자를 구현하여 이론적 선형 스케일링을 실현하고, 더 큰 규모와 더 도전적인 추론 벤치마크에서 아키텍처를 테스트한다.</li>
</ul>

<p>요약하면, 결과는 강력한 시퀀스 모델링에 근본적으로 필요한 것이 attention 자체가 아니라, 표현이 자신이 거주하는 다양체 위에서 이동하는 원칙적인 방법이라는 것을 시사한다. Grassmann 흐름은 이 아이디어의 하나의 구체적 실현을 제공하며, 신경 아키텍처 설계에서 attention에 대한 기하학적 대안의 추가 탐구를 장려하기를 바란다.</p>

<hr />

<h2 id="references">References</h2>

<p>[1] A. Vaswani et al., “Attention Is All You Need,” NeurIPS, 2017.
[2] J. Devlin et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” NAACL, 2019.
[3] A. Radford et al., “Language Models are Unsupervised Multitask Learners,” OpenAI, 2019.
[4] T. Brown et al., “Language Models are Few-Shot Learners,” NeurIPS, 2020.
[5] A. Dosovitskiy et al., “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale,” ICLR, 2021.
[6] S. Merity et al., “Pointer Sentinel Mixture Models,” arXiv:1609.07843, 2016.
[9] S. R. Bowman et al., “A Large Annotated Corpus for Learning Natural Language Inference,” EMNLP, 2015.
[11] R. Hartshorne, <em>Algebraic Geometry</em>, Springer, 1977.
[12] J. M. Lee, <em>Introduction to Riemannian Manifolds</em>, 2nd ed., Springer, 2018.
[13] A. Edelman et al., “The Geometry of Algorithms with Orthogonality Constraints,” SIAM J. Matrix Anal. Appl., 1998.
[14] P.-A. Absil et al., <em>Optimization Algorithms on Matrix Manifolds</em>, Princeton University Press, 2008.</p>]]></content><author><name>JunHan</name></author><category term="Transformer" /><category term="Attention" /><category term="Grassmann Manifold" /><category term="Sequence Modeling" /><category term="Deep Learning" /><category term="논문 리뷰" /><summary type="html"><![CDATA[논문 링크: arXiv 2512.19428 저자: Zhang Chong]]></summary></entry><entry><title type="html">Real-Time Object Detection Meets DINOv3</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/real-time-object-detection-meets-dinov3/" rel="alternate" type="text/html" title="Real-Time Object Detection Meets DINOv3" /><published>2026-01-26T06:30:02+09:00</published><updated>2026-01-26T06:30:02+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/real-time-object-detection-meets-dinov3</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/real-time-object-detection-meets-dinov3/"><![CDATA[<p><a href="https://intellindust-ai-lab.github.io/projects/DEIMv2/">https://intellindust-ai-lab.github.io/projects/DEIMv2/</a></p>

<p><a href="https://intellindust-ai-lab.github.io/projects/DEIMv2/">DEIMv2</a></p>

<p><strong>Real-Time Object Detection Meets DINOv3</strong><br />
Shihua Huang¹⋆, Yongjie Hou¹²⋆, Longfei Liu¹⋆, Xuanlong Yu¹, Xi Shen¹†</p>

<p>¹ Intellindust AI Lab; ² 샤먼대학교(Xiamen University)<br />
⋆ 공동 1저자(Equal Contribution);<br />
† 교신 저자(Corresponding Author)</p>

<p>프로젝트 페이지: <a href="https://intellindust-ai-lab.github.io/projects/DEIMv2">https://intellindust-ai-lab.github.io/projects/DEIMv2</a><br />
코드 및 가중치: <a href="https://github.com/Intellindust-AI-Lab/DEIMv2">https://github.com/Intellindust-AI-Lab/DEIMv2</a></p>

<p><a href="https://github.com/Intellindust-AI-Lab/DEIMv2">GitHub - Intellindust-AI-Lab/DEIMv2: [DEIMv2] Real Time Object Detection Meets DINOv3</a></p>

<h3 id="초록abstract">초록(Abstract)</h3>

<p>단순하면서도 효과적인 Dense O2O에 기반하여, DEIM은 더 빠른 수렴과 향상된 성능을 보여주었다. 본 연구에서는 여기에 DINOv3 특징을 결합하여 <strong>DEIMv2</strong>를 제안한다. DEIMv2는 X부터 Atto까지 총 8가지 모델 규모를 포괄하며, GPU, 엣지, 모바일 환경을 모두 아우르는 배포를 지원한다.</p>

<p>X, L, M, S 변형에서는 DINOv3로 사전학습(pretrained) 또는 증류(distilled)된 백본을 채택하고, <strong>공간 튜닝 어댑터(Spatial Tuning Adapter, STA)</strong>를 도입하였다. STA는 DINOv3의 단일 스케일 출력을 효율적으로 다중 스케일 특징으로 변환하며, 강력한 의미적 표현에 세밀한 디테일을 보완함으로써 검출 성능을 향상시킨다.</p>

<p>초경량 모델(Nano, Pico, Femto, Atto)의 경우, 엄격한 자원 제약을 충족하기 위해 깊이와 너비 가지치기를 적용한 HGNetv2를 사용한다. 여기에 단순화된 디코더와 개선된 Dense O2O를 결합함으로써, DEIMv2는 다양한 시나리오 전반에서 성능과 비용 간의 우수한 균형을 달성하며 새로운 최신(state-of-the-art) 성능을 확립한다.</p>

<p>특히 가장 큰 모델인 <strong>DEIMv2-X</strong>는 파라미터 수가 50.3M에 불과함에도 57.8 AP를 달성하여, 56.5 AP를 얻기 위해 60M 이상의 파라미터가 필요했던 기존 X-스케일 모델들을 능가한다. 경량 모델 측면에서는 <strong>DEIMv2-S</strong>가 9.71M 파라미터로 COCO에서 50 AP를 최초로 돌파한 서브-10M 모델이며, 50.9 AP를 기록하였다. 더 나아가 단 1.5M 파라미터를 사용하는 초경량 <strong>DEIMv2-Pico</strong>조차도 38.5 AP를 달성하여, 약 50% 더 많은 파라미터(2.3M)를 사용하는 YOLOv10-Nano와 동등한 성능을 보인다.</p>

<p><img src="/assets/images/posts/624/img.png" alt="" /></p>

<p>(a) COCO 성능 vs. 파라미터 수</p>

<p><img src="/assets/images/posts/624/img_1.png" alt="" /></p>

<p>(b) COCO 성능 vs. FLOPs</p>

<p><strong>그림 0:</strong> COCO [12] 데이터셋에서 최신 실시간 객체 검출기들과 비교했을 때, 제안하는 DEIMv2의 모든 변형(S, M, L, X)은 유사한 파라미터 수와 더 적은 연산 비용을 유지하면서도 평균 정밀도(AP) 측면에서 우수한 성능을 달성한다.</p>

<h2 id="1-서론introduction">1. 서론(Introduction)</h2>

<p><strong>표 1:</strong> DEIMv2 변형들의 아키텍처 세부 사항과 주요 성능 결과. 서로 다른 변형들의 설정(configuration)과 COCO 벤치마크에서의 최종 평균 정밀도(Average Precision, AP)를 보고한다.</p>

<p><img src="/assets/images/posts/624/img_2.png" alt="" /></p>

<p>실시간 객체 검출(real-time object detection) [18, 6, 22, 29]은 자율 주행 [11], 로보틱스 [16], 산업 결함 검출 [8] 등 다양한 실제 응용 분야에서 핵심적인 구성 요소이다. 특히 엣지 및 모바일 디바이스에 적합한 경량 모델의 경우, 검출 성능과 계산 효율성 간의 균형을 달성하는 것은 여전히 중요한 도전 과제로 남아 있다.</p>

<p>현재 널리 사용되는 실시간 검출기들 가운데, <strong>DETR 기반 방법</strong>은 end-to-end 구조라는 장점으로 인해 점점 더 선호되고 있다. 다양한 환경에서 강건한 특징 표현을 제공하는 <strong>DINOv3</strong> [21]의 성능에도 불구하고, 이를 DETR 기반 모델에 통합하는 것이 실제로 얼마나 실현 가능하며 효과적인지에 대해서는 아직 충분히 연구되지 않았다.</p>

<p>본 연구에서는 기존 <strong>DEIM</strong> [7] 파이프라인을 기반으로 하여 <strong>DINOv3</strong> [21] 특징을 결합한 실시간 객체 검출기 <strong>DEIMv2</strong>를 제안한다. DEIMv2는 가장 큰 변형(L 및 X 크기)에서는 특징 표현의 풍부함을 극대화하기 위해 공식 DINOv3 사전학습(pretrained) 백본인 <strong>ViT-Small</strong>과 <strong>ViT-Small+</strong>를 사용한다. 반면 S 및 M 변형에서는 DINOv3로부터 증류(distilled)된 <strong>ViT-Tiny</strong>와 <strong>ViT-Tiny+</strong> 백본을 활용하여 성능과 효율성 간의 균형을 정교하게 맞춘다. 또한 초경량 환경을 고려하여 <strong>Nano, Pico, Femto, Atto</strong>의 네 가지 특화된 변형을 추가로 도입함으로써, DEIMv2의 확장성을 매우 넓은 연산 자원 범위로 확장한다.</p>

<p>대규모 데이터로 사전학습된 DINOv3의 강력한 특징 표현을 실시간 제약 하에서 효과적으로 활용하기 위해, 우리는 <strong>공간 튜닝 어댑터(Spatial Tuning Adapter, STA)</strong>를 설계하였다. STA는 DINOv3와 병렬로 동작하며, DINOv3의 단일 스케일 출력을 객체 검출에 필요한 다중 스케일 특징으로 파라미터 추가 없이 효율적으로 변환한다. 동시에 입력 이미지를 빠르게 다운샘플링하여 매우 작은 수용 영역(receptive field)을 갖는 세밀한 다중 스케일 디테일 특징을 제공함으로써, DINOv3가 제공하는 강한 의미적 정보(semantics)를 보완한다.</p>

<p>아울러 Transformer 커뮤니티의 최근 발전을 바탕으로 디코더 구조를 단순화하였다. 구체적으로, 기존의 FFN과 LayerNorm을 <strong>SwishFFN</strong> [20]과 <strong>RMSNorm</strong> [27]으로 대체하였으며, 이는 성능 저하 없이 효율성을 높이는 것으로 알려져 있다. 또한 반복적 정제(iterative refinement) 과정 동안 객체 쿼리의 위치가 크게 변하지 않는다는 점에 착안하여, 모든 디코더 레이어에서 쿼리 위치 임베딩을 공유하도록 설계하였다. 더 나아가 <strong>Dense O2O</strong>를 확장하여 객체 수준의 <strong>Copy-Blend 증강(object-level Copy-Blend augmentation)</strong>을 도입함으로써, 유효한 감독 신호를 증가시키고 모델 성능을 추가로 향상시켰다.</p>

<p><img src="/assets/images/posts/624/img_3.png" alt="" /></p>

<p><strong>그림 1:</strong> ViT 기반 변형들의 백본 설계. 제안하는 <strong>공간 튜닝 어댑터(Spatial Tuning Adapter, STA)</strong>와 함께 <strong>DINOv3</strong>를 통합하였다.</p>

<p>COCO [12]에 대한 광범위한 실험을 통해, <strong>DEIMv2</strong>가 여러 모델 스케일 전반에서 최신(state-of-the-art) 성능을 달성함을 확인하였다. 이는 그림 0에서 확인할 수 있다. COCO [12]에서 최신 실시간 객체 검출기들과 비교했을 때, 제안하는 DEIMv2의 모든 변형(S, M, L, X)은 유사한 파라미터 수를 유지하면서도 더 적은 연산 비용으로 평균 정밀도(AP) 측면에서 우수한 성능을 보인다.</p>

<p>구조가 단순함에도 불구하고, DEIMv2 계열은 매우 강력한 성능을 보여준다. 예를 들어, 가장 큰 변형인 <strong>DEIMv2-X</strong>는 단 50.3M 파라미터만으로 COCO에서 57.6 AP를 달성하여, 60M 이상의 파라미터를 필요로 하면서도 56.5 AP에 그쳤던 기존 최고 성능의 X-스케일 검출기 <strong>DEIM-X</strong>를 능가한다. 더 작은 규모에서는 <strong>DEIMv2-S</strong>가 10M 미만의 파라미터로 50 AP를 최초로 돌파한 모델이라는 중요한 이정표를 세우며, 소형 스케일에서도 본 설계의 효과성을 입증한다.</p>

<p>더 나아가, 파라미터 수가 단 1.5M에 불과한 초경량 <strong>DEIMv2-Pico</strong>는 38.5 AP를 달성하여, 2.3M 파라미터를 사용하는 <strong>YOLOv10-Nano</strong>와 동등한 성능을 보이면서도 파라미터 수를 약 50% 줄였다. 이는 극단적인 초경량 영역에서 효율성과 정확도 간의 새로운 경계를 제시한다.</p>

<p>본 연구는 <strong>DINOv3</strong> [21] 특징을 실시간 객체 검출에 효과적으로 적용할 수 있음을 보여주며, 초경량 모델부터 고성능 모델까지 아우르는 범용적인 프레임워크를 제시한다. 우리가 아는 한, 이렇게 넓은 배포 시나리오 범위를 동시에 다루는 실시간 객체 검출 연구는 본 연구가 최초이다.</p>

<p>본 연구의 주요 기여는 다음과 같이 요약할 수 있다.</p>

<ul>
  <li>GPU, 엣지, 모바일 배포를 모두 포괄하는 8가지 모델 크기를 제공하는 <strong>DEIMv2</strong>를 제안한다.</li>
  <li>대형 모델의 경우, 강력한 의미적 특징을 위해 <strong>DINOv3</strong>를 활용하고, 이를 실시간 객체 검출에 효율적으로 통합하기 위해 <strong>STA</strong>를 도입한다.</li>
  <li>초경량 모델의 경우, 전문가 지식을 바탕으로 <strong>HGNetv2-B0</strong>의 깊이와 너비를 효과적으로 가지치기하여 엄격한 연산 제약을 충족한다.</li>
  <li>백본을 넘어 디코더를 추가로 단순화하고 <strong>Dense O2O</strong>를 개선하여 성능 한계를 더욱 확장한다.</li>
  <li>마지막으로, COCO 벤치마크에서 모든 자원 설정 전반에 걸쳐 기존 최신 방법들을 능가하는 성능을 달성함으로써 새로운 SOTA 결과를 확립한다.</li>
</ul>

<h2 id="2-방법method">2. 방법(Method)</h2>

<h3 id="전체-아키텍처overall-architecture">전체 아키텍처(Overall architecture)</h3>

<p>전체 아키텍처는 <strong>RT-DETR</strong> [14]의 설계를 따르며, 백본(backbone), 하이브리드 인코더(hybrid encoder), 디코더(decoder)로 구성된다. 표 1에 나타난 바와 같이, 주요 변형인 X, L, M, S에서는 제안하는 <strong>공간 튜닝 어댑터(Spatial Tuning Adapter, STA)</strong>가 결합된 <strong>DINOv3</strong> 기반 백본을 사용하며, 나머지 변형들은 <strong>HGNetv2</strong> [1]를 사용한다. 백본에서 추출된 다중 스케일 특징은 먼저 인코더를 거쳐 초기 검출 결과를 생성하고 상위 K개의 후보 바운딩 박스를 선택한다. 이후 디코더는 이 후보들을 반복적으로 정제(iterative refinement)하여 최종 예측을 생성한다.</p>

<h3 id="vit-기반-변형vit-based-variants">ViT 기반 변형(ViT-based variants)</h3>

<p>보다 큰 DEIMv2 변형(S, M, L, X)을 위해, 우리는 모델 용량과 효율성 간의 균형을 고려하여 <strong>Vision Transformer(ViT)</strong> [3] 계열을 중심으로 백본을 정교하게 설계하였다. L과 X 변형에서는 공개된 두 가지 <strong>DINOv3</strong> 모델 [21], 즉 <strong>ViT-Small</strong>과 <strong>ViT-Small+</strong>를 활용하며, 이들은 12개 레이어와 384차원 히든 크기를 갖는 강력한 의미적 표현을 제공한다. 더 가벼운 S와 M 변형의 경우, ViT-Small DINOv3로부터 직접 증류(distillation)한 <strong>ViT-Tiny</strong>와 <strong>ViT-Tiny+</strong> 백본을 사용한다. 이때 12-레이어 깊이는 유지하면서 히든 차원을 각각 192와 256으로 축소하였다. 이러한 설계는 S → M → L → X로 이어지는 매끄러운 스케일링 경로를 제공하며, 각 변형이 서로 다른 효율성 요구에 맞추어 경쟁력 있는 정확도를 유지하도록 한다.</p>

<h3 id="hgnetv2-기반-변형hgnetv2-based-variants">HGNetv2 기반 변형(HGNetv2-based variants)</h3>

<p><strong>HGNetv2</strong> [1]는 바이두 PaddlePaddle 팀이 개발한 모델로, 높은 효율성 덕분에 실시간 DETR 프레임워크에서 널리 사용된다. 예를 들어 <strong>D-FINE</strong> [17]은 HGNetv2 전체 계열을 백본으로 채택하고 있다. 초경량 DEIMv2 모델(Nano, Pico, Femto, Atto)에서도 HGNetv2-B0를 기반으로 하되, 서로 다른 파라미터 예산을 충족하기 위해 깊이와 너비를 점진적으로 가지치기(pruning)한다. 구체적으로, <strong>Pico</strong> 백본은 B0의 네 번째 스테이지를 제거하여 1/16 스케일까지만 출력을 유지한다. <strong>Femto</strong>는 Pico의 마지막 스테이지에서 블록 수를 두 개에서 하나로 줄인다. <strong>Atto</strong>는 한 단계 더 나아가, 해당 마지막 블록의 채널 수를 512에서 256으로 축소한다.</p>

<h3 id="공간-튜닝-어댑터spatial-tuning-adapter">공간 튜닝 어댑터(Spatial Tuning Adapter)</h3>

<p>DINOv3 특징을 실시간 객체 검출에 보다 효과적으로 적용하기 위해, 그림 1에 나타낸 <strong>공간 튜닝 어댑터(STA)</strong>를 제안한다. STA는 완전 합성곱 네트워크(fully convolutional network)로, 세밀한 다중 스케일 디테일을 추출하기 위한 초경량 피드포워드 네트워크를 통합하고, <strong>Bi-Fusion</strong> 연산자를 통해 DINOv3로부터 얻은 특징 표현을 추가로 강화한다.</p>

<p><strong>표 2:</strong> DEIMv2에서 사용한 상세 학습 하이퍼파라미터. *Back.*은 백본(Backbone)을 의미한다. Local Loss는 D-FINE [17]에서 제안된 <strong>세밀 위치 정합 손실(Fine-Grained Localization, FGL) 손실</strong>과 <strong>분리된 증류 포컬 손실(Decoupled Distillation Focal, DDF) 손실</strong>을 함께 사용함을 나타낸다.</p>

<p><img src="/assets/images/posts/624/img_4.png" alt="" /></p>

<p><strong>DINOv3</strong>는 ViT 백본을 기반으로 하며, 구조적으로 단일 스케일(1/16) 밀집 특징을 자연스럽게 생성한다. 그러나 객체 검출에서는 객체 크기의 분포가 매우 다양하므로, 다중 스케일 특징은 성능을 향상시키는 가장 효과적인 방법 중 하나이다. 이를 위해 <strong>ViTDet</strong> [10]는 디컨볼루션을 사용하여 최종 ViT 출력을 다중 스케일 특징으로 변환하는 <strong>Feature2Pyramid</strong> 모듈을 도입하였다.</p>

<p>이에 비해, 본 연구의 <strong>STA</strong>는 더욱 단순한 접근을 취한다. ViT의 여러 블록(예: 5번째, 8번째, 11번째)에서 얻은 1/16 스케일 특징을 <strong>파라미터가 없는 이중선형 보간(bilinear interpolation)</strong>을 통해 직접 여러 스케일로 리사이즈한다. 이렇게 생성된 다중 스케일 특징은, 세밀한 디테일을 추출하고 DINOv3의 출력 특징을 보완하도록 설계된 초경량 CNN과 <strong>1×1 컨볼루션</strong>으로 구성된 <strong>Bi-Fusion 연산자</strong>를 통해 추가로 강화된다.</p>

<p>이러한 설계는 효율성과 정확도 사이에서 매우 우수한 균형을 달성하며, 실시간 객체 검출에 특히 적합하다.</p>

<p><strong>표 3:</strong> COCO [12] val2017에서 실시간 객체 검출기들과의 비교. 파라미터 수 기준으로 정렬됨.</p>

<p><img src="/assets/images/posts/624/img_5.png" alt="" /></p>

<p><img src="/assets/images/posts/624/img_6.png" alt="" /></p>

<p><img src="/assets/images/posts/624/img_7.png" alt="" /></p>

<p><strong>표 4:</strong> COCO [12] val2017에서 초경량(ultra-light) 모델을 대상으로 한 실시간 객체 검출기 비교.</p>

<p><img src="/assets/images/posts/624/img_8.png" alt="" /></p>

<h3 id="효율적인-디코더efficient-decoder">효율적인 디코더(Efficient Decoder)</h3>

<p>우리는 표준 <strong>변형 가능한 어텐션 디코더(deformable attention decoder)</strong> [31]를 기반으로, Transformer 커뮤니티에서 널리 채택된 여러 효율 중심 기법을 도입하여 성능과 비용 간의 유리한 균형을 달성하였다. 구체적으로, 비선형 표현 능력을 강화하기 위해 <strong>SwiGLUFFN</strong> [20]을 통합하였고, 효율적으로 학습을 안정화하고 가속하기 위해 <strong>RMSNorm</strong> [27]을 적용하였다.</p>

<p>또한 반복적 정제(iterative refinement) 과정 동안 객체 쿼리의 위치가 거의 변하지 않는다는 점에 주목하여, 모든 디코더 레이어에서 <strong>단일 위치 임베딩(position embedding)</strong>을 공유하도록 제안하였다. 이를 통해 중복 계산을 제거하고 추가적인 연산 효율 향상을 달성한다.</p>

<h3 id="향상된-dense-o2oenhanced-dense-o2o">향상된 Dense O2O(Enhanced Dense O2O)</h3>

<p>이전 연구인 <strong>DEIM</strong> [7]에서 우리는 <strong>Dense O2O</strong>를 제안하였으며, 이는 학습 이미지당 객체 수를 증가시켜 더 강한 감독 신호를 제공함으로써 수렴 속도와 성능을 모두 향상시킨다. 초기에는 <strong>Mosaic</strong>과 <strong>MixUp</strong> [28]과 같은 이미지 수준 증강을 통해 그 효과를 입증하였다. <strong>DEIMv2</strong>에서는 이를 한 단계 더 확장하여, 배경 없이 새로운 객체를 추가하는 <strong>Copy-Blend</strong>를 활용한 객체 수준의 Dense O2O를 탐구한다.</p>

<p><strong>Copy-Paste</strong> [4]가 대상 영역을 완전히 덮어쓰는 방식인 것과 달리, <strong>Copy-Blend</strong>는 새로운 객체를 이미지와 자연스럽게 혼합(blending)한다. 이러한 특성은 본 연구의 설정에 더 적합하며, 실험 전반에 걸쳐 일관된 성능 향상을 가져온다.</p>

<h3 id="학습-설정-및-손실-함수training-setting-and-loss">학습 설정 및 손실 함수(Training setting and loss)</h3>

<p>전체 최적화 목표는 다섯 가지 손실 항의 가중합으로 구성된다. 즉, <strong>매칭 가능성 인지 손실(Matchability-Aware Loss, MAL)</strong> [7], <strong>세밀 위치 정합 손실(Fine-Grained Localization, FGL) 손실</strong> [17], <strong>분리된 증류 포컬 손실(Decoupled Distillation Focal, DDF) 손실</strong> [17], <strong>바운딩 박스 손실(BBox Loss, L1)</strong>, 그리고 <strong>GIoU 손실</strong> [19]이다. 전체 손실은 다음과 같이 정의된다.</p>

<p><img src="/assets/images/posts/624/img_9.png" alt="" /></p>

<p>학습에 사용한 하이퍼파라미터는 입력 해상도, 학습률, 학습 에폭 수, 그리고 Dense O2O 설정을 포함하여 표 2에 요약되어 있다. 흥미로운 관찰 결과로, <strong>초경량 모델</strong>에 FGL 및 DDF 손실을 적용할 경우 오히려 성능이 저하됨을 확인하였다. 이는 이들 모델의 제한된 표현 용량과 본질적으로 낮은 기본 정확도로 인해 <strong>자기 증류(self-distillation)</strong>의 효과가 감소하기 때문으로 해석된다. 이에 따라 <strong>Pico, Femto, Atto</strong> 변형의 학습에서는 이 두 손실 항(즉, local loss)을 제외하였다.</p>

<h2 id="3-실험experiments">3. 실험(Experiments)</h2>

<h3 id="최신-실시간-객체-검출기와의-비교">최신 실시간 객체 검출기와의 비교</h3>

<p>표 3은 <strong>DEIMv2</strong>의 S, M, L, X 변형 전반에 걸친 성능을 요약하며, 기존 최신(state-of-the-art) 검출기들 대비 상당한 성능 향상을 보여준다. 예를 들어, 가장 큰 변형인 <strong>DEIMv2-X</strong>는 약 50M 파라미터와 151 GFLOPs만으로 <strong>57.8 AP</strong>를 달성하여, 62M 파라미터와 202 GFLOPs로 56.5 AP를 기록한 기존 최고 성능 모델 <strong>DEIM-X</strong>를 능가한다. 이는 DEIMv2가 더 적은 파라미터와 더 낮은 연산 비용으로도 더 높은 정확도를 제공할 수 있음을 보여준다.</p>

<p>소형 모델 측면에서도 <strong>DEIMv2-S</strong>는 COCO에서 10M 미만의 파라미터로 50 AP를 최초로 돌파한 모델이라는 새로운 이정표를 세웠다. DEIMv2-S는 약 11M 파라미터와 26 GFLOPs로 <strong>50.9 AP</strong>를 달성하였으며, 거의 동일한 모델 크기에서 49.0 AP를 기록한 기존 <strong>DEIM-S</strong> 대비 명확한 성능 개선을 보인다. 일반적으로 CNN 기반 백본이 하드웨어 친화적인 것으로 알려져 있지만, 본 연구의 <strong>ViT 기반 백본</strong>은 더 적은 파라미터와 낮은 FLOPs로 경량 설계를 달성하면서도, 확장성과 배포 유연성 측면에서 이점을 제공한다.</p>

<p>한편, 본 논문에서 제안한 방법들의 <strong>지연 시간(latency)</strong>은 아직 최적화되지 않았다. <strong>Yolov12</strong> [22]에서 사용된 <strong>Flash Attention</strong> [2]과 같은 기법을 적용하면 추론 속도를 추가로 가속할 수 있을 것으로 보인다. 전반적으로 FLOPs 감소는 적절한 최적화가 수반될 경우, ViT 기반 백본이 저지연 성능을 달성할 수 있는 잠재력을 지님을 시사한다.</p>

<p>흥미롭게도, <strong>DINOv3 기반 DEIMv2 모델</strong>을 유사한 파라미터 수와 FLOPs를 갖는 기존 <strong>DEIM</strong> 모델들과 비교했을 때, 정확도 향상의 대부분은 <strong>중간 크기(medium)</strong> 및 <strong>대형(large)</strong> 객체에서 비롯되며, <strong>소형 객체(small)</strong> 성능은 거의 변하지 않는 것으로 나타났다. 예를 들어, <strong>DEIMv2-S</strong>는 <strong>APM 55.3</strong>, <strong>APL 70.3</strong>을 기록하여 <strong>DEIM-S</strong>의 APM 52.6, APL 65.7을 크게 상회하지만, 소형 객체 성능(APS)은 31.4 대 30.4로 거의 유사하다. 더 큰 모델에서도 동일한 경향이 관찰되는데, <strong>DEIMv2-X</strong>는 APM을 61.4에서 62.8로, APL을 74.2에서 75.9로 향상시켰지만, 소형 객체 AP(39.2)는 <strong>DEIM-M</strong>의 38.8과 큰 차이가 없다.</p>

<p>이러한 결과는 DEIMv2의 주요 강점이 <strong>중·대형 객체에 대한 표현력과 검출 성능을 향상시키는 데</strong> 있음을 보여주며, 소형 객체 검출은 스케일 전반에서 여전히 도전 과제로 남아 있음을 시사한다. 이는 <strong>DINOv3</strong>가 강력한 전역적 의미 정보(global semantics)를 포착하는 데는 뛰어나지만, 세밀한 디테일 표현에는 한계가 있음을 다시 한번 확인해준다. 따라서 DINOv3 특징을 실시간 검출기에 더욱 효과적으로 통합하는 방법을 탐구하는 것은 향후 연구에서 흥미로운 방향이 될 것이다.</p>

<h3 id="경쟁력-있는-초경량-객체-검출기와의-비교">경쟁력 있는 초경량 객체 검출기와의 비교</h3>

<p>표 4에 요약된 바와 같이, <strong>DEIMv2의 초경량 변형들</strong> 역시 강력한 성능을 보인다. 단 0.49M 파라미터를 사용하는 <strong>DEIMv2-Atto</strong>는 훨씬 더 작은 모델임에도 불구하고 <strong>NanoDet-M</strong>과 유사한 성능을 달성한다. 또한 <strong>DEIMv2-Pico</strong>는 <strong>YOLOv10-N</strong> [23]과 동등한 성능을 보이면서도, 필요한 파라미터 수는 절반 이하에 불과하다. 이러한 결과는 극단적으로 경량화된 설정에서도 DEIMv2의 효과성을 입증하며, 자원이 제한된 엣지 디바이스 환경에 매우 적합함을 보여준다.</p>

<h2 id="4-결론conclusion">4. 결론(Conclusion)</h2>

<p>본 논문에서는 <strong>DINOv3</strong>의 강력한 의미적 표현과 제안한 경량 <strong>공간 튜닝 어댑터(Spatial Tuning Adapter, STA)</strong>를 결합한 차세대 실시간 객체 검출기 <strong>DEIMv2</strong>를 소개하였다. 세심한 설계와 스케일링을 통해, DEIMv2는 모델 크기 전반에 걸쳐 최신(state-of-the-art) 성능을 달성하였다. 대형 모델 영역에서는 <strong>DEIMv2-X</strong>가 기존의 대규모 검출기들보다 훨씬 적은 파라미터 수로 <strong>57.8 AP</strong>를 달성하였다. 반면 소형 모델 영역에서는 <strong>DEIMv2-S</strong>가 해당 크기에서 최초로 <strong>50 AP</strong>를 돌파하였으며, 초경량 <strong>DEIMv2-Pico</strong>는 <strong>YOLOv10-N</strong>과 동등한 성능을 보이면서도 50% 이상 적은 파라미터를 사용한다.</p>

<p>이러한 결과들은 DEIMv2가 단순히 효율적인 모델에 그치지 않고, <strong>높은 확장성</strong>을 갖춘 구조임을 입증한다. 즉, 정확도와 효율성 간의 경계를 한 단계 끌어올리는 <strong>통합 프레임워크</strong>를 제시한 것이다. 이러한 범용성 덕분에 DEIMv2는 자원이 제한된 엣지 디바이스부터 고성능 검출 시스템에 이르기까지 다양한 환경에 적합하며, 실제 응용 분야에서 실시간 객체 검출의 보다 폭넓은 활용을 가능하게 할 것으로 기대된다.</p>]]></content><author><name>JunHan</name></author><category term="인공지능" /><summary type="html"><![CDATA[https://intellindust-ai-lab.github.io/projects/DEIMv2/]]></summary></entry><entry><title type="html">Object Detection Model Leaderboard</title><link href="https://junhanzang.github.io/%EA%B0%9C%EC%9D%B8%EC%9A%A9/object-detection-model-leaderboard/" rel="alternate" type="text/html" title="Object Detection Model Leaderboard" /><published>2026-01-26T06:07:56+09:00</published><updated>2026-01-26T06:07:56+09:00</updated><id>https://junhanzang.github.io/%EA%B0%9C%EC%9D%B8%EC%9A%A9/object-detection-model-leaderboard</id><content type="html" xml:base="https://junhanzang.github.io/%EA%B0%9C%EC%9D%B8%EC%9A%A9/object-detection-model-leaderboard/"><![CDATA[<p><a href="https://leaderboard.roboflow.com/">https://leaderboard.roboflow.com/</a></p>

<table>
  <tbody>
    <tr>
      <td>[Computer Vision Model Leaderboard</td>
      <td>Object Detection Benchmarks](https://leaderboard.roboflow.com/)</td>
    </tr>
  </tbody>
</table>]]></content><author><name>JunHan</name></author><category term="개인용" /><summary type="html"><![CDATA[https://leaderboard.roboflow.com/]]></summary></entry><entry><title type="html">Mamba YOLO: A Simple Baseline for Object Detection with State Space Model</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mamba-yolo-a-simple-baseline-for-object-detection-with-state-space-model/" rel="alternate" type="text/html" title="Mamba YOLO: A Simple Baseline for Object Detection with State Space Model" /><published>2026-01-24T08:10:35+09:00</published><updated>2026-01-24T08:10:35+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mamba-yolo-a-simple-baseline-for-object-detection-with-state-space-model</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/mamba-yolo-a-simple-baseline-for-object-detection-with-state-space-model/"><![CDATA[<p><a href="https://arxiv.org/abs/2406.05835">https://arxiv.org/abs/2406.05835</a></p>

<p>[Mamba YOLO: A Simple Baseline for Object Detection with State Space Model</p>

<p>Driven by the rapid development of deep learning technology, the YOLO series has set a new benchmark for real-time object detectors. Additionally, transformer-based structures have emerged as the most powerful solution in the field, greatly extending the m</p>

<p>arxiv.org](https://arxiv.org/abs/2406.05835)</p>

<p><strong>Mamba YOLO: 상태 공간 모델(State Space Model)을 활용한 객체 탐지를 위한 간단한 베이스라인</strong></p>

<p>Zeyu Wang¹˒², Chen Li¹˒²,* Huiying Xu¹˒², Xinzhong Zhu¹˒²˒³,† Hongbo Li³<br />
동등 기여. *교신저자.</p>

<h3 id="초록abstract">초록(Abstract)</h3>

<p>딥러닝 기술의 급속한 발전에 힘입어, YOLO 시리즈는 실시간 객체 탐지 분야에서 새로운 기준을 제시해 왔다. 또한 Transformer 기반 구조는 모델의 수용 영역(receptive field)을 크게 확장하고 유의미한 성능 향상을 달성하면서, 해당 분야에서 가장 강력한 해결책으로 부상하였다. 그러나 이러한 성능 향상은 self-attention 메커니즘의 이차적 복잡도(quadratic complexity)로 인해 모델의 계산 부담이 크게 증가한다는 비용을 동반한다.</p>

<p>이 문제를 해결하기 위해, 본 논문에서는 <strong>Mamba YOLO</strong>라 불리는 단순하면서도 효과적인 베이스라인 접근법을 제안한다. 본 연구의 주요 기여는 다음과 같다.</p>

<ol>
  <li><strong>ODMamba 백본(backbone)</strong> 에 선형 복잡도(linear complexity)를 갖는 상태 공간 모델(State Space Model, SSM)을 도입하여 self-attention의 이차적 복잡도 문제를 해결한다. 기존의 Transformer 기반 또는 SSM 기반 방법들과 달리, ODMamba는 사전 학습(pretraining) 없이도 간단하게 학습이 가능하다.</li>
  <li>실시간 요구사항을 만족하기 위해 ODMamba의 거시적 구조(macro structure)를 설계하고, 최적의 stage 비율과 스케일 크기를 결정하였다.</li>
  <li>채널 차원을 효과적으로 모델링하기 위해 다중 분기(multi-branch) 구조를 사용하는 <strong>RG Block</strong>을 설계하였다. 이는 시퀀스 모델링에서 SSM이 가질 수 있는 한계, 예를 들어 수용 영역 부족이나 이미지 위치 정보(localization)의 약함 문제를 보완한다. 해당 설계는 국소적인 이미지 의존성을 보다 정확하고 효과적으로 포착한다.</li>
</ol>

<p>공개된 COCO 벤치마크 데이터셋에 대한 광범위한 실험 결과, Mamba YOLO는 기존 방법들과 비교하여 최첨단(State-of-the-Art) 성능을 달성함을 확인하였다. 특히, Mamba YOLO의 tiny 버전은 단일 RTX 4090 GPU 환경에서 추론 시간 1.5 ms로 동작하면서 mAP 기준 7.5%의 성능 향상을 달성하였다. PyTorch 코드는 다음 링크에서 확인할 수 있다.<br />
<a href="https://github.com/HZAI-ZJNU/Mamba-YOLO">https://github.com/HZAI-ZJNU/Mamba-YOLO</a></p>

<p>[GitHub - HZAI-ZJNU/Mamba-YOLO: the official pytorch implementation of “Mamba-YOLO：SSMs-based for Object Detection”</p>

<p>the official pytorch implementation of “Mamba-YOLO：SSMs-based for Object Detection” - HZAI-ZJNU/Mamba-YOLO</p>

<p>github.com](https://github.com/HZAI-ZJNU/Mamba-YOLO)</p>

<p><img src="/assets/images/posts/622/img.png" alt="" /></p>

<p><strong>그림 1:</strong> MS COCO 데이터셋에서의 실시간 객체 탐지기 비교. SSM 기반 객체 탐지 방법은 성능과 계산량 간의 균형 측면에서 가장 우수한 트레이드오프를 달성한다.</p>

<h2 id="1-서론introduction">1. 서론(Introduction)</h2>

<p>최근 몇 년간 딥러닝은 급속도로 발전해 왔으며, 특히 컴퓨터 비전 분야에서는 일련의 강력한 아키텍처들이 인상적인 성능을 달성해 왔다. 합성곱 신경망(Convolutional Neural Networks, CNNs) (Huang et al. 2017; Tan and Le 2020; Liu et al. 2022)부터 비전 트랜스포머(Vision Transformers, ViTs) (Liu et al. 2021; Shi 2023)에 이르기까지, 다양한 구조의 적용은 컴퓨터 비전 분야에서의 높은 잠재력을 입증하였다.</p>

<p>객체 탐지(object detection)라는 다운스트림 과제에서는 CNN 기반 방법(Ren et al. 2016; Liu et al. 2016)과 Transformer 구조(Carion et al. 2020; Zhang et al. 2022)가 주로 사용되고 있다. CNN과 그 변형들은 정확도를 유지하면서도 빠른 실행 속도를 제공하지만, 이미지 전반에 걸친 상관관계(correlation)를 충분히 포착하지 못한다는 한계를 가진다. 이러한 문제를 해결하기 위해, 연구자들은 self-attention의 강력한 전역(global) 모델링 능력을 활용하는 DETR 계열(Carion et al. 2020; Zhu et al. 2020)과 같은 ViT 기반 구조를 객체 탐지 분야에 도입하였다.</p>

<p>하드웨어의 발전과 함께, 이러한 구조가 요구하는 메모리 연산량 증가는 더 이상 큰 문제가 되지 않게 되었다. 그러나 최근에는 CNN을 어떻게 설계해야 모델을 더 빠르게 만들 수 있을지에 대해 재고하는 연구들(Liu et al. 2022; Zhang et al. 2023; Wang et al. 2023)이 등장하였으며, 점점 더 많은 실무자들이 Transformer 구조가 갖는 이차적 복잡도(quadratic complexity)에 대해 불만을 가지기 시작했다. 이에 따라 MobileViT(Mehta and Rastegari 2021), EdgeViT(Chen et al. 2022), EfficientFormer(Li et al. 2023)와 같이 하이브리드 구조를 사용하여 모델을 재구성하고 복잡도를 줄이려는 시도가 이루어지고 있다.</p>

<p>그러나 이러한 하이브리드 모델 역시 새로운 도전 과제를 동반하며, 특히 성능 저하가 명확히 나타난다는 점이 우려 사항으로 지적된다. 따라서 성능과 속도 간의 균형을 찾는 문제는 오랫동안 연구자들의 주요 관심사였다. 최근에는 Mamba(Gu and Dao 2023)와 같은 <strong>구조화된 자기 변조(Structured Self-Modulation, SSM)</strong> 기반 방법들이, 장거리 의존성(long-distance dependency)에 대한 강력한 모델링 능력과 선형 시간 복잡도(linear time complexity)라는 우수한 특성 덕분에 이러한 문제를 해결할 수 있는 새로운 아이디어를 제시하고 있다.</p>

<p><img src="/assets/images/posts/622/img_1.png" alt="" /></p>

<p><strong>그림 2:</strong> Mamba YOLO 아키텍처의 개요도. Mamba YOLO는 선택적 SSM(selective SSM)을 적용한 <strong>ODSSBlock</strong>을 사용하여 백본(backbone)을 구성한다. 입력 이미지는 <strong>Simple Stem</strong>을 통해 여러 패치(patch)로 분할되며, 다운샘플링 연산에는 <strong>Vision Clue Merge</strong>가 사용된다. 백본 네트워크로부터 {C3, C4, C5}와 같은 다중 수준 특징(feature)이 추출된 후 PAFPN으로 융합된다. 이후 고수준 의미 특징(high-level semantic features)과 저수준 공간 특징(low-level spatial features)은 ODSSBlock을 통해 정제되고 결합되며, 최종적으로 {P3, P4, P5} 특징이 <strong>Decoupled Head</strong>로 전달되어 객체 탐지 결과를 출력한다.</p>

<p>본 논문에서는 <strong>Mamba YOLO</strong>라 불리는 객체 탐지기(detector) 모델을 제안한다. 우리는 그림 2에 제시된 바와 같이, 상태 공간 모델(State Space Model, SSM)을 객체 탐지 분야에 적용한 <strong>객체 탐지 구조화 모듈(Object Detection Structured ODSSBlock)</strong> 을 설계하였다.</p>

<p>이미지 분류를 위해 사용되는 Visual State Space Block(Liu et al. 2024)과 달리, 객체 탐지 과제는 일반적으로 더 높은 해상도와 픽셀 밀도를 가진 이미지를 다룬다. SSM은 본래 텍스트 시퀀스 모델링을 목적으로 설계되었기 때문에, 이미지가 지니는 채널 깊이(channel depth)를 충분히 활용하는 데에는 한계가 있다. 이러한 고해상도 이미지가 제공하는 풍부한 세부 정보와 다채널 정보를 효과적으로 활용하기 위해, 우리는 <strong>Residual Gated(RG) Block</strong> 아키텍처를 도입하였다.</p>

<p>이 구조에서는 <strong>Selective-Scan-2D(SS2D)</strong> 처리를 통해 출력을 정제하며, 고차원 점곱(high-dimensional dot product) 연산을 활용하여 채널 간 상관관계를 강화하고 보다 풍부한 특징 표현(feature representation)을 추출한다. MS COCO(Lin et al. 2015) 데이터셋에 대해 광범위한 실험을 수행한 결과, Mamba YOLO는 MS COCO 기반 일반 객체 탐지 과제에서 매우 경쟁력 있는 성능을 보임을 확인하였다. 본 논문의 주요 기여는 다음과 같이 요약할 수 있다.</p>

<ul>
  <li>본 논문에서 제안하는 SSM 기반 <strong>Mamba YOLO</strong>는 선형 메모리 복잡도를 갖는 단순하고 효율적인 구조를 가지며, 대규모 데이터셋에 대한 사전 학습(pre-training)을 필요로 하지 않는다. 이를 통해 객체 탐지 분야에서 YOLO의 새로운 베이스라인을 제시한다.</li>
  <li>SSM의 국소(local) 모델링 한계를 보완하기 위해 <strong>ODSSBlock</strong>을 제안한다. MLP 계층의 설계를 재고함으로써, 게이티드 집계(gated aggregation) 개념과 효과적인 합성곱, 잔차 연결(residual connectivity)을 결합한 <strong>RG Block</strong>을 도입하였으며, 이를 통해 국소 의존성을 효과적으로 포착하고 모델의 강건성을 향상시킨다.</li>
  <li>서로 다른 크기와 스케일의 과제 배포를 지원하기 위해 <strong>Mamba YOLO (Tiny / Base / Large)</strong> 라는 다양한 스케일의 모델 세트를 설계하였다. 그림 1에 제시된 MS COCO 실험 결과에서 확인할 수 있듯이, Mamba YOLO는 기존의 최첨단(State-of-the-Art) 방법들과 비교하여 유의미한 성능 향상을 달성하였다.</li>
</ul>

<h2 id="관련-연구related-work">관련 연구(Related Work)</h2>

<h3 id="실시간-객체-탐지기real-time-object-detectors">실시간 객체 탐지기(Real-Time Object Detectors)</h3>

<p>YOLO의 초기 성능 향상은 주로 백본(backbone)의 개선과 밀접하게 연관되어 있었으며, 그 결과 DarkNet의 광범위한 사용으로 이어졌다. YOLOv7(Wang, Bochkovskiy, and Liao 2023)은 기존 구조를 훼손하지 않으면서 모델의 표현력을 강화하기 위해 <strong>E-ELAN</strong> 구조를 제안하였다. YOLOv8(Jocher, Chaurasia, and Qiu 2023)은 이전 세대 YOLO들의 특징을 결합하고, 보다 풍부한 그래디언트 흐름을 제공하는 <strong>CSPDarknet53 기반의 2-Stage FPN(C2f)</strong> 구조를 채택하였다. 이 구조는 경량성을 유지하면서도 정확도를 고려하여 다양한 시나리오에 유연하게 적용될 수 있다.</p>

<p>최근에는 Gold YOLO(Wang et al. 2024)가 <strong>Gather-and-Distribute(GD)</strong> 라는 새로운 메커니즘을 도입하였다. 이는 self-attention 연산을 통해 구현되며, 기존의 Feature Pyramid Network(FPN)(Lin et al. 2017)와 Rep-PAN(Li et al. 2022)이 갖는 정보 융합 문제를 해결하는 것을 목표로 한다. 이러한 설계를 통해 Gold YOLO는 최첨단(State-of-the-Art, SOTA) 성능을 달성하는 데 성공하였다.</p>

<h3 id="엔드투엔드-객체-탐지기end-to-end-object-detectors">엔드투엔드 객체 탐지기(End-to-End Object Detectors)</h3>

<p>DETR(Carion et al. 2020)는 Transformer를 객체 탐지에 최초로 도입한 모델로, 앵커(anchor) 생성이나 비최대 억제(Non-Maximum Suppression, NMS)와 같은 전통적인 수작업 기반 구성 요소를 우회하고, 객체 탐지를 하나의 단순한 집합 예측(ensemble prediction) 문제로 다루는 Transformer 인코더–디코더 아키텍처를 제안하였다.</p>

<p>Deformable DETR(Zhu et al. 2020)는 기준 위치(reference location) 주변에서 희소한 키포인트 집합을 샘플링하는 <strong>Deformable Attention</strong>이라는 Transformer Attention 변형을 도입함으로써, 고해상도 특징 맵을 처리하는 데 있어 DETR의 한계를 해결하고자 하였다.</p>

<p>DINO(Zhang et al. 2022)는 하이브리드 쿼리 선택 전략과 Deformable Attention을 통합하고, 학습 과정에서 노이즈를 주입(injected noise)하며 쿼리 최적화를 통해 성능을 향상시키는 학습 방식을 제시하였다.</p>

<p>RT-DETR(Zhao et al. 2023)는 효율적인 다중 스케일 특징 처리를 위해, 스케일 내부 상호작용(intra-scale interactions)과 스케일 간 융합(cross-scale fusion)을 분리(decouple)하는 하이브리드 인코더를 제안하였다.</p>

<p>그러나 DETR 계열의 우수한 성능은 대규모 데이터셋에 대한 사전 학습(pre-training)에 크게 의존하며, 학습 수렴의 어려움, 높은 계산 비용, 그리고 소형 객체(small-object) 탐지에서의 한계라는 문제를 여전히 안고 있다. 이러한 이유로, 정확도와 속도를 동시에 요구하는 소형 모델링 도메인에서는 현재까지도 YOLO 계열이 최첨단(State-of-the-Art, SOTA) 성능을 유지하고 있다.</p>

<h3 id="비전-상태-공간-모델vision-state-space-models">비전 상태 공간 모델(Vision State Space Models)</h3>

<p>상태 공간 모델(State Space Model, SSM)에 대한 기존 연구(Gu, Goel, and Ré 2022; Gu et al. 2021; Smith, Warrington, and Linderman 2023)를 바탕으로, Mamba(Gu and Dao 2023)는 입력 크기에 대해 선형 복잡도(linear complexity)를 보이며, 긴 시퀀스 모델링에서 Transformer가 가지는 계산 효율성 문제를 해결하였다.</p>

<p>일반화된 비전 백본(generalized visual backbone) 분야에서 Vision Mamba(Zhu et al. 2024)는 선택적 SSM(selective SSM)을 기반으로 한 순수 비전 백본 모델을 제안하여, Mamba를 비전 분야에 최초로 도입하였다. VMamba(Liu et al. 2024)는 <strong>Cross-Scan</strong> 모듈을 도입하여 2차원 이미지에 대한 선택적 스캐닝(Selective Scanning)을 가능하게 함으로써 시각적 처리 성능을 강화하였으며, 이미지 분류 과제에서 우수한 성능을 입증하였다.</p>

<p>LocalMamba(Huang et al. 2024)는 시공간(visuospatial) 모델을 위한 윈도우 스캐닝(window scanning) 전략에 초점을 맞추어, 국소적 의존성(local dependency)을 효과적으로 포착할 수 있도록 시각 정보를 최적화하였다. 또한 서로 다른 계층(layer)에 대해 최적의 선택을 탐색하기 위한 동적 스캐닝(dynamic scanning) 방법을 도입하였다.</p>

<p>VMamba가 비전 과제에서 달성한 뛰어난 성과에 영감을 받아, 본 논문에서는 <strong>Mamba YOLO</strong>를 최초로 제시한다. 이는 기존의 SSM 기반 비전 백본과 달리, ImageNet(Deng et al. 2009)이나 Object365(Shao et al. 2019)와 같은 대규모 데이터셋에 대한 사전 학습(pre-training)을 요구하지 않는 새로운 SSM 기반 모델이다. 본 모델은 전역 수용 영역(global receptive field)을 고려함과 동시에, 객체 탐지 과제에서의 잠재력을 입증하는 것을 목표로 한다.</p>

<h2 id="방법method">방법(Method)</h2>

<h3 id="기초-이론preliminaries">기초 이론(Preliminaries)</h3>

<p><img src="/assets/images/posts/622/img_2.png" alt="" /></p>

<p>식 (1)에서 A ∈ ℝ^{N×N} 는 시간에 따라 은닉 상태가 어떻게 변화하는지를 제어하는 상태 전이 행렬(state transition matrix)을 의미하며, B ∈ ℝ^{N×1} 은 은닉 상태에 대한 입력 공간의 가중치 행렬을 나타낸다. 또한 C ∈ ℝ^{N×1} 은 은닉 중간 상태를 출력으로 사상하는 관측 행렬(observation matrix)이다.</p>

<p>Mamba는 고정된 이산화(discretization) 규칙을 사용하여 연속 시스템을 이산 시간 시퀀스 데이터에 적용한다. 구체적으로, 연속 파라미터 A와 B를 각각 이산 형태의 Ā 와 B̄ 로 변환함으로써, 해당 시스템을 딥러닝 아키텍처에 보다 효과적으로 통합한다. 이 과정에서 널리 사용되는 이산화 기법 중 하나가 <strong>Zero-Order Hold(ZOH)</strong> 이다. 이산화된 형태는 다음과 같이 정의된다.</p>

<p>Ā = exp(Δ · A)  (3)<br />
B̄ = (Δ · A)^{-1} · (exp(Δ · A) − I) · Δ · B  (4)</p>

<p>식 (4)에서 Δ 는 모델의 시간 해상도를 조절하는 시간 스케일 파라미터를 의미하며, Δ · A 와 Δ · B 는 주어진 시간 구간에서 연속 파라미터에 대응하는 이산 시간 형태를 나타낸다. 여기서 I 는 단위 행렬(identity matrix)이다.</p>

<p>이러한 변환 이후, 모델은 선형 재귀 형태(linear recursive form)를 통해 계산되며, 이는 다음과 같이 정의된다.</p>

<p>h′(t) = Ā · h_{t−1} + B̄ · x_t  (5)<br />
y_t = C · h_t  (6)</p>

<p>전체 시퀀스 변환은 합성곱(convolution) 형태로도 표현할 수 있으며, 이는 다음과 같이 정의된다.</p>

<p>K̄ = (C · B̄, C · A B̄, …, C · Ā^{L−1} · B̄)  (7)<br />
y = x ∗ K̄  (8)</p>

<p>여기서 K̄ ∈ ℝ^L 는 구조화된 합성곱 커널(structured convolutional kernel)을 의미하며, L 은 입력 시퀀스의 길이를 나타낸다.</p>

<p>본 논문에서 제시하는 설계에서는 병렬 학습(parallel training)을 위해 합성곱 형태를 사용하고, 효율적인 자기회귀 추론(autoregressive inference)을 위해 선형 재귀 표현을 활용한다.</p>

<h2 id="전체-아키텍처overall-architecture">전체 아키텍처(Overall Architecture)</h2>

<p>Mamba YOLO의 아키텍처 개요는 그림 2에 제시되어 있다. 본 객체 탐지 모델은 <strong>ODMamba 백본(backbone)</strong> 과 <strong>넥(neck)</strong> 부분으로 구성된다. ODMamba는 <strong>Simple Stem</strong>과 <strong>Downsample Block</strong>으로 이루어져 있다. 넥(neck) 부분에서는 PAFPN(Jocher, Chaurasia, and Qiu 2023)의 설계를 따르되, 보다 풍부한 그래디언트 정보 흐름을 포착하기 위해 C2f 대신 <strong>ODSSBlock</strong> 모듈을 사용한다.</p>

<p>백본에서는 먼저 Stem 모듈을 통해 다운샘플링이 수행되며, 그 결과 해상도가 H/4, W/4인 2차원 특징 맵(feature map)이 생성된다. 이후 모든 모델은 <strong>ODSSBlock</strong>과 <strong>VisionClue Merge</strong> 모듈을 순차적으로 거치며 추가적인 다운샘플링을 수행한다. 넥 부분에서는 PAFPN 구조를 채택하고, C2f를 ODSSBlock으로 대체하였으며, 이때 <strong>Conv</strong>는 오직 다운샘플링 역할만을 담당한다.</p>

<h2 id="simple-stem">Simple Stem</h2>

<p>현대적인 ViT들은 일반적으로 이미지를 겹치지 않는 패치(non-overlapping patch)로 분할하는 방식을 초기 모듈로 사용한다. 이러한 분할 과정은 커널 크기 4, 스트라이드 4의 합성곱 연산을 통해 구현된다. 그러나 EfficientFormerV2(Li et al. 2023)와 같은 최근 연구에 따르면, 이러한 접근 방식은 ViT의 최적화 능력을 제한하여 전체 성능에 부정적인 영향을 미칠 수 있음이 보고되었다.</p>

<p>성능과 효율성 간의 균형을 맞추기 위해, 본 논문에서는 보다 간소화된 <strong>Stem 레이어</strong>를 제안한다. 기존의 겹치지 않는 패치 분할 방식 대신, 스트라이드 2와 커널 크기 3을 갖는 두 개의 합성곱 연산을 사용하여 입력을 처리한다.</p>

<h2 id="vision-clue-merge">Vision Clue Merge</h2>

<p>CNN과 ViT 구조에서는 일반적으로 다운샘플링을 위해 합성곱 연산을 사용한다. 그러나 우리는 이러한 방식이 서로 다른 정보 흐름 단계에서 <strong>SS2D(Selective-Scan-2D)</strong> (Liu et al. 2024)의 선택적 연산을 방해한다는 점을 발견하였다. 이를 해결하기 위해 VMamba는 2차원 특징 맵을 분할하고, 1×1 합성곱을 사용하여 차원을 축소한다. 우리의 실험 결과에 따르면, SSM을 위해 더 많은 시각적 단서(visual clues)를 보존하는 것이 모델 학습에 유리하다.</p>

<p>기존의 차원을 절반으로 줄이는 방식과 달리, 본 논문에서는 다음과 같은 방식으로 해당 과정을 단순화하였다.</p>

<ol>
  <li>정규화(norm) 제거</li>
  <li>특징 맵의 차원 분할</li>
  <li>초과된 특징 맵을 채널 차원에 추가</li>
</ol>

<p>4×압축된 포인트와이즈(pointwise) 합성곱을 사용한 다운샘플링 스트라이드 2를 갖는 3×3 합성곱을 사용하는 기존 방식과 달리, 본 방법은 이전 계층에서 SS2D에 의해 선택된 특징 맵을 그대로 보존한다.</p>

<p><img src="/assets/images/posts/622/img_3.png" alt="" /></p>

<p><strong>그림 3:</strong> ODSSBlock 아키텍처의 구조도.</p>

<p><img src="/assets/images/posts/622/img_4.png" alt="" /></p>

<p><strong>표 1:</strong> MS COCO val 데이터셋에서 Mamba YOLO와 다른 객체 탐지기들의 성능 비교. 공정한 비교를 위해, 모든 모델은 공식 사전 학습(pre-trained) 가중치를 사용하였으며, NVIDIA RTX 4090 GPU에서 반정밀도 부동소수점(FP16) 형식으로 지연 시간(latency)을 측정하였다. 이때 TensorRT 버전은 8.4.3, cuDNN 버전은 8.2.0을 사용하였다.</p>

<p>기호 ‘†’는 학습 완료 이후 추가적인 자기 증류(self-distillation)가 수행되었음을 의미하며, ‘*’는 ImageNet 또는 이와 유사한 대규모 객체 탐지 데이터셋을 이용한 지도 학습 기반 사전 학습이 사용되었음을 나타낸다. 제안하는 Mamba YOLO 모델에 해당하는 결과는 회색으로 강조 표시하였다. 최고 성능과 두 번째로 우수한 성능은 각각 굵은 글씨와 밑줄로 표시하였다.</p>

<h2 id="odssblock">ODSSBlock</h2>

<p><img src="/assets/images/posts/622/img_5.png" alt="" /></p>

<h2 id="ss2d">SS2D</h2>

<p><strong>Scan Expansion</strong>, <strong>S6 Block</strong>, <strong>Scan Merge</strong>는 SS2D 알고리즘을 구성하는 세 가지 핵심 단계이며, 전체적인 처리 흐름은 그림 3에 제시되어 있다. <strong>Scan Expansion</strong> 연산은 입력 이미지를 일련의 하위 이미지(sub-image) 시퀀스로 확장하는 과정으로, 각 하위 이미지는 특정한 방향(direction)을 나타낸다. 대각선 관점에서 살펴보면, Scan Expansion 연산은 서로 대칭적인 네 가지 방향, 즉 <strong>위에서 아래(top-down)</strong>, <strong>아래에서 위(bottom-up)</strong>, <strong>왼쪽에서 오른쪽(left-to-right)</strong>, 그리고 <strong>오른쪽에서 왼쪽(right-to-left)</strong> 방향을 따라 수행된다.</p>

<p>이와 같은 구성은 입력 이미지의 모든 영역을 포괄적으로 커버할 뿐만 아니라, 체계적인 방향 변환을 통해 후속 특징 추출 단계에 풍부한 다차원 정보 기반을 제공함으로써, 이미지 특징을 다차원적으로 포착하는 효율성과 포괄성을 동시에 향상시킨다.</p>

<p>SS2D의 <strong>Scan Merge</strong> 연산은 이렇게 얻어진 시퀀스들을 입력으로 받아 <strong>S6 Block</strong>(Gu and Dao 2023)에 전달한 뒤, 서로 다른 방향에서 생성된 시퀀스들을 병합하여 전역 특징(global features)으로 통합한다.</p>

<h2 id="rg-block">RG Block</h2>

<p>기존의 <strong>MLP</strong>는 여전히 가장 널리 사용되는 구조이며, VMamba 아키텍처에서의 MLP 또한 Transformer 설계를 따르며 입력 시퀀스에 비선형 변환을 적용하여 모델의 표현력을 향상시킨다. 최근 연구에 따르면 <strong>Gated MLP</strong>(Dauphin et al. 2017; Rajagopal and Nirmala 2021)는 자연어 처리 분야에서 우수한 성능을 보였으며, 본 논문에서는 이러한 <strong>게이팅(gating)</strong> 메커니즘이 비전 분야에서도 동일한 잠재력을 지닌다고 판단하였다.</p>

<p><img src="/assets/images/posts/622/img_6.png" alt="" /></p>

<p><img src="/assets/images/posts/622/img_7.png" alt="" /></p>

<hr />

<p>만약 gelu말고 silu나 relu쪽으로 간다면 얼마나 영향이갈까?</p>

<p><img src="/assets/images/posts/622/img_8.png" alt="" /></p>

<h2 id="2️⃣-rg-block에서-activation의-역할이-중요해지는-이유">2️⃣ RG Block에서 activation의 역할이 중요해지는 이유</h2>

<p>RG Block은 <strong>일반 MLP가 아님</strong>.</p>

<p>핵심 구조를 다시 보면:</p>

<p>R_fusion = R_global ⊙ Y(R_local)</p>

<p>즉,</p>

<ul>
  <li>activation 출력이</li>
  <li><strong>곱셈 게이트(gating)</strong> 로 바로 사용됨</li>
</ul>

<p>? 이 말은:</p>

<blockquote>
  <p>activation의 <strong>출력 분포(shape)</strong> 가<br />
곧 <strong>정보 통과량(control signal)</strong> 이 된다는 뜻
—</p>
</blockquote>

<h2 id="3️⃣-gelu-vs-silu-vs-relu를-기능적으로-비교하면">3️⃣ GELU vs SiLU vs ReLU를 기능적으로 비교하면</h2>

<h3 id="-1-gelu">? (1) GELU</h3>

<p>특징:</p>

<ul>
  <li>부드러운 비선형</li>
  <li>음수 영역에서도 <strong>완전 차단이 아님</strong></li>
  <li>출력 분포가 연속적</li>
</ul>

<p>RG Block 관점에서:</p>

<ul>
  <li>게이트가 <strong>연속적으로 열리고 닫힘</strong></li>
  <li>global ⊙ local 곱셈이 안정적</li>
  <li>SSM에서 누적되는 state가 폭주하지 않음</li>
</ul>

<h2 id="️-가장-안전한-선택">➡️ <strong>가장 안전한 선택</strong></h2>

<h3 id="-2-silu-swish">? (2) SiLU (Swish)</h3>

<p>정의:</p>

<p>SiLU(x) = x · sigmoid(x)</p>

<p>특징:</p>

<ul>
  <li>GELU와 매우 유사한 곡선</li>
  <li>음수도 일부 통과</li>
  <li>gradient 흐름도 부드러움</li>
</ul>

<p>실제로:</p>

<ul>
  <li>많은 ViT / CNN hybrid에서
    <ul>
      <li>GELU ↔ SiLU 거의 interchangeable</li>
    </ul>
  </li>
</ul>

<p>RG Block에서의 영향:</p>

<ul>
  <li>게이팅의 연속성 유지</li>
  <li>곱셈 구조와 충돌 없음</li>
</ul>

<p>? <strong>실험적으로는</strong></p>

<ul>
  <li>mAP 기준 <strong>0.1~0.3%p 수준 차이</strong></li>
  <li>latency 차이는 거의 없음</li>
</ul>

<h2 id="️-현실적인-대체재">➡️ <strong>현실적인 대체재</strong></h2>

<h3 id="-3-relu--문제의-핵심">? (3) ReLU — 문제의 핵심</h3>

<p>ReLU:</p>

<p>ReLU(x) = max(0, x)</p>

<p>RG Block에서 치명적인 이유 ?</p>

<h4 id="-a-게이팅이-이산적이-됨">❌ (a) 게이팅이 이산적이 됨</h4>

<ul>
  <li>음수 → 0 (완전 차단)</li>
  <li>양수 → 선형 통과</li>
</ul>

<p>➡️ 곱셈 게이트가</p>

<ul>
  <li><strong>hard gate</strong> 처럼 동작</li>
  <li>fine-grained control 불가</li>
</ul>

<h4 id="-b-local-feature-소실">❌ (b) local feature 소실</h4>

<ul>
  <li>Y(R_local)이 0이면</li>
  <li>global 정보도 함께 사라짐</li>
</ul>

<p>➡️ RG Block의 설계 의도 붕괴</p>

<h4 id="-c-ssm-누적-특성과-충돌">❌ (c) SSM 누적 특성과 충돌</h4>

<ul>
  <li>ReLU는 분포를 <strong>한쪽으로 치우치게 함</strong></li>
  <li>SS2D의 state update가 불안정</li>
</ul>

<p>? 실제로 기대되는 현상:</p>

<ul>
  <li>small object AP ↓</li>
  <li>AP75 ↓</li>
  <li>
    <h2 id="학습-초반-loss-oscillation-">학습 초반 loss oscillation ↑</h2>
  </li>
</ul>

<h2 id="4️⃣-왜-논문들이-거의-항상-gelu를-쓰는가">4️⃣ 왜 논문들이 거의 항상 GELU를 쓰는가</h2>

<p>이건 “유행” 문제가 아니라 <strong>구조 문제</strong>야.</p>

<ul>
  <li>SSM / Transformer / gated MLP</li>
  <li>공통점: <strong>multiplicative interaction</strong></li>
</ul>

<p>이 구조에서는:</p>

<ul>
  <li>ReLU ❌</li>
  <li>GELU / SiLU ⭕</li>
  <li>
    <h2 id="심지어-elu-mish도-종종-사용됨">심지어 ELU, Mish도 종종 사용됨</h2>
  </li>
</ul>

<h2 id="5️⃣-실전-조언-네-상황-기준">5️⃣ 실전 조언 (네 상황 기준)</h2>

<p>네가 이미 말한 조건을 기준으로 하면:</p>

<h3 id="-만약-바꾼다면">? 만약 바꾼다면</h3>

<ul>
  <li><strong>GELU → SiLU</strong> ✅
    <ul>
      <li>TRT 영향 없음</li>
      <li>학습 안정성 거의 동일</li>
    </ul>
  </li>
  <li><strong>GELU → ReLU</strong> ❌
    <ul>
      <li>성능 손실 큼</li>
      <li>RG Block 의미 퇴색</li>
    </ul>
  </li>
</ul>

<h3 id="-ablation-관점에서">? ablation 관점에서</h3>

<p>논문에서 만약 reviewer가:</p>

<blockquote>
  <p>“GELU 아니어도 되냐?”</p>
</blockquote>

<p>라고 물으면:</p>

<ul>
  <li><strong>SiLU 실험 하나 넣는 건 합리적</strong></li>
  <li>
    <h2 id="relu는-굳이-안-해도-됨-이론적으로-불리">ReLU는 굳이 안 해도 됨 (이론적으로 불리)</h2>
  </li>
</ul>

<h2 id="-최종-한-줄-정리">? 최종 한 줄 정리</h2>

<blockquote>
  <p><strong>RG Block처럼 곱셈 게이팅이 있는 구조에서는<br />
GELU ↔ SiLU는 거의 동등하지만,<br />
ReLU는 구조적으로 맞지 않아 성능 저하가 크다.</strong>
—</p>
</blockquote>

<h2 id="실험experiments">실험(Experiments)</h2>

<p>본 절에서는 객체 탐지 과제를 대상으로 <strong>Mamba YOLO</strong>에 대한 포괄적인 실험을 수행한다. 제안한 Mamba YOLO의 우수성을 검증하기 위해 <strong>MS COCO</strong> 데이터셋을 사용하여 최신(State-of-the-Art) 방법들과의 성능 비교를 진행하였다. 모든 모델은 <strong>NVIDIA H800 GPU 8대</strong> 환경에서 학습되었다.</p>

<p><img src="/assets/images/posts/622/img_9.png" alt="" /></p>

<p><strong>그림 4:</strong> GPU 메모리 효율성과 mAP 관점에서의 <strong>DINO-R50</strong>과 <strong>Mamba YOLO-L</strong> 비교. 입력 이미지 해상도가 증가함에 따라, DINO는 높은 mAP를 유지하기 위해 더 높은 해상도를 요구하며, GPU 메모리 사용량과 FLOPs 모두에서 이차적(quadratic) 증가 추세를 보인다. 반면, Mamba YOLO는 GPU 메모리 요구량이 선형적으로 증가하는 특성을 유지하면서, 640×640의 비교적 작은 해상도에서도 더 적은 FLOPs와 더 빠른 추론 속도로 최고 성능을 달성한다.</p>

<p><img src="/assets/images/posts/622/img_10.png" alt="" /></p>

<p><strong>그림 5:</strong> COCO 데이터셋에서 각 객체 탐지기의 추론 결과 비교. 보다 명확한 시각화를 위해 세부 객체 영역을 확대하여 제시하였다.</p>

<h2 id="최신-기법state-of-the-arts과의-비교">최신 기법(State-of-the-Arts)과의 비교</h2>

<p>표 1은 MS COCO val 데이터셋에서의 실험 결과를 제시하며, 제안한 방법이 FLOPs, 파라미터 수, 정확도, 그리고 측정된 GPU 지연 시간(latency) 측면에서 <strong>전반적으로 가장 우수한 트레이드오프</strong>를 달성했음을 보여준다. 구체적으로, PPYOLOE-S(Long et al. 2020) 및 YOLO-MS-XS(Chen et al. 2023)와 같은 고성능 초경량 모델들과 비교했을 때, <strong>Mamba YOLO-T</strong>는 AP가 각각 <strong>1.1% / 1.5%</strong> 향상되었으며, GPU 추론 지연 시간은 <strong>0.9ms / 0.2ms</strong> 감소하였다. 유사한 정확도를 보이는 기준 모델 <strong>YOLOv8-S</strong>와 비교하면, Mamba YOLO-T는 파라미터 수를 <strong>48%</strong>, FLOPs를 <strong>53%</strong> 줄이면서 GPU 추론 지연 시간 또한 <strong>0.4ms</strong> 감소시켰다.</p>

<p><strong>Mamba YOLO-B</strong>는 파라미터 수와 FLOPs가 유사한 <strong>Gold-YOLO-M</strong>과 비교하여 AP가 <strong>3.7%</strong> 더 높다. 또한 유사한 정확도를 보이는 <strong>PPYOLOE-M</strong>과 비교했을 때, 파라미터 수를 <strong>18%</strong>, FLOPs를 <strong>9%</strong> 줄이면서 GPU 추론 지연 시간을 <strong>1.8ms</strong> 감소시켰다. 대형 모델 구간에서도 <strong>Mamba YOLO-L</strong>은 모든 최신 객체 탐지기들과 비교하여 더 우수하거나 최소한 동등한 성능을 달성한다. 최고 성능을 보이는 <strong>Gold-YOLO-L</strong>(Wang et al. 2024)과 비교하면, Mamba YOLO-L은 AP를 <strong>0.3%</strong> 향상시키면서 파라미터 수를 <strong>0.9%</strong> 줄였다. 표에서 확인할 수 있듯이, <strong>스크래치 학습(scratch training)</strong> 방식을 사용하는 Mamba YOLO-T는 다른 모든 학습 방식의 모델들보다 우수한 성능을 보인다.</p>

<p>더 나아가, 그림 4에서는 <strong>Mamba YOLO-L</strong>과 <strong>DINO-R50</strong>을 FPS와 GPU 메모리 사용량 측면에서 비교한다. 그 결과, 입력 해상도가 증가함에도 불구하고 Mamba YOLO-L은 <strong>선형적인 메모리 사용량 및 FLOPs 증가</strong> 특성을 유지하면서 더 높은 정확도와 빠른 속도를 달성함을 확인할 수 있다. 이러한 비교 결과는, 다양한 스케일의 Mamba YOLO 전반에 걸쳐 제안한 모델들이 기존 최신 기법들 대비 뚜렷한 이점을 지니고 있음을 보여준다.</p>

<p><img src="/assets/images/posts/622/img_11.png" alt="" /></p>

<h2 id="mamba-yolo에-대한-소거-실험ablation-study">Mamba YOLO에 대한 소거 실험(Ablation Study)</h2>

<p>본 절에서는 <strong>ODSSBlock</strong> 내 각 모듈을 독립적으로 분석한다. 또한 <strong>Clue Merge</strong>를 사용하지 않는 경우에는 기존의 합성곱 기반 다운샘플링을 적용하여, <strong>Vision Clue Merge</strong>가 정확도에 미치는 영향을 평가한다. 소거 실험은 <strong>MS COCO</strong> 데이터셋에서 수행되었으며, 테스트 모델로는 <strong>Mamba YOLO-T</strong>를 사용하였다.</p>

<p>표 2의 실험 결과는 <strong>Clue Merge</strong>가 SSM을 위해 더 많은 시각적 단서(visual cues)를 보존함을 보여주며, 동시에 <strong>ODSSBlock 구조가 실제로 최적의 설계임을 뒷받침하는 근거</strong>를 제공한다.</p>

<p><img src="/assets/images/posts/622/img_12.png" alt="" /></p>

<p><strong>그림 6:</strong> 소거 실험에서 탐색된 다양한 <strong>RG Block 통합 설계</strong>.</p>

<h2 id="rg-block-구조에-대한-소거-실험ablation-study">RG Block 구조에 대한 소거 실험(Ablation Study)</h2>

<p><strong>RG Block</strong>은 픽셀 단위(pixel-by-pixel)로 전역 의존성(global dependency)과 전역 특징(global feature)을 활용하여, 픽셀 간 국소 의존성(local dependency)을 효과적으로 포착하는 것을 목표로 한다. RG Block은 채널 차원을 모델링하기 위해 <strong>다중 분기(multi-branch) 구조</strong>를 사용하며, 이를 통해 시퀀스 모델링에서 SSM이 갖는 한계, 즉 <strong>수용 영역 부족(insufficient receptive field)</strong> 과 <strong>약한 이미지 위치 정보(image localization)</strong> 문제를 보완한다.</p>

<p>RG Block의 설계 세부 사항을 검증하기 위해, 본 연구에서는 다음과 같은 세 가지 변형 구조를 함께 고려하였다.</p>

<ol>
  <li><strong>Convolutional MLP</strong>: 기존 MLP에 <strong>DW-Conv</strong>를 추가한 구조</li>
  <li><strong>Res-Convolutional MLP</strong>: 기존 MLP에 <strong>잔차 연결(residual concatenation)</strong> 형태로 DW-Conv를 추가한 구조</li>
  <li><strong>Gated MLP</strong>: 게이팅(gating) 메커니즘을 기반으로 설계된 MLP 변형</li>
</ol>

<p>그림 6은 이러한 변형 구조들을 시각적으로 보여주며, <strong>표 3</strong>은 MS COCO 데이터셋에서 <strong>Mamba YOLO-T</strong>를 테스트 모델로 사용하여, 기존 MLP, RG Block, 그리고 각 변형 구조들의 성능을 비교한 결과를 제시한다. 이를 통해 MLP 구조에 대한 본 분석의 타당성을 검증한다.</p>

<p>실험 결과, 단순히 합성곱을 도입하는 것만으로는 성능 향상이 효과적으로 이루어지지 않음을 확인하였다. 반면, 그림 6에 제시된 <strong>Gated MLP 변형</strong>에서는 출력이 두 개의 선형 투영(linear projection)의 원소별 곱(element-wise multiplication)으로 구성되며, 이 중 하나는 <strong>잔차 연결된 DWConv</strong>와 <strong>게이팅 활성화 함수</strong>를 포함한다. 이러한 설계는 계층적 구조 전반에 걸쳐 중요한 특징을 효과적으로 전달할 수 있는 능력을 모델에 부여하며, 결과적으로 정확도와 강건성을 유의미하게 향상시킨다.</p>

<p>이 실험은 복잡한 이미지 과제를 다룰 때 합성곱 도입에 따른 성능 향상이, <strong>잔차 연결 맥락에서 적용된 게이티드 집계(gated aggregation) 메커니즘과 밀접하게 연관되어 있음</strong>을 보여준다.</p>

<p><img src="/assets/images/posts/622/img_13.png" alt="" /></p>

<h2 id="mamba-yolo-변형에서-값-설정-유형에-대한-소거-실험ablation-study">Mamba YOLO 변형에서 값 설정 유형에 대한 소거 실험(Ablation Study)</h2>

<p>본 절에서는 백본(backbone)에서 <strong>ODSSBlock 반복 횟수</strong>에 대한 네 가지 서로 다른 설정을 탐구한다.<br />
설정 [9,3,3,3]은 추가적인 계산 오버헤드를 유발하지만, 이에 상응하는 정확도 향상은 나타나지 않는다.<br />
반면 [3,9,3,3], [3,3,9,3], [3,3,3,9] 설정은 ODSSBlock의 과도한 중복으로 인해 사실상 <strong>중복(redundancy)</strong> 이 발생한다.</p>

<p>실험 결과, <strong>[3,6,6,3]</strong> 이 Mamba YOLO에서 보다 합리적인 설정임을 확인하였다.<br />
Neck 부분에서는 ODSSBlock을 제거하면 모델을 더 경량화할 수 있지만, 이는 불가피하게 정확도 저하로 이어진다. 반대로 Neck에 ODSSBlock을 포함할 경우, 풍부한 그래디언트 흐름과 효과적인 특징 융합을 제공할 수 있다.</p>

<p>출력 Feature Map을 {P2,P3,P4,P5}로 설정하면 정확도가 크게 향상되지만, 그만큼 GFLOPs 또한 크게 증가한다. 최종적으로 Mamba YOLO는</p>

<ul>
  <li><strong>Blocks = [3,6,6,3]</strong></li>
  <li><strong>Feature Map = {P3,P4,P5}</strong></li>
  <li><strong>Neck 부분에 ODSSBlock 사용</strong></li>
</ul>

<p>이라는 구성을 채택하였다. 이 설정은 <strong>정확도와 복잡도 간의 균형</strong>을 가장 잘 달성하며, 인스턴스 분할(instance segmentation) 과제를 효율적으로 수행하는 데에도 적합하다. 실험 결과는 <strong>표 4</strong>에 제시되어 있다.</p>

<p><img src="/assets/images/posts/622/img_14.png" alt="" /></p>

<h2 id="시각화visualization">시각화(Visualization)</h2>

<p>제안한 탐지 프레임워크의 장점을 추가로 검증하기 위해 MS COCO에서 무작위로 두 개의 샘플을 선택하였다. 그림 5는 Mamba YOLO와 주요 객체 탐지기들의 시각화 결과를 보여준다. 그 결과, Mamba YOLO는 다양한 어려운 조건에서도 정확한 탐지를 수행할 수 있으며, 복잡한 배경에서 <strong>높은 중첩(overlap)</strong> 과 <strong>심한 가림(occlusion)</strong> 이 존재하는 객체들을 탐지하는 데에서도 강력한 성능을 보임을 확인할 수 있다.</p>

<h2 id="결론conclusion">결론(Conclusion)</h2>

<p>본 논문에서는 <strong>SSM을 기반으로 하고 YOLO를 확장한 객체 탐지기</strong>를 제안하였다. 제안한 모델은 대규모 데이터셋에 대한 사전 학습(pre-training)을 필요로 하지 않기 때문에 학습 과정이 매우 단순하다. 우리는 기존 MLP의 한계를 재분석하고, 계층적 구조 전반에 걸쳐 중요한 특징을 효과적으로 전달할 수 있도록 <strong>게이팅 메커니즘과 깊은 합성곱 기반 잔차 연결</strong>을 갖는 <strong>RG Block</strong>을 제안하였다. 본 연구의 목표는 <strong>YOLO의 새로운 베이스라인</strong>을 제시하고, Mamba YOLO가 매우 경쟁력 있는 성능을 지닌다는 점을 입증하는 것이다. 본 연구는 실시간 객체 탐지 과제에서 <strong>Mamba 아키텍처를 최초로 탐구한 사례</strong>이며, 관련 분야 연구자들에게 새로운 아이디어를 제공하길 기대한다.</p>

<h2 id="감사의-글acknowledgement">감사의 글(Acknowledgement)</h2>

<p>본 연구는 다음 연구비의 지원을 받아 수행되었다.<br />
중국 국가자연과학재단(62376252); 저장성 자연과학재단 중점 프로젝트(LZ22F030003); 저장성 Leading Geese Plan(2024C02G1123882).
—</p>

<p>Mamba YOLO 변형에서 값 설정 유형에 대한 소거 실험(Ablation Study)을 잘 이해 못하겠는데, ODSSBlock 반복 횟수가 정확히 말그대로 해당 P안에서 반복수인가?</p>

<h2 id="결론부터-정확히-말하면">결론부터 정확히 말하면</h2>

<blockquote>
  <p><strong>네, 맞다.</strong><br />
Blocks = [a, b, c, d] 는<br />
<strong>백본(backbone) 각 stage(P-stage)에서 ODSSBlock이 반복되는 횟수</strong>를 의미한다.</p>
</blockquote>

<p>하지만 ❗<br />
<strong>“P2/P3/P4/P5와 1:1 대응”은 아니다</strong><br />
이게 헷갈리는 핵심 포인트야.</p>

<h2 id="1️⃣-blocks--3-6-6-3-이-의미하는-것">1️⃣ Blocks = [3, 6, 6, 3] 이 의미하는 것</h2>

<p>Mamba YOLO backbone은 전형적인 YOLO 계열처럼 <strong>4-stage 구조</strong>야.</p>

<p>구조를 단순화하면:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Stem
 ↓
Stage 1  → ODSSBlock × a
 ↓
Stage 2  → ODSSBlock × b
 ↓
Stage 3  → ODSSBlock × c
 ↓
Stage 4  → ODSSBlock × d
</code></pre></div></div>

<p>그래서</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Blocks = [a, b, c, d]
</code></pre></div></div>

<p>는:</p>

<ul>
  <li><strong>Stage별 ODSSBlock 반복 횟수</strong></li>
  <li>해상도는 stage가 내려갈수록 줄어듦</li>
</ul>

<p>예:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[3, 6, 6, 3]
</code></pre></div></div>

<p>는</p>

<ul>
  <li>Stage 1: ODSSBlock ×3</li>
  <li>Stage 2: ODSSBlock ×6</li>
  <li>Stage 3: ODSSBlock ×6</li>
  <li>Stage 4: ODSSBlock ×3</li>
</ul>

<h2 id="2️⃣-그럼-이게-p3--p4--p5랑-뭐가-다른가">2️⃣ 그럼 이게 P3 / P4 / P5랑 뭐가 다른가?</h2>

<p>중요한 구분이야 ?</p>

<h3 id="-backbone-stage">? Backbone stage</h3>

<ul>
  <li>feature를 <strong>생성</strong></li>
  <li>downsampling + representation learning</li>
  <li>여기서 Blocks가 적용됨</li>
</ul>

<h3 id="-p3--p4--p5">? P3 / P4 / P5</h3>

<ul>
  <li>backbone에서 나온 feature를</li>
  <li><strong>neck에서 재가공(FPN/PAFPN)</strong></li>
  <li>detection head로 전달</li>
</ul>

<p>즉:</p>

<blockquote>
  <p>❌ Blocks는 P-level 반복 수가 아님<br />
✅ Blocks는 <strong>backbone stage 내부 깊이</strong></p>
</blockquote>

<h2 id="3️⃣-왜-9333-같은-설정이-안-좋은가">3️⃣ 왜 [9,3,3,3] 같은 설정이 안 좋은가?</h2>

<p>논문 설명을 해석하면:</p>

<h3 id="9333">[9,3,3,3]</h3>

<ul>
  <li>초반 stage에만 너무 깊음</li>
  <li>고해상도 feature에서 SSM 과다 사용</li>
  <li>계산량 ↑</li>
  <li>global context는 아직 부족</li>
</ul>

<p>➡️ <strong>비효율</strong></p>

<h3 id="3933-3393-3339">[3,9,3,3], [3,3,9,3], [3,3,3,9]</h3>

<ul>
  <li>특정 stage만 과도하게 깊음</li>
  <li>ODSSBlock 중복 효과</li>
  <li>표현력 증가 대비 정보 다양성 ↓</li>
</ul>

<p>➡️ <strong>redundancy</strong></p>

<h3 id="3663">[3,6,6,3]</h3>

<ul>
  <li>중간 stage(P4/P5로 이어지는 영역)에</li>
  <li>충분한 depth 확보</li>
  <li>global + local 균형</li>
</ul>

<p>➡️ <strong>SSM에 가장 잘 맞는 분배</strong></p>

<h2 id="4️⃣-neck에서-odssblock-유무는-별개의-축">4️⃣ Neck에서 ODSSBlock 유무는 별개의 축</h2>

<p>표를 보면:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[3,6,6,3] + w/o SSM Neck
</code></pre></div></div>

<p>이 있음.</p>

<p>이건:</p>

<ul>
  <li>backbone 구조는 동일</li>
  <li>neck에서
    <ul>
      <li>ODSSBlock 사용 ❌</li>
      <li>Conv only</li>
    </ul>
  </li>
</ul>

<p>결과:</p>

<ul>
  <li>FLOPs ↓</li>
  <li>AP도 ↓</li>
</ul>

<p>? <strong>SSM은 neck에서도 의미 있음</strong>이라는 걸 보여주는 ablation</p>

<h2 id="5️⃣-feature-map-p2-p3-p4-p5는-또-다른-축">5️⃣ Feature Map {P2, P3, P4, P5}는 또 다른 축</h2>

<p>이건 완전히 다른 차원의 선택이야.</p>

<ul>
  <li>P2까지 쓰면:
    <ul>
      <li>작은 물체 ↑</li>
      <li>FLOPs 폭증</li>
    </ul>
  </li>
  <li>P3~P5:
    <ul>
      <li>YOLO의 전통적인 trade-off</li>
    </ul>
  </li>
</ul>

<p>그래서:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Blocks = [3,6,6,3]
Feature Map = {P3, P4, P5}
Neck SSM = ✓
</code></pre></div></div>

<p>이 최종 선택.</p>

<h2 id="6️⃣-한-장으로-정리하면-개념도">6️⃣ 한 장으로 정리하면 (개념도)</h2>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Input
 ↓
Stem
 ↓
Stage1 (ODSS ×3)   ← Blocks[0]
 ↓
Stage2 (ODSS ×6)   ← Blocks[1]
 ↓
Stage3 (ODSS ×6)   ← Blocks[2]
 ↓
Stage4 (ODSS ×3)   ← Blocks[3]
 ↓
{C3, C4, C5}
 ↓
Neck (PAFPN + ODSS)
 ↓
{P3, P4, P5}
 ↓
Head
</code></pre></div></div>

<h2 id="-핵심-요약">? 핵심 요약</h2>

<ul>
  <li>✅ Blocks = backbone stage별 ODSSBlock 반복 횟수</li>
  <li>❌ P3/P4/P5에서 반복되는 게 아님</li>
  <li>[3,6,6,3]은
    <ul>
      <li>SSM 특성상 가장 균형 잡힌 깊이 배분</li>
    </ul>
  </li>
  <li>이 ablation은
    <ul>
      <li>
        <h2 id="ssm은-어디에-얼마나-써야-좋은가를-보여주는-실험">“SSM은 어디에, 얼마나 써야 좋은가”를 보여주는 실험</h2>
      </li>
    </ul>
  </li>
</ul>

<h2 id="종합-평점-3--5">종합 평점: <strong>3 / 5</strong></h2>

<p>SSM(Mamba)을 실시간 객체 탐지에 본격적으로 적용한 <strong>의미 있는 첫 시도</strong>라는 점에서는 분명 가치가 있으나, 전반적으로는 아이디어 검증과 엔지니어링 정합성에 초점이 맞춰진 논문으로, 근본적인 구조적 돌파구까지 도달했다고 보기는 어렵습니다.</p>

<h3 id="긍정적인-점-플러스-요인">긍정적인 점 (플러스 요인)</h3>

<ul>
  <li><strong>SSM을 YOLO 계열에 현실적으로 접목</strong>
    <ul>
      <li>Transformer의 quadratic complexity 문제를 피하면서도, 전역 문맥을 다루려는 방향성은 타당함</li>
      <li>특히 SS2D의 선형 메모리 증가 특성은 고해상도 입력에서 분명한 장점</li>
    </ul>
  </li>
  <li><strong>ODSSBlock + RG Block의 설계 논리는 일관됨</strong>
    <ul>
      <li>SSM의 약점(채널 활용, localization)을 RG Block으로 보완하려는 접근은 설득력 있음</li>
      <li>단순 MLP 대비 gated + depthwise conv가 효과적이라는 ablation도 납득 가능</li>
    </ul>
  </li>
  <li><strong>사전학습 없이도 경쟁력 있는 성능</strong>
    <ul>
      <li>ImageNet/Object365 pre-training 없이 이 정도 AP를 달성한 점은 분명 강점</li>
      <li>특히 Tiny/Base 구간에서는 실용적인 메시지가 있음</li>
    </ul>
  </li>
</ul>

<h3 id="아쉬운-점-감점-요인">아쉬운 점 (감점 요인)</h3>

<ul>
  <li><strong>구조적 새로움은 제한적</strong>
    <ul>
      <li>핵심 구성 요소(SSM, gated MLP, residual, depthwise conv)는 모두 기존 아이디어의 조합</li>
      <li>“Mamba를 YOLO에 잘 얹었다” 이상으로, 새로운 패러다임을 열었다고 보긴 어려움</li>
    </ul>
  </li>
  <li><strong>SSM이 ‘왜 detection에 본질적으로 좋은가’에 대한 근본적 설득은 부족</strong>
    <ul>
      <li>long-range dependency가 실제 detection에서 어떤 failure case를 얼마나 해결했는지에 대한 분석이 약함</li>
      <li>qualitative 결과는 있으나, case-driven insight까지는 못 감</li>
    </ul>
  </li>
  <li><strong>엔지니어링 튜닝 논문의 성격이 강함</strong>
    <ul>
      <li>Blocks 분배, Neck에서의 SSM 사용 여부, Feature Map 선택 등</li>
      <li>결과적으로 “잘 튜닝된 설정”은 얻었지만, 일반화 가능한 원칙으로 정리되지는 않음</li>
    </ul>
  </li>
</ul>

<h3 id="종합적으로-보면">종합적으로 보면</h3>

<p>이 논문은</p>

<blockquote>
  <p><strong>“SSM 기반 구조가 실시간 객체 탐지에서도 충분히 경쟁력이 있다”</strong><br />
는 것을 <strong>처음으로 깔끔하게 증명한 논문</strong>이지,<br />
<strong>“객체 탐지의 구조를 다시 정의한 논문”</strong> 은 아닙니다.</p>
</blockquote>

<p>그래서:</p>

<ul>
  <li>리뷰어 입장: <strong>Accept 가능</strong></li>
  <li>독자 입장: <strong>아이디어 참고용으로는 좋음</strong></li>
  <li>후속 연구 관점: <strong>여기서 진짜 중요한 건 ‘다음 단계’</strong></li>
</ul>

<h3 id="한-줄-평가">한 줄 평가</h3>

<blockquote>
  <p><strong>흥미로운 방향성과 성실한 실험을 갖춘 첫 시도이지만,<br />
결정적인 구조적 통찰까지는 아직 도달하지 못한 논문.</strong></p>
</blockquote>]]></content><author><name>JunHan</name></author><category term="인공지능" /><summary type="html"><![CDATA[https://arxiv.org/abs/2406.05835]]></summary></entry><entry><title type="html">YOLO-Master: MOE-Accelerated with Specialized Transformers for Enhanced Real-time Detection</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/yolo-master-moe-accelerated-with-specialized-transformers-for-enhanced-real-time/" rel="alternate" type="text/html" title="YOLO-Master: MOE-Accelerated with Specialized Transformers for Enhanced Real-time Detection" /><published>2026-01-24T06:54:23+09:00</published><updated>2026-01-24T06:54:23+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/yolo-master-moe-accelerated-with-specialized-transformers-for-enhanced-real-time</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/yolo-master-moe-accelerated-with-specialized-transformers-for-enhanced-real-time/"><![CDATA[<p><a href="https://arxiv.org/abs/2512.23273">https://arxiv.org/abs/2512.23273</a></p>

<p><a href="https://arxiv.org/abs/2512.23273">YOLO-Master: MOE-Accelerated with Specialized Transformers for Enhanced Real-time Detection</a></p>

<p><strong>YOLO-Master: 특화된 트랜스포머를 활용한 MoE 가속 기반 고성능 실시간 객체 탐지</strong></p>

<p>Xu Lin¹, Jinlong Peng¹¹, Zhenye Gan¹, Jiawen Zhu², Jun Liu¹<br />
¹Tencent Youtu Lab  ²Singapore Management University<br />
{gatilin, jeromepeng, wingzygan, juliusliu}@tencent.com<br />
jwzhu.2022@phdcs.smu.edu.sg<br />
공동 1저자(Equal contribution)</p>

<h3 id="초록abstract">초록(Abstract)</h3>

<p>기존의 실시간 객체 탐지(Real-Time Object Detection, RTOD) 방법들은 정확도와 속도 간의 유리한 절충을 위해 주로 YOLO 계열 아키텍처를 채택해왔다. 그러나 이러한 모델들은 모든 입력에 대해 동일한 처리를 적용하는 정적인 밀집 연산(static dense computation)에 의존하며, 이로 인해 표현 능력과 계산 자원이 비효율적으로 배분되는 문제가 있다. 즉, 단순한 장면에는 과도한 연산을 할당하는 반면, 복잡한 장면에는 충분한 연산을 제공하지 못한다. 이러한 불일치는 계산 중복을 초래할 뿐만 아니라 탐지 성능 저하로도 이어진다.</p>

<p>이러한 한계를 극복하기 위해, 우리는 RTOD를 위한 <strong>인스턴스 조건부 적응형 계산(instance-conditional adaptive computation)</strong>을 도입한 새로운 YOLO 계열 프레임워크 <strong>YOLO-Master</strong>를 제안한다. 이는 장면 복잡도에 따라 각 입력에 필요한 계산 자원을 동적으로 할당하는 <strong>효율적 희소 Mixture-of-Experts(Efficient Sparse Mixture-of-Experts, ES-MoE)</strong> 블록을 통해 구현된다.</p>

<p>YOLO-Master의 핵심에는 경량화된 동적 라우팅 네트워크(lightweight dynamic routing network)가 있으며, 이는 다양성 증진 목적 함수(diversity-enhancing objective)를 통해 학습 과정에서 각 전문가(expert)가 상호 보완적인 전문성을 갖도록 유도한다. 또한 이 라우팅 네트워크는 추론 단계에서 가장 관련성이 높은 전문가들만 선택적으로 활성화하도록 적응적으로 학습되며, 이를 통해 계산 오버헤드를 최소화하면서도 탐지 성능을 향상시킨다.</p>

<p>다섯 개의 대규모 벤치마크에 대한 포괄적인 실험을 통해 YOLO-Master의 우수성을 입증하였다. MS COCO 데이터셋에서 제안 모델은 1.62ms의 지연 시간(latency)으로 42.4% AP를 달성하였으며, 이는 YOLOv13-N 대비 mAP 기준 +0.8% 향상되고 추론 속도는 17.8% 더 빠른 결과이다. 특히 이러한 성능 향상은 객체가 밀집된 어려운 장면에서 더욱 두드러지며, 일반적인 입력에 대해서는 효율성을 유지하고 실시간 추론 속도 또한 안정적으로 보장한다.</p>

<p>코드: isLinXu/YOLO-Master</p>

<h2 id="1-서론introduction">1. 서론(Introduction)</h2>

<p><img src="/assets/images/posts/621/img.png" alt="" /></p>

<p><strong>그림 1:</strong> MS COCO에서의 정확도–지연 시간(trade-off) 비교. YOLO-Master-N은 1.62ms의 지연 시간에서 42.4% AP를 달성하며, 파레토 프런티어 상에서 기존 기준 모델들을 능가한다.</p>

<p>실시간 객체 탐지(Real-time Object Detection)는 컴퓨터 비전 분야에서 핵심적인 과제로, 자율 주행, 영상 감시, 로봇 시스템 등 다양한 응용 분야에서 폭넓게 활용되고 있다 [31, 34, 28]. YOLO 계열은 단일 단계(one-stage) 탐지 프레임워크를 기반으로 탐지 정확도와 추론 속도 간의 효과적인 균형을 달성하며, 이 분야에서 지배적인 패러다임으로 자리 잡았다 [15, 16, 36, 18, 39].</p>

<p>최근 YOLO 계열 아키텍처의 발전은 주로 두 가지 방향에 집중되어 왔다. 첫째는 개선된 백본(backbone) 설계를 통해 특징 표현력을 향상시키는 것이며 [36], 둘째는 정교한 넥(neck) 아키텍처를 통해 다중 스케일 특징 융합(multi-scale feature fusion)을 최적화하는 것이다 [25]. 예를 들어, YOLOv5는 다중 스케일 특징 학습을 강화하기 위해 C2f 모듈을 도입하였고, YOLOv11은 전역 표현 능력을 향상시키기 위해 선택적 어텐션(selective attention) 메커니즘을 통합하였다.</p>

<p>그러나 이러한 개선에도 불구하고 근본적인 한계는 여전히 존재한다. 모든 기존 YOLO 아키텍처는 입력의 복잡도와 무관하게 동일한 네트워크 경로와 균일한 계산 자원을 적용하는 정적인 밀집 연산(static dense computation)에 기반하고 있다는 점이다. 이러한 ‘모든 경우에 동일하게 적용되는(one-size-fits-all)’ 패러다임은 심각한 비효율을 초래한다. 구체적으로, 객체가 드물고 크기가 큰 단순한 장면과, 작은 객체들이 밀집된 복잡한 장면이 동일한 계산 예산을 소모하게 되며, 그 결과 자원 낭비뿐만 아니라 특징 표현의 순도(feature purity) 저하로 이어진다 [27, 7].</p>

<p>더 나아가 YOLO 계열은 오랫동안 정확도와 속도 간의 균형을 맞추는 데 있어 근본적인 도전에 직면해 왔다. YOLOv1부터 최신 버전에 이르기까지, 각 세대는 아키텍처 혁신과 학습 전략을 통해 이 트레이드오프의 파레토 프런티어를 확장하려는 시도를 지속해왔다. 그러나 이러한 개선들은 본질적으로 정적이며 사전에 정의된 방식에 머물러 있다. 계산 예산과 네트워크 용량은 설계 단계에서 고정되어 있으며, 입력 특성에 따라 자원을 동적으로 할당할 수 있는 적응적 메커니즘이 결여되어 있다.</p>

<p>이러한 한계는 다양한 실제 환경을 다룰 때 특히 두드러진다. 예를 들어, 복잡한 도심 장면에 최적화된 탐지기는 단순한 고속도로 환경에서는 과도하게 파라미터화(over-parameterized)될 수 있으며, 반대로 효율성에 초점을 맞춘 모델은 난이도가 높은 장면을 처리하기에 충분한 표현 능력을 갖추지 못할 수 있다. 최근 대규모 언어 모델 연구에서는 서로 다른 입력이 모델 파라미터의 서로 다른 부분집합을 선택적으로 활성화하는 희소 활성화(sparse activation) 패턴이 효율성과 적응성을 동시에 크게 향상시킬 수 있음이 밝혀졌다 [35, 7]. 이러한 통찰은 실시간 객체 탐지 분야에서도 유사한 동적 계산 패러다임을 도입함으로써, 정확도–효율성 간의 지형 자체를 근본적으로 재구성할 수 있는지 탐구하도록 동기를 부여한다.</p>

<p>이러한 한계를 해결하기 위해, 우리는 YOLO 파이프라인에 <strong>Mixture of Experts(MoE)</strong> 프레임워크를 통합함으로써 실시간 객체 탐지에 조건부 계산(conditional computation)을 최초로 도입한 새로운 아키텍처 <strong>YOLO-Master</strong>를 제안한다. 본 접근법은 입력 내용에 따라 전문가 네트워크(expert network)의 부분집합을 동적으로 활성화함으로써, 모델 용량과 계산 비용 사이에 존재하던 기존의 정적인 트레이드오프를 근본적으로 타파한다.</p>

<p>MoE 기반 설계는 다음의 세 가지 핵심 메커니즘으로 구성된다.<br />
(1) <strong>동적 라우팅(dynamic routing)</strong>: 학습 단계에서는 그래디언트 흐름을 보장하기 위해 soft Top-K 활성화를 사용하고, 추론 단계에서는 효율성을 위해 hard Top-K 희소화를 적용한다.<br />
(2) <strong>효율적인 전문가 그룹(Efficient expert groups)</strong>: 서로 다른 수용 영역(receptive field)을 갖는 depthwise separable convolution(3×3, 5×5, 7×7 커널)을 활용하여 상이한 다중 스케일 패턴을 포착한다.<br />
(3) <strong>부하 균형(load balancing) 감독(supervision)</strong>: 학습 중에는 전문가 사용을 균등하게 유지하면서, 배포(deployment) 단계에서는 실제적인 희소성(genuine sparsity)을 보장한다.</p>

<p>MS COCO 데이터셋에서의 평가 결과, YOLO-Master는 경쟁력 있는 추론 속도를 유지하면서도 YOLOv12 [36] 대비 1.8% mAP, YOLOv13 [18] 대비 0.8% mAP 향상을 달성하였다. 이는 적응적 용량 할당(adaptive capacity allocation)이 어려운 사례에 더 많은 자원을 배분하면서도 일반적인 입력에 대해서는 효율성을 유지함으로써, 실시간 객체 탐지를 위한 새로운 최신 성능(state-of-the-art)을 확립할 수 있음을 입증한다.</p>

<p>우리는 본 논문의 기여를 다음과 같이 요약한다.</p>

<p>• 실시간 객체 탐지를 위한 최초의 MoE 기반 조건부 계산 프레임워크를 제안하며, 입력 복잡도에 따라 모델 용량을 적응적으로 조절하는 동적 전문가 활성화를 통해 정적인 정확도–효율성 트레이드오프를 근본적으로 극복한다.<br />
• 다중 스케일 전문가와 동적 라우팅 네트워크를 갖춘 <strong>Efficient Sparse MoE(ES-MoE)</strong> 블록을 설계하였다. 학습 시에는 그래디언트 전파를 위해 soft Top-K 전문가를, 추론 시에는 실제 희소성을 위해 hard Top-K 전문가를 사용함으로써 학습 안정성과 배포 효율성을 동시에 달성한다.<br />
• 객체 탐지에 특화된 부하 균형 감독 메커니즘을 도입하여 전문가 붕괴(expert collapse)를 방지하면서도 균일한 활용을 유지하였으며, 이는 추론 희소성을 희생하지 않으면서 안정적인 MoE 학습을 가능하게 하는 핵심 요소임을 입증하였다.<br />
• MS COCO, PASCAL VOC, VisDrone, KITTI, SKU-110K 등 다섯 개의 다양한 벤치마크에서 광범위한 실험을 수행하여 최신 성능을 달성하였다. 객체 밀도와 시각적 도메인이 서로 다른 환경 전반에서의 일관된 성능 향상은, 정적 아키텍처 대비 적응적 계산 방식의 높은 일반화 성능을 입증한다.</p>

<p><img src="/assets/images/posts/621/img_1.png" alt="" /></p>

<p><strong>그림 2:</strong> YOLO-Master의 전체 프레임워크. 본 아키텍처는 특징 추출과 융합을 강화하기 위해 Backbone과 Neck에 ES-MoE 모듈을 통합한다. 입력 특징은 Softmax 게이팅을 갖는 동적 라우팅 네트워크를 통해 처리되며, 상위 K개의 전문가를 선택하여 가중 합산(weighted aggregation)을 수행한다. 또한 본 프레임워크는 P3, P4, P5 예측 계층 전반에 걸쳐 효율적인 다중 스케일 객체 탐지를 위해 표준(Standard), Soft Top-K(학습), Hard Top-K(추론) 라우팅 전략 간을 적응적으로 전환한다.</p>

<h2 id="2-관련-연구related-work">2. 관련 연구(Related Work)</h2>

<h3 id="21-실시간-객체-탐지기real-time-object-detectors">2.1 실시간 객체 탐지기(Real-time Object Detectors)</h3>

<p>YOLO 계열은 지속적인 아키텍처 개선을 거치며 실시간 객체 탐지를 위한 지배적인 패러다임으로 자리 잡아 왔다 [32, 30, 15, 17, 38, 16, 36, 18, 34]. 대표적인 개선 사례로는 다중 스케일 특징 피라미드(multi-scale feature pyramids) [30], 효율적인 레이어 집계(efficient layer aggregation) [15], NMS-free 학습 [38], 선택적 어텐션(selective attention) 메커니즘 [16], 그리고 적응적 시각 인지(adaptive visual perception) [18] 등이 있다. 이러한 방법들은 주로 백본(backbone) 아키텍처 최적화, 특징 융합(feature fusion) 전략, 그리고 학습 패러다임 개선에 초점을 맞추고 있다.</p>

<p>그러나 이들 방법은 모두 입력의 복잡도와 무관하게 동일한 네트워크 경로와 균일한 계산 자원을 사용하는 정적인 밀집 연산(static dense computation)에 의존한다. 이러한 근본적인 한계로 인해 입력 특성에 기반한 적응적 용량 할당(adaptive capacity allocation)이 불가능하다.</p>

<p>YOLO 계열을 넘어, RT-DETR [43]과 같은 다른 실시간 탐지기들도 유사하게 정적인 계산 패턴을 갖는 트랜스포머 기반 아키텍처를 채택하고 있다. 이들 방법은 아키텍처 혁신을 통해 경쟁력 있는 정확도–효율성 트레이드오프를 달성하지만, 동적 자원 할당을 위한 메커니즘은 갖추고 있지 않다. 이에 비해 <strong>YOLO-Master</strong>는 Mixture of Experts 프레임워크를 통한 조건부 계산을 도입함으로써 이러한 공백을 메우며, 기존 아키텍처에 내재된 정적인 트레이드오프를 근본적으로 타파하는 적응적 전문가 활성화를 가능하게 한다.</p>

<h3 id="22-mixture-of-experts">2.2 Mixture of Experts</h3>

<p>Mixture of Experts(MoE)는 게이팅 네트워크(gating network)가 입력을 특화된 전문가 서브네트워크(expert sub-network)로 라우팅하는 조건부 계산(conditional computation)을 통해 모델 용량을 확장하기 위해 처음 제안되었다 [14]. 이러한 희소 활성화(sparse activation) 전략은 계산 비용을 관리 가능한 수준으로 유지하면서도 언어 모델을 수조(trillion) 개 파라미터 규모로 확장하는 데에서 괄목할 만한 성공을 거두었다 [19, 7]. 최근 연구들은 MoE를 컴퓨터 비전 분야로 확장하여, 주로 Vision Transformer 기반의 이미지 분류 과제 [33, 4, 29] 및 멀티태스크 학습 [2]에 적용해 왔다.</p>

<p>그러나 객체 탐지와 같은 밀집 예측(dense prediction) 과제에 MoE를 적용하는 연구는 아직 거의 탐구되지 않았다. 분류 문제에서 라우팅은 전역 이미지 표현(global image representation)을 대상으로 동작하는 반면, 객체 탐지는 객체 밀도와 스케일 분포가 서로 다른 다중 스케일 공간 특징(multi-scale spatial features)을 처리해야 한다는 점에서 본질적으로 더 복잡하다. 초기 시도로 ViT 기반 탐지기에 MoE를 통합한 연구들이 존재하지만 [40], 이들 방법은 실시간 환경에 적합하지 않을 정도로 상당한 계산 오버헤드를 수반하는 경우가 많다.</p>

<p>이에 비해 <strong>YOLO-Master</strong>는 경량 CNN 기반 실시간 탐지기에 특화된 최초의 MoE 프레임워크를 제안함으로써 이러한 공백을 해소한다. 우리는 특징 피라미드 계층(feature pyramid hierarchies) 상에서 동작하는 동적 라우팅 메커니즘을 설계하여, 공간적 특성에 따라 전문가를 적응적으로 활성화할 수 있도록 한다. 또한 학습과 추론을 분리한 라우팅 전략(그래디언트 흐름을 위한 soft Top-K 학습, 실제 희소성을 위한 hard Top-K 추론)은 최적화 안정성과 배포 효율성을 동시에 보장하여, 실시간 객체 탐지 환경에서도 조건부 계산을 실질적으로 활용할 수 있도록 한다.</p>

<h3 id="23-적응적-특징-처리adaptive-feature-processing">2.3 적응적 특징 처리(Adaptive Feature Processing)</h3>

<p>어텐션 메커니즘은 정보성이 높은 영역에 집중함으로써 특징을 동적으로 재조정하기 위해 객체 탐지 분야에서 널리 사용되어 왔다 [13, 12, 41, 42, 10]. 이러한 기법들은 효과적이지만, 채널 어텐션(SE [13]), 공간 어텐션(CBAM [42]), 그리고 트랜스포머 기반 자기 어텐션(self-attention) [37, 1] 모두 입력과 무관한 정적 아키텍처 상에서 동작하며, 모든 입력에 동일한 계산을 적용한다는 한계를 지닌다. 최근 제안된 효율적인 어텐션 변형들 [26, 3]은 계산 복잡도를 줄이기는 했지만, 여전히 모든 공간 위치를 균일한 용량으로 처리하는 근본적으로 밀집(dense)된 계산 구조를 유지하고 있다.</p>

<p>이에 비해 본 연구의 MoE 기반 접근법은 본질적으로 다른 방향을 취한다. 어텐션 점수를 통해 특징의 중요도를 가중하는 대신, 조건부 전문가 활성화(conditional expert activation)를 통해 계산 자체를 적응적으로 수행한다. 이러한 패러다임 전환은 입력에 의존적인 용량 할당(input-dependent capacity allocation)을 가능하게 하여, 단순한 영역은 더 적은 전문가만을 활성화하고 복잡한 영역은 더 큰 모델 용량에 접근하도록 한다. 그 결과, 어텐션 기반 방법에 내재된 정적인 계산 제약을 근본적으로 타파한다.</p>

<h2 id="3-방법론methodology">3. 방법론(Methodology)</h2>

<h3 id="31-yolo-master-개요overview-of-yolo-master">3.1 YOLO-Master 개요(Overview of YOLO-Master)</h3>

<p>본 연구에서는 실시간 객체 탐지(Real-Time Object Detection, RTOD)를 위한 새로운 YOLO 계열 프레임워크인 <strong>YOLO-Master</strong>를 제안한다. YOLO-Master는 최근의 YOLO 아키텍처(예: YOLOv12 [36])를 기반으로 하며, 희소하고 인스턴스 조건부 적응 계산을 가능하게 하는 <strong>Efficient Sparse Mixture-of-Experts(ES-MoE)</strong> 모듈을 도입한다. 그림 2(좌상단)에 나타낸 바와 같이, YOLO-Master는 Backbone, Neck, Detection Head로 구성된 표준 YOLO 설계를 따른다. ES-MoE 모듈은 Backbone과 Neck 양쪽에 삽입되는데, Backbone에서는 객체 스케일과 장면 복잡도의 변화에 따라 특징 추출을 동적으로 강화하고, Neck에서는 다중 스케일 적응적 융합과 정보 정제를 가능하게 한다.</p>

<p>ES-MoE 모듈의 정보 흐름은 그림 2(좌하단)에 도시되어 있다. 구체적으로 ES-MoE는 다음의 세 가지 핵심 구성 요소로 이루어진다.<br />
(i) 인스턴스 의존적 라우팅 신호를 생성하는 <strong>동적 라우팅 네트워크(Dynamic Routing Network)</strong>,<br />
(ii) 가장 관련성이 높은 전문가를 선택하는 <strong>Softmax 게이팅 메커니즘(Softmax Gating Mechanism)</strong>,<br />
(iii) 활성화된 전문가들의 출력을 하나의 정제된 표현으로 결합하는 <strong>가중 집계(Weighted Aggregation)</strong> 유닛이다. 핵심이 되는 동적 라우팅 네트워크는 단계적(phased) 라우팅 전략을 사용하며, 학습 단계에서는 전문가 특화를 유도하기 위해 soft 라우팅을 적용하고, 추론 단계에서는 그림 2(우측)에 나타난 것처럼 가장 관련성이 높은 전문가만을 선택하는 hard Top-K 활성화를 사용한다. 다음에서는 각 구성 요소를 상세히 설명한다.</p>

<p><img src="/assets/images/posts/621/img_2.png" alt="" /></p>

<p>이러한 설계를 통해 입력 특징의 국소적 특성과 복잡도에 따라 계산 자원을 동적으로 할당할 수 있다.</p>

<p>ES-MoE의 핵심적인 혁신은 그림 2(우측 패널)에 제시된 <strong>단계적 라우팅 전략</strong>에 있다. 학습 단계에서는 Soft Top-K 라우팅 메커니즘을 사용하여 모든 전문가에 대해 부드럽고 미분 가능한 가중치를 할당함으로써 그래디언트의 연속성을 보장하는 동시에, 상위 전문가들을 강조한다. 반면 추론 단계에서는 K≪E 인 Hard Top-K 전략으로 전환하여 KKK개의 전문가만을 활성화함으로써, 실질적인 계산 희소성과 가속을 달성한다 [7]. 이 적응적 메커니즘은 기존의 밀집 모델에 내재된 계산 중복 문제를 효과적으로 해소하며, 서로 다른 배포 단계 전반에서 효율적인 전문가 선택을 가능하게 한다. 본 라우팅 전략의 상세한 설계와 분석은 3.4절에서 제시한다.</p>

<h3 id="32-동적-라우팅-네트워크dynamic-routing-network">3.2 동적 라우팅 네트워크(Dynamic Routing Network)</h3>

<p>전문가 네트워크는 입력 특징 X에 대해 서로 다른 비선형 변환을 수행하도록 설계된 E개의 독립적인 특징 변환 모듈 Expert_i로 구성된다. 본 설계의 핵심 목표는 높은 계산 효율성과 다양한 수용 영역(receptive field)을 동시에 달성하여, 입력에 따라 가장 적합한 특징 처리 경로를 모델이 적응적으로 선택할 수 있도록 하는 것이다.</p>

<p><img src="/assets/images/posts/621/img_3.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_4.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_5.png" alt="" /></p>

<h3 id="33-게이팅-네트워크-설계gating-network-design">3.3 게이팅 네트워크 설계(Gating Network Design)</h3>

<p>게이팅 네트워크 G는 ES-MoE 모듈에서 핵심적인 역할을 수행하며, E개의 전문가를 활성화하기 위한 원시 로짓(raw logits)</p>

<p><img src="/assets/images/posts/621/img_6.png" alt="" /></p>

<p>을 생성한다. 본 네트워크의 설계는 라우팅 결정 과정 자체가 계산 병목이 되지 않도록 경량화 원칙을 엄격히 준수한다 [33].</p>

<p><strong>정보 집계(Information aggregation).</strong><br />
먼저, 전역 정보 집계를 위해 라우팅 가중치는 국소적 특징이 아닌 전역 문맥 정보로부터 도출되어야 하며, 이를 통해 전체 입력 특징 맵</p>

<p><img src="/assets/images/posts/621/img_7.png" alt="" /></p>

<p>에 대해 일관된 가이드를 제공할 수 있다. 이를 위해 우리는 전역 평균 풀링(Global Average Pooling, GAP)을 사용하여 입력 특징 맵을 간결한 전역 디스크립터</p>

<p><img src="/assets/images/posts/621/img_8.png" alt="" /></p>

<p>로 압축한다 [13, 23].</p>

<p><img src="/assets/images/posts/621/img_9.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_10.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_11.png" alt="" /></p>

<h3 id="34-단계적-라우팅-전략phased-routing-strategy">3.4 단계적 라우팅 전략(Phased Routing Strategy)</h3>

<p>라우팅 패러다임 설계는 ES-MoE 프레임워크의 근본적인 목표를 추구한다. 즉, <strong>학습 단계에서는 모든 전문가가 충분히 학습되도록 보장</strong>하면서도, <strong>추론 단계에서는 엄격한 희소 활성화를 강제하여 계산 가속을 달성</strong>하는 것이다. 이러한 이중 목표는 단계적 동적 라우팅 메커니즘을 통해 구현된다 [7, 45].</p>

<p><img src="/assets/images/posts/621/img_12.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_13.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_14.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_15.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_16.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_17.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_18.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_19.png" alt="" /></p>

<h2 id="4-실험experiment">4. 실험(Experiment)</h2>

<h3 id="41-실험-설정experimental-setup">4.1 실험 설정(Experimental Setup)</h3>

<p><strong>데이터셋(Datasets).</strong><br />
본 연구에서는 서로 다른 특성을 지닌 다섯 개의 벤치마크에서 성능을 평가한다.<br />
MS COCO 2017 [24] (학습 이미지 118k장, 80개 카테고리), PASCAL VOC 2007+2012 [6] (16.5k 이미지, 20개 카테고리), VisDrone-2019 [5] (6.5k 이미지, 10개 카테고리), KITTI [8] (7.5k 이미지, 3개 카테고리), SKU-110K [9] (8.2k 이미지, 1개 카테고리).</p>

<p><strong>구현(Implementation).</strong><br />
MoE 모듈을 통합한 YOLOv12-Nano [36] (너비 스케일링 계수 0.5)를 기준선 모델로 사용한다. 모든 모델은 입력 해상도 640×640에서 600 에폭 동안 학습되며, 코사인 학습률 스케줄링을 적용한 SGD 옵티마이저를 사용한다. 전체 배치 크기는 256이다. 데이터 증강으로는 Mosaic(p=1.0), Copy-Paste(p=0.1), MixUp(Nano 변형에서는 비활성화)을 사용하며, 이 외에도 랜덤 어파인 변환(random affine), HSV 색상 지터링과 같은 표준 증강 기법을 적용한다. 모든 학습과 테스트는 4대의 고성능 연산 장비에서 수행된다.</p>

<p><strong>평가 지표(Metrics).</strong><br />
모든 벤치마크에 대해 mAP50:95​와 mAP50​을 보고한다. 효율성 지표로는 활성화된 전문가 수가 K일 때의 파라미터 수(Params, M), 지연 시간(latency, ms), 그리고 FPS를 사용하며, 이는 YOLOv12 기준선과 동일한 표준 하드웨어 설정(FP16, 배치 크기=1)을 따르는 전용 추론 가속기에서 측정된다. 이를 통해 실시간 배포 가능성에 초점을 맞춘다.</p>

<h3 id="42-주요-결과main-results">4.2 주요 결과(Main Results)</h3>

<p>표 1은 YOLO-Master-N이 실시간 추론 속도를 유지하면서도 다섯 개의 모든 벤치마크에서 최신(state-of-the-art) 성능을 달성함을 보여준다. YOLO-Master-N은 mAP 기준으로 YOLOv13-N 대비 COCO에서 +0.8%, VOC에서 +1.4%, VisDrone에서 +2.1%, KITTI에서 +1.5%, SKU-110K에서 +0.7%의 성능 향상을 기록하였다. 특히 VisDrone(+2.1%)와 KITTI(+1.5%)에서 가장 큰 성능 개선이 관찰되었으며, 이는 소형 객체 탐지와 정밀한 위치 추정에 대한 본 설계의 타당성을 입증한다.</p>

<p>정확도가 향상되었음에도 불구하고, YOLO-Master-N은 YOLOv13-N 대비 18% 더 빠르며, 가장 빠른 YOLOv11-N 대비로는 단 8%만 느린 수준으로, 효율성과 정확도 간의 최적의 균형을 보여준다. 이미지당 평균 147개의 객체가 존재하는 고밀도 환경인 SKU-110K 데이터셋에서 본 방법은 58.2% mAP를 달성하여, 혼잡한 장면에서도 효과적으로 동작함을 입증하였다.</p>

<p>이러한 결과들은 선택적 특징 처리를 수행하는 MoE 기반 아키텍처가 다양한 객체 탐지 시나리오 전반에서 더 높은 정확도와 실용적인 추론 속도를 동시에 달성할 수 있음을 검증한다.</p>

<h2 id="43-소거-실험ablation-studies">4.3 소거 실험(Ablation Studies)</h2>

<h3 id="431-es-moe-모듈의-효과성effectiveness-of-es-moe-module">4.3.1 ES-MoE 모듈의 효과성(Effectiveness of ES-MoE Module)</h3>

<p>표 5에서는 ES-MoE 모듈의 최적 배치 전략을 분석한다. <strong>Backbone에만 ES-MoE를 통합한 경우</strong>가 62.1% mAP와 2.66M 파라미터로 가장 우수한 성능을 보였으며, 이는 기준선(60.8%) 대비 +1.3% 향상이다. 이는 초기 단계의 특징 추출에서 전문가 특화가 매우 중요함을 검증한다. 즉, 백본의 ES-MoE는 스케일 적응적(scale-adaptive)이면서 의미적으로 다양한(semantic-diverse) 표현을 효과적으로 학습하여, 이후 탐지 성능에 긍정적인 영향을 준다.</p>

<p>반면 <strong>Neck에만 ES-MoE를 통합한 경우</strong>는 58.2% mAP로 성능이 저하되었다(-2.6%). 이는 백본으로부터 충분히 다양한 입력 특징을 제공받지 못한 상태에서는 라우팅 메커니즘이 효과적으로 전문가 특화를 학습할 수 없기 때문이다. 기본 백본은 비교적 균질한(homogeneous) 특징을 생성하므로, 넥에서 상호 보완적인 전문가 패턴을 발견하는 데 한계가 있다.</p>

<p>흥미롭게도 <strong>Backbone과 Neck 모두에 ES-MoE를 적용한 전체 통합(full integration)</strong>의 경우, 성능이 54.9% mAP로 크게 저하되었다(기준선 대비 -5.9%). 이는 연쇄적으로 배치된 라우팅 메커니즘 간의 <strong>그래디언트 간섭(gradient interference)</strong> 때문으로 해석된다. 즉, 백본과 넥의 ES-MoE 모듈이 역전파 과정에서 서로 충돌하는 라우팅 그래디언트를 생성하여 학습을 불안정하게 만들고, 결과적으로 전문가 특화를 방해한다.</p>

<p>이 결과는 중요한 설계 원칙을 시사한다. <strong>ES-MoE 모듈을 많이 넣는다고 해서 반드시 성능이 향상되는 것은 아니며</strong>, 부정적인 상호작용을 피하기 위해 신중한 배치가 필수적이다. 이러한 분석을 바탕으로, 본 연구에서는 정확도와 학습 안정성의 균형을 고려하여 <strong>Backbone 단독 ES-MoE 구성</strong>을 기본 설정으로 채택한다.</p>

<p><img src="/assets/images/posts/621/img_20.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_21.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_22.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_23.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_24.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_25.png" alt="" /></p>

<h3 id="432-전문가-수number-of-experts">4.3.2 전문가 수(Number of Experts)</h3>

<p>표 6은 전문가 수가 성능–효율성 트레이드오프에 미치는 영향을 분석한다. <strong>전문가 4개</strong> 설정은 2.76M 파라미터로 <strong>62.3% mAP</strong>와 <strong>82.2% mAP50</strong>을 달성하며 최적의 균형을 보인다. 전문가를 <strong>2개만 사용할 경우</strong> mAP가 <strong>-1.3%</strong> 감소(61.0%)하여, 서로 다른 스케일과 의미 범주에 걸친 다양한 객체 패턴을 모델링하기에 용량이 부족함을 시사한다. 반대로 <strong>8개 전문가</strong>로 확장하면 파라미터가 <strong>33% 증가(3.68M)</strong>함에도 성능 향상은 없고(62.0% mAP, <strong>-0.3%</strong>), 중복된 전문가로 인한 <strong>과도한 파라미터화</strong>로 수익 체감이 발생함을 보여준다. 이는 객체 탐지에서 다중 스케일 변화를 포착하는 데 <strong>적당한 수준의 전문가 다양성</strong>이면 충분함을 검증하며, 본 연구에서는 <strong>전문가 4개</strong>를 기본 설정으로 채택한다.</p>

<h3 id="433-top-k-선택-전략top-k-selection-strategy">4.3.3 Top-K 선택 전략(Top-K Selection Strategy)</h3>

<p>전문가 4개를 기준으로, 표 7에서는 Top-K 라우팅의 영향을 분석한다. <strong>Top-2 라우팅</strong>은 <strong>50% 희소도</strong>에서 <strong>61.8% mAP</strong>로 최적의 성능을 달성한다. <strong>Top-1 라우팅</strong>은 <strong>-0.5% mAP</strong> 하락(61.3%)을 보이며, 표현 용량이 부족함을 나타낸다. <strong>3개 또는 4개 전문가 활성화</strong>는 각각 성능 개선이 없다. <strong>K=2</strong>에서의 최적점은 본 설계를 뒷받침한다. 즉, <strong>두 개의 상호 보완적인 전문가</strong>가 충분한 특징 다양성을 제공하면서도 계산 효율을 유지한다. 이러한 결과는 비전 과제에서 <strong>K=2를 초과하면 수익 체감이 발생</strong>한다는 최근 MoE 연구 [7, 33]와도 일치한다.</p>

<p><img src="/assets/images/posts/621/img_26.png" alt="" /></p>

<p><strong>그림 3:</strong> 다양한 설정에 대한 손실 소거 실험.<br />
(a) DFL 손실 비교, (b) MoE 손실 비교, (c) 검증 mAP, (d) 전체 손실, (e) MoE 손실의 변화, (f) mAP 수렴.</p>

<p><img src="/assets/images/posts/621/img_27.png" alt="" /></p>

<p><img src="/assets/images/posts/621/img_28.png" alt="" /></p>

<p><strong>그림 4:</strong> 네 가지 도전적인 시나리오에서의 정성적 비교. 모든 테스트 이미지는 MS COCO [24] 및 PASCAL VOC 2007+2012 [6] 테스트 세트에서 가져왔다.</p>

<h3 id="434-손실-함수-구성loss-function-configuration">4.3.4 손실 함수 구성(Loss Function Configuration)</h3>

<p>표 8과 그림 3은 다섯 가지 손실 구성에 대한 분석 결과를 제시한다. 흥미롭게도 <strong>DFL 손실을 완전히 제거하고 MoE 손실만을 사용한 구성(MoE-only, 가중치=1.5)</strong>이 <strong>62.2% mAP</strong>로 가장 우수한 성능을 보였으며, 이는 기준선 대비 <strong>+0.3%</strong> 향상이다. 학습 동역학(그림 3)을 통해 그 원인을 설명할 수 있다. 구성 4(DFL + 강한 MoE, λ=1.5)는 심각한 진동 현상을 보이는 반면, 구성 5(MoE-only)는 매끄럽게 수렴한다.</p>

<p>우리는 이러한 현상이 <strong>DFL 손실과 MoE 손실 간의 그래디언트 충돌</strong>에서 비롯된다고 가설을 세운다. 구체적으로, DFL은 균일한 분포 기반의 정제를 강제하는 반면, MoE 손실은 인스턴스 적응형 전문가 특화를 유도한다. 두 손실이 모두 큰 가중치를 가질 경우, 그래디언트의 주도권을 놓고 경쟁하게 되어 학습 불안정성이 발생한다(구성 4: 61.4% mAP, 최저 성능). DFL을 제거하면 이러한 충돌이 해소되어, MoE 손실이 박스 회귀와 전문가 특화를 동시에 효과적으로 유도할 수 있다. 이는 <strong>Mixture-of-Experts 아키텍처에서 MoE 손실이 DFL의 역할을 실질적으로 대체(subsume)할 수 있음</strong>을 시사한다. 이에 따라 본 연구에서는 <strong>구성 5(MoE-only, λ=1.5)</strong>를 기본 설정으로 채택한다.</p>

<h3 id="435-다운스트림-과제로의-일반화generalization-to-downstream-tasks">4.3.5 다운스트림 과제로의 일반화(Generalization to Downstream Tasks)</h3>

<p>YOLO-Master의 범용성을 추가로 평가하기 위해, 소거 실험에서 도출한 최적 구성을 이미지 분류와 인스턴스 분할 과제로 확장하였다.</p>

<p><strong>분류(Classification).</strong><br />
표 3에 나타난 바와 같이, YOLO-Master-cls-N은 ImageNet에서 <strong>76.6% Top-1 정확도</strong>를 달성하여 YOLOv11 대비 <strong>+6.6%</strong>, YOLOv12 대비 <strong>+4.9%</strong>의 큰 성능 향상을 보였다. 이는 본 백본이 강건한 특징 표현 능력을 갖추고 있음을 보여준다.</p>

<p><strong>분할(Segmentation).</strong><br />
표 4에서 YOLO-Master-seg-N은 <strong>35.6% mAP_mask​</strong>를 기록하여 YOLOv12-seg-N 대비 <strong>+2.8%</strong> 향상되었으며, 이는 위치 추정과 마스크 예측 모두에서 동시적인 성능 개선을 달성했음을 의미한다.</p>

<p><strong>탐지 요약(Detection Summary).</strong><br />
이러한 결과를 보완하듯, 탐지 변형(Table 2)은 <strong>49.1% mAP_box</strong>를 달성하여 소형(small-scale) 모델 기준으로 새로운 최신 성능(state-of-the-art)을 수립하였다. 과제 전반에 걸친 이러한 일관된 성능 향상은 YOLO-Master가 다양한 시각 인식 패러다임에서 성능을 효과적으로 끌어올릴 수 있는 <strong>강력하고 범용적인 아키텍처</strong>임을 입증한다.</p>

<h3 id="44-정성적-분석qualitative-analysis">4.4 정성적 분석(Qualitative Analysis)</h3>

<p>그림 4는 네 가지 대표적인 도전적 시나리오에 대한 정성적 비교 결과를 제시한다. <strong>YOLO-Master-N</strong>은 모든 경우에서 기준선 방법들 대비 일관된 성능 향상을 보여준다.</p>

<p><strong>소형 객체 탐지(Small Object Detection, 1행).</strong><br />
잔디 위에 작은 동물이 있는 야외 장면에서, 초기 버전(v10–v11)은 먼 거리의 객체를 탐지하지 못한다. YOLOv12-N은 낮은 신뢰도(0.47)로 탐지를 시작하고, YOLOv13-N은 이를 0.53까지 개선한다. 반면 YOLO-Master-N은 <strong>정확한 위치 추정과 함께 0.65–0.82의 높은 신뢰도</strong>로 객체를 탐지하여, 복잡한 배경에서 소형 객체에 대한 <strong>스케일 적응형 전문가 라우팅</strong>의 효과를 입증한다.</p>

<p><strong>카테고리 판별(Category Disambiguation, 2행).</strong><br />
바위 근처에 새가 있는 해안 장면은 배경 위장(camouflage)이 심한 도전적 상황이다. YOLOv10-N부터 v12-N까지는 가려진 사람을 탐지하지 못하며, YOLOv13-N은 간신히 탐지에 성공한다. 이에 비해 YOLO-Master-N은 <strong>정확한 위치 추정(청록색 박스)</strong>과 함께 확실한 탐지를 수행하여, 전문가 특화가 복잡한 배경 속에서 가려진 객체를 더 잘 구분할 수 있음을 보여준다.</p>

<p><strong>복잡한 장면(Complex Scene, 3행).</strong><br />
동물들이 겹쳐 있고 사람과의 상호작용이 포함된 양 털깎기 장면에서, YOLO-Master-N은 <strong>깨끗한 탐지 결과와 정확한 위치 추정</strong>을 달성한다(평균 신뢰도 0.85, v13의 0.77 대비). 이는 복잡한 장면을 효과적으로 처리할 수 있음을 입증한다.</p>

<p><strong>고밀도 장면(Dense Scene, 4행).</strong><br />
병, 컵, 식기 등 많은 객체가 서로 겹쳐 있고 사람이 포함된 식사 장면에서는, 기존 버전들이 다수의 소형 객체를 놓친다. YOLO-Master-N은 <strong>0.87–0.97의 높은 신뢰도</strong>로 포괄적인 탐지를 수행하여, <strong>밀집되고 혼잡한 환경</strong>에서의 우수한 처리 능력을 보여준다.</p>

<p>모든 시나리오 전반에서 YOLO-Master-N은 더 높은 평균 신뢰도와 더 완전한 탐지 커버리지를 달성하며, 다양한 실제 환경의 도전 과제에 대응하는 데 있어 <strong>ES-MoE의 적응적 전문가 특화</strong>가 효과적임을 입증한다.</p>

<h2 id="5-결론conclusion">5. 결론(Conclusion)</h2>

<p>본 논문에서는 YOLO 아키텍처에 <strong>Efficient Sparse Mixture-of-Experts(ES-MoE)</strong>를 도입한 새로운 실시간 객체 탐지 프레임워크 <strong>YOLO-Master</strong>를 제안하였다. 제안한 접근법은 경량화된 동적 라우팅 네트워크를 통해 모델 용량과 계산 효율성 간의 근본적인 트레이드오프를 효과적으로 해결한다. 학습 단계에서는 그래디언트 흐름을 유지하기 위해 soft Top-K 라우팅을 사용하고, 추론 단계에서는 hard Top-K 라우팅으로 전환하여 실질적인 계산 희소성을 달성한다.</p>

<p>다섯 개의 대규모 벤치마크에 대한 포괄적인 실험을 통해, YOLO-Master가 뛰어난 효율성과 함께 최신(state-of-the-art) 성능을 달성함을 입증하였다. 이는 희소 MoE 아키텍처가 밀집 예측(dense prediction) 과제에도 성공적으로 적용될 수 있음을 보여주며, <strong>동적 전문가 선택</strong>이 정확도와 효율성을 동시에 향상시킨다는 점을 실증한다. 향후 본 접근법은 객체 탐지를 넘어 다른 시각 인식 과제들로 확장될 수 있으며, 조건부 계산을 활용한 적응적 신경망 아키텍처를 통해 자원 제약 환경에서도 효율적인 실시간 비전 시스템을 구현하는 데 중요한 기반을 제공할 것이다.</p>]]></content><author><name>JunHan</name></author><category term="인공지능" /><summary type="html"><![CDATA[https://arxiv.org/abs/2512.23273]]></summary></entry><entry><title type="html">LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection</title><link href="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/lw-detr-a-transformer-replacement-to-yolo-for-real-time-detection/" rel="alternate" type="text/html" title="LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection" /><published>2026-01-24T03:13:40+09:00</published><updated>2026-01-24T03:13:40+09:00</updated><id>https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/lw-detr-a-transformer-replacement-to-yolo-for-real-time-detection</id><content type="html" xml:base="https://junhanzang.github.io/%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5/lw-detr-a-transformer-replacement-to-yolo-for-real-time-detection/"><![CDATA[<p><a href="https://arxiv.org/abs/2406.03459">https://arxiv.org/abs/2406.03459</a></p>

<p>[LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection</p>

<p>In this paper, we present a light-weight detection transformer, LW-DETR, which outperforms YOLOs for real-time object detection. The architecture is a simple stack of a ViT encoder, a projector, and a shallow DETR decoder. Our approach leverages recent adv</p>

<p>arxiv.org](https://arxiv.org/abs/2406.03459)</p>

<h2 id="lw-detr-실시간-객체-검출을-위한-yolo-대체-transformer">LW-DETR: 실시간 객체 검출을 위한 YOLO 대체 Transformer</h2>

<p><strong>Qiang Chen</strong><br />
(동등 기여, † 교신저자)</p>

<p><strong>Xiangbo Su</strong>, <strong>Xinyu Zhang</strong>, <strong>Jian Wang</strong>, <strong>Jiahui Chen</strong>, <strong>Yunpeng Shen</strong>,<br />
<strong>Chuchu Han</strong>, <strong>Ziliang Chen</strong>, <strong>Weixiang Xu</strong>, <strong>Fanrong Li</strong>, <strong>Shan Zhang</strong>,<br />
<strong>Kun Yao</strong>, <strong>Errui Ding</strong>, <strong>Gang Zhang</strong>, <strong>Jingdong Wang</strong></p>

<h2 id="초록-abstract">초록 (Abstract)</h2>

<p>본 논문에서는 실시간 객체 검출(real-time object detection)을 위해 YOLO 계열을 능가하는 경량 검출 트랜스포머 <strong>LW-DETR</strong>를 제안한다. 제안하는 아키텍처는 <strong>ViT 인코더(ViT encoder)</strong>, <strong>프로젝터(projector)</strong>, 그리고 <strong>얕은(shallow) DETR 디코더</strong>로 구성된 단순한 스택 구조를 가진다.</p>

<p>본 접근법은 최근의 다양한 고급 기법들을 효과적으로 활용한다. 구체적으로는 개선된 손실 함수와 사전학습(pretraining)과 같은 <strong>학습 효율 향상 기법(training-effective techniques)</strong>을 적용하고, ViT 인코더의 연산 복잡도를 줄이기 위해 <strong>윈도우 기반(window) 어텐션과 글로벌 어텐션을 교차(interleaved)로 사용하는 구조</strong>를 도입한다.</p>

<p>또한 ViT 인코더에서 <strong>다중 수준(multi-level)의 feature map</strong>을 집계하고, 인코더 내부의 중간(feature maps at intermediate layers) 및 최종 feature map을 함께 결합함으로써 보다 풍부한 표현력을 갖는 feature map을 형성한다. 더 나아가, <strong>window-major 방식의 feature map 구성</strong>을 제안하여 interleaved attention 연산의 효율을 향상시킨다.</p>

<p>실험 결과, 제안한 방법은 COCO 및 기타 벤치마크 데이터셋에서 YOLO 및 그 변형 모델을 포함한 기존 실시간 객체 검출기들을 전반적으로 능가하는 성능을 보임을 확인하였다. 코드와 사전 학습된 모델은 다음 링크에서 공개되어 있다.<br />
<a href="https://github.com/Atten4Vis/LW-DETR">https://github.com/Atten4Vis/LW-DETR</a></p>

<p>[GitHub - Atten4Vis/LW-DETR: This repository is an official implementation of the paper “LW-DETR: A Transformer Replacement to YO</p>

<p>This repository is an official implementation of the paper “LW-DETR: A Transformer Replacement to YOLO for Real-Time Detection”. - Atten4Vis/LW-DETR</p>

<p>github.com](https://github.com/Atten4Vis/LW-DETR)</p>

<h2 id="키워드-keywords">키워드 (Keywords)</h2>

<p>객체 검출(Object Detection), 실시간 검출(Real-Time Detection), 트랜스포머(Transformer)</p>

<p><img src="/assets/images/posts/620/img.png" alt="" /></p>

<h2 id="그림-1-설명-figure-1">그림 1 설명 (Figure 1)</h2>

<p>제안하는 방법은 기존의 최신 실시간 객체 검출기(SoTA)를 능가하는 성능을 보인다. x축은 <strong>추론 시간(inference time)</strong>을, y축은 <strong>COCO val2017 기준 mAP 점수</strong>를 나타낸다. 모든 모델은 Objects365 데이터셋으로 사전학습(pretraining)된 상태에서 학습되었다. YOLO, RTMDet 등의 기존 모델에 대해서는 NMS 후처리 시간이 포함되어 있으며, 이는 공식 구현 설정을 기반으로 COCO val2017에서 측정되었다. 또한, 잘 튜닝된 NMS 후처리 설정을 적용한 경우는 “*”로 표시하였다.</p>

<h2 id="2-관련-연구-related-work">2. 관련 연구 (Related Work)</h2>

<h3 id="실시간-객체-검출-real-time-object-detection">실시간 객체 검출 (Real-time object detection)</h3>

<p>실시간 객체 검출은 다양한 실제 응용 분야에서 폭넓게 활용되고 있다 [31, 18, 25, 30, 49].<br />
YOLO-NAS [1], YOLOv8 [29], RTMDet [46]와 같은 최신(state-of-the-art) 실시간 객체 검출기들은 초기 YOLO [50]에 비해 크게 발전하였으며, 그 배경에는 검출 프레임워크의 개선 [56, 20], 아키텍처 설계 [2, 33, 32, 65, 16, 59], 데이터 증강 기법 [69, 2, 20], 학습 기법 [20, 29, 1], 그리고 손실 함수 설계 [38, 68, 73] 등이 있다.</p>

<p>이러한 기존 실시간 검출기들은 대부분 <strong>합성곱(convolution)</strong> 기반 구조에 의존한다. 반면, 본 논문에서는 아직 충분히 탐구되지 않은 <strong>트랜스포머 기반(transformer-based)</strong> 실시간 객체 검출 해법을 연구 대상으로 삼는다.</p>

<h3 id="객체-검출을-위한-vit-vit-for-object-detection">객체 검출을 위한 ViT (ViT for object detection)</h3>

<p>Vision Transformer(ViT) [17, 66]는 이미지 분류 분야에서 뛰어난 성능을 보였다. ViT를 객체 검출에 적용할 경우, 메모리 사용량과 연산 비용을 줄이기 위해 일반적으로 <strong>윈도우 어텐션(window attention)</strong> [17, 43]이나 <strong>계층적(hierarchical) 아키텍처</strong> [62, 43, 70, 21]가 활용된다.</p>

<p>UViT [8]는 점진적 윈도우 어텐션(progressive window attention)을 사용하며, ViTDet [36]는 사전 학습된 plain ViT에 <strong>interleaved window 및 global attention</strong> [37]을 적용한다. 본 연구의 접근법은 ViTDet을 따라 interleaved window 및 global attention을 사용하되, 추가적으로 <strong>window-major 순서의 feature map 구성 방식</strong>을 도입하여 메모리 재배치(permutation)에 따른 비용을 줄인다.</p>

<h3 id="detr-및-그-변형들-detr-and-its-variants">DETR 및 그 변형들 (DETR and its variants)</h3>

<p>Detection Transformer(DETR)는 <strong>anchor 생성</strong> [51]이나 <strong>비최대 억제(non-maximum suppression, NMS)</strong> [24]와 같은 다수의 수작업(hand-crafted) 구성 요소를 제거한 <strong>end-to-end 객체 검출 방법</strong>이다. 이후 DETR을 개선하기 위한 다양한 후속 연구들이 제안되었으며, 여기에는 아키텍처 설계 [74, 47, 19, 67], object query 설계 [63, 41, 11], 학습 기법 [35, 67, 6, 27, 48, 7, 75], 그리고 손실 함수 개선 [42, 3] 등이 포함된다.</p>

<p>또한 연산 복잡도를 줄이기 위해 아키텍처 설계 [40, 34], 연산 최적화 [74], 가지치기(pruning) [53, 72], 지식 증류(distillation) [5, 9, 5, 64] 등 다양한 시도가 이루어졌다. 본 논문의 관심사는 이러한 기존 방법들이 충분히 탐구하지 않은 영역, 즉 <strong>실시간 객체 검출을 위한 단순한(simple) DETR 기반 베이스라인</strong>을 구축하는 데 있다.</p>

<h3 id="동시-연구-concurrent-work">동시 연구 (Concurrent work)</h3>

<p>본 연구와 거의 동시에, RT-DETR [45] 역시 DETR 프레임워크를 실시간 객체 검출에 적용하였으며, 특히 <strong>CNN 백본을 인코더로 사용하는 구조</strong>에 초점을 맞추었다. 다만, 상대적으로 대형 모델 위주의 연구가 이루어졌고, <strong>초소형(tiny) 모델에 대한 연구는 부족한 편</strong>이다. 이에 비해, 본 논문의 <strong>LW-DETR</strong>는 <strong>plain ViT 백본과 DETR 프레임워크가 실시간 객체 검출에 적용 가능한지</strong>를 탐구한다는 점에서 차별성을 가진다.</p>

<p><img src="/assets/images/posts/620/img_1.png" alt="" /></p>

<h3 id="그림-2-설명-figure-2">그림 2 설명 (Figure 2)</h3>

<p>다중 수준 feature map 집계와 interleaved window 및 global attention을 사용하는 트랜스포머 인코더의 예시를 보여준다. 설명의 명확성을 위해 FFN과 LayerNorm 계층은 그림에서 생략되었다.</p>

<h2 id="3-lw-detr">3. LW-DETR</h2>

<h3 id="31-아키텍처-architecture">3.1 아키텍처 (Architecture)</h3>

<p>LW-DETR는 <strong>ViT 인코더(ViT encoder)</strong>, <strong>프로젝터(projector)</strong>, 그리고 <strong>DETR 디코더(DETR decoder)</strong>로 구성된다.</p>

<h3 id="인코더-encoder">인코더 (Encoder)</h3>

<p>본 연구에서는 객체 검출용 인코더로 <strong>ViT</strong>를 채택한다. 일반적인 plain ViT [17]는 패치화(patchification) 계층과 다수의 트랜스포머 인코더 계층으로 구성된다. 초기 ViT의 트랜스포머 인코더 계층은 모든 토큰에 대해 <strong>글로벌 자기어텐션(global self-attention)</strong>과 FFN 계층을 포함한다. 그러나 글로벌 자기어텐션은 토큰(패치) 수에 대해 <strong>이차(quadratic)</strong> 시간 복잡도를 가지므로 계산 비용이 매우 크다.</p>

<p>이를 완화하기 위해, 우리는 일부 트랜스포머 인코더 계층에서 <strong>윈도우 자기어텐션(window self-attention)</strong>을 적용하여 계산 복잡도를 줄인다(자세한 내용은 3.4절 참조). 또한 인코더 내부의 <strong>중간 계층(feature maps at intermediate layers)</strong>과 <strong>최종 계층의 feature map</strong>, 그리고 <strong>다중 수준(multi-level) feature map</strong>을 집계(aggregation)하여, 보다 강력한 인코딩 feature map을 형성한다. 이러한 인코더 구조의 예시는 그림 2에 제시되어 있다.</p>

<h3 id="디코더-decoder">디코더 (Decoder)</h3>

<p>디코더는 여러 개의 트랜스포머 디코더 계층으로 구성된 스택 구조이다. 각 계층은 <strong>자기어텐션(self-attention)</strong>, <strong>교차어텐션(cross-attention)</strong>, 그리고 FFN으로 이루어진다. 계산 효율성을 위해 <strong>deformable cross-attention</strong> [74]을 채택한다.</p>

<p>기존 DETR 및 그 변형 모델들은 일반적으로 <strong>6개</strong>의 디코더 계층을 사용한다. 반면, 본 구현에서는 <strong>3개의 트랜스포머 디코더 계층</strong>만을 사용한다. 이를 통해 디코더 추론 시간을 <strong>1.4 ms에서 0.7 ms로 감소</strong>시킬 수 있었으며, 이는 tiny 버전 기준으로 나머지 구성 요소가 차지하는 <strong>1.3 ms</strong>의 시간 비용과 비교했을 때 매우 유의미한 절감이다.</p>

<p>객체 쿼리(object query)는 <strong>혼합 쿼리 선택 방식(mixed-query selection scheme)</strong> [67]을 사용하여 <strong>콘텐츠 쿼리(content query)</strong>와 <strong>공간 쿼리(spatial query)</strong>의 합으로 구성한다. 콘텐츠 쿼리는 DETR과 유사하게 학습 가능한 임베딩이다. 공간 쿼리는 2단계(two-stage) 방식에 기반하여 생성되며, 구체적으로는 Projector의 마지막 계층에서 상위 K개의 feature를 선택한 뒤 bounding box를 예측하고, 해당 박스를 임베딩으로 변환하여 공간 쿼리로 사용한다.</p>

<h3 id="프로젝터-projector">프로젝터 (Projector)</h3>

<p>프로젝터는 인코더와 디코더를 연결하는 역할을 한다. 인코더에서 집계된(encoded) feature map을 입력으로 받아 디코더에 전달한다. 본 논문에서는 YOLOv8 [29]에 구현된 <strong>C2f 블록</strong>(cross-stage partial DenseNet [26, 60]의 확장 형태)을 프로젝터로 사용한다.</p>

<p>LW-DETR의 <strong>large</strong> 및 <strong>xlarge</strong> 버전에서는, 프로젝터가 두 개의 스케일 (1/8, 1/32) feature map을 출력하도록 수정하고, 이에 맞추어 <strong>멀티스케일 디코더(multi-scale decoder)</strong> [74]를 사용한다. 이때 프로젝터는 두 개의 병렬(parallel) C2f 블록으로 구성된다. 하나는 deconvolution을 통해 업샘플링된 1/8 feature map을 처리하고, 다른 하나는 stride convolution을 통해 다운샘플링된 1/32 feature map을 처리한다. 단일 스케일 프로젝터와 멀티스케일 프로젝터의 전체 파이프라인은 그림 3에 제시되어 있다.</p>

<h3 id="목적-함수-objective-function">목적 함수 (Objective function)</h3>

<p>분류 손실로는 <strong>IoU-aware classification loss</strong>, 즉 <strong>IA-BCE loss</strong> [3]를 사용한다.</p>

<p><img src="/assets/images/posts/620/img_2.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_3.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_4.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_5.png" alt="" /></p>

<h3 id="그림-3-설명-figure-3">그림 3 설명 (Figure 3)</h3>

<p>(a) tiny, small, medium 모델을 위한 <strong>단일 스케일 프로젝터</strong>,<br />
(b) large, xlarge 모델을 위한 <strong>멀티스케일 프로젝터</strong> 구조를 보여준다.</p>

<h2 id="32-구체화-instantiation">3.2 구체화 (Instantiation)</h2>

<p>우리는 <strong>tiny, small, medium, large, xlarge</strong>의 다섯 가지 실시간 검출기 인스턴스를 구성한다. 각 설정의 세부 사항은 표 1에 정리되어 있다.</p>

<p><strong>tiny</strong> 검출기는 <strong>6개</strong>의 계층으로 이루어진 트랜스포머 인코더를 사용한다. 각 계층은 다중 헤드 자기어텐션(multi-head self-attention) 모듈과 FFN(feed-forward network)으로 구성된다. 각 이미지 패치는 <strong>192차원</strong>의 표현 벡터로 선형 매핑된다. 프로젝터는 <strong>256 채널</strong>의 단일 스케일 feature map을 출력하며, 디코더에는 <strong>100개의 객체 쿼리(object queries)</strong>가 사용된다.</p>

<p><strong>small</strong> 검출기는 <strong>10개의 인코더 계층</strong>과 <strong>300개의 객체 쿼리</strong>를 사용한다. 입력 패치 표현 차원과 프로젝터 출력 차원은 tiny와 동일하게 각각 <strong>192</strong>, <strong>256</strong>이다. <strong>medium</strong> 검출기는 small과 유사하지만, 입력 패치 표현 차원이 <strong>384</strong>로 증가하며 이에 따라 인코더의 차원도 <strong>384</strong>로 설정된다.</p>

<p><strong>large</strong> 검출기는 <strong>10계층 인코더</strong>를 사용하고, <strong>두 개의 스케일 feature map</strong>을 활용한다(3.1절의 Projector 참조). 입력 패치 표현 차원과 프로젝터 출력 차원은 각각 <strong>384</strong>, <strong>384</strong>이다. <strong>xlarge</strong> 검출기는 large와 유사하되, 입력 패치 표현 차원이 <strong>768</strong>이라는 점이 다르다.</p>

<p><img src="/assets/images/posts/620/img_6.png" alt="" /></p>

<h2 id="33-효과적인-학습-effective-training">3.3 효과적인 학습 (Effective Training)</h2>

<h3 id="추가적인-감독-신호-more-supervision">추가적인 감독 신호 (More supervision)</h3>

<p>DETR 학습을 가속화하기 위해 <strong>더 많은 감독 신호(supervision)</strong>를 도입하는 다양한 기법들이 제안되어 왔다 [6, 27, 75]. 본 연구에서는 <strong>추론 과정(inference)을 변경하지 않으면서도 구현이 간단한 Group DETR</strong> [6]를 채택한다. [6]을 따라, 학습 시에는 <strong>가중치를 공유하는 13개의 병렬 디코더</strong>를 사용한다. 각 디코더에 대해, 프로젝터의 출력 feature로부터 각 그룹에 대응하는 객체 쿼리(object query)를 생성한다. 추론 단계에서는 [6]과 동일하게 <strong>기본(primary) 디코더 하나만</strong>을 사용한다.</p>

<h3 id="objects365-사전학습-pretraining-on-objects365">Objects365 사전학습 (Pretraining on Objects365)</h3>

<p>사전학습 과정은 두 단계로 구성된다.<br />
첫 번째 단계에서는, 사전학습된 모델을 기반으로 <strong>MIM(Masked Image Modeling)</strong> 기법인 <strong>CAEv2</strong> [71]를 사용하여 <strong>Objects365 데이터셋</strong>에서 ViT를 사전학습한다. 이 과정만으로도 COCO 기준 <strong>0.7 mAP의 성능 향상</strong>을 얻을 수 있다.</p>

<p>두 번째 단계에서는 [67, 7]을 따라, <strong>Objects365 데이터셋에서 감독 학습(supervised learning) 방식으로 인코더를 재학습</strong>하고, 동시에 <strong>프로젝터와 디코더를 학습</strong>한다.</p>

<h2 id="34-효율적인-추론-efficient-inference">3.4 효율적인 추론 (Efficient Inference)</h2>

<p>우리는 간단한 수정 [37, 36]을 통해 <strong>interleaved window attention과 global attention</strong>을 적용한다. 즉, 일부 글로벌 자기어텐션(global self-attention) 계층을 <strong>윈도우 자기어텐션(window self-attention)</strong> 계층으로 대체한다. 예를 들어, 6 계층으로 구성된 ViT의 경우, 첫 번째, 세 번째, 다섯 번째 계층을 윈도우 어텐션으로 구현한다. 윈도우 어텐션은 feature map을 <strong>겹치지 않는(non-overlapping) 윈도우</strong>로 분할한 뒤, 각 윈도우 내부에서만 자기어텐션을 수행하는 방식이다.</p>

<p>우리는 interleaved attention을 효율적으로 수행하기 위해 <strong>window-major feature map 구성 방식</strong>을 채택한다. 이 방식은 feature map을 <strong>윈도우 단위로 정렬</strong>한다. 기존 ViTDet 구현 [36]에서는 feature map을 <strong>행 우선(row-major)</strong> 방식으로 정렬하는데, 이 경우 윈도우 어텐션을 적용하기 위해서는 row-major에서 window-major로 변환하는 <strong>비용이 큰 permutation 연산</strong>이 필요하다. 반면, 본 구현에서는 이러한 연산을 제거함으로써 모델의 지연 시간(latency)을 줄인다.</p>

<p><img src="/assets/images/posts/620/img_7.png" alt="" /></p>

<h2 id="표-2-효과적인-학습-및-효율적인-추론-기법의-영향">표 2. 효과적인 학습 및 효율적인 추론 기법의 영향</h2>

<p>글로벌 어텐션만을 사용하는 초기 검출기부터 최종 <strong>LW-DETR-small</strong> 모델까지, 단계별로 적용한 기법들의 영향을 실험적으로 분석하였다. ‘†’는 ViTDet 구현을 사용했음을 의미한다. 마지막 행을 제외한 모든 결과는 45K iteration(12epoch에 해당)에서 측정되었으며, 마지막 행은 180K iteration으로 학습한 최종 모델의 결과이다.</p>

<p><img src="/assets/images/posts/620/img_8.png" alt="" /></p>

<hr />

<h2 id="1️⃣-먼저-핵심-요약부터">1️⃣ 먼저 핵심 요약부터</h2>

<p>이 문단의 요지는 딱 하나입니다.</p>

<blockquote>
  <p><strong>“윈도우 어텐션과 글로벌 어텐션을 섞어 쓸 때,<br />
feature map을 처음부터 ‘윈도우 기준(window-major)’으로 저장하면<br />
비싼 메모리 재배열(permutation)을 안 해도 된다.”</strong></p>
</blockquote>

<h2 id="성능map-얘기가-아니라-순수하게-latency-줄이는-엔지니어링-트릭입니다">성능(mAP) 얘기가 아니라, <strong>순수하게 latency 줄이는 엔지니어링 트릭</strong>입니다.</h2>

<h2 id="2️⃣-기본-전제-feature-map은-결국-1차원-배열로-저장된다">2️⃣ 기본 전제: feature map은 결국 ‘1차원 배열’로 저장된다</h2>

<p>우리가 흔히 말하는 4×4 feature map은 <strong>논리적 구조</strong>이고,<br />
GPU 메모리 안에서는 결국 이렇게 <strong>쭉 늘어진 1차원 배열</strong>입니다.</p>

<h3 id="44-feature-map-논리적-모습">4×4 feature map (논리적 모습)</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>f11 f12 f13 f14
f21 f22 f23 f24
f31 f32 f33 f34
f41 f42 f43 f44
</code></pre></div></div>

<h2 id="3️⃣-row-major-행-우선-정렬이란">3️⃣ Row-major (행 우선) 정렬이란?</h2>

<h3 id="-우리가-보통-쓰는-방식-pytorch-기본">? 우리가 보통 쓰는 방식 (PyTorch 기본)</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[f11, f12, f13, f14,
 f21, f22, f23, f24,
 f31, f32, f33, f34,
 f41, f42, f43, f44]
</code></pre></div></div>

<p>이게 <strong>row-major</strong>입니다.</p>

<ul>
  <li>한 행(row)을 끝까지 읽고</li>
  <li>다음 행으로 내려감</li>
</ul>

<h3 id="-장점">✅ 장점</h3>

<ul>
  <li><strong>글로벌 어텐션</strong>에 바로 사용 가능<br />
(어차피 모든 토큰을 한 번에 보니까)</li>
</ul>

<h3 id="-문제">❌ 문제</h3>

<ul>
  <li><strong>윈도우 어텐션에는 부적합</strong></li>
</ul>

<h2 id="4️⃣-윈도우-어텐션은-22-블록-단위로-묶어야-한다">4️⃣ 윈도우 어텐션은 “2×2 블록 단위”로 묶어야 한다</h2>

<p>윈도우 크기가 2×2라면, 우리가 원하는 토큰 묶음은 이거죠:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>윈도우 1: f11 f12
         f21 f22

윈도우 2: f13 f14
         f23 f24

윈도우 3: f31 f32
         f41 f42

윈도우 4: f33 f34
         f43 f44
</code></pre></div></div>

<p>즉, <strong>윈도우 하나가 연속된 메모리</strong>에 있어야 attention 계산이 빠릅니다.</p>

<h2 id="5️⃣-그래서-나온-개념-window-major-정렬">5️⃣ 그래서 나온 개념: window-major 정렬</h2>

<h3 id="window-major에서는-처음부터-이렇게-저장합니다">window-major에서는 처음부터 이렇게 저장합니다</h3>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[f11, f12, f21, f22,   ← window 1
 f13, f14, f23, f24,   ← window 2
 f31, f32, f41, f42,   ← window 3
 f33, f34, f43, f44]   ← window 4
</code></pre></div></div>

<p>이게 논문에서 말하는 <strong>식 (4)</strong> 입니다.</p>

<h2 id="6️⃣-이게-왜-중요한가--핵심">6️⃣ 이게 왜 중요한가? (? 핵심)</h2>

<h3 id="vitdet-기존-방식">ViTDet (기존 방식)</h3>

<ul>
  <li>feature map은 <strong>row-major</strong></li>
  <li>윈도우 어텐션 쓸 때마다:
    <ul>
      <li>row-major → window-major</li>
      <li><strong>permutation (메모리 재배열) 발생</strong></li>
    </ul>
  </li>
  <li>이게 <strong>생각보다 매우 비쌈</strong>
    <ul>
      <li>FLOPs에 잘 안 잡힘</li>
      <li>latency에 직격타</li>
    </ul>
  </li>
</ul>

<h3 id="lw-detr-이-논문">LW-DETR (이 논문)</h3>

<ul>
  <li><strong>처음부터 window-major로 저장</strong></li>
  <li>그러면:
    <ul>
      <li>? 윈도우 어텐션: 바로 사용</li>
      <li>? 글로벌 어텐션: 그냥 전체를 한 번에 보면 됨</li>
    </ul>
  </li>
  <li>❗ <strong>중간 permutation 연산이 아예 없음</strong></li>
</ul>

<p>→ 그래서 <strong>latency가 확 줄어듦</strong><br />
(표 2에서 3.9ms → 2.9ms)
—</p>

<h2 id="7️⃣-그럼-글로벌-어텐션은-문제-없나">7️⃣ “그럼 글로벌 어텐션은 문제 없나?”</h2>

<p>여기서 중요한 직관 하나:</p>

<blockquote>
  <p>글로벌 어텐션은<br />
**“모든 토큰을 다 보겠다”**는 거지<br />
**“토큰 순서가 꼭 row-major여야 한다”**는 게 아님</p>
</blockquote>

<p>즉,</p>

<ul>
  <li>window-major든</li>
  <li>row-major든</li>
</ul>

<h2 id="전체-토큰-집합만-유지되면-결과는-동일합니다"><strong>전체 토큰 집합만 유지되면 결과는 동일</strong>합니다.</h2>

<h2 id="8️⃣-한-줄로-다시-정리하면">8️⃣ 한 줄로 다시 정리하면</h2>

<ul>
  <li>row-major → 인간 친화적, 윈도우 어텐션엔 불리</li>
  <li>window-major → GPU/윈도우 어텐션 친화적</li>
  <li>LW-DETR은
    <ul>
      <li><strong>attention 구조는 ViTDet과 유사</strong></li>
      <li>
        <h2 id="하지만-메모리-레이아웃을-바꿔서-실제-속도를-줄임">하지만 <strong>메모리 레이아웃을 바꿔서 실제 속도를 줄임</strong></h2>
      </li>
    </ul>
  </li>
</ul>

<h2 id="9️⃣-왜-이게-논문-포인트가-되나">9️⃣ 왜 이게 “논문 포인트”가 되나?</h2>

<p>이건 새로운 모델 구조가 아니라,</p>

<ul>
  <li>❌ “Transformer를 가볍게 만들었다”</li>
  <li>❌ “Attention을 새로 설계했다”</li>
</ul>

<p>가 아니라,</p>

<blockquote>
  <p>✅ <strong>“같은 연산을 더 싸게 돌리는 방법”</strong></p>
</blockquote>

<p>그래서 이 논문 전체 톤이</p>

<ul>
  <li>이론적 새로움 ❌</li>
  <li><strong>실시간 엔지니어링 최적화 ✅</strong></li>
</ul>

<h2 id="인-이유이기도-합니다">인 이유이기도 합니다.</h2>

<h2 id="35-실증적-분석-empirical-study">3.5 실증적 분석 (Empirical Study)</h2>

<p>본 절에서는 <strong>효과적인 학습 기법(effective training)</strong>과 <strong>효율적인 추론 기법(efficient inference)</strong>이 DETR 성능을 어떻게 개선하는지를 실험적으로 분석한다. 예제로는 <strong>small 검출기</strong>를 사용한다. 본 분석은 다음과 같은 <strong>초기 검출기(initial detector)</strong>를 기준으로 수행된다. 해당 초기 모델에서는 인코더의 모든 계층이 글로벌 어텐션으로 구성되어 있으며, 인코더의 <strong>마지막 계층의 feature map만을 출력</strong>으로 사용한다. 실험 결과는 표 2에 제시되어 있다.</p>

<h3 id="지연-시간latency-개선">지연 시간(latency) 개선</h3>

<p>ViTDet에서 채택한 <strong>interleaved window 및 global attention</strong>은, 연산 비용이 큰 글로벌 어텐션을 상대적으로 저렴한 윈도우 어텐션으로 대체함으로써 연산량을 23.0 GFlops에서 16.6 GFlops로 감소시킨다. 이는 글로벌 어텐션을 윈도우 어텐션으로 대체하는 전략의 이점을 입증한다.</p>

<p>그러나 실제 지연 시간(latency)은 감소하지 않았으며, 오히려 0.2 ms 증가하였다. 이는 <strong>row-major feature map 구성 방식</strong>에서 윈도우 어텐션을 수행하기 위해 <strong>추가적인 비용이 큰 permutation 연산</strong>이 필요하기 때문이다. 반면, <strong>window-major feature map 구성 방식</strong>을 적용하면 이러한 부작용이 완화되며, 지연 시간이 3.7 ms에서 2.9 ms로 감소하여 총 0.8 ms의 큰 개선 효과를 얻을 수 있다.</p>

<h3 id="성능map-개선">성능(mAP) 개선</h3>

<p><strong>다중 수준 feature 집계(multi-level feature aggregation)</strong>는 0.7 mAP의 성능 향상을 가져온다. 또한 <strong>IoU-aware 분류 손실</strong>과 <strong>추가적인 supervision</strong>을 적용함으로써 mAP는 각각 34.7 → 35.4, 34.7 → 38.4로 향상된다.</p>

<p>박스 회귀 대상에 대한 <strong>bounding box 재파라미터화(reparameterization)</strong> <a href="자세한 내용은 보충 자료 참조">40</a>는 소폭의 성능 개선을 제공한다. 가장 큰 성능 향상은 <strong>Objects365 데이터셋을 이용한 사전학습</strong>에서 나타나며, 총 8.7 mAP의 개선을 달성한다. 이는 트랜스포머가 <strong>대규모 데이터로부터 실질적인 이점을 얻을 수 있음을 시사</strong>한다. 더 긴 학습 스케줄을 적용하면 추가적인 성능 향상이 가능하며, 이를 통해 최종 <strong>LW-DETR-small</strong> 모델이 완성된다.</p>

<h2 id="4-실험-experiments">4. 실험 (Experiments)</h2>

<h3 id="41-설정-settings">4.1 설정 (Settings)</h3>

<h4 id="데이터셋-datasets">데이터셋 (Datasets)</h4>

<p>사전학습(pretraining)에 사용한 데이터셋은 <strong>Objects365</strong> [54]이다. [67, 7]을 따라, 탐지 사전학습을 위해 <strong>train 세트의 이미지</strong>와 <strong>validate 세트 중 처음 5k 이미지를 제외한 나머지 이미지</strong>를 결합하여 사용한다. 평가는 <strong>표준 COCO2017</strong> [39] 데이터 분할 정책을 따르며, <strong>COCO val2017</strong>에서 수행한다.</p>

<h4 id="데이터-증강-data-augmentations">데이터 증강 (Data augmentations)</h4>

<p>DETR 및 그 변형들에서 사용된 데이터 증강 기법을 채택한다 [4, 74]. 학습 시에는 실시간 객체 검출 알고리즘들 [1, 29, 46]을 따라 이미지를 무작위로 정사각형 크기로 리사이즈한다. 성능 평가 및 추론 시간 측정 시에는 동일한 실시간 검출 알고리즘들 [1, 29, 46]에서 사용하는 평가 방식에 따라 이미지를 640 × 640 크기로 리사이즈한다. 또한 이미지 크기가 윈도우 크기로 나누어 떨어지도록 하기 위해 <strong>10 × 10</strong>의 윈도우 크기를 사용한다.</p>

<h4 id="구현-세부-사항-implementation-details">구현 세부 사항 (Implementation details)</h4>

<p>Objects365 [54]에서 30 epoch 동안 검출 모델을 사전학습한 뒤, COCO [39]에서 총 180K iteration 동안 파인튜닝한다. 학습 안정화를 위해 <strong>EMA(exponential moving average)</strong> 기법 [55]을 적용하며, decay 값은 0.9997 이다. 옵티마이저로는 <strong>AdamW</strong> [44]를 사용한다.</p>

<p>사전학습 단계에서는 프로젝터와 DETR 디코더의 초기 학습률을 4 × e⁻⁴, ViT 백본의 초기 학습률을 6 × e⁻⁴ 로 설정하고, 배치 크기는 128 로 설정한다. 파인튜닝 단계에서는 프로젝터와 DETR 디코더의 초기 학습률을 1 × e⁻⁴, ViT 백본의 초기 학습률을 1.5 × e⁻⁴ 로 설정한다. 배치 크기는 tiny, small, medium 모델에서 32, large 및 xlarge 모델에서는 16 으로 설정한다.</p>

<p>총 180K training iteration은 tiny, small, medium 모델의 경우 50 epoch, large 및 xlarge 모델의 경우 25 epoch 에 해당한다. weight decay, ViT 인코더에서의 layer-wise decay, 그리고 파인튜닝 과정에서의 component-wise decay [7]와 같은 추가적인 세부 사항은 보충 자료(Supplementary Material)에 제시되어 있다.</p>

<h4 id="추론-시간-측정-inference-latency-measurement">추론 시간 측정 (Inference latency measurement)</h4>

<p>추론 지연 시간(latency)은 <strong>COCO val2017</strong>에서 <strong>batch size 1</strong>, <strong>fp16 precision</strong>, <strong>T4 GPU</strong> 환경에서 end-to-end 방식으로 측정한다. 실험 환경은 <strong>TensorRT-8.6.1</strong>, <strong>CUDA-11.6</strong>, <strong>CuDNN-8.7.0</strong>으로 구성된다. 효율적인 NMS 구현을 위해 TensorRT의 <strong>efficientNMSPlugin</strong>을 사용한다. 모든 실시간 검출기의 성능과 end-to-end latency는 <strong>공식 구현(official implementation)</strong>을 사용하여 측정한다.</p>

<h2 id="표-3-최신-실시간-객체-검출기와의-비교">표 3. 최신 실시간 객체 검출기와의 비교</h2>

<p>RTMDet [46], YOLOv8 [29], YOLO-NAS [1]를 포함한 최신 실시간 객체 검출기들과의 비교 결과를 제시한다. 전체 지연 시간(total latency)은 COCO val2017에서 <strong>end-to-end 방식</strong>으로 측정되며, <strong>모델 추론 시간과 비-DETR 계열 모델에 필요한 후처리 단계인 NMS 시간을 모두 포함</strong>한다. NMS에 대해서는 두 가지 설정을 사용해 전체 지연 시간을 측정한다: <strong>공식 구현 설정</strong>과 <strong>튜닝된 score threshold 설정</strong>.</p>

<p>LW-DETR은 <strong>NMS가 필요 없기 때문에</strong>, 전체 지연 시간은 모델 추론 시간과 동일하다. 표에서 ‘pretraining’은 Objects365로 사전학습한 결과임을 의미한다.</p>

<p><img src="/assets/images/posts/620/img_9.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_10.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_11.png" alt="" /></p>

<h2 id="42-결과-results">4.2 결과 (Results)</h2>

<p>표 3에는 다섯 가지 <strong>LW-DETR</strong> 모델의 성능 결과를 제시한다. <strong>LW-DETR-tiny</strong>는 T4 GPU 기준으로 <strong>500 FPS</strong>에서 <strong>42.6 mAP</strong>를 달성한다. <strong>LW-DETR-small</strong>과 <strong>LW-DETR-medium</strong>은 각각 <strong>340 FPS 이상에서 48.0 mAP</strong>, <strong>178 FPS 이상에서 52.5 mAP</strong>를 기록한다. <strong>large</strong>와 <strong>xlarge</strong> 모델은 각각 <strong>113 FPS에서 56.1 mAP</strong>, <strong>52 FPS에서 58.3 mAP</strong>를 달성한다.</p>

<h3 id="최신-실시간-객체-검출기와의-비교">최신 실시간 객체 검출기와의 비교</h3>

<p>표 3에서는 <strong>YOLO-NAS</strong> [1], <strong>YOLOv8</strong> [29], <strong>RTMDet</strong> [46]를 포함한 대표적인 최신 실시간 객체 검출기들과 <strong>LW-DETR</strong> 모델을 비교한다. 사전학습(pretraining) 유무와 관계없이, <strong>LW-DETR은 기존의 최신 실시간 검출기들을 일관되게 능가</strong>함을 확인할 수 있다. 특히 tiny부터 xlarge까지 모든 스케일에서, <strong>지연 시간(latency)</strong>과 <strong>검출 성능(mAP)</strong> 측면 모두에서 YOLOv8과 RTMDet 대비 명확한 우위를 보인다.</p>

<p>신경망 아키텍처 탐색(NAS)을 통해 설계된 기존 최고 수준의 방법 중 하나인 <strong>YOLO-NAS</strong>와 비교하면, <strong>LW-DETR</strong>은 small과 medium 스케일에서 각각 <strong>0.4 mAP</strong>, <strong>0.9 mAP</strong> 더 높은 성능을 보이며, 속도 또한 각각 <strong>1.6배</strong>, <strong>약 1.4배(∼1.4×)</strong> 빠르다. 모델 크기가 커질수록 이러한 개선 효과는 더욱 두드러지며, large 스케일에서는 <strong>동일한 속도 조건에서 3.8 mAP의 성능 향상</strong>을 달성한다.</p>

<p>또한 NMS 과정에서 <strong>분류 점수 임계값(score threshold)을 정교하게 튜닝</strong>하여 다른 방법들의 성능을 추가로 개선하고, 그 결과를 표의 오른쪽 두 열에 보고한다. 이 경우 성능은 크게 향상되지만, 여전히 <strong>LW-DETR에는 미치지 못한다</strong>. 저자들은 NAS, 데이터 증강, 의사 라벨(pseudo-labeled) 데이터, 지식 증류(knowledge distillation) 등 기존 실시간 검출기들이 활용한 다양한 기법들 [46, 29, 1]을 LW-DETR에도 적용할 경우, <strong>추가적인 성능 향상이 가능할 것</strong>으로 기대한다.</p>

<h3 id="동시-연구concurrent-works와의-비교">동시 연구(concurrent works)와의 비교</h3>

<p>실시간 객체 검출 분야의 동시 연구인 <strong>YOLO-MS</strong> [12], <strong>Gold-YOLO</strong> [58], <strong>RT-DETR</strong> [45], <strong>YOLOv10</strong> [57]과 <strong>LW-DETR</strong>을 비교한다. YOLO-MS는 다중 스케일 feature 표현을 강화하여 성능을 개선하며, Gold-YOLO는 다중 스케일 feature 융합을 강화하고 <strong>MAE 방식의 사전학습</strong> [22]을 적용하여 YOLO의 성능을 향상시킨다. YOLOv10은 효율성과 정확도를 목표로 한 여러 모듈을 설계하였다. <strong>RT-DETR</strong> [45]는 LW-DETR과 밀접하게 연관된 방법으로, 동일하게 DETR 프레임워크를 기반으로 하지만, <strong>백본, 프로젝터, 디코더, 학습 방식</strong>에서 본 논문과 여러 차이를 가진다.</p>

<p>비교 결과는 표 4와 그림 4에 제시되어 있다. <strong>LW-DETR은 검출 성능과 지연 시간 사이에서 일관되게 더 나은 균형</strong>을 달성한다. YOLO-MS와 Gold-YOLO는 모든 모델 스케일에서 LW-DETR 대비 명확히 열세를 보인다. <strong>LW-DETR-large</strong>는 RT-DETR-R50 대비 <strong>0.8 mAP 더 높은 성능</strong>을 보이면서도 <strong>더 빠른 속도(8.8 ms vs. 9.9 ms)</strong>를 달성한다. 다른 스케일에서도 LW-DETR은 RT-DETR보다 전반적으로 더 우수한 결과를 보인다. 최신 방법인 <strong>YOLOv10-X</strong> [57]와 비교해도, <strong>LW-DETR-large</strong>는 <strong>더 높은 성능(56.1 mAP vs. 54.4 mAP)</strong>과 <strong>더 낮은 지연 시간(8.8 ms vs. 10.70 ms)</strong>을 동시에 달성한다.</p>

<h2 id="표-4-동시-연구들과의-비교-coco-기준">표 4. 동시 연구들과의 비교 (COCO 기준)</h2>

<p>YOLO-MS [12], Gold-YOLO [58], YOLOv10 [57], RT-DETR [45]와의 비교 결과를 제시한다. YOLO-MS와 Gold-YOLO에 대해서는 NMS에 대해 <strong>공식 구현 설정</strong>과 <strong>튜닝된 score threshold 설정</strong>의 두 가지 경우로 전체 지연 시간을 측정하였다. YOLOv10의 결과는 공식 논문 [57]의 수치를 보고한다. RT-DETR은 DETR 기반 방법으로 NMS가 필요 없으므로, 전체 지연 시간은 모델 지연 시간과 동일하다. RT-DETR의 경우, 논문 [45]에 보고된 추론 시간과 본 실험 환경에서 측정된 시간 중 <strong>더 빠른 값을 사용</strong>하였다. 전반적으로 <strong>LW-DETR이 가장 우수한 결과</strong>를 보인다. ‘pretraining’은 Objects365로 사전학습한 결과임을 의미한다.</p>

<p><img src="/assets/images/posts/620/img_12.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_13.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_14.png" alt="" /></p>

<h2 id="그림-4-설명-figure-4">그림 4 설명 (Figure 4)</h2>

<p>본 접근법은 동시 연구 방법들을 능가하는 성능을 보인다. x축은 <strong>추론 시간(ms)</strong>, y축은 <strong>COCO val2017 기준 mAP</strong>를 나타낸다. <strong>LW-DETR</strong>, <strong>RT-DETR</strong> [45], <strong>YOLO-MS</strong> [12], <strong>Gold-YOLO</strong> [58]는 Objects365 사전학습을 적용하였으며, <strong>YOLOv10</strong> [57]은 사전학습을 사용하지 않았다. YOLO-MS와 Gold-YOLO에 대해서는 NMS 후처리 시간이 포함되어 있으며, 이는 공식 구현 설정과 잘 튜닝된 NMS 설정(“*”로 표시)을 기준으로 COCO val2017에서 측정되었다.</p>

<h2 id="43-논의-discussions">4.3 논의 (Discussions)</h2>

<h3 id="nms-후처리-nms-post-processing">NMS 후처리 (NMS post-processing)</h3>

<p>DETR 방식은 <strong>NMS(non-maximum suppression) 후처리가 필요 없는 end-to-end 알고리즘</strong>이다. 반면, YOLO-NAS [1], YOLOv8 [29], RTMDet [46]와 같은 기존 실시간 객체 검출기들은 <strong>NMS 후처리</strong> [24]가 필요하다. 이 NMS 과정은 추가적인 시간을 소요한다. 본 논문에서는 <strong>실제 응용 환경에서 고려되는 end-to-end 추론 비용</strong>을 측정하기 위해, 이러한 추가 시간을 모두 포함하였다. 공식 구현에서 사용되는 NMS 설정을 적용한 결과는 그림 1과 표 3에 제시되어 있다.</p>

<p>우리는 NMS를 사용하는 방법들에 대해, <strong>NMS 후처리 단계에서의 분류 점수 임계값(classification score threshold)을 조정</strong>함으로써 추가적인 개선을 시도하였다. YOLO-NAS, YOLOv8, RTMDet에서 기본적으로 사용되는 점수 임계값 0.001 은 높은 mAP를 제공하지만, 매우 많은 수의 박스를 생성하여 지연 시간이 크게 증가하는 문제를 야기한다. 특히 모델이 작은 경우, end-to-end 지연 시간은 <strong>NMS 지연 시간에 의해 지배</strong>되는 현상이 나타난다.</p>

<p>이에 점수 임계값을 조정하여 <strong>mAP와 지연 시간 간의 균형</strong>을 맞추었다. 그 결과, mAP는 약 −0.1 mAP에서 −0.5 mAP 정도로 소폭 감소하는 반면, 실행 시간은 크게 감소하였다. 구체적으로, RTMDet와 YOLOv8에서는 4∼5 ms, YOLO-NAS에서는 1∼2 ms 수준의 지연 시간 감소가 관찰되었다. 이는 점수 임계값 조정으로 인해 <strong>NMS 단계에 입력되는 예측 박스의 수가 감소</strong>했기 때문이다. 서로 다른 점수 임계값에 따른 상세한 결과와 COCO val2017 전반에 걸친 잔여 박스 수 분포는 보충 자료(Supplementary Material)에 제시되어 있다.</p>

<p>그림 1은 <strong>잘 튜닝된 NMS 절차를 적용한 다른 방법들과의 비교 결과</strong>를 보여준다. NMS를 사용하는 방법들의 성능은 개선되었지만, <strong>제안하는 방법은 여전히 다른 방법들을 능가한다</strong>. 두 번째로 우수한 방법인 <strong>YOLO-NAS</strong>는 신경망 아키텍처 탐색(NAS)을 기반으로 한 알고리즘으로, 제안한 베이스라인과 매우 근접한 성능을 보인다. 저자들은 YOLO-NAS에서 사용된 것과 같은 <strong>복잡한 네트워크 아키텍처 탐색 기법이 DETR 접근법에도 잠재적으로 이점을 제공할 수 있으며</strong>, 이를 통해 <strong>추가적인 성능 향상이 가능할 것</strong>으로 기대한다.</p>

<h2 id="표-5-lw-detr에서의-사전학습pretraining-효과">표 5. LW-DETR에서의 사전학습(pretraining) 효과</h2>

<p>Objects365에서의 사전학습은 LW-DETR의 성능을 크게 향상시킨다. 이러한 관찰 결과는 대규모 모델을 사용하는 기존 방법들 [67, 7, 75]에서 보고된 결과와도 일관된다.</p>

<p><img src="/assets/images/posts/620/img_15.png" alt="" /></p>

<h2 id="표-6-비-end-to-end-검출기에서-사전학습과-학습-epoch-수의-영향">표 6. 비 end-to-end 검출기에서 사전학습과 학습 epoch 수의 영향</h2>

<p>사전학습 유무와 학습 epoch 수 증가에 따른 비 end-to-end 검출기들의 성능 변화를 비교한다.</p>

<p><img src="/assets/images/posts/620/img_16.png" alt="" /></p>

<h3 id="사전학습-pretraining">사전학습 (Pretraining)</h3>

<p>우리는 사전학습의 효과를 실증적으로 분석하였다. 표 5에 제시된 결과에 따르면, 사전학습은 제안한 방법의 성능을 크게 향상시키며, <strong>평균적으로 5.5 mAP의 개선</strong>을 가져온다. tiny 모델은 <strong>6.1 mAP</strong>, xlarge 모델은 <strong>5.3 mAP</strong>의 성능 향상을 보인다. 이는 <strong>대규모 데이터셋에서의 사전학습이 DETR 기반 모델에 매우 유익함</strong>을 시사한다.</p>

<p>또한 본 논문에서 사용한 학습 절차가 <strong>합성곱 인코더를 사용하는 DETR 접근법에도 적용 가능함</strong>을 보인다. 이를 위해 트랜스포머 인코더를 <strong>ResNet-18</strong>과 <strong>ResNet-50</strong>으로 대체하였다. 표 5에서 확인할 수 있듯이, 이러한 LW-DETR 변형들은 <strong>지연 시간과 mAP 측면에서 트랜스포머 인코더를 사용하는 LW-DETR과 유사한 성능</strong>을 보이며, 사전학습 역시 트랜스포머 기반 LW-DETR과 <strong>유사하거나 다소 낮은 수준의 이점</strong>을 제공한다.</p>

<p>한편, <strong>비 end-to-end 검출기</strong>에서의 사전학습 효과도 함께 분석하였다. 표 3, 표 4, 표 6의 결과에 따르면, Objects365에서의 사전학습은 <strong>비 end-to-end 검출기</strong> [46, 29, 12, 58]에서는 <strong>제한적인 성능 향상만을 제공</strong>하는 것으로 보인다. 이는 사전학습이 DETR 기반 검출기에서 큰 성능 향상을 가져오는 현상과는 대조적이다. 비 end-to-end 검출기들은 YOLOv8의 경우 <strong>300 epoch, 심지어 500 epoch까지 학습</strong>하므로, 이러한 제한적인 성능 향상이 <strong>학습 epoch 수와 관련이 있는지</strong>를 추가로 살펴보았다.</p>

<p>이에 사전학습 가중치로부터 얻는 성능 향상을 <strong>학습 epoch 수와 함께 비교</strong>하였다. 표 6에서 볼 수 있듯이, <strong>학습 epoch이 증가할수록 사전학습으로 인한 성능 향상은 점차 감소</strong>하며, 이는 앞선 가설을 부분적으로 뒷받침한다. 다만 이러한 분석은 아직 <strong>초기적인 단계(preliminary step)</strong>에 해당하며, 사전학습 효과의 차이가 발생하는 근본적인 원인을 규명하기 위해서는 <strong>추가적인 연구가 필요</strong>하다고 판단한다.</p>

<h2 id="44-추가-데이터셋에-대한-실험-experiments-on-more-datasets">4.4 추가 데이터셋에 대한 실험 (Experiments on more datasets)</h2>

<p>LW-DETR의 <strong>일반화 성능(generalizability)</strong>을 추가적인 객체 검출 데이터셋에서 평가한다. 우리는 두 가지 평가 방식을 고려한다. 하나는 <strong>도메인 간 평가(cross-domain evaluation)</strong>이고, 다른 하나는 <strong>다중 도메인 파인튜닝(multi-domain finetuning)</strong>이다.</p>

<p>도메인 간 평가에서는 COCO에서 학습된 실시간 검출기를 <strong>Unidentified Video Objects (UVO)</strong> [61] 데이터셋에서 직접 평가한다. 다중 도메인 파인튜닝의 경우, 사전학습된 실시간 검출기를 <strong>Roboflow 100 (RF100)</strong> [13] 다중 도메인 검출 데이터셋에서 파인튜닝한다. 모든 모델에 대해 각 데이터셋별로 학습률과 같은 하이퍼파라미터에 대해 <strong>거친 탐색(coarse search)</strong>을 수행하였다. 보다 자세한 설정은 보충 자료(Supplementary Material)를 참고한다.</p>

<h2 id="표-7-uvo에서의-도메인-간-평가-cross-domain-evaluation">표 7. UVO에서의 도메인 간 평가 (Cross-domain evaluation)</h2>

<p>UVO는 클래스 비의존(class-agnostic) 데이터셋이므로, 클래스 비의존 방식으로 성능을 평가한다. LW-DETR은 다른 검출기들보다 더 높은 AP와 AR을 달성한다.</p>

<p><img src="/assets/images/posts/620/img_17.png" alt="" /></p>

<h2 id="표-8-rf100에서의-다중-도메인-파인튜닝-multi-domain-finetuning">표 8. RF100에서의 다중 도메인 파인튜닝 (Multi-domain finetuning)</h2>

<p>YOLOv5, YOLOv7, RTMDet, YOLOv8, YOLO-NAS를 포함한 기존 실시간 검출기들과 <strong>LW-DETR</strong>을 RF100의 모든 데이터 도메인에서 비교한다. 회색으로 표시된 항목은 RF100 논문 [13]에서 보고된 결과이다. 데이터 도메인은 <strong>항공(aerial)</strong>, <strong>비디오게임(videogames)</strong>, <strong>현미경(microscopic)</strong>, <strong>수중(underwater)</strong>, <strong>문서(documents)</strong>, <strong>전자기(electromagnetic)</strong>, <strong>실세계(real world)</strong>로 구성된다. 평가 지표로는 <strong>AP50</strong>을 사용한다. ‘–’는 YOLO-NAS [1]에서 세부 결과를 보고하지 않았음을 의미한다.</p>

<p><img src="/assets/images/posts/620/img_18.png" alt="" /></p>

<h3 id="도메인-간-평가-cross-domain-evaluation">도메인 간 평가 (Cross-domain evaluation)</h3>

<p>모델의 일반화 성능을 평가하는 한 가지 방법은, 서로 다른 도메인의 데이터셋에서 직접 성능을 측정하는 것이다. 우리는 <strong>클래스 비의존 객체 검출 벤치마크</strong>인 UVO [61]를 사용한다. UVO에서는 전체 객체 인스턴스의 57% 가 COCO의 80 개 클래스 중 어느 것에도 속하지 않는다. UVO는 YouTube 영상 기반 데이터셋으로, egocentric 시점이나 강한 모션 블러를 포함하는 등 COCO와는 시각적 특성이 크게 다르다. COCO에서 학습된 모델들(표 3 참조)을 UVO validation split에서 평가하였다.</p>

<p>표 7의 결과에서 볼 수 있듯이, <strong>LW-DETR은 경쟁하는 최신 실시간 검출기들보다 우수한 성능</strong>을 보인다. 구체적으로, <strong>LW-DETR-small</strong>은 RTMDet-s, YOLOv8-s, YOLO-NAS-s 중 최고 성능 대비 <strong>1.3 mAP</strong>, <strong>4.1 AR</strong> 더 높은 결과를 달성한다. 또한 recall 측면에서도 소형, 중형, 대형 객체 전반에 걸쳐 더 많은 객체를 검출하는 향상된 능력을 보인다. 이러한 결과는 <strong>LW-DETR의 우수성이 COCO에 특화된 튜닝 때문이 아니라, 보다 일반화 가능한 표현을 학습했기 때문</strong>임을 시사한다.</p>

<h3 id="다중-도메인-파인튜닝-multi-domain-finetuning">다중 도메인 파인튜닝 (Multi-domain finetuning)</h3>

<p>또 다른 방법은 서로 다른 도메인의 소규모 데이터셋에서 사전학습된 검출기를 파인튜닝하는 것이다. <strong>RF100</strong>은 100개의 소규모 데이터셋, 7개의 이미지 도메인, 224k장의 이미지, 829개의 클래스 레이블로 구성되어 있다. 이는 실제 환경 데이터에 대한 모델의 일반화 성능을 평가하는 데 유용하다. 우리는 RF100의 각 소규모 데이터셋에서 실시간 검출기들을 파인튜닝하였다.</p>

<p>표 8의 결과에서, <strong>LW-DETR-small</strong>은 다양한 도메인 전반에 걸쳐 기존 최신 실시간 검출기들보다 우수한 성능을 보인다. 특히 <strong>문서(documents)</strong>와 <strong>전자기(electromagnetic)</strong> 도메인에서는 YOLOv5, YOLOv7, RTMDet, YOLOv8 중 최고 성능 대비 각각 <strong>5.7 AP</strong>, <strong>5.6 AP</strong> 더 높은 성능을 달성한다. <strong>LW-DETR-medium</strong>은 전체적으로 추가적인 성능 향상을 제공한다. 이러한 결과는 <strong>LW-DETR의 범용성과 유연성</strong>을 강조하며, 다양한 폐쇄 도메인(closed-domain) 작업에서 <strong>강력한 베이스라인</strong>으로 자리매김할 수 있음을 보여준다.</p>

<h2 id="5-한계-및-향후-연구-limitation-and-future-works">5. 한계 및 향후 연구 (Limitation and Future Works)</h2>

<p>현재로서는 <strong>LW-DETR의 효과를 실시간 객체 검출(real-time detection)</strong>에 대해서만 입증하였다. 이는 첫 번째 단계에 해당한다. <strong>오픈 월드 객체 검출(open-world detection)</strong>로의 확장이나, <strong>다중 인원 포즈 추정(multi-person pose estimation)</strong>, <strong>다중 시점 3D 객체 검출(multi-view 3D object detection)</strong>과 같은 보다 다양한 비전 과제에 LW-DETR을 적용하는 것은 추가적인 연구가 필요하다. 이러한 방향들은 향후 연구 과제로 남긴다.</p>

<h2 id="6-결론-conclusion">6. 결론 (Conclusion)</h2>

<p>본 논문은 <strong>검출 트랜스포머(detection transformer)</strong>가 기존의 실시간 객체 검출기들과 비교하여 <strong>경쟁력 있는 성능은 물론, 경우에 따라서는 더 우수한 성능을 달성할 수 있음을</strong> 보여준다. 제안한 방법은 <strong>구조적으로 단순하면서도 효율적</strong>이다. 이러한 성과는 <strong>다중 수준 feature 집계</strong>와 함께, <strong>학습 효율을 높이는 기법(training-effective techniques)</strong>과 <strong>추론 효율을 개선하는 기법(inference-efficient techniques)</strong>에서 비롯된다. 본 연구에서 얻은 경험이, 향후 <strong>트랜스포머 기반 실시간 비전 모델을 설계하는 데 유용한 통찰</strong>을 제공할 수 있기를 기대한다.</p>

<h2 id="보충-자료-supplementary-material">보충 자료 (Supplementary Material)</h2>

<h2 id="a-실험-세부-사항-experimental-details">A. 실험 세부 사항 (Experimental Details)</h2>

<p>본 절에서는 <strong>Objects365</strong> [54]에서의 사전학습(pretraining), <strong>COCO</strong> [39]에서의 파인튜닝(finetuning), <strong>Roboflow 100 (RF100)</strong> [13]에서의 파인튜닝에 사용된 하이퍼파라미터 설정, <strong>합성곱 인코더(convolutional encoder)</strong>의 아키텍처, 그리고 <strong>박스 회귀(box regression) 모델링 방식</strong>에 대한 세부 내용을 다룬다. 표에서는 표현의 간결함을 위해 LW-DETR의 <strong>tiny / small / medium / large / xlarge</strong> 버전을 각각 <strong>T / S / M / L / X</strong>로 표기한다.</p>

<h2 id="a1-실험-설정-experimental-settings">A.1 실험 설정 (Experimental settings)</h2>

<h3 id="사전학습-설정-pretraining-settings">사전학습 설정 (Pretraining settings)</h3>

<p>기본적인 사전학습 설정은 <strong>표 9</strong>에 제시되어 있다. 학습률 감소 스케줄(learning rate drop schedule)은 사용하지 않으며, <strong>초기 학습률을 전체 학습 과정 동안 그대로 유지</strong>한다. ViT 인코더에서 윈도우 어텐션(window attention)을 적용할 때에는, 구현의 단순화를 위해 <strong>이미지 해상도와 무관하게 윈도우 개수를 16으로 고정</strong>한다. 또한 기존 MIM(Masked Image Modeling) 방법들 [22, 10, 71]을 따라 <strong>계층별 학습률 감소(layer-wise learning rate decay)</strong> [14] 기법을 사용한다.</p>

<p><img src="/assets/images/posts/620/img_19.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_20.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_21.png" alt="" /></p>

<p><img src="/assets/images/posts/620/img_22.png" alt="" /></p>

<h3 id="coco-실험-설정-coco-experimental-settings">COCO 실험 설정 (COCO experimental settings)</h3>

<p>대부분의 설정은 사전학습 단계에서 사용한 설정을 따른다. 변경된 설정 사항은 <strong>표 10</strong>에 정리되어 있다. COCO에서 LW-DETR을 파인튜닝할 때에는 <strong>컴포넌트별 학습률 감소(component-wise learning rate decay)</strong> [7]를 사용하며, 이를 통해 <strong>ViT 인코더, 프로젝터(Projector), DETR 디코더</strong>에 서로 다른 학습률 스케일을 적용한다.</p>

<p>예를 들어, 컴포넌트별 학습률 감소 값이 0.7인 경우, 학습률 스케일은 다음과 같이 설정된다.</p>

<p><img src="/assets/images/posts/620/img_23.png" alt="" /></p>

<h3 id="roboflow-100-실험-설정-roboflow-100-experimental-settings">Roboflow 100 실험 설정 (Roboflow 100 experimental settings)</h3>

<p><strong>Roboflow 100 (RF100)</strong> [13]은 100개의 소규모 데이터셋으로 구성되어 있다. 우리는 Objects365 [54]에서 사전학습된 모델을 기반으로, 이 데이터셋들에서 LW-DETR을 파인튜닝한다. 학습 이미지 수가 충분하지 않기 때문에, 배치 크기를 16으로 설정하고, [13]을 따라 모든 소규모 데이터셋에서 100 epoch 동안 파인튜닝하여 충분한 학습 반복 횟수를 확보한다.</p>

<p>학습률, 인코더 계층별 학습률 감소, 그리고 컴포넌트별 학습률 감소(표 11 참조)는 <strong>‘microscopic’ 도메인에서 거친 탐색(coarse search)</strong>을 통해 튜닝한 뒤, 해당 하이퍼파라미터를 다른 데이터셋에도 동일하게 적용한다. 그 외의 하이퍼파라미터는 COCO 파인튜닝 실험과 동일하게 유지한다. 또한 <strong>공정한 비교를 위해</strong>, RTMDet [46]와 YOLOv8 [29]에 대해서도 동일한 절차를 적용한다.</p>

<h2 id="a2-합성곱-인코더-설정-settings-for-convolutional-encoders">A.2 합성곱 인코더 설정 (Settings for convolutional encoders)</h2>

<p>본 연구에서는 LW-DETR에 <strong>합성곱 인코더(convolutional encoder)</strong>로 <strong>ResNet-18</strong>과 <strong>ResNet-50</strong>도 함께 탐구한다. 인코더의 가중치는 RT-DETR 저장소에서 제공하는 <strong>ImageNet</strong> [15] 사전학습 가중치를 사용한다.<br />
(참고: <a href="https://github.com/lyuwenyu/RT-DETR/issues/42#issue-1860463373">https://github.com/lyuwenyu/RT-DETR/issues/42#issue-1860463373</a>)</p>

<p>기존처럼 [1/8, 1/16, 1/32] 스케일의 다중 수준 feature map을 직접 출력하는 대신, <strong>1/16 스케일의 단일 feature map만 출력하도록 간단한 수정</strong>을 가한다. 구체적으로,</p>

<ul>
  <li>1/32 스케일의 feature map은 <strong>업샘플링</strong>하여 1/16으로 변환하고,</li>
  <li>1/8 스케일의 feature map은 <strong>다운샘플링</strong>하여 1/16으로 변환한 뒤,</li>
  <li>모든 feature map을 <strong>연결(concatenate)</strong>한다.</li>
</ul>

<p>이후, 최종적으로 결합된 feature map의 채널 차원이 지나치게 커지는 것을 방지하기 위해, <strong>추가적인 합성곱 계층</strong>을 삽입하여 feature 차원을 줄인다.</p>

<h2 id="a3-박스-회귀-타깃-재파라미터화-box-regression-target-reparameterization">A.3 박스 회귀 타깃 재파라미터화 (Box regression target reparameterization)</h2>

<p>박스 회귀 타깃 재파라미터화는 입력 proposal을 예측된 박스로 변환하는 <strong>박스 변환(box transformation) 파라미터를 예측하는 기법</strong>으로, 2단계 및 1단계 검출기에서 널리 사용되어 왔다 [51, 38, 2, 28]. 본 연구에서는 <strong>Plain DETR</strong> [40]을 따라, 이 기법을 LW-DETR에 적용한다.</p>

<p><img src="/assets/images/posts/620/img_24.png" alt="" /></p>

<h2 id="표-12-비-end-to-end-검출기에서의-score-threshold-튜닝">표 12. 비 end-to-end 검출기에서의 score threshold 튜닝</h2>

<p>비 end-to-end 검출기에서 <strong>score threshold</strong>가 NMS 수행 시간과 검출 성능에 어떤 영향을 미치는지를 보여준다. YOLO-NAS, YOLOv8, RTMDet, YOLO-MS, Gold-YOLO에 대해, 서로 다른 세 가지 score threshold 설정에서의 <strong>검출 성능(mAP)</strong>과 <strong>전체 지연 시간(total latency)</strong>을 제시한다.<br />
첫 번째 score threshold는 각 모델의 <strong>공식 구현에서 사용하는 기본값</strong>이다. 표에서 <strong>굵게 표시된 score threshold</strong>는 mAP와 NMS 지연 시간 간의 <strong>균형이 가장 좋은 설정</strong>을 의미한다.</p>

<p><img src="/assets/images/posts/620/img_25.png" alt="" /></p>

<h2 id="b-nms에-대한-분석-analysis-on-nms">B. NMS에 대한 분석 (Analysis on NMS)</h2>

<h3 id="score-threshold-튜닝">Score threshold 튜닝</h3>

<p>비 end-to-end 검출기에서 <strong>score threshold</strong>는 NMS 단계로 전달되는 <strong>예측 박스의 개수</strong>를 결정하며, 이는 NMS 지연 시간에 큰 영향을 미친다. 표 12는 YOLO-NAS, YOLOv8, RTMDet, YOLO-MS, Gold-YOLO를 대상으로 이러한 영향을 실증적으로 보여준다.</p>

<p>score threshold를 크게 설정하면 NMS의 연산 부담을 크게 줄일 수 있지만, 그 대가로 검출 성능은 저하된다. 본 연구에서는 비 end-to-end 검출기들에 대해 score threshold를 정교하게 튜닝함으로써, <strong>검출 성능과 전체 지연 시간 간의 균형</strong>을 달성한다. 그 결과, 검출 성능은 소폭 감소하는 대신, NMS로 인한 오버헤드는 <strong>0.1∼0.5 ms 수준까지 크게 감소</strong>한다.</p>

<h3 id="nms를-위한-박스-개수-분포-distribution-of-the-number-of-boxes-for-nms">NMS를 위한 박스 개수 분포 (Distribution of the number of boxes for NMS)</h3>

<p>지연 시간은 COCO val2017의 <strong>5000장 이미지 평균</strong>을 기준으로 측정된다. 그림 5는 YOLO-NAS에서 서로 다른 score threshold 설정 하에서, <strong>NMS 이후 남는 박스 개수의 분포</strong>를 COCO val2017 전체에 대해 보여준다.</p>

<p>기본 score threshold 설정에서는 남는 박스의 개수가 매우 많아, NMS로 인한 큰 연산 오버헤드가 발생한다. 반면, score threshold를 조정하면 NMS 단계에 남는 박스 수가 효과적으로 감소하며, 그 결과 비 end-to-end 검출기의 <strong>전체 지연 시간이 최적화</strong>된다.</p>

<p><img src="/assets/images/posts/620/img_26.png" alt="" /></p>

<h3 id="그림-5-설명-figure-5">그림 5 설명 (Figure 5)</h3>

<p>NMS에 입력되는 박스 개수의 분포를 시각화한 결과이다.<br />
x축은 <strong>NMS에 전달되는 박스 개수</strong>, y축은 해당 구간에 속하는 <strong>COCO val2017 이미지 수</strong>를 의미한다.<br />
(a)는 기본 score threshold 설정,<br />
(b)는 검출 성능과 지연 시간의 균형을 맞춘 score threshold 설정,<br />
(c)는 더 높은 score threshold를 적용한 경우를 나타낸다.</p>]]></content><author><name>JunHan</name></author><category term="인공지능" /><summary type="html"><![CDATA[https://arxiv.org/abs/2406.03459]]></summary></entry></feed>