본문으로 건너뛰기

© 2026 Molayo

HN요약2026. 05. 15. 17:58

Launch HN: Evidently AI (YC S21) – 프로덕션 환경의 ML 모델 추적 및 디버깅

요약

Evidently AI는 프로덕션 환경의 머신러닝 모델 모니터링 및 디버깅을 위한 오픈 소스 도구를 소개합니다. 이 도구는 데이터 드리프트, 예측 드리프트, 성능 저하 등 다양한 측면에서 ML 모델의 문제를 포착하는 데 도움을 줍니다. 기존에는 표준화된 솔루션이 없어 팀들이 수동적이고 비효율적인 방식으로 모니터링에 어려움을 겪었으며, Evidently AI는 이러한 복잡한 워크플로우를 자동화하여 개발자들이 핵심 모델링 작업에 집중할 수 있도록 지원합니다.

핵심 포인트

  • ML 모델은 단순 서비스 지표 외에도 데이터 품질, 드리프트(Data drift), 성능 저하 등 다각적인 추적이 필요하다.
  • 기존에는 ML 모니터링을 위한 표준 솔루션이 부재하여 팀들이 비효율적이고 수동적인 방식으로 문제를 해결해 왔다.
  • Evidently AI는 모델 로그와 참조 데이터를 기반으로 데이터 드리프트, 예측 드리프트, 성능 지표 등을 시각화하는 대화형 보고서를 생성하는 오픈 소스 Python 라이브러리이다.
  • 이 도구는 Jupyter notebook 또는 HTML 형식의 대시보드를 제공하며, 개발자들이 복잡한 모니터링 시스템 구축에 드는 시간과 리소스를 절약할 수 있게 한다.

안녕하세요 HN, 저희는 Evidently AI의 공동 창업자인 Elena와 Emeli입니다.

http://evidentlyai.com. 저희는 프로덕션 (Production) 환경의 머신러닝 (Machine Learning) 모델을 위한 모니터링 도구를 구축하고 있습니다. 이 도구는 오픈 소스 (Open source)이며 GitHub에서 이용 가능합니다:

https://github.com/evidentlyai/evidently. Jupyter notebook에서 로컬로 사용하거나 Bash shell에서 사용할 수 있습니다. Jupyter에서 어떻게 작동하는지 보여주는 영상은 여기에 있습니다:

머신러닝 모델은 종종 명확하지 않은 이유로 예상대로 작동하지 않을 수 있습니다. 만약 마케팅 개인화 모델에서 이런 일이 발생하면, 실수로 고객들에게 스팸을 보낼 수도 있습니다. 신용 점수 모델에서 이런 일이 발생하면, 법적 및 평판 리스크에 직면할 수 있습니다. 그 외에도 마찬가지입니다. 모델의 문제를 포착하기 위해서는 지연 시간 (Latency)과 같은 서비스 지표 (Service metrics)만 보는 것으로는 충분하지 않습니다. 데이터 품질 (Data quality), 데이터 드리프트 (Data drift, 입력값이 너무 많이 변했는가?), 성능이 저하된 세그먼트 (Underperforming segments, 모델이 특정 지역의 사용자에게만 실패하는가?), 모델 지표 (Model metrics, 정확도 (Accuracy), ROC AUC, 평균 오차 (Mean error) 등) 등을 추적해야 합니다.

Emeli와 저는 수년 동안 친구로 지내왔습니다. 저희는 둘 다 Yandex (CatBoost와 ClickHouse를 만든 회사)에서 근무했을 때 처음 만났습니다. 저희는 대기업을 위한 ML 시스템을 구축하는 일을 했습니다. 그 후 제조 분야를 위한 ML에 집중하는 스타트업을 공동 창업했습니다. 전반적으로 저희는 이커머스 추천부터 철강 생산 최적화에 이르기까지 50개 이상의 실제 ML 프로젝트를 수행했습니다. 저희는 모델을 프로덕션에 배치하고 커스텀 대시보드를 직접 만들고 구축해야 했을 때 모니터링 문제에 직면했습니다. Emeli는 또한 Coursera의 ML 강사이기도 하며 (러시아에서 가장 인기 있는 ML 코스의 공동 저자), 여러 오프라인 강의를 진행하고 있습니다. 그녀는 얼마나 많은 데이터 사이언티스트 (Data scientist)들이 동일한 것들을 반복해서 구현하려고 노력하는지 직접 알고 있습니다. 모든 사람이 드리프트 탐지 (Drift detection)와 같은 기능을 자신만의 버전으로 직접 구축해야 할 이유는 없습니다.

