SnowparkML: Snowflake용 머신 러닝 툴킷¶
Snowpark ML은 머신 러닝 모델을 개발하고 배포하기 위한 SDK와 기본 인프라를 포함한 도구 세트입니다. Snowpark ML과 함께, 데이터를 사전 처리하고 Snowflake 내에서 ML 모델을 전부 학습, 관리, 배포할 수 있습니다. 머신 러닝 워크플로의 모든 스테이지에서 Snowflake의 검증된 성능, 확장성, 안정성, 거버넌스의 이점을 누립니다.
Snowpark ML은 Snowpark Python과 함께 작동하므로 Snowpark DataFrames를 사용하여 학습 데이터나 테스트 데이터를 보유하고 예측 결과를 받을 수 있습니다.
선택한 호환 가능 IDE 환경에서 Snowpark Python 클라이언트 애플리케이션을 작성할 때 Snowpark ML을 사용할 수 있습니다.
Snowpark ML의 핵심 구성 요소¶
Snowpark ML은 머신 러닝 개발 및 배포 프로세스 전체의 각 스테이지를 지원하는 API를 제공하며 Snowpark ML Development와 Snowpark ML Ops라는 두 가지 주요 구성 요소를 포함합니다.
Snowpark ML Development¶
Snowpark ML은 Snowflake 내부에서 모델을 효율적으로 개발할 수 있게 해주는 Python API 모음을 포함합니다.
데이터 전처리, 특징 공학, 모델 학습을 위한 API를 제공하는 모델링 패키지 (
snowflake.ml.modeling
). 패키지에는 확장 가능한 데이터 변환을 제공하는 Snowpark에 최적화된 웨어하우스 에서 제공하는 컴퓨팅 리소스를 활용하는 API가 있는 전처리 모듈도 포함됩니다. 이러한 API는 scikit-learn, xgboost, lightgbm을 포함하여 익숙한 ML 라이브러리를 기반으로 합니다.네이티브 데이터 로더 형식으로 Pytorch 및 Tensorflow 프레임워크에 최적화되고 안전하며 성능이 우수한 데이터 프로비저닝을 제공하는 프레임워크 커넥터 세트(곧 출시 예정). 설명서를 먼저 살펴보고 싶으신 분은 Snowflake 담당자에게 문의하십시오.
Snowpark ML Ops¶
곧 출시될 특징 모음인 Snowpark ML Ops는 Snowflake에 모델 관리 기능과 통합 배포를 제공하여 Snowpark ML Development API를 보완합니다. 이러한 특징에 대한 설명서를 일찍 살펴보고 싶으신 분은 Snowflake 담당자에게 문의하십시오.
FileSet API는 데이터로 작업하기 위한 여러 가지 편리한 방법과 함께 쿼리 또는 Snowpark DataFrame에서 Snowflake 내부 스테이지로 해당 데이터를 구체화하기 위한 Python fsspec 준수 API를 제공합니다.
모델 레지스트리는 Snowflake 내에서 모델을 관리하고 Snowflake 웨어하우스에 벡터화된 UDF(사용자 정의 함수)로 배포하기 위한 Python API입니다.
Snowpark ML 시작하기¶
모든 Snowpark ML 특징은 단일 라이브러리에 제공됩니다. 로컬 conda 채널을 통해 제공하거나 PyPi에서 제공하는 파일에서 Snowpark ML을 설치할 수 있습니다. 공식 conda 채널은 향후에 제공될 예정이지만, Snowflake 웹사이트에서 직접 패키지를 다운로드하는 것이 계속해서 최신 버전을 얻는 가장 좋은 방법입니다.
Snowpark Python 설정하기¶
Snowpark ML은 Snowpark Python과 함께 작동합니다. Snowpark Python 설치 및 설정 지침은 Snowpark Python을 위한 개발 환경 설정하기 섹션을 참조하십시오.
로컬 conda 채널에서 Snowpark ML 설치하기¶
먼저, 로컬 conda 채널을 만듭니다. 그러면 conda가 이 채널에서 파일을 받아 conda 환경에 설치합니다. 이러한 단계는 한 번만 수행하면 됩니다.
conda-build를 설치합니다.
conda install conda-build
컴퓨터에 채널의 파일을 저장할 디렉터리를 만듭니다. 아무 이름이나 사용할 수 있습니다.
mkdir -p ~/conda-snowpark-ml
당사 Google 드라이브 에서 최신 Snowpark ML 릴리스를 다운로드합니다. 각 릴리스는 자체 폴더에 있습니다. 원하는 릴리스가 포함된 폴더를 연 다음, 해당 폴더에
.tar.bz2
파일을 다운로드합니다. 이전 단계에서 만든 채널 폴더에 저장합니다(예:~/conda-snowpark-ml
).conda index
를 사용하여 채널을 만듭니다.conda index ~/conda-snowpark-ml
새로운 버전의 Snowpark ML이 출시되면 동일한 폴더에 다운로드한 다음, 동일한
conda index
명령을 실행하여 채널에서 사용할 수 있도록 하십시오.
로컬 conda 채널을 만든 후 프로젝트에 Snowpark ML을 설치할 수 있습니다. 다음 단계를 따르십시오.
사용하려는 conda 환경을 활성화합니다(예에서는
ml-env
).conda activate ml-env
로컬 채널에서 패키지를 설치합니다. Snowflake ML 패키지는 Snowflake의 다른 패키지에 종속되므로 Snowflake conda 채널도 지정합니다.
conda install -c file://path/to/conda-snowpark-ml -c https://repo.anaconda.com/pkgs/snowflake/ \ https://repo.anaconda.com/pkgs/snowflake/ snowflake-ml-python
이 명령은 한 줄에 입력해야 합니다.
이전에 만든 채널 폴더의 실제 경로를 지정해야 합니다. 이는 이전 단계에서 사용한 경로와 다를 수 있는데,
~
를 홈 디렉터리의 바로 가기로 사용할 수 있습니다.
PyPI에서 Snowpark ML 설치하기¶
또한 표준 Python 패키지 관리자 pip
를 사용하여 PyPI(Python Package Index)의 Snowpark ML 패키지를 설치할 수도 있습니다.
경고
conda 환경을 사용하는 경우 이 설치 프로시저를 사용하지 마십시오.
Python 가상 환경을 사용 중인 경우 이를 활성화하십시오.
source .venv/bin/activate
Snowpark ML 패키지를 설치합니다.
python -m pip install snowflake-ml-python
비용 고려 사항¶
Snowflake에서 모델을 학습시키고 사용할 때 가상 웨어하우스에서 코드를 실행하는데, 이로 인해 컴퓨팅 비용이 발생합니다. 이러한 비용은 모델 유형과 학습 및 예측에 사용된 데이터의 양에 따라 다릅니다.
Snowflake 컴퓨팅 비용에 대한 일반 정보는 컴퓨팅 비용 이해하기 섹션을 참조하십시오.
추가 자료¶
Snowpark ML Modeling에 대한 정보는 다음 리소스를 참조하십시오.
당사 Google 드라이브 의 Examples 폴더에는 Snowpark ML 특징을 탐색하기 위한 Jupyter 노트북이 포함됩니다.
곧 출시될 특징에 대한 설명서를 일찍 살펴보고 싶으신 분은 Snowflake 담당자에게 문의하십시오.
API 참조¶
대화식 Python 세션에서 Python의 help
함수를 사용하여 모든 클래스에 대한 자세한 API 설명서를 구할 수 있습니다. 예:
from snowflake.ml.modeling.preprocessing import OneHotEncoder
help(OneHotEncoder)
예비 API 참조 자료는 Google 드라이브 에서 ZIP 아카이브로 제공됩니다. API 참조 파일을 다운로드하고 압축 해제한 후 결과 폴더 내부에서 index.html
파일을 여십시오.