Snowflake ML: 엔드투엔드 머신 러닝¶
Snowflake ML은 관리 데이터를 기반으로 단일 플랫폼에서 엔드투엔드 머신 러닝을 위한 통합 기능 세트입니다.
SQL로 작성된 바로 사용할 수 있는 ML 워크플로의 경우, 바로 사용할 수 있는 ML 함수 를 사용하면 개발 시간을 단축하고 조직 전체에서 ML을 민주화할 수 있습니다. 이러한 함수를 사용하면 코드를 작성하지 않고도 예측 및 이상 감지와 같은 비즈니스 사용 사례에 대한 모델을 훈련시킬 수 있습니다.
Python에서 사용자 지정 ML의 경우, 데이터 과학자와 ML 엔지니어는 데이터 이동, 사일로 또는 거버넌스 트레이드오프 없이 확장 가능한 기능과 모델을 쉽고 안전하게 개발하고 프로덕션할 수 있습니다. snowflake-ml-python
라이브러리는 Snowflake ML 파이프라인 개발 및 배포를 위한 APIs를 제공합니다.
데이터 과학자와 ML 엔지니어는 모델을 구축하고 작업하기 위해 Snowflake ML 기능 세트를 활용할 수 있습니다. 모델 개발을 위해 Snowflake ML Modeling APIs 은 확장 가능한 데이터 로딩, 기능 엔지니어링, 모델 훈련, CPUs 또는 GPUs를 사용한 분산 처리 기능을 제공합니다. ML 작업(ML Ops)의 경우, Snowflake ML에는 프로덕션에서 기능과 모델을 중앙 집중식으로 관리하기 위한 Feature Store 및 Model Registry 가 포함되어 있습니다.
Snowflake Notebooks 의 Snowpark ML 라이브러리, Snowsight 워크시트 또는 사용자가 선택한 로컬 Python IDE에서 Python APIs를 사용할 수 있습니다.
![Snowflake ML의 주요 구성 요소: ML 모델링, 기능 스토어 및 모델 레지스트리](../../_images/snowflake-ml-components.png)
Snowflake ML 구성 요소는 다음과 같이 ML 수명 주기를 간소화하는 데 도움이 됩니다.
![Snowflake ML이 지원하는 ML 개발 및 배포 프로세스](../../_images/snowflake-ml-process.png)
Snowflake Model Registry¶
Snowflake Model Registry 를 사용하면 Snowflake에서 모델을 안전하게 배포하고 관리할 수 있으며, Snowflake 내부와 외부에서 훈련된 모델을 지원할 수 있습니다.
Snowflake 기능 스토어¶
Snowflake Feature Store 는 데이터에서 파생된 ML 기능을 정의, 관리, 저장, 검색할 수 있는 통합 솔루션입니다. Snowflake Feature Store는 일괄 처리 및 스트리밍 데이터 소스에서 자동화된 증분 새로 고침을 지원하므로, 기능 파이프라인을 한 번만 정의하면 새 데이터로 지속적으로 업데이트할 수 있습니다.
Snowflake 데이터 세트¶
Snowflake Datasets 는 머신 러닝 모델에서 수집하기에 적합한 버전이 변경되지 않는 데이터 스냅샷을 제공합니다.
Snowflake Notebooks¶
Snowflake Notebooks 는 Jupyter 노트북과 유사한 익숙한 환경을 제공하여 Snowflake 내에서 Python으로 작업할 수 있습니다. 이미 사용법을 알고 있는 도구를 사용하여 사용자 지정 ML 워크플로 및 모델을 구축하는 데 이상적입니다. Snowpark Container Services(SPCS)에서 실행되는 노트북은 머신 러닝 워크플로를 위해 특별히 구축된 환경인 Container Runtime for ML에서 실행됩니다.
Container Runtime for ML¶
Snowflake는 다양한 ML 개발 워크로드에 맞게 사전 구성된 사용자 지정 환경을 제공합니다. 사전 설치된 포괄적인 ML 패키지 세트와 쉽게 확장할 수 있는 프레임워크를 통해 데이터 과학자와 ML 엔지니어는 최고의 오픈 소스를 Snowflake 데이터에 직접 활용할 수 있습니다.
Snowpark Container Service(SPCS) 컴퓨팅 풀 형태의 GPUs에 대한 쉬운 접근, 모든 오픈 소스 패키지를 사용할 수 있는 유연성, 분산 데이터 로딩 및 모델링 APIs를 갖춘 Container Runtime for ML은 대규모 ML 개발에 매우 적합합니다. 이러한 노트북은 Snowpark Container Services에서 실행되므로 가격 대비 성능에 최적화된 유연하고 확장 가능한 컴퓨팅 인프라를 제공합니다.
자세한 내용은 Container Runtime for ML의 Notebooks 및 Container Runtime for ML 섹션을 참조하십시오.
Snowflake ML 라이브러리¶
snowflake-ml-python
Python 패키지는 Snowflake Feature Store, the Snowflake Model Registry 및 Dataset 버전 지정 데이터 오브젝트 등 여러 Snowflake ML 워크플로 구성 요소를 위한 Python APIs를 제공합니다. 또한, scikit-learn과 같은 널리 사용되는 Python ML 라이브러리를 기반으로 하는 APIs도 포함되어 있어 Snowflake 클라우드 내에서 대규모로 자체 모델을 구축하고 훈련시킬 수 있습니다. 로컬 Python 개발 환경, Snowsight 워크시트 또는 Snowflake Notebooks에서 Snowflake ML 기능을 사용할 수 있습니다.
팁
엔드투엔드 Snowflake ML 워크플로의 예제는 머신 러닝 소개 섹션을 참조하십시오.
ML 모델링¶
snowflake-ml-python
Python 패키지에는 scikit-learn, xgboost, lightgbm, pytorch 등 널리 사용되는 머신 러닝 프레임워크를 사용하여 데이터 전처리, 피처 엔지니어링, Snowflake의 모델 훈련을 지원하는 ML Modeling APIs 도 포함되어 있습니다. 모든 처리는 인프라 구성이나 데이터 이동이 필요 없이 수행됩니다.
Container Runtime for ML 의 노트북에서 실행하는 경우 이러한 모델링 APIs는 사용 중인 컴퓨팅 풀에 따라 사용 가능한 모든 CPU 코어 또는 GPUs에서 분산 실행할 수 있습니다. 다른 경우에는 이 프로세스가 Snowflake 가상 웨어하우스에서 수행되는데, 여기서 전처리 및 하이퍼매개 변수 최적화는 여러 노드에 분산된 방식으로 수행될 수 있습니다.
참고
Container Runtime for ML은 현재 비공개 미리 보기로 제공됩니다.
추가 리소스¶
Snowflake ML APIs에 대한 정보는 다음 리소스를 참조하십시오.
엔드 투 엔드 ML 워크플로
현재 개발 중인 다른 특징에 대한 설명서를 일찍 살펴보고 싶으신 분은 Snowflake 담당자에게 문의하십시오.