저희는 몇 달 동안 다양한 산업 분야의 ML 팀들과 대화를 나누었습니다. 그 과정에서 모델 모니터링 (Model monitoring)을 위한 제대로 된 표준 솔루션이 없다는 것을 알게 되었습니다. 어떤 팀은 방치된 고장 난 모델로 인해 10만 달러 이상의 손실이 발생했다는 끔찍한 사례를 들려주기도 했습니다. 다른 팀들은 자체적으로 만든 대시보드를 보여주며 유지보수가 어렵다고 불평했습니다. 어떤 팀은 단순히 한 달에 한 번 로그를 확인하는 반복적인 작업을 수행하고 있으며, 이로 인해 문제를 너무 늦게 발견하는 경우가 많다고 말했습니다. 첫 번째 장애가 발생하기 전까지 모델이 모니터링되지 않는 경우가 얼마나 빈번한지는 놀라운 수준입니다. 저희는 첫 번째 장애가 발생한 후에야 모니터링에 대해 고민하기 시작했다는 많은 팀과 이야기를 나누었습니다. 어떤 팀은 아예 모니터링을 하지 않아 장애를 감지하지 못한 채 넘어가기도 합니다.

데이터를 기반으로 몇 가지 성능 지표 (Performance metrics)를 계산하고 싶다면, 임시방편 (Ad hoc)으로 수행하기는 쉽습니다. 하지만 다양한 모델에 대해 안정적인 가시성 (Visibility)을 확보하려면, 에지 케이스 (Edge cases)를 고려하고, 적절한 통계적 검정 (Statistical tests)을 선택 및 구현하며, 시각화 (Visuals)를 설계하고, 알림을 위한 임계값 (Thresholds)을 정의하는 등의 작업이 필요합니다. 이는 통계학과 엔지니어링이 결합된 더 어려운 문제입니다. 그 외에도 모니터링은 도메인 전문가부터 개발자에 이르기까지 다양한 팀과 결과를 공유하는 과정을 포함하는 경우가 많습니다. 실제로 데이터 사이언티스트들은 결국 그래프의 스크린샷을 공유하거나 여기저기로 파일을 보내는 방식으로 일을 처리하곤 합니다. 이러한 워크플로우 (Workflows)를 지원하는 유지보수 가능한 소프트웨어 시스템을 구축하는 것 자체가 하나의 프로젝트이며, 머신러닝 팀은 대개 이를 위한 시간이나 리소스를 가지고 있지 않습니다.

표준적인 오픈 소스 (Open-source) 솔루션이 없기 때문에, 저희는 직접 하나를 만들기로 결정했습니다. 저희는 사람들이 상용구 코드 (Boilerplate code)가 아닌 중요한 모델링 작업에 집중할 수 있도록 가능한 한 많은 부분을 자동화하고자 합니다.

우리의 주요 도구는 ML 모델 성능에 대한 대화형 보고서 (Interactive reports)를 생성하는 오픈 소스 Python 라이브러리입니다. 이를 사용하려면 모델 로그 (입력 피처 (Input features), 예측 (Prediction), 그리고 가능한 경우 정답 (Ground truth))와 참조 데이터 (Reference data, 주로 학습 데이터)를 제공해야 합니다. 그런 다음 보고서 유형을 선택하면 일련의 대시보드 (Dashboards)가 생성됩니다. 우리는 데이터 드리프트 (Data drift), 예측 드리프트 (Prediction drift) 등을 감지하고, 성능 지표 (Performance metrics)를 시각화하며, 모델이 어디에서 오류를 범하는지 이해하는 데 도움을 주는 여러 보고서를 미리 구축해 두었습니다. 이러한 결과물은 Jupyter notebook 또는 HTML로 표시할 수 있습니다. 또한 보고서 대신 JSON 프로파일 (JSON profile)을 생성할 수도 있습니다. 생성된 출력물을 Grafana와 같은 외부 도구와 통합하여 재학습 (Retraining)이나 알림 (Alerts)을 트리거하고 싶은 워크플로우 (Workflow)를 구축할 수 있습니다.

