The Data Modality Landscape
데이터 모달리티 지형도
정형·비전·비디오 세 모달리티는 텐서 형태, 귀납적 편향, 메모리 비용이 근본적으로 달라서 — 같은 문제라도 모달리티에 따라 올바른 아키텍처가 완전히 달라진다.
Overview
AI 엔지니어가 다루는 데이터는 크게 세 가지 모달리티로 분류된다: 정형 데이터(tabular), 비전 데이터(image/video), 그리고 비디오. 이 세 가지는 표면적으로 '데이터'라는 같은 이름을 쓰지만, 내부 구조와 통계적 특성이 근본적으로 다르다. 정형 데이터는 N×F 행렬 — N개의 샘플이 F개의 이질적인(heterogeneous) 피처로 구성된다. 비전 데이터는 N×C×H×W 텐서 — 픽셀 공간에서 공간적 구조(spatial structure)가 지배적이다. 비디오는 여기에 시간축 T가 추가된 N×T×C×H×W — 공간과 시간이 동시에 중요해진다.
이 차이는 단순한 크기의 문제가 아니다. 각 모달리티는 그에 맞는 귀납적 편향(inductive bias)을 내포한다. 정형 데이터는 피처 간 순서가 의미 없고 각 피처가 이질적 스케일을 가진다. 비전 데이터는 인접 픽셀이 상관되고, 같은 물체가 어디에 있든 같은 물체다(translation invariance). 비디오는 시간적으로 인접한 프레임이 상관되고 물리적 연속성을 가진다. 이 귀납적 편향을 제대로 모델에 인코딩했을 때 데이터 효율이 극대화된다.
Claude Code가 코드를 잘 짠다는 사실은, 역설적으로 AI 엔지니어에게 더 높은 수준의 판단력을 요구한다. '어떤 아키텍처를 써야 하는가', 'feature store가 필요한 시점은 언제인가', '이 데이터에 foundation model을 쓸 것인가 fine-tuning할 것인가' — 이런 질문들은 코드 생성으로 해결되지 않는다. 이 코스는 그 판단력을 기르기 위한 것이다.
- 세 모달리티의 텐서 형태와 그것이 모델 설계에 미치는 영향을 설명할 수 있다
- 귀납적 편향(Inductive Bias) 개념을 실제 아키텍처 선택 맥락에서 활용할 수 있다
- 모달리티별 정보 밀도 차이가 레이블 효율성에 미치는 영향을 이해한다
- 멀티모달 데이터를 결합할 때 발생하는 설계 트레이드오프를 파악할 수 있다
Sections
세 가지 텐서: 모달리티의 기하학
데이터 모달리티를 이해하는 가장 빠른 방법은 텐서 형태를 보는 것이다. **정형 데이터(Tabular)**는 형태가 (N, F)다. N개의 샘플(행)과 F개의 피처(열). 각 열은 완전히 다른 의미를 가질 수 있다 — 나이(정수), 도시(범주형), 매출액(부동소수점), 가입일(날짜). 피처들 사이에는 어떤 공간적, 시간적 구조도 없다. 열 순서를 바꿔도 정보 손실이 없다.
**이미지(Image)**는 형태가 (N, C, H, W)다. C는 채널(RGB면 3), H는 높이, W는 너비. 같은 3 RGB 픽셀이라도 위치가 중요하다. 고양이 귀가 왼쪽에 있든 오른쪽에 있든 고양이는 고양이지만, 모델은 그 위치 패턴을 학습해야 한다. 인접한 픽셀은 높은 상관관계를 가진다 — 이것이 CNN의 합성곱 연산이 효과적인 이유다.
**비디오(Video)**는 형태가 (N, T, C, H, W) 또는 (N, C, T, H, W)다. T는 프레임 수. 1초짜리 30fps 비디오는 T=30이다. 10초짜리 HD 비디오 클립 하나((1, 300, 3, 720, 1280))를 float32로 저장하면 약 2.5GB다. 이 메모리 비용은 비디오 시스템 설계의 모든 결정을 지배한다.
귀납적 편향: 아키텍처 선택의 근거
**귀납적 편향(Inductive Bias)**이란 학습 알고리즘이 훈련 데이터 외 새로운 입력에 대해 일반화할 때 암묵적으로 적용하는 가정의 집합이다. 모든 모델은 귀납적 편향을 가지고 있으며, 그 편향이 데이터의 실제 구조와 일치할 때 샘플 효율이 높아진다.
CNN의 귀납적 편향:
- 지역성(Locality): 인접 픽셀이 상관됨을 가정
- 이동 등변성(Translation Equivariance): 입력을 이동시키면 출력도 같이 이동
- 계층성(Hierarchy): 저수준 특징(엣지)이 조합되어 고수준 특징(얼굴)을 형성
이 세 편향은 자연 이미지에 완벽하게 맞아 떨어진다. CNN이 ImageNet에서 성공한 이유다.
GBM의 귀납적 편향: 트리 기반 방법은 피처 공간을 축에 평행한 직사각형으로 분할한다. 이 편향은 정형 데이터에서 피처들이 이질적이고 비선형 상호작용이 중요할 때 잘 작동한다. 정규화된 스케일이나 공간적 연속성을 가정하지 않는다는 점이 핵심이다.
Transformer의 귀납적 편향: 상대적으로 약하다. Attention은 모든 위치 쌍의 관계를 학습할 수 있지만, 그만큼 많은 데이터가 필요하다. ViT가 CNN을 능가하려면 수십억 개의 이미지 사전학습이 필요했던 이유가 바로 이것이다.
정보 밀도와 레이블 효율성
각 모달리티는 레이블당 포함된 정보량, 즉 정보 밀도가 다르다. 이는 레이블링 비용과 학습 효율에 직접적인 영향을 미친다.
| 모달리티 | 원시 데이터 크기 | 레이블 비용 | 정보 밀도 | SSL 효과 |
|---|---|---|---|---|
| 정형 | 수 KB/row | 낮음 | 중간 | 제한적 |
| 이미지 | 100KB–5MB | 중간 | 높음 | 매우 높음 |
| 비디오 | 10MB–10GB | 높음 | 매우 높음 | 매우 높음 |
이미지 하나에는 수백만 픽셀이 있으며, 각각이 잠재적 학습 신호다. Self-supervised learning(SSL)이 비전에서 특히 효과적인 이유가 여기 있다 — MAE는 이미지의 75%를 마스킹하고 복원함으로써, 레이블 없이도 의미 있는 표현을 학습한다. 비디오는 더욱 극단적이다. 시간적 연속성이라는 강력한 무료 감독 신호가 존재한다.
반면 정형 데이터는 피처 수가 제한적이고 피처 간 관계가 데이터셋마다 완전히 달라서, SSL의 효과가 제한적이다. 이것이 정형 데이터 도메인에서 foundation model이 늦게 등장한 이유다.
멀티모달 시스템의 복잡성
현실의 AI 시스템은 대부분 여러 모달리티를 조합한다. 이커머스의 상품 추천은 상품 이미지(비전) + 가격/카테고리(정형) + 리뷰 영상(비디오)을 모두 활용할 수 있다. 의료 AI는 환자 전자의무기록(정형) + 방사선 이미지(비전) + 내시경 영상(비디오)을 조합한다.
멀티모달 시스템은 단일 모달리티 시스템보다 훨씬 복잡한 설계 결정을 요구한다.
- 언제 결합할 것인가: 입력 단계(early fusion)? 피처 단계(mid fusion)? 예측 단계(late fusion)?
- 어느 모달리티가 병목인가: 비디오 처리 지연이 전체 시스템 레이턴시를 지배하지 않는가?
- 모달리티 간 스케일 불균형: 정형 피처의 스케일(예: 가격 0–100만)과 이미지 임베딩(예: 512차원 L2 정규화된 벡터)을 어떻게 합칠 것인가?
- 모달리티 부재 처리: 이미지가 없는 상품은 어떻게 할 것인가?
이 코스는 이 결정들을 올바르게 내리는 프레임워크를 제공한다.
데이터 모달리티의 차이를 이해하는 데 레스토랑 비유가 유용하다. 정형 데이터는 마치 재료 데이터베이스와 같다. 재고 수량(정수), 가격(부동소수점), 산지(범주형), 유통기한(날짜)이 표로 정리된 스프레드시트. 각 열은 완전히 다른 속성이고, 순서를 바꿔도 의미가 없다. 이 데이터를 처리하는 최선의 도구는 구조를 직접 활용하는 결정 트리 계열이다.
이미지 데이터는 요리 사진과 같다. 픽셀들이 공간적으로 배열되어 있고, '왼쪽 위에 고수가 있다'는 사실이 인접 픽셀들의 패턴으로 인코딩되어 있다. 사진을 무작위로 셔플하면 의미를 잃는다. CNN은 이 공간적 구조를 활용하도록 설계된 도구다.
비디오는 요리 과정 영상이다. 재료가 어떻게 변해가는지, 불의 세기는 어떻게 조절하는지 — 시간의 흐름이 핵심 정보다. 단일 프레임만 봐서는 '이 음식이 잘 되고 있는지'를 알 수 없다. 시간 축을 처리하는 별도의 메커니즘(temporal modeling)이 필요한 이유다. 이 세 종류의 '식재료'를 동시에 다루는 것이 멀티모달 AI 시스템이다.
세 모달리티의 텐서 형태와 메모리 비용을 직접 계산해보자. 실제 프로젝트에서 데이터 파이프라인을 설계하기 전에 이 숫자를 먼저 계산하는 습관이 중요하다.
import numpy as np
def compute_memory_mb(shape, dtype=np.float32):
"""텐서 메모리 비용 계산 (MB)"""
n_elements = 1
for dim in shape:
n_elements *= dim
bytes_per_element = np.dtype(dtype).itemsize
return (n_elements * bytes_per_element) / (1024 ** 2)
# 배치 크기
N = 32
# 정형 데이터: (N, F) — 피처 500개
tabular_shape = (N, 500)
tabular_mb = compute_memory_mb(tabular_shape)
print(f"Tabular {tabular_shape}: {tabular_mb:.2f} MB")
# 이미지: (N, C, H, W) — 224x224 RGB
image_shape = (N, 3, 224, 224)
image_mb = compute_memory_mb(image_shape)
print(f"Image {image_shape}: {image_mb:.2f} MB")
# 비디오: (N, T, C, H, W) — 16프레임, 224x224 RGB
video_shape = (N, 16, 3, 224, 224)
video_mb = compute_memory_mb(video_shape)
print(f"Video {video_shape}: {video_mb:.2f} MB")
# 비디오: 더 현실적인 케이스 — 32프레임, 384x384
video_hq_shape = (N, 32, 3, 384, 384)
video_hq_mb = compute_memory_mb(video_hq_shape)
print(f"Video HQ {video_hq_shape}: {video_hq_mb:.2f} MB")
# Gradient까지 고려하면 약 3-4배
print(f"\n비디오 HQ forward+backward 추정: ~{video_hq_mb * 4:.0f} MB")
print(f"A100 80GB에서 실제 배치 크기 상한: ~{80_000 / (video_hq_mb * 4):.0f}") compute_memory_mb는 텐서 형태와 dtype으로 메모리를 계산한다. 출력을 보면 정형 데이터는 수 MB에 불과하지만, 비디오 HQ는 배치 하나에 수백 MB에 달한다. 실제 학습에는 gradient, optimizer state까지 더해 3–4배가 필요하다. 이 계산이 batch size 결정, GPU 선택, 데이터 파이프라인 설계의 출발점이다. 비디오 모델을 처음 설계할 때 이 숫자를 계산하지 않으면, 나중에 OOM 에러로 아키텍처를 전면 수정하게 된다.
✅ 시니어가 보는 것
- 텐서 형태에서 즉시 메모리 비용과 처리 복잡도를 추정하는 능력
- 귀납적 편향 언어로 아키텍처 선택을 정당화하는 능력
- 모달리티별 레이블 효율과 SSL 활용 전략 이해
- 멀티모달 시스템에서 병목 지점을 사전에 식별하는 능력
⚠️ 레드 플래그
- 모든 문제에 Transformer를 기본으로 제안 — 귀납적 편향과 데이터 크기를 고려하지 않는 신호
- 텐서 형태를 보기 전에 아키텍처를 결정 — 메모리/속도 현실성 부족
- 정형 데이터에 CNN을 적용하거나, 공간 구조 없는 데이터에 공간적 편향 강제
🎤 예상 인터뷰 질문
- 이커머스 상품에 이미지(비전)와 메타데이터(정형)가 모두 있을 때, 어떤 시점에 두 모달리티를 결합하겠습니까? 그 이유는?
- 480p 30fps 10초 비디오 클립 하나의 메모리 비용을 float32 기준으로 추정해보세요.
- Vision Transformer(ViT)는 CNN과 달리 왜 대규모 사전학습이 더 중요합니까? 귀납적 편향 관점에서 설명해보세요.
Key Takeaways
세 가지 텐서 형태
정형 (N,F), 이미지 (N,C,H,W), 비디오 (N,T,C,H,W) — 이 형태가 모든 설계 결정의 출발점이다.
귀납적 편향이 아키텍처를 결정한다
CNN은 공간적 지역성, GBM은 이질적 피처, Transformer는 범용 — 편향과 데이터 구조가 맞아야 샘플 효율이 높아진다.
비디오 메모리 비용은 압도적이다
32프레임 384x384 배치 32개는 수백 MB에 달한다. GPU 선택과 batch size는 이 계산에서 출발한다.
정보 밀도 = SSL 효과
이미지와 비디오는 레이블 없이도 풍부한 학습 신호를 제공한다. 정형 데이터는 이 장점이 제한적이다.
멀티모달은 병목이 있다
가장 느린 모달리티가 전체 시스템 레이턴시를 결정한다. 이 병목을 사전에 식별해야 한다.
Claude Code는 코드를 짠다. 판단은 엔지니어가 한다
아키텍처 선택, 모달리티 결합 전략, 데이터 효율 판단은 코드 생성으로 대체되지 않는다.