AI-Ready 데이터 배호

PoC를 통과한 AI가 운영에서 실패했다면? 데이터 상태부터 확인해야 하는 이유

ai fails after deployment thumbnail shifting data state

안녕하세요. 기업 데이터가 AI 업무에 실제로 활용될 수 있도록 돕는 큐빅(CUBIG)입니다.

PoC에서는 기대한 성능을 보였지만 운영 환경에 적용한 뒤 결과가 달라지는 경우가 있습니다. 이러한 AI 운영 실패의 원인은 모델 자체에만 있지 않습니다. 배포 후 달라진 데이터 상태도 함께 살펴봐야 합니다. 처음에는 예상대로 작동하던 모델도 몇 주가 지나면 같은 유형의 요청에 다른 결과를 내거나 성능 지표가 흔들릴 수 있습니다.

모델팀이 버전을 바꾸지 않았고 데이터팀도 파이프라인에 문제가 없다고 확인했어도 AI 결과는 달라질 수 있는데요. 운영이 시작된 뒤 데이터 범위, 상위 시스템의 컬럼, 결측값 처리 방식, 참조 정보가 바뀌면서 모델에 전달되는 데이터와 처리 조건도 PoC 때와 달라지기 때문입니다.

배포 후 AI 성능이 달라졌다면 모델을 수정하기 전에 결과가 예상대로 나온 실행과 문제가 생긴 실행에 사용된 데이터 상태부터 비교해야 합니다.

PoC를 운영 환경으로 전환할 때는 모델 성능뿐 아니라 실제 업무에서 사용될 데이터 조건도 함께 살펴봐야 하는데요. 이를 위해 데이터 플랫폼, 정보보안, 인프라, 사업관리, 검수 담당자는 PoC와 운영 환경에서 데이터 범위와 전처리 방식, 권한 조건이 어떻게 달라지는지 같은 기록을 기준으로 함께 살펴봐야 합니다. 운영 기준과 문제 발생 시 재현 절차도 미리 정해 두면, 결과가 달라졌을 때 원인을 더 빠르게 좁힐 수 있습니다.

조건이 고정된 PoC와 데이터 조건이 계속 바뀌는 운영 환경을 비교한 도식

PoC의 데이터 조건은 운영 환경에서 달라집니다

PoC는 통제된 환경에서 모델이 목표 성능을 낼 수 있는지 확인하는 단계입니다. 정확한 평가를 위해 다음과 같이 조건을 일정하게 유지합니다.

  • 평가 기간에는 데이터셋을 고정합니다.
  • 스키마와 전처리 기준을 동일하게 유지합니다.
  • 프로젝트팀이 평가에 필요한 데이터에 접근할 수 있도록 합니다.
  • 코드와 필드 정의를 한 팀에서 조율합니다.
  • 예외 사례는 사람이 직접 확인하고 보완합니다.

이처럼 조건을 통제해야 모델의 가능성을 정확하게 평가할 수 있습니다. 그러나 실제 운영 환경에서는 데이터와 시스템, 업무 조건이 계속 달라집니다.

PoC와 운영 환경의 데이터 조건 비교
조건 PoC 운영 환경
데이터 고정된 샘플과 평가 데이터셋 신규 행과 문서가 계속 추가되는 라이브 데이터
스키마 평가 기간 동안 고정 상위 시스템 변경에 따라 수정
전처리 합의한 단일 버전 파이프라인과 라이브러리 업데이트에 따라 변경
접근 권한 프로젝트팀 중심 사용자·권한·이용 목적에 따라 제한
참조 정보 평가 시점의 기준 적용 규정·코드·가격·조직도 등이 계속 갱신
운영 주체 하나의 프로젝트팀 데이터·AI·보안·현업 조직이 역할을 나눠 담당

따라서 PoC 점수는 정해진 조건에서 모델이 목표 성능을 냈다는 증거입니다. 데이터 상태가 계속 달라지는 운영 환경에서도 같은 결과를 낸다는 의미는 아닙니다. Google Research의 언더스펙 연구에서도 같은 테스트 성능을 보인 모델이 배포 환경에서는 서로 다른 결과를 낼 수 있다고 설명합니다.

배포 후 놓치기 쉬운 네 가지 변화

1. 데이터 범위가 계속 이동합니다

최근 12개월의 데이터를 사용하는 모델은 매일 조금씩 다른 데이터를 읽습니다. 새로운 고객과 거래가 추가되는 동안 오래된 사례는 분석 범위에서 빠집니다. 계절이나 지역, 고객 구성의 변화도 입력 데이터에 반영됩니다.

