참고: 이 내용은 2022. 3. 23에 게시된 컨텐츠(Building Production-Ready Machine Learning Features on Snowflake with Tecton’s Feature Store)에서 번역되었습니다.
Tecton의 엔터프라이즈 피처 스토어와 인기 있는 오픈 소스 피처 스토어인 Feast가 Snowflake와 통합되었음을 발표하게 되어 기쁩니다. 통합은 AWS에서 모든 Snowflake 고객에게 미리 보기로 제공되며, 통합을 통해 데이터 팀은 Snowflake에서 프로덕션을 위한 머신 러닝(ML) 기능의 전체 수명 주기를 안전하고 안정적으로 저장하고 처리하고 관리할 수 있습니다.
Tecton은 데이터 팀이 Python 및 SQL을 사용해 기능을 코드로 정의하게 해 줍니다. 현재 Python용 Snowpark와의 통합(현재 비공개 미리 보기로 제공 중)을 통해, 사용자는 Snowflake에서 변환을 실행해 언어에 관계없이 데이터 클라우드의 성능, 사용 편의성, 거버넌스 및 보안을 높일 수 있습니다.
프로덕션 ML의 데이터 문제
ML 애플리케이션을 구축하려면 먼저 원시 데이터를 기능으로 변환해야 합니다. 이러한 기능은 전자 상거래 웹 사이트의 권장 사항이나 사기 감지와 같은 사용 사례의 경우, 일괄적으로 발생하는지 실시간으로 발생하는지와 관계없이 모델 훈련 및 추론을 위해 일관되게 제공되어야 합니다.
데이터 과학자는 종종 로컬 노트북에서 탐색적 분석 및 기능 엔지니어링을 수행하게 됩니다. 노트북은 빠른 실험 작업에 적합하지만, 나중에 해당 코드를 프로덕션에 적용해야 하는 엔지니어들은 그 때문에 매우 힘든 작업을 해야 할 수 있습니다. 이 워크플로우에서 조직은 기능에 대한 표준화된 정의가 부족하고 중앙 진실 공급원을 갖지 못합니다. 더 나은 솔루션이 없는 경우 엔지니어링 팀에서는 흔히 데이터 과학 코드를 프로덕션 파이프라인으로 재설계해 머신 러닝 모델을 제공합니다. 팀은 결국 두 개의 별도 파이프라인으로 작업을 복제하고 복잡성을 증가시킵니다.
훈련용 데이터 생성과 관련해 데이터 과학자는 데이터의 올바른 결합을 위해 복잡한 쿼리를 구성해야 합니다. 이 과정에서 머신 러닝 고유의 문제인 데이터 유출이 자주 발생합니다. 모델 훈련에 사용된 데이터 세트에 예측 시점에 모델에서 사용할 수 없는 정보가 포함되어 데이터 누수가 발생하며, 이는 생산 시 모델 성능의 저하로 이어집니다.
훈련 및 서빙 파이프라인에 대한 데이터 처리 방법의 불일치는 훈련/서빙 왜곡(training-serving skew)을 일으킵니다. 이 문제는 조직이 일괄적 모델 추론에서 실시간 모델 추론으로 전환하면서 더 많이 발생합니다. 응집력 있는 플랫폼이 없으면 팀은 일괄 처리, 오케스트레이션, 온라인 검색 및 오프라인 스토리지와 같은 작업을 처리하기 위해 여러 도구들 사이의 통합을 관리하면서 동시에 일관된 기능 정의 및 처리를 유지해야 합니다.
Tecton + Snowflake
Tecton은 Snowflake 데이터와 모델 훈련 및 서빙 환경 간의 인터페이스 역할을 합니다.
기능 로직의 중앙 집중화 및 기능 관리의 단순화
Tecton을 통해 사용자는 선언형 프레임워크를 사용해서 기능을 코드로 정의하고 관리합니다. 기능은 Python 또는 SQL로 작성되며 Git 저장소에 있으므로 기능을 다른 코드 자산으로 처리할 수 있습니다. 기능은 CI/CD 프로세스를 통해 버전 제어, 유닛 및 통합 테스트, 배포될 수 있습니다. 사용자는 웹 인터페이스를 통해 계보를 관찰하고 기능을 발견할 수 있습니다. 훈련 및 일괄 추론의 경우, 데이터의 일관된 거버넌스와 보안을 유지하기 위해 Snowflake에 기능이 저장되고 처리됩니다.
모든 사이즈의 훈련 데이터 세트를 신속 정확하게 검색
사용자는 Snowflake의 강력한 처리 엔진을 활용함으로써 Tecton의 Python SDK를 통해 단 두 줄의 코드로 수백만 개의 행에서 원하는 수의 기능에 대해 훈련 데이터 세트를 즉시 사용할 수 있습니다. Tecton은 데이터 누수를 방지하기 위해 특정 시점의 정확성과 기능이 결합되도록 보장합니다.
훈련/서빙 왜곡 없이 실시간 데이터를 프로덕션에 통합
Tecton은 대기 시간이 짧은 저장소에서 일괄 기능을 온라인으로 사용할 수 있게 할 뿐만 아니라 원시 데이터를 자동으로 처리하고 실시간으로 기능을 제공할 수 있는 파이프라인을 구축합니다. Tecton에서 실시간 기능 변환은 Python을 사용해 정의됩니다. Python용 Snowpark를 사용하면 Snowflake에서 동일한 변환을 효율적으로 실행하여 훈련 데이터 세트를 구축할 수 있습니다.
오픈 소스 피처 스토어인 Feast는 이제 기본적으로 Snowflake도 지원하며 Snowflake와 ML 모델 간의 인터페이스 역할을 합니다. Tecton과 Feast의 중요한 차이점에 대해 자세히 알아보려면 비교 페이지를 확인하십시오.
시작하기
Snowflake와 함께 Tecton을 사용하는 방법에 대해 자세히 알아보려면 자습서를 확인하고 여기에서 미리 보기에 등록하십시오.
오픈 소스 솔루션에 관심이 있다면, Snowflake를 사용하는 Feast 프로젝트의 예를 보여 주는 자습서를 참조하십시오.