스페셜 브리핑/AI-Ready Data

버전 관리 재현성 품질 모니터링

반응형
AI Daily Special · Part 3 · 18/36

버전 관리 재현성 품질 모니터링

데이터 스냅숏부터 코드 설정 환경 실행 기록 품질 신호까지 하나의 재현성 묶음으로 고정하고 실패 시 행동을 설계할 수 있다.

같은 보고서나 모델을 다시 실행했는데 결과가 달라진다면 원인은 데이터만이 아닐 수 있다. 이번 회차에서 재현성(Reproducibility)은 같은 입력 데이터, 계산 단계, 방법, 분석 조건으로 일관된 결과를 얻는 능력으로 정의한다. [S1] 따라서 파일 하나를 보관하는 것만으로는 부족하다. 어떤 데이터 상태를 어떤 코드와 설정, 실행 환경으로 처리했는지 연결하고, 그 상태가 운영 중 변했는지 계속 관찰해야 한다.

재현성은 파일 복사가 아니라 실행 증명이다

버전 관리(Version Control)는 변경된 상태를 구분하고 특정 상태를 다시 가리키는 체계다. 데이터 재현성은 그 버전을 포함해 실행에 필요한 조건을 다시 조립하는 능력이다. 재현 가능한 실행은 최소한 입력 데이터 스냅숏, 스키마, 코드 커밋, 파라미터와 설정, 라이브러리와 실행 환경, 실행 시각과 ID, 출력 지표를 함께 남긴다. 이 연결이 없으면 데이터의 최신본과 당시 사용본을 구분하지 못하고, 품질 오류가 데이터 변경인지 코드 변경인지도 가려내기 어렵다.

재현성을 곧 비트 단위 동일성으로 단정해서도 안 된다. 부동소수점 연산 순서, 라이브러리 릴리스, CPU와 GPU 같은 플랫폼 차이는 같은 입력에서도 미세한 차이를 만들 수 있다. PyTorch 문서는 릴리스와 플랫폼을 넘는 비트 동일 결과를 보장하지 않는다고 설명한다. [S10] 그래서 조직은 결과 해시가 정확히 같아야 하는 단계와 허용 오차 안에서 지표가 같으면 되는 단계를 구분하고, 허용 기준과 비교 방법을 함께 버전으로 관리해야 한다.

판단 기준

재현성의 질문은 이 파일이 남아 있는가가 아니라 이 결과를 만든 조건을 다시 조립하고 차이를 설명할 수 있는가다.

무엇을 하나의 버전으로 묶어야 하는가

첫째, 데이터는 이름이나 날짜 폴더가 아니라 불변 식별자로 고정한다. 테이블 포맷의 스냅숏 ID, 객체 목록의 매니페스트, 파일 콘텐츠 해시처럼 실제 내용을 가리키는 값을 사용한다. Apache Iceberg 사양에서 스냅숏은 특정 시점의 테이블 상태와 전체 데이터 파일 집합을 나타내며, 메타데이터 변경은 새 메타데이터 파일과 스냅숏으로 기록된다. [S4] 이런 방식은 최신이라는 움직이는 별칭 대신 당시 읽은 상태를 다시 선택하게 해 준다.

둘째, 코드만 Git 커밋으로 고정하고 끝내지 않는다. 전처리 규칙, 엔터티 해소 임계값, 품질 계약 버전, 랜덤 시드, 시간대, 기준일, 의존성 잠금 파일과 컨테이너 이미지 식별자를 함께 기록한다. 컨테이너 태그는 다른 이미지로 이동할 수 있지만 다이제스트는 특정 이미지 버전을 고정한다. [S9] 셋째, 데이터와 코드 사이를 실행 ID로 묶는다. MLflow Tracking 같은 실행 추적 체계는 파라미터, 코드 버전, 지표와 산출물을 Run에 기록한다. [S6] 도구 이름보다 중요한 것은 어느 시스템을 쓰든 이 필드가 빠지지 않는 것이다.

판단 기준

최소 재현성 묶음은 data snapshot plus schema plus code plus config plus environment plus run ID plus outputs다.

실행 계보가 버전 사이의 연결고리를 만든다

스냅숏과 커밋이 각각 존재해도 서로 연결되지 않으면 사고 조사에 쓸 수 없다. 실행 계보(Run Lineage)는 한 번의 작업이 어떤 입력을 읽고 어떤 출력을 만들었는지, 시작과 완료 또는 실패 시점이 언제인지, 어느 코드 버전을 사용했는지 잇는 기록이다. OpenLineage 사양은 Run Event, Job, Dataset, Run을 구분하고 START와 COMPLETE 또는 FAIL 같은 전이와 입력 출력 데이터셋을 기록한다. [S7] 이는 14회차의 데이터 계보를 실행 단위 증거로 구체화한 것이다.

좋은 Run Manifest는 사람이 읽을 수 있고 기계도 검사할 수 있어야 한다. 예를 들어 run_id, scheduled_at, input_snapshot_ids, schema_version, code_commit, config_hash, environment_digest, quality_contract_version, outputs, metric_summary, status, owner를 JSON으로 남긴다. 해시는 무결성 확인에 유용하지만 의미를 설명하지는 않는다. 따라서 왜 이 기준일과 설정을 썼는지, 어떤 예외를 승인했는지, 누가 재실행을 결정하는지도 별도 필드나 연결 문서로 보존한다.