따라서 쿼리와 모델이 같아도 입력 데이터의 분포는 달라질 수 있습니다.

2. 스키마가 바뀝니다

컬럼의 이름이 바뀌거나 하나의 컬럼이 여러 개로 나뉘고, 자료형과 단위가 수정되기도 합니다. 데이터팀에는 일상적인 마이그레이션이지만 모델의 관점에서는 입력 규칙이 달라진 것입니다.

기존 컬럼에 기본값을 남겨두면 파이프라인은 오류 없이 작동할 수 있습니다. 이 경우 결과가 달라진 뒤에야 스키마 변경의 영향을 발견하기도 합니다.

3. 전처리 방식이 바뀝니다

결측값 처리 방식이나 스케일링, 범주형 데이터의 인코딩 기준이 달라질 수 있습니다. RAG에서는 토크나이저와 문서 청크 기준의 변경도 입력에 영향을 줍니다.

원본 데이터가 같아도 모델이 실제로 읽는 값과 맥락은 달라질 수 있습니다.

4. 권한과 참조 정보가 바뀝니다

사용자의 역할과 권한에 따라 접근할 수 있는 문서가 달라집니다. 규정과 가격표, 코드표 같은 참조 정보도 계속 갱신됩니다.

같은 질문이라도 실행 시점과 사용자에 따라 모델이 읽는 근거가 달라질 수 있습니다.

이러한 변화는 모델 버전만 살펴봐서는 알기 어렵습니다. 모델은 그대로여도 AI가 작동하는 데이터와 실행 조건은 이미 달라진 것입니다.

모델은 고정된 채 데이터 범위, 스키마, 전처리, 권한과 참조정보가 바뀌는 구조

AI 결과가 달라지면 모델부터 의심하는 이유

문제가 발생하면 팀은 먼저 운영 화면에서 이상 징후를 찾습니다. 그런데 이 화면에서 바로 확인할 수 있는 정보는 대부분 모델과 관련된 지표입니다. 모델 버전과 응답 시간, 오류율, 출력 지표는 한곳에서 볼 수 있지만 실행 당시의 데이터 상태는 여러 시스템에 흩어져 있습니다. 결국 눈에 보이는 모델부터 원인을 찾게 됩니다.

관리 주체가 여러 조직에 나뉘어 있는 것도 이유입니다. 모델은 AI팀, 스키마와 파이프라인은 데이터팀, 접근 권한은 보안 조직, 업무 기준은 현업이 관리합니다. 각 조직의 기록이 정확하더라도 실제 AI 실행과 연결돼 있지 않으면, 원인을 찾기 위해 여러 시스템의 기록을 일일이 대조해야 합니다. AI 결과를 재현하기 위해 모델 버전 외에 무엇을 기록해야 하는지는 모델 버전 관리의 한계에서 더 자세히 확인할 수 있습니다.

같은 결과에 영향을 주는 변화라도 관리 방식은 다릅니다. 모델을 바꾸면 ‘배포’로 관리하지만 스키마 정리와 코드표 갱신, 전처리 수정은 일상적인 운영 업무로 처리합니다. AI 결과를 바꿀 수 있는 변화인데도 별도의 릴리스로 검토하거나 기록하지 않는 경우가 많습니다.

RAND의 2024년 연구는 숙련된 데이터 과학자와 엔지니어 65명을 인터뷰해 AI 프로젝트가 실패하는 원인을 분석했습니다. 연구에서는 필요한 데이터의 부족과 데이터 관리 인프라 문제를 주요 원인으로 꼽았는데요. 연구가 인용한 80% 이상의 실패율은 일부 추정치로, 모든 AI 프로젝트에 그대로 적용할 수 있는 확정적인 수치는 아닙니다. 다만 AI 프로젝트가 모델 자체가 아닌 데이터와 이를 관리하는 환경의 문제로도 멈출 수 있다는 점은 분명합니다.

AI 결과가 달라졌다면 원인을 어떻게 찾을까요?

