Snowpark ML, Snowflake Notebooks, Snowflake Feature Store로 손쉽게 ML 구축하고 배포하기
Snowflake는 2021년에 Python을 비롯한 기타 인기 프로그래밍 언어를 안전하게 배포하고 처리하는 Snowflake의 라이브러리와 런타임으로 구성된 Snowpark를 도입하여 데이터 클라우드를 AI/ML 워크로드로 확장하는 노력을 꾸준히 지속해 왔습니다.
이후 탄력적인 컴퓨팅 엔진과 함께 Snowflake 플랫폼을 활용하여 AI/ML 개발에서 프로덕션에 이르는 과정의 가속화 방법을 대폭 확대했습니다. 논리적으로는 통합되었지만, 물리적으로는 분리된 Snowflake의 스토리지와 컴퓨팅의 규모, 성능을 활용하는 Snowpark를 통해 Snowflake 고객은 AI/ML 및 데이터 엔지니어링 사용 사례에서 평균 3.5배 더 빠른 성능과 34%의 비용 절감 효과를 경험하고 있습니다. 2023년 9월 현재, Snowflake 고객의 35% 이상이 매주 Snowpark를 사용하고 있으며, 많은 조직이 데이터의 직접 처리를 통한 이점을 누리고 있습니다.
개발에서 프로덕션에 이르는 ML 워크플로우 전반을 한층 더 가속하기 위해 Snowflake 플랫폼은 특성 및 모델 모두를 안전하게 구축하는 새로운 개발 인터페이스와 여러 기능을 확보하며 끊임없이 진화하고 있습니다. 아래에서 관련 발표 내용을 살펴보겠습니다.
Snowflake Notebooks에서 SQL 및 Python으로 인터랙티브 개발 실현
PrPr로 제공되는 새로운 개발 인터페이스 Snowflake Notebooks는 Python 및 SQL 사용자에게 인터랙티브형 셀 기반 프로그래밍 환경을 제공합니다. 이를 통해 Snowpark에서 데이터를 탐색하고 처리하며 실험을 진행할 수 있습니다. 개발자는 내장형 Snowflake Notebooks를 사용하여 코드를 작성하고 실행하며 Snowpark ML로 모델 훈련 및 배포를 수행할 수 있습니다. Streamlit 그래프 요소 등을 활용하여 결과를 시각화할 수도 있습니다. 이 모두가 Snowflake의 안전한 통합 플랫폼 내에서 이루어집니다. Snowflake Notebooks는 기본적으로 Snowflake의 역할 기반 액세스 제어(RBAC)에 통합되어 있어 엔터프라이즈 데이터를 손상하지 않으며, 코드와 결과를 안전하게 공유하고 협업하는 데 용이합니다. Snowflake Notebooks의 셀 기반 레이아웃은 데이터 사이언스와 머신러닝의 실험 및 탐색 작업 수행을 지원합니다. 따라서 개발자는 코드의 작성 및 실행을 비롯하여 결과의 시각화, 노트 캡처, 인사이트 공유 등을 모두 한 곳에서 진행할 수 있습니다.
Snowpark ML 라이브러리를 통한 AI/ML 워크플로우 간소화
Snowpark ML에는 Snowpark ML Modeling API 및 Snowpark ML Operations API를 비롯하여, Snowflake의 엔드 투 엔드 ML 워크플로우를 위한 Python 라이브러리와 기본 인프라가 포함되어 있습니다. Snowpark ML은 데이터 전처리, 특성 추출, 모델 훈련, 통합형 배포를 단일 Python 라이브러리로 통합하여 용이성을 높입니다. Snowflake가 최근 발표한 Snowpark ML Modeling API(GA 예정)를 활용하면 Snowflake 외부로 데이터를 이동하지 않고도 특성 추출 및 모델 훈련에 scikit-learn 및 XGBoost와 같이 널리 알려진 ML 프레임워크를 사용할 수 있습니다. Snowpark ML은 개발자가 친숙한 Python API를 통해 이러한 프레임워크로 직관적인 모델을 구축할 수 있도록 지원하며, Snowflake의 확장 가능한 컴퓨팅 플랫폼을 활용하여 백그라운드에서 데이터 처리 작업을 병렬화합니다.
Snowpark ML Operations API의 경우, Snowpark Model Registry(PuPr 예정)를 통해 Snowflake에서 확장 가능한 방식으로 모델을 안전하게 배포하고 관리할 수 있습니다. 이에는 TensorFlow 및 PyTorch의 딥러닝 모델과 Hugging Face의 오픈 소스 LLM을 Snowpark Container Services(GPU 컴퓨팅 풀 포함)에 배포하는 데 필요한 확장 지원이 포함됩니다. Snowpark Model Registry는 내장형 버전 관리 지원, 역할 기반 액세스 제어, SQL API를 갖춘 네이티브 Snowflake 모델 개체를 기반으로 구축되어 있어 SQL 사용자와 Python 사용자 모두에게 한층 간소화된 관리 기능을 제공합니다.
Snowflake Feature Store를 통한 특성 파이프라인의 저장, 관리 및 자동화
Snowflake Feature Store(PrPr)는 데이터 사이언티스트와 ML 엔지니어가 모델 훈련 및 추론에 필요한 ML 특성을 생성, 저장, 관리, 제공할 수 있도록 지원하는 통합 솔루션입니다. 이는 Snowpark ML 라이브러리를 통해 액세스할 수 있는 Python API, 특성의 정의, 관리 및 검색을 수행하는 SQL 인터페이스, 특성 메타데이터의 관리 및 지속적인 특성 처리를 위한 관리형 인프라로 구성됩니다. ML 팀은 Snowflake Feature Store를 활용하여 모델 훈련 및 추론에 사용되는 특성에 대해 단일 진실 공급원을 최신으로 유지하고 관리할 수 있습니다.
향후 계획
Snowflake는 고객이 단일 플랫폼에서 특성과 모델을 원활하고 안전하게 구축 및 배포할 수 있도록 AI/ML 기술의 데이터 활용 방안을 지속해서 제공합니다. Snowflake의 최신 서비스에 대한 자세한 내용은 Snowday의 Snowpark ML 데모에서 확인할 수 있습니다. 아울러, Snowflake는 모든 사용자가 생성형 AI를 더욱 손쉽게 활용할 수 있도록 지원합니다. Snowflake Cortex를 비롯한 최신 발표 내용의 상세 정보는 여기를 참조하세요. Snowflake Cortex를 기반으로 구축된 LLM 기반 경험은 여기에서 확인할 수 있습니다.
관련 자료:
- Snowpark ML for Python 시작하기
- Snowpark ML 개발자 설명서
- Snowpark for Python 사례 리포지토리
- Snowpark for Python 무료 평가판 사용해 보기
- 궁금하신 점이 있으신가요? 커뮤니티에 문의하세요
참고: 이 내용은 2023. 11. 01에 게시된 컨텐츠(Build and Deploy ML with Ease Using Snowpark ML, Snowflake Notebooks, and Snowflake Feature Store)에서 번역되었습니다.