실시간 머신러닝(ML) 애플리케이션은 이미 우리 주변 곳곳에서 활약하고 있습니다. 신용카드 거래가 발생하는 순간 바로 승인 여부를 판단하거나, 스트리밍 서비스에서 사용자 취향에 맞는 추천 콘텐츠를 즉시 생성하는 것이 대표적인 예입니다. 이런 애플리케이션에는 지연이 허용되지 않으며, 최신 데이터에 실시간으로 접근해 100밀리초 이하의 초저지연 추론을 제공해야 합니다. 개발자와 기업이 대규모 ML 애플리케이션에 비용 효율적인 실시간 기능을 손쉽게 도입할 수 있도록, Tecton과 Redis Enterprise Cloud의 완전한 통합을 공식 발표하게 되었습니다.
Redis Enterprise Cloud는 클라우드 환경에서 최고 수준의 성능, 확장성, 비용 효율성을 제공하는 Redis의 최적화된 버전입니다. Redis는 Stack Overflow 연례 개발자 설문조사에서 5년 연속 '개발자들이 가장 사랑하는 데이터베이스'로 선정되었습니다. 금융 서비스, 전자상거래, 게임 업계에서 널리 사용되고 있는 Redis는 밀리초 미만의 극한 지연 시간 요구사항과 높은 가용성 요구사항을 안정적으로 충족해 온 검증된 실적을 보유하고 있어, 실시간 ML 애플리케이션의 요구에 가장 적합한 데이터베이스라 할 수 있습니다.
Tecton은 ML 프로젝트의 프로덕션 배포 기간을 단축하고자 하는 기업을 위한 선도적인 피처 스토어(feature store)입니다. 그 뿌리는 우버(Uber)의 모든 ML 애플리케이션을 지원하는 플랫폼인 Uber Michelangelo를 구축한 경험에서 시작되었습니다. Tecton은 프로덕션 ML 애플리케이션을 위한 데이터 파이프라인과 피처를 운영·관리하는 시스템으로, 대표적인 활용 사례로는 사기 탐지, 실시간 추천, 동적 가격 책정, 개인화 등이 있습니다.
이제 Tecton 피처 스토어가 온라인 서빙을 위해 Redis Enterprise Cloud와 통합됨에 따라, 저지연·고처리량 ML 사용 사례를 프로덕션에 적용하는 작업이 그 어느 때보다 쉬워지고 비용 효율적이 되었습니다. 대규모로 Tecton을 운영하는 사용자를 위한 벤치마크 분석 결과에 따르면, Redis Enterprise는 Amazon DynamoDB 대비 3배 빠른 지연 시간을 달성하는 동시에 14배 낮은 비용을 기록했습니다(자세한 내용은 Tecton 블로그에서 확인할 수 있습니다). 이번 글에서는 Redis Enterprise와 Tecton이 어떻게 함께 작동하는지 좀 더 자세히 살펴보겠습니다.
Tecton과 Redis의 통합 방식
Tecton과 Redis가 실시간 ML을 가능하게 하기 위해 어떤 역할을 담당하는지 이해하려면, 사기 탐지 같은 ML 사용 사례를 프로덕션에 적용하는 과정을 단계별로 살펴볼 필요가 있습니다.
- 원시 데이터 확보: 우선 원시 데이터가 필요합니다. 예를 들어 특정 사용자의 과거 거래 내역 전체와 현재 진행 중인 실시간 거래 정보가 해당됩니다. 이러한 데이터는 대개 기업 내 여러 데이터 웨어하우스와 데이터 스트림에 흩어져 있는 경우가 많습니다.
- 피처 생성: 모델 학습에 사용할 피처를 만들려면 해당 데이터 소스에 연결한 뒤, 피처를 산출하는 데이터 변환 로직을 정의하고 실행해야 합니다. 예를 들어 '최근 6개월간 사용자의 평균 거래 금액'이라는 피처를 만들어 현재 거래 금액과 비교하는 식입니다.
- 피처 서빙: 마지막으로, 실시간 예측을 수행하는 ML 모델에 피처를 전달해야 하며, 사용자가 지연을 인지하지 못하도록 100밀리초 미만의 지연 시간으로 처리해야 합니다.
Tecton 피처 스토어는 이러한 전 과정을 처리하도록 설계되었습니다. 피처 변환과 데이터 파이프라인 오케스트레이션에 드는 복잡한 작업을 모두 추상화함으로써, 데이터 사이언스팀과 데이터 엔지니어링팀이 모델 개발 자체에 집중할 수 있게 해줍니다. 다만 Tecton은 컴퓨팅 엔진이나 데이터베이스가 아니라는 점에 유의해야 합니다. 대신 고객이 이미 사용 중인 인프라 위에서 동작하기 때문에, 각 조직의 상황에 맞는 ML 스택을 자유롭게 구성할 수 있습니다.
Redis Enterprise Cloud는 바로 이러한 인프라 구성 요소 중 하나로, Tecton 피처 스토어가 사용하는 온라인 스토어를 위한 새로운 고성능 선택지를 고객에게 제공합니다.
온라인 스토어와 오프라인 스토어의 활용 방식
Tecton 피처 스토어는 ML에서 요구되는 두 가지 핵심 접근 패턴을 모두 지원합니다. 하나는 모델 학습을 위해 수백만 건의 과거 데이터 행을 조회하는 것이고, 다른 하나는 프로덕션 환경에서 실행 중인 모델에 피처를 공급하기 위해 단일 행을 몇 밀리초 만에 조회하는 것입니다. 이 두 사용 사례는 성능과 비용 측면의 트레이드오프가 완전히 다르기 때문에, Tecton은 오프라인 피처 조회와 온라인 피처 조회에 서로 다른 유형의 데이터베이스를 지원합니다.
오프라인 피처 스토어의 경우, Tecton은 S3를 지원합니다. S3는 비용 효율적인 스토리지로서 모델 학습에 필요한 오프라인 피처 서빙 수요에 맞춰 유연하게 확장할 수 있습니다. 온라인 피처 스토어의 경우, Tecton은 이제 고객에게 DynamoDB(온디맨드 용량 모드)와 Redis Enterprise Cloud 중에서 유연하게 선택할 수 있는 옵션을 제공합니다.
학습-서빙 편차(training-serving skew) 해소
이러한 이중 데이터베이스 접근 방식이 없다면, 많은 조직이 오프라인 학습용과 온라인 서빙용으로 별도의 데이터 파이프라인을 따로 구축하게 됩니다. 두 파이프라인의 구현 방식에 사소한 차이만 있어도 모델 성능이 크게 저하될 수 있습니다. 학습 시점에 모델이 학습한 데이터와 프로덕션 환경에서 마주하는 데이터가 일치하지 않기 때문입니다. 이러한 불일치를 '학습-서빙 편차(training-serving skew)'라고 부르며, 디버깅에 매우 많은 시간과 노력이 소요되는 문제로 악명이 높습니다.
Tecton 피처 스토어는 오프라인 환경과 온라인 환경 전반에 걸친 데이터를 자동으로 조율하여 항상 동기화 상태를 유지함으로써, 학습-서빙 편차 문제를 근본적으로 해결합니다. 사용자는 배치 추론만으로 오프라인 스토어부터 시작할 수 있고, 온라인 추론 준비가 되면 코드 한 줄만 수정하여 온라인 스토어로 데이터를 적재(materialize)하기 시작하면 됩니다.
Tecton 사용자를 위한 Redis Enterprise Cloud의 장점
대규모로 Tecton을 운영하는 사용자에게 Redis Enterprise Cloud 사용의 핵심 장점은 바로 성능 향상과 비용 절감입니다. 고처리량 조건에서 온라인 피처를 서빙하는 벤치마크 분석 결과, Redis는 Tecton 환경에서 DynamoDB보다 3배 빠르고 14배 저렴한 것으로 나타났습니다.
또한 Redis Enterprise Cloud는 현재와 미래의 저지연 스토리지 요구사항을 충족할 수 있는 탁월한 운영 기능을 갖추고 있습니다. 99.999% 가동률 SLA 기반의 고가용성을 제공하며, 다양한 데이터베이스 영속성(persistence) 옵션과 백업·복구 기능을 지원합니다. 피처 데이터셋이 방대한 고객은 온라인 피처 스토어를 DRAM과 SSD에 계층화(tiering)하여 추가적인 비용 절감 효과도 얻을 수 있습니다.
시작하는 방법
아직 Redis Enterprise Cloud를 사용하고 있지 않다면, 여기에서 계정을 등록할 수 있습니다. Tecton 사용자라면 지연 시간을 최소화하기 위해 AWS에 Redis Enterprise Cloud를 배포하는 것을 권장합니다. Tecton은 AWS에서 기본적으로 실행되며 Redis Enterprise Cloud와 피어링(peering) 연결을 설정할 수 있기 때문입니다. 향후 Tecton은 다른 클라우드 벤더 플랫폼에 대한 네이티브 지원도 추가할 계획입니다.
Tecton 사용자가 아니지만 자세히 알아보고 싶으신 분은 여기에서 Tecton 무료 체험판에 등록하실 수 있습니다.