AI 결과가 달라졌다면 모델을 수정하기 전에 다음 순서로 원인을 살펴보세요.

  1. 문제가 발생한 실행을 찾습니다. 실행 ID(Run ID)와 실행 시각, 요청 내용, 결과를 기록합니다.
  2. 문제가 없었던 가장 최근 실행을 찾습니다. 업무와 사용자 조건이 가장 비슷한 실행을 비교 대상으로 정합니다.
  3. 모델과 프롬프트를 비교합니다. 버전과 구성 변경 여부를 확인합니다.
  4. 데이터 상태를 비교합니다. 데이터 상태 Diff를 사용해 데이터 범위와 스키마, 전처리, 참조 정보, 권한 조건이 어떻게 달라졌는지 확인합니다.
  5. 문제가 발생했을 당시의 상태를 다시 구성합니다. 같은 모델과 실행 조건에서 동일한 결과가 나타나는지 확인합니다.
  6. 원인을 확인한 뒤 필요한 부분만 수정합니다. 데이터와 모델, 업무 규칙 가운데 결과에 영향을 준 항목을 찾아 조정합니다.

이 과정은 처음부터 모델이나 데이터를 원인으로 단정하지 않습니다. 모델과 데이터의 변화를 하나씩 나누어 살펴보면서 실제 원인을 찾는 것이 핵심입니다.

운영 단계에서 살펴볼 세 가지 기준

배포 후 문제를 일으킨 데이터도 사용 가능 여부와 무결성을 확인하는 검사는 통과했을 수 있습니다. 모델이 데이터를 정상적으로 읽고 값과 형식에도 문제가 없어 보이지만, 운영에서는 결과가 달라질 수 있습니다.

이때는 특히 다음 세 가지를 확인해야 합니다.

  • 일관성: 실행이 달라져도 스키마와 전처리 방식, 데이터 범위를 같은 기준으로 관리하고 있나요?
  • 재현성(Reproducibility): 과거 결과가 만들어졌을 당시의 데이터 상태와 실행 조건을 다시 구성할 수 있나요?
  • 추적성: 각 실행에 사용된 데이터 상태를 찾고, 원천 데이터와 변경 이력까지 추적할 수 있나요?

공공기관의 RAG 시스템이라면 문서의 맥락도 함께 살펴봐야 합니다. 최신 문서를 검색했더라도 시행일이나 적용 대상이 빠져 있으면 해당 내용을 잘못 적용할 수 있습니다..

업무 분야별로 살펴보는 PoC 이후의 변화

업무 분야별 PoC 이후의 변화
업무 분야 PoC에서 고정한 내용 운영 중 달라지는 내용 확인해야 할 정보
공공기관 평가 대상으로 선별한 규정과 민원 사례 지침 개정, 부서 코드 개편과 접근 권한 변경 실행 당시 사용한 문서와 부서 코드, 접근 권한
공기업 특정 설비·노선·시설의 과거 이력 센서 교정값, 자산 코드, 점검 기준과 운전 조건 변경 실행 당시 사용한 설비 데이터와 운전 조건
금융·보험 특정 기간의 거래·청구 데이터와 심사 기준 거래·청구 범위, 금리·환율, 인수·보상 기준 변경 판단 당시 사용한 데이터 범위와 처리 기준
일반 기업 평가용으로 정리한 고객·계약 데이터 신규 양식, 제품 코드와 검색 인덱스 변경 PoC와 운영 실행에 사용된 데이터와 검색 조건
제조·산업 특정 생산라인에서 보정한 센서로 수집한 데이터 센서 교정값, 수집 주기와 태그 매핑 변경 실행 당시 모델에 입력된 데이터와 생산 조건

분야마다 사용하는 데이터는 다르지만 공통점은 같습니다. 운영 중 데이터와 실행 조건이 달라졌는데도 그 변화가 실제 AI 실행과 연결해 기록되지 않으면, 결과가 달라진 원인을 찾기 어렵습니다.

PoC를 운영으로 전환하기 전에 살펴볼 여섯 가지 질문

  1. PoC에서 검증한 데이터 범위와 스키마, 전처리 조건이 기록돼 있나요?
  2. 각 운영 실행에 사용된 데이터 상태를 런 바인딩으로 찾을 수 있나요?
  3. 스키마나 전처리 방식이 바뀌면 해당 변경이 AI 결과에 미치는 영향을 검토하나요?
  4. 참조 정보와 권한 조건의 버전이 실행 기록에 함께 남아 있나요?
  5. 결과가 예상대로 나온 실행과 문제가 생긴 실행의 데이터 상태를 Diff로 비교할 수 있나요?
  6. 담당자의 기억에 의존하지 않고 Reproduce로 과거 실행 조건을 다시 구성할 수 있나요?

PoC에서 모델 성능이 기준을 충족했더라도 이 질문에 답할 수 없다면, 운영 중 결과가 달라졌을 때 어떤 데이터와 처리 조건이 영향을 미쳤는지 파악하기 어렵습니다.

운영 전환 전 조직별로 확인할 사항

