Visual Autoregressive Modeling (VAR)
시각 자기회귀 모델링(VAR)을 살펴보세요. 차기 스케일 예측이 기존 방식 및 확산 모델보다 이미지 생성 속도와 품질을 향상하는 방법을 알아보세요.
시각 자기회귀 모델링(VAR)은 대규모 언어 모델(LLMs)에서 널리 쓰이는 자기회귀 학습 전략을 이미지 생성 작업에 적용한 고급 컴퓨터 비전 패러다임입니다. 기존 시각 자기회귀 방식은 이미지를 1차원 시퀀스로 인코딩한 뒤 래스터 스캔 순서에 따라 토큰별로 예측하므로 계산 비용이 크고 시각 데이터의 자연스러운 2차원 구조를 무시합니다. 이에 비해 VAR은 거친 단계에서 세밀한 단계로 진행하는 "다음 스케일 예측" 접근법을 도입합니다. 개별 토큰을 행별로 예측하는 대신 더 높은 해상도의 특징 맵이나 스케일을 점진적으로 예측해 이미지를 생성합니다. 이 방법론은 구조적 무결성을 유지하면서 이미지 품질과 추론 속도를 모두 크게 개선합니다.
시각 자기회귀 모델링의 작동 방식#
VAR은 기존의 다음 토큰 예측을 다음 스케일 예측으로 대체합니다. 먼저 이미지를 벡터 양자화 변분 오토인코더(VQ-VAE)와 유사한 아키텍처를 사용해 다중 스케일 이산 토큰 맵으로 압축합니다. 생성 단계에서는 트랜스포머 모델이 가장 작은 해상도(예: 1x1 그리드)부터 목표 해상도(예: 16x16 또는 32x32 그리드)까지 토큰 맵을 순차적으로 예측합니다. 각 스케일에서 공간 구조를 동시에 처리하므로 VAR은 2차원 이미지에 내재한 양방향 상관관계를 효과적으로 보존합니다.
이 새로운 접근법을 통해 VAR 모델은 OpenAI GPT-4와 같은 텍스트 기반 아키텍처에 필적하는 예측 가능한 스케일링 법칙을 구축할 수 있습니다. 연구진이 모델 매개변수를 늘리면 성능이 일관되게 향상됩니다. 시각 자기회귀 모델링에 관한 NeurIPS 2024 논문에 따르면 VAR은 까다로운 ImageNet 벤치마크에서 경쟁 아키텍처를 성공적으로 앞섭니다. 프레셰 인셉션 거리(FID)와 인셉션 점수 모두에서 더 나은 지표를 달성하면서도 실행 속도는 훨씬 빠릅니다.
VAR과 확산 모델 비교#
VAR을 확산 기반 생성형 AI와 구분하는 것이 중요합니다. 확산 모델은 초기 캔버스에 연속적인 노이즈를 반복적으로 제거하면서 이미지를 생성하는 방법을 학습합니다. 반면 VAR은 이산 토큰을 처리합니다. 노이즈를 제거하는 대신 이미지 해상도를 단계별로 높여 자기회귀 방식으로 이미지를 구성합니다. 확산 트랜스포머(DiT)가 시각 합성의 주요 표준이 되었지만, VAR의 토큰 기반 접근법은 트랜스포머 모델에 적용된 최적화 연구의 이점을 직접 활용하여 확장성과 데이터 효율성 모두에서 DiT를 앞설 수 있습니다.
실제 적용 사례#
LLM의 추론 능력과 높은 충실도의 비전을 결합한 시각 자기회귀 모델링은 여러 실용적인 기능을 제공합니다:
- 제로샷 이미지 편집 및 인페인팅: VAR은 기본적으로 제로샷 조작을 지원합니다. 특정 스케일이나 영역에 마스크를 적용하면 개발자는 기본 아키텍처를 재학습하거나 미세 조정하지 않고도 이미지를 원활하게 편집하거나 확장할 수 있습니다.
- 리테일용 확장 가능한 에셋 생성: VAR의 매우 빠른 추론 속도는 실시간 고품질 이미지 합성을 가능하게 하여, 대규모 동적 제품 배경 생성과 개인화된 마케팅 에셋 제작을 지원합니다.
자기회귀 워크플로 구현하기#
VAR 모델은 콘텐츠 생성에 초점을 맞추지만 Ultralytics YOLO26과 같은 강력한 인지 모델과 결합하면 포괄적인 멀티모달 파이프라인을 구축할 수 있습니다. 예를 들어 YOLO26을 사용해 정밀한 객체 탐지로 대상을 분리한 다음, 해당 영역을 자기회귀 모델에 전달해 개선하거나 스타일을 변경할 수 있습니다.
아래 PyTorch 코드 예제는 다중 스케일 자기회귀 루프가 토큰 맵의 다음 스케일을 반복적으로 예측하는 방법을 보여 줍니다. 표준 PyTorch 트랜스포머 모듈을 사용해 VAR의 기본 로직을 시뮬레이션합니다:
import torch
import torch.nn as nn
# Conceptual VAR Next-Scale Prediction Loop
class SimpleVARGenerator(nn.Module):
def __init__(self):
super().__init__()
# Simulated transformer to predict next resolution token map
self.transformer = nn.TransformerEncoderLayer(d_model=256, nhead=8)
def forward(self, initial_scale_token):
current_tokens = initial_scale_token
# Iteratively generate next scales (e.g., 1x1 -> 2x2 -> 4x4)
for scale in [1, 2, 4]:
# Model predicts the structural layout for the higher resolution
next_scale_tokens = self.transformer(current_tokens)
# Expand and update tokens for the next iteration
current_tokens = torch.cat((current_tokens, next_scale_tokens), dim=1)
return current_tokens
model = SimpleVARGenerator()
seed_token = torch.randn(1, 1, 256) # 1x1 starting scale
final_output = model(seed_token)
print(f"Generated multi-scale tokens shape: {final_output.shape}")데이터셋 큐레이션부터 복잡한 아키텍처 평가까지 엔드투엔드 비전 파이프라인을 구축하려는 연구자에게 Ultralytics Platform은 자동 주석, 추적, 클라우드 배포를 위한 강력한 도구를 제공합니다. 비전 언어 모델(VLM)을 최적화하거나 다음 스케일 예측을 실험하는 경우에도 통합 시각 지능 생태계는 실제 사용 사례 전반에서 혁신을 가속합니다.









