패키지 및 런타임 관리하기

Snowflake Notebooks는 Snowflake Container Runtime 기반으로 확장 가능한 AI/ML 개발에 최적화된 사전 구축된 컨테이너 환경 내에서 실행됩니다.

Python 버전

Snowflake Notebooks는 Python 3.10~3.12를 지원합니다. 노트북 서비스를 생성할 때 워크로드 요구 사항에 가장 적합한 Python 버전을 선택합니다.

사전 설치된 패키지

Snowflake Container Runtime에는 Snowflake 내부의 다양한 ML 개발 작업을 지원하는 약 100개의 패키지 및 라이브러리가 포함되어 있습니다. 이러한 패키지는 기본적으로 Snowflake 관리 CPU 및 GPU 인프라에서 실행됩니다.

사전 설치된 패키지를 보려면 Python 셀 또는 노트북 터미널에서 :code:`pip freeze`를 실행합니다.

추가 패키지 설치하기

Snowflake는 여러 소스에서 패키지 설치를 지원합니다.

외부 리포지토리에서

보안 리포지토리 액세스를 위해 외부 액세스 통합(EAIs)을 구성한 후 PyPI과 같은 외부 소스에서 직접 패키지를 설치할 수 있습니다. 사용자는 사전 설치된 런타임 외에도 포괄적인 패키지 에코시스템에 액세스할 수 있으므로 외부 리포지토리에 안전하게 연결할 수 있습니다.

Python 셀 또는 노트북 터미널에서 :code:`pip install`을 실행할 수 있습니다.

자세한 내용은 Snowflake Notebooks 에 대한 외부 액세스 설정 섹션을 참조하십시오.

:file:`requirements.txt`에서

requirements.txt 파일에서 필수 패키지 버전을 지정하고 설치하여 일관된 환경 설정을 보장할 수 있습니다. 다음 명령을 사용하여 설치합니다.

!pip install -r requirements.txt
Copy

참고

:file:`requirements.txt`에 지정된 패키지 버전이 :ref:`사전 설치된 패키지<label-spcs_container_runtime_notebooks_cpu>`의 지원되는 버전과 충돌하는 경우 Python 환경이 중단될 수 있습니다. 설치하기 전에 호환성을 확인합니다.

작업 공간 파일에서

.whl 또는 .py 파일을 다운로드하거나 빌드하고, 작업 공간에 업로드하고, 설치하거나 가져올 수 있습니다.

  • Wheel 파일(.whl): .whl 파일을 업로드하고 설치합니다.

    !pip install file_name.whl
    
    Copy

    패키지에 아직 설치되지 않은 종속성이 포함된 경우 전체 종속성 트리를 작업공간 또는 스테이지에 직접 업로드합니다. 또는 패키지를 다운로드할 수 있는 리포지토리(예: PyPI)에 액세스할 수 있는 EAI를 첨부합니다.

  • Python 파일(.py): 작업 공간에 저장된 모듈을 직접 가져와 노트북 전체에서 유틸리티와 함수를 공유할 수 있습니다. 예:

    from my_utils import my_func
    
    Copy

Snowflake 스테이지에서

스테이지는 패키지 파일에 대한 기존 Snowflake 데이터 저장소 및 거버넌스 제어를 활용하여 안전하고 관리되는 패키지 배포를 제공합니다. Snowpark 세션을 사용하여 Snowflake 스테이지에서 패키지 파일을 검색하여 컨테이너 환경으로 가져와 사용할 수 있습니다. 예:

from snowflake.snowpark.context import get_active_session
import sys

session = get_active_session()
session.file.get("@db.schema.stage_name/math_tools.py", "/tmp")

sys.path.append("/tmp")
import math_tools

math_tools.add_one(3)
Copy

런타임 관리

런타임 고정

모든 노트북 서비스는 서비스를 편집하여 명시적으로 변경하지 않는 한, 생성 시 선택한 런타임에 고정됩니다. 예를 들어, :code:`Runtime 2.0`에 생성된 노트북 서비스는 새 런타임 버전이 출시될 때 자동으로 업그레이드되지 않습니다.

런타임 취약점 스캔

Snowflake는 매일 런타임 이미지에 보안 취약점이 있는지 검사합니다. 위험도가 높거나 심각한 공통 취약점 및 노출(CVEs)은 감지 후 30일 이내에 새 런타임 버전을 릴리스하여 해결됩니다.

기존 노트북 서비스는 CVEs가 감지된 상태에서 런타임을 계속 사용할 수 있습니다. 그러나 CVEs가 알려진 런타임은 새 노트북 서비스를 생성할 때 선택할 수 없습니다.