Data-Centric AI
Data-Centric AI
Andrew Ng이 제창한 Data-Centric AI의 핵심: 모델 아키텍처를 고정하고 데이터의 품질을 높이는 것이 아키텍처를 바꾸는 것보다 대부분의 경우 더 효과적이다 — 특히 도메인 특화 비전/비디오 시스템에서.
Overview
2021년 Andrew Ng은 MLOps 커뮤니티에 도발적인 주장을 했다: 대부분의 실제 ML 프로젝트는 모델 중심(Model-centric)에서 데이터 중심(Data-centric)으로 패러다임을 전환해야 한다. 아키텍처를 바꾸는 것보다 데이터 품질을 높이는 것이 성능 향상에 더 효과적이라는 것이다. 특히 훈련 데이터가 수천~수만 개 수준인 도메인 특화 애플리케이션에서.
이 주장의 근거는 간단하다. 최신 아키텍처들은 이미 매우 좋다. ResNet-50과 ResNet-101의 성능 차이보다, 노이즈 10%가 섞인 레이블과 깨끗한 레이블의 성능 차이가 훨씬 크다. 일관성 없는 레이블링('고양이'를 때로는 1번 때로는 0번으로 레이블링)은 모델이 학습할 수 없는 불확실성을 만든다.
비전과 비디오 데이터에서 데이터 중심 사고는 더욱 중요하다. 의료 이미지 분류에서 3000장의 데이터로 ResNet을 쓰든 ViT를 쓰든 성능 차이는 크지 않다. 하지만 100장의 데이터를 추가로 어노테이션하거나, 합성 데이터를 활용하거나, 오류 레이블을 찾아 수정하면 성능이 의미 있게 개선된다.
- 데이터 품질의 5가지 차원과 각각을 개선하는 구체적 방법을 알 수 있다
- 레이블링 비용과 정보 획득량을 최적화하는 Active Learning 전략을 설명할 수 있다
- 합성 데이터의 효과적 활용 조건과 한계를 이해한다
- 프로덕션에서 데이터 플라이휠이 자기강화 루프를 만드는 메커니즘을 설명할 수 있다
Sections
데이터 품질의 5가지 차원
데이터 품질을 단일 개념으로 다루면 개선 방향을 잃는다. 5가지 차원으로 분리해 진단해야 한다.
1. 정확성(Accuracy): 레이블이 실제 사실을 반영하는가? 비전에서: 바운딩 박스가 객체를 정확히 감싸는가? 레이블러 간 불일치(Inter-annotator Agreement)를 Cohen's Kappa로 측정. Kappa > 0.8이면 양호.
2. 완전성(Completeness): 누락된 레이블이나 피처가 없는가? 비디오에서: 모든 액션이 레이블링되었는가, 아니면 눈에 띄는 것만? 편향된 완전성은 모델이 희귀 케이스를 놓치게 만든다.
3. 일관성(Consistency): 같은 규칙이 모든 데이터에 동일하게 적용되었는가? 레이블 가이드라인이 명확하지 않으면 레이블러마다 다르게 레이블링한다.
4. 신선도(Timeliness): 데이터가 현재 분포를 반영하는가? 3년 전 쇼핑 패턴 데이터로 오늘 추천 모델을 훈련하면 현재 트렌드를 놓친다.
5. 대표성(Representativeness): 모든 관련 하위 집단이 적절히 포함되었는가? 얼굴 인식 모델이 특정 인종으로만 훈련되면 다른 인종에서 편향이 발생한다.
이 5가지 차원 중 어느 것이 현재 병목인지 진단하는 것이 데이터 품질 개선의 출발점이다. Cleanlab 같은 도구는 레이블 오류를 자동으로 탐지한다.
어노테이션 파이프라인 설계
비전/비디오 데이터 어노테이션은 비용이 크다. 이미지 분류는 이미지당 0.1-1달러, 바운딩 박스는 0.3-2달러, 폴리곤 세그멘테이션은 1-10달러다. 효율적인 어노테이션 파이프라인 설계가 프로젝트 경제성을 결정한다.
어노테이션 도구 선택:
- Labelbox: 이미지/비디오 어노테이션 플랫폼. 워크플로 관리, 품질 관리(QA), 레이블러 관리 지원.
- Scale AI: 고품질 어노테이션 서비스. 복잡한 태스크에 적합. 비용이 높다.
- Label Studio: 오픈소스. 자체 호스팅 가능. ML-assisted labeling 지원.
- CVAT: 오픈소스 비디오 어노테이션 특화. 트래킹(tracking) 기능.
품질 관리 프로세스:
Golden Set: 정확한 레이블이 알려진 검증 세트로 레이블러 품질 주기적 측정 2.
Inter-annotator Agreement: 같은 데이터를 여러 레이블러에게 주고 일치도 측정 3.
Consensus Voting: 각 샘플을 2-3명이 레이블링하고 다수결로 최종 레이블 결정 4.
Active Review: 모델이 불확실하게 예측한 샘플을 우선 재검토
비디오 어노테이션 특수 전략:
단순히 프레임별로 어노테이션하면 비용이 매우 높다. 키프레임(keyframe)만 수동 어노테이션하고, 중간 프레임은 보간(interpolation)하거나 SAM2 같은 트래킹 모델로 자동 전파하는 방식이 효율적이다.
Active Learning: 레이블링 비용 최적화
Active Learning은 모델이 스스로 '지금 가장 배울 것이 많은 샘플'을 선택해 레이블링을 요청하는 전략이다. 레이블 예산이 제한적일 때 랜덤 샘플링보다 더 효율적으로 모델을 개선할 수 있다.
핵심 쿼리 전략:
Uncertainty Sampling: 모델이 가장 불확실한 샘플(예: 예측 확률이 0.5에 가장 가까운)을 선택. 가장 단순하고 널리 쓰인다.
Query by Committee (QBC): 여러 모델(또는 드롭아웃)이 다른 예측을 내는 샘플 선택. 앙상블 불일치도가 높은 샘플이 가장 정보가 많다.
Core-set Approach: 현재 레이블된 데이터의 분포를 대표하지 못하는 영역에 있는 샘플 선택. 특징 공간에서 가장 먼 거리의 샘플들.
비전에서 Active Learning 실용 팁:
- 처음에는 다양성(다른 클래스, 다른 배경)을 위해 코어셋 방식 사용
- 충분한 초기 레이블(수백 개)이 생기면 불확실성 기반으로 전환
- Hard negative mining: 현재 모델이 틀리는 케이스를 우선 어노테이션
- 모달리티 다양성: 비전+정형 모델에서 두 모달리티 중 어느 쪽의 불확실성이 더 큰지를 기준으로 선택
합성 데이터와 데이터 플라이휠
합성 데이터(Synthetic Data)는 실제 데이터를 수집하기 어려운 상황에서 훈련 데이터를 보강하는 강력한 도구다.
합성 데이터가 효과적인 조건:
- 희귀 이벤트(Long-tail): 교통사고, 제조 결함, 의료 희귀 질환 — 실제 데이터 수집이 어렵거나 비용이 높다
- 개인정보 보호: 실제 환자 데이터 대신 합성 의료 이미지
- 물리 시뮬레이션: 자율주행(CARLA, NVIDIA DRIVE Sim), 로봇공학(Isaac Sim) — 현실 세계에서 위험한 시나리오
비전에서 합성 데이터 방법:
- 렌더링 엔진: Blender, Unreal Engine, Unity로 3D 장면 렌더링
- GAN/Diffusion 기반 증강: 기존 이미지를 도메인 변환하거나 새 이미지 생성
- Copy-paste 증강: 객체를 잘라내어 다른 배경에 붙여넣기
Domain Gap 문제: 합성 데이터와 실제 데이터 사이의 분포 차이. 합성 데이터로만 학습하면 실제 데이터에서 성능이 저하된다. Domain Randomization(다양한 재질, 조명, 카메라 각도)으로 완화 가능.
데이터 플라이휠(Data Flywheel):
프로덕션 배포 후 사용자 상호작용 데이터가 축적되고, 이를 재학습에 활용해 모델이 개선되고, 개선된 모델이 더 많은 사용자를 끌어들이는 자기강화 루프. Waymo, Tesla, Google 같은 기업의 데이터 경쟁력의 본질이다. AI 엔지니어는 이 루프를 시스템 설계 초기부터 염두에 두어야 한다 — 어떤 사용자 피드백을 어떻게 수집하고 레이블로 변환할 것인가.
모델 중심 vs 데이터 중심 접근의 차이를 요리로 비유해보자. 같은 재료로 레시피(모델)를 바꾸는 것과, 같은 레시피로 재료(데이터) 품질을 높이는 것 중 어느 것이 더 효과적인가?
고급 레스토랑 셰프가 증언한다: '평범한 토마토로 최고의 파스타를 만들 수 없다. 기술(모델)을 아무리 발전시켜도 재료(데이터)가 나쁘면 한계가 있다.' 반면 신선하고 잘 고른 재료(고품질 데이터)는 단순한 레시피(기본 모델)로도 훌륭한 요리를 만든다.
Active Learning은 소믈리에가 와인을 선별하는 것과 같다. 수천 병 중에서 이 테이블에 가장 필요한 와인을 골라낸다. 모든 와인을 다 열어볼 필요 없이, 가장 가치 있는 것을 선택적으로 '레이블링'(시음)한다. 데이터 플라이휠은 식당이 성장할수록 더 좋은 재료 공급자와 거래하게 되는 선순환이다 — 더 많은 손님 → 더 많은 매출 → 더 좋은 재료 → 더 좋은 음식 → 더 많은 손님.
Cleanlab 라이브러리로 이미지 분류 데이터셋의 레이블 오류를 자동 탐지하는 패턴이다. 실제 프로젝트에서 레이블 노이즈를 찾아 수정하는 것이 아키텍처 개선보다 효과적인 경우가 많다.
import numpy as np
from cleanlab.filter import find_label_issues
from cleanlab.rank import get_label_quality_scores
# 가상의 분류 모델 예측 확률과 레이블
# 실제로는 cross-validation으로 얻은 OOF(Out-of-Fold) 예측 사용
np.random.seed(42)
n_samples, n_classes = 1000, 5
# 모델의 클래스별 예측 확률 (cross-val OOF predictions)
pred_probs = np.random.dirichlet(alpha=[0.5] * n_classes, size=n_samples)
# 실제 레이블 (일부 노이즈 포함)
labels = np.argmax(pred_probs, axis=1)
# 10%를 랜덤하게 잘못된 레이블로 교체 (노이즈 주입)
noise_idx = np.random.choice(n_samples, size=100, replace=False)
labels[noise_idx] = np.random.randint(0, n_classes, size=100)
# 레이블 품질 점수 계산 (0에 가까울수록 오류 의심)
quality_scores = get_label_quality_scores(labels, pred_probs)
# 레이블 오류 샘플 식별
label_issues = find_label_issues(
labels=labels,
pred_probs=pred_probs,
return_indices_ranked_by="self_confidence",
)
print(f"전체 샘플: {n_samples}")
print(f"레이블 오류 탐지: {len(label_issues)}개")
print(f"실제 주입한 노이즈: 100개")
print(f"\n품질 점수 하위 10개 인덱스:", label_issues[:10])
print(f"해당 샘플들의 품질 점수:", quality_scores[label_issues[:10]].round(3)) Cleanlab은 모델의 OOF(Out-of-Fold) 예측 확률을 분석해 '모델이 확신하는데 레이블이 다른 샘플'을 오류로 탐지한다. Cross-validation으로 각 샘플의 예측 확률을 얻고, 이를 Cleanlab에 입력하면 된다. 실제 프로젝트에서 전체 레이블의 2-10%가 오류인 경우가 흔하며, 이 오류를 수정하는 것이 모델 성능을 의미 있게 향상시킨다.
✅ 시니어가 보는 것
- 레이블 오류 탐지와 수정을 모델 개선의 첫 번째 수단으로 고려하는 습관
- Active Learning으로 제한된 레이블 예산을 최적화하는 전략 설계
- 합성 데이터의 domain gap 문제를 인식하고 domain randomization으로 완화하는 방법
- 프로덕션 배포 후 데이터 플라이휠을 설계에 반영
⚠️ 레드 플래그
- 데이터 품질 확인 없이 바로 모델 아키텍처 변경 — 데이터 중심 사고 부재
- 합성 데이터로 훈련하고 domain gap을 고려하지 않음
- 어노테이션 품질 관리(inter-annotator agreement) 없이 단일 레이블러에 의존
🎤 예상 인터뷰 질문
- 이미지 분류 모델의 validation accuracy가 정체될 때, 모델 아키텍처 변경보다 먼저 무엇을 확인하겠습니까?
- 의료 희귀 질환 이미지가 총 200장 있을 때, 어떻게 데이터를 보강하겠습니까?
- 사용자 피드백(클릭, 좋아요, 구매)을 모델 재학습 데이터로 활용하는 데이터 플라이휠을 설계하세요.
Key Takeaways
데이터 품질 > 모델 아키텍처
같은 모델로 노이즈 10%를 제거하면 아키텍처를 바꾸는 것보다 성능 향상이 크다. Data-centric AI의 핵심 명제다.
5가지 품질 차원으로 진단
정확성, 완전성, 일관성, 신선도, 대표성 — 어느 차원이 병목인지 진단해야 개선 방향이 보인다.
Active Learning = 레이블 예산 최적화
모든 샘플을 레이블링하는 것이 아니라, 모델이 가장 배울 것이 많은 샘플을 선택적으로 레이블링한다.
합성 데이터의 domain gap은 현실이다
합성 데이터는 희귀 케이스 보강에 유용하지만, 실제 데이터와의 분포 차이를 domain randomization으로 반드시 완화해야 한다.
데이터 플라이휠을 처음부터 설계
프로덕션 배포 후 사용자 피드백 → 레이블 변환 → 재학습의 루프를 시스템 설계 초기부터 고려해야 한다.
Cleanlab으로 레이블 오류 자동 탐지
실제 데이터셋의 2-10%는 레이블 오류다. 모델 개선 전 Cleanlab 등으로 오류를 먼저 찾아 수정하라.