내부적으로는 필요한 계산 (예: 드리프트 감지를 위한 Kolmogorov-Smirnov 검정 또는 카이제곱 검정 (Chi-Squared test))을 수행하고, 여러 대화형 테이블과 플롯 (Plots)을 생성합니다 (백엔드에서 Plotly 사용). 현재는 정형 데이터 (Tabular data)만 지원합니다. 향후에는 더 많은 데이터 유형과 보고서를 추가하고 지표 (Metrics)를 더 쉽게 맞춤 설정할 수 있도록 할 계획입니다. 우리의 목표는 모델 성능의 모든 측면을 이해하고 모니터링하는 것을 매우 쉽게 만드는 것입니다.

우리는 몇 가지 면에서 다른 접근 방식과 다릅니다. 시장에는 모니터링 기능을 포함한 엔드 투 엔드 (End-to-end) ML 플랫폼들이 있습니다. 이러한 플랫폼은 올인원 (All-in-one) 도구를 갖기 위해 유연성을 포기할 준비가 된 팀들에게 적합합니다. 하지만 우리가 대화한 대부분의 팀은 고유한 요구 사항을 가지고 있으며, 오픈 컴포넌트 (Open components)를 사용하여 자신들만의 플랫폼을 구축하는 것을 선호합니다. 우리는 한 가지 일을 잘 수행하면서 사용자가 사용하는 어떤 스택 (Stack)과도 통합하기 쉬운 도구를 만들고자 합니다. 시장에는 몇몇 독점적인 (Proprietary) ML 모니터링 솔루션들도 있지만, 우리는 이러한 도구들이 개방적이고 투명하며 셀프 호스팅 (Self-hosting)이 가능해야 한다고 믿습니다. 이것이 우리가 이를 오픈 소스로 구축하고 있는 이유입니다.

우리는 누구나 이 도구를 사용할 수 있도록 Apache 2.0 라이선스로 출시했습니다. 현재 우리의 초점은 오픈 소스 (Open-source) 프로젝트의 채택을 이끌어내는 것입니다. 개인 사용자나 소규모 팀에게 비용을 청구할 계획은 없습니다. 우리는 오픈 소스 프로젝트가 개방된 상태로 유지되면서도 매우 가치 있어야 한다고 믿습니다. 나중에는 직접 운영하기를 원하지 않는 팀들을 위해 호스팅된 클라우드 (Hosted cloud) 버전을 제공함으로써 수익을 창출할 계획입니다. 또한 싱글 사인온 (Single sign-on), 보안 (Security), 감사 (Audits)와 같이 대기업들이 중요하게 생각하는 기능들에 대해 비용을 청구하는 오픈 코어 (Open-core) 비즈니스 모델도 고려하고 있습니다.

만약 당신이 기술 기업 (Tech companies)에서 일하고 있다면, 많은 ML 인프라 (ML infra) 문제들이 이미 해결되었다고 생각할 수도 있습니다. 하지만 제조, 소매, 금융 등 더 전통적인 산업 분야에서는 ML 도입이 이제 막 시작되는 단계입니다. 이들의 ML 요구사항과 환경은 레거시 IT 시스템 (Legacy IT systems), 규제, 그리고 다루는 유스케이스 (Use cases)의 유형으로 인해 매우 다른 경우가 많습니다. 이제 많은 기업이 ML 개념 증명 (Proof-of-concept) 프로젝트에서 프로덕션 (Production) 단계로 넘어가고 있는 만큼, 모델을 안정적으로 실행하는 데 도움이 되는 도구들이 필요할 것입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0