PoC에서 기대한 결과가 나왔다고 바로 운영 적용을 결정할 수 있는 것은 아닙니다. 기술팀이 확인한 모델 성능과 데이터 조건을 거버넌스·보안·인프라·감사·사업관리 담당자도 같은 실행 ID와 관련 기록을 바탕으로 살펴볼 수 있어야 합니다.

  • AI·데이터팀: PoC와 운영 단계에서 모델과 프롬프트, 데이터 상태가 어떻게 달라졌는지 비교하고 어떤 변화가 결과에 영향을 미쳤는지 분석합니다.
  • 데이터 거버넌스·보안: 데이터의 사용 목적과 출처, 버전, 가공 과정은 물론 누가 어떤 범위까지 접근할 수 있는지 점검합니다.
  • 운영·감사·검수: PoC와 운영 실행에 연결된 릴리즈 상태를 비교합니다. 데이터 범위와 스키마, 전처리 방식, 참조 정보, 권한 조건의 차이와 변경 승인 기록을 바탕으로 결과가 만들어진 당시의 조건을 살펴봅니다.
  • 인프라·조달: 기존 데이터 플랫폼 및 MLOps와의 연계 방식, 내부망·온프레미스·클라우드에서 데이터가 처리되는 위치, 기록 보존 범위와 담당 조직을 배포·검수 문서에 명시합니다.

여러 조직이 같은 실행 ID와 관련 기록을 살펴볼 수 있어야 무엇이 결과 변화의 원인인지 함께 판단할 수 있습니다. 다만 이러한 기록은 원인 조사와 검수를 위한 자료이며, 정책 승인이나 규제 준수 여부에 대한 판단을 대신하지는 않습니다.

Syntitan으로 PoC와 운영의 데이터 상태를 비교하는 방법

Syntitan은 기업 데이터의 AI-Readiness를 여섯 축으로 진단하고, 부족한 부분을 개선한 뒤 실제 모델과 업무 지표를 기준으로 데이터의 활용 가능성을 검증하는 AI-Ready Data Platform입니다.

검증을 마친 데이터 상태는 릴리즈 상태로 관리하고, 각 AI 또는 에이전트 실행을 당시 사용한 릴리즈 상태와 연결합니다. PoC와 운영에서 결과가 달라졌다면 두 실행에 연결된 데이터 상태를 Diff해 데이터 범위와 스키마, 전처리, 참조 정보, 권한 조건이 어떻게 달라졌는지 비교할 수 있습니다.

필요한 경우 Reproduce 기능을 사용해 이전 실행의 데이터 상태와 처리 조건을 다시 구성하고, 확인된 변화가 결과에 어떤 영향을 미쳤는지 살펴볼 수 있습니다. PoC와 운영의 차이를 설명하려면 같은 모델을 사용했는지만 볼 것이 아니라, 각 실행에 어떤 데이터와 처리 조건이 연결됐는지 확인해야 합니다.

AI는 데이터 상태에서 실행됩니다. 지금 AI-Ready를 준비하세요

자주 묻는 질문

PoC를 통과한 AI가 운영에서 실패하는 이유는 무엇인가요?

운영에서는 데이터 범위, 스키마, 전처리, 참조정보와 권한이 계속 바뀝니다. 모델 버전이 같아도 실제 입력 조건이 PoC와 달라지면 결과가 달라질 수 있습니다.

배포 후 결과가 달라지면 모델부터 재학습해야 하나요?

먼저 모델·프롬프트·데이터 상태를 비교해 원인을 나눠야 합니다. 데이터 상태 변화가 원인이라면 재학습만으로 문제가 해결되지 않거나 잘못된 상태에 맞춰질 수 있습니다.

데이터 파이프라인이 정상인데도 문제가 생길 수 있나요?

그럴 수 있습니다. 파이프라인이 오류 없이 끝났더라도 컬럼의 의미, 분포, 전처리와 참조정보가 달라지면 모델 입력은 바뀔 수 있습니다.

PoC와 운영 데이터를 어떻게 비교해야 하나요?

두 환경의 데이터 범위, 스키마, 전처리, 참조정보와 권한 조건을 각각 Release State로 고정하고 Diff해야 합니다. 실제 모델과 업무 지표로 변화의 영향을 검증합니다.

운영 AI에서 특히 확인해야 할 축은 무엇인가요?

모든 축이 필요하지만 배포 후 변화에는 일관성, 재현성, 추적성이 특히 중요합니다. 업무 의미와 최신성이 결과에 영향을 주는 RAG·에이전트에서는 맥락도 함께 확인해야 합니다.