판단 기준

계보는 그림이 아니라 입력 버전에서 실행과 출력 버전까지 이어지는 조회 가능한 증거 사슬이다.

품질 모니터링은 알람보다 대응 계약이다

품질 모니터링(Data Quality Monitoring)은 운영 데이터가 합의한 스키마, 품질 지표, 분포와 시간 조건을 계속 만족하는지 관찰하는 활동이다. TensorFlow Data Validation은 데이터 통계를 스키마와 비교하는 이상 탐지, 학습 데이터와 서빙 데이터의 차이, 연속 시점 사이의 드리프트를 구분한다. [S8] 여기서 스키마 위반은 즉시 차단할 수 있지만 분포 변화는 계절성이나 프로모션처럼 정상일 수 있다. 신호마다 기준선, 비교 창, 하위집단, 임계값과 검토 담당자를 다르게 설계해야 한다.

알람만 울리고 다음 행동이 없으면 모니터링은 대시보드에 머문다. 품질 계약에는 지표식과 임계값뿐 아니라 WARN과 BLOCK의 구분, 원본 보존, 격리 위치, 재처리 조건, 승인 역할, 사건 기록과 복구 확인을 넣는다. NIST AI RMF는 배포 맥락에서 성능 개선이나 저하를 식별하고 문서화하며, 배포 후 모니터링과 사고 대응 복구 변경 관리를 구현하도록 제시한다. [S2] ISO IEC 5259 3은 데이터 품질을 전 생애주기에서 계획 유지 개선하는 관리 체계를, Part 4는 이를 위한 운영 프로세스 프레임워크를 다룬다. [S3][S5] 공개 개요를 근거로 한 설명이며 세부 규범 조항을 대신하지 않는다.

판단 기준

좋은 경보는 값이 나쁘다는 메시지가 아니라 영향받는 버전과 중단 범위와 책임자와 복구 조건을 함께 알려 준다.

다온커머스와 Part 3 체크포인트

가상 조직 다온커머스는 14일 수요예측용 Curated 데이터셋을 만들 때 주문, POS, 상품, 재고 입력의 스냅숏 ID를 고정하고 표준 스키마 v1.3, 엔터티 해소 규칙 v0.8, 코드 커밋, 환경 다이제스트를 하나의 Run Manifest에 묶는다. 다음 수치는 교육용 가정이다. 완전성 99.5퍼센트 이상, 입력 최신성 30분 이내, 미해결 중복 후보 0.5퍼센트 이하를 PASS 기준으로 두고 매장과 채널별 슬라이스도 함께 본다.

어느 날 주문 취소 상태 완전성이 98.7퍼센트로 떨어지면 파이프라인은 Raw를 삭제하지 않고 해당 Curated 출력을 격리한다. 실행 상태는 BLOCKED_QUALITY로 남기고 영향 스냅숏과 실패한 계약 항목을 연결한다. 민호는 수집 지연과 코드 변경을 구분하고, 매장 Data Steward는 실제 업무 변화를 확인하며, 서윤은 재처리 또는 예외 승인을 결정한다. 복구 실행은 새 run_id를 받고 이전 실패 실행을 덮어쓰지 않는다.

판단 기준

Part 3의 완성품은 깨끗한 테이블 하나가 아니라 찾을 수 있고 설명할 수 있고 다시 만들 수 있으며 변화에 대응하는 데이터 파이프라인이다.

Part 3 누적 체크포인트

  1. 13 인벤토리와 카탈로그 자산 ID 위치 Owner 민감도 사용 목적과 접근 가능성
  2. 14 메타데이터 출처 계보 근원 수집 조건 변환 단계 입력 출력과 책임 연결
  3. 15 Raw Validated Curated 원본 불변성 검증 결과 승격 기준과 재처리 경로
  4. 16 스키마와 표준화 표준 스키마 단위 시간대 식별자 매핑과 변경 버전
  5. 17 정제와 엔터티 해소 규칙 임계값 검토 표본 오탐 미탐과 결정 근거
  6. 18 재현성과 모니터링 재현성 묶음 Run Manifest 품질 경보 대응과 복구 증거

마무리와 다음 회차

버전 관리는 과거로 돌아가는 기능이고, 재현성은 과거의 실행 조건을 다시 조립하는 능력이며, 품질 모니터링은 현재의 변화가 허용 범위를 벗어났는지 판단해 행동으로 연결하는 운영 체계다. 세 가지가 이어져야 Part 3에서 만든 인벤토리, 계보, 저장 계층, 표준 스키마와 엔터티 해소 규칙이 살아 있는 파이프라인이 된다. 다음 19회차에서는 이 재현 가능한 기반 위에서 학습, 검증, 테스트 데이터를 왜 엄격히 분리해야 하는지 살펴본다.

다음 19회차 학습 검증 테스트 데이터의 역할 2026년 9월 21일

출처 및 읽을거리

확인일 2026-09-18 KST · 본문의 운영 설계는 실무 권고이며 다온커머스와 모든 수치는 교육용 가정이다.

2026-09-18-ai-ready-data-ep18-reproducibility-monitoring.pdf
1.5 MB
반응형
이 글이 유용했다면 링크를 공유해 보세요.