Snowflake ML 릴리스 정보

이 문서에는 Snowflake ML 에 대한 릴리스 정보가 있는데, 해당되는 경우 다음을 포함합니다.

  • 동작 변경 사항

  • 새로운 기능

  • 고객이 직면한 버그 수정

참고

이 참고 사항에는 공개적으로 발표되지 않은 기능의 변경 사항은 포함되지 않습니다 이러한 기능은 Snowflake ML 소스 코드에는 표시되지만 공개 설명서에는 표시되지 않을 수 있습니다.

설명서는 Snowflake ML: 엔드투엔드 머신 러닝 섹션을 참조하십시오.

버전 1.7.0(2024-10-22)

동작 변경 사항

일반적인 동작 변경 사항:

  • 이제 최소 필수 버전은 Python 3.9입니다.

데이터 커넥터 동작 변경 사항:

  • 이제 to_torch_datasetto_torch_datapipe 는 스칼라 데이터에 대해 1의 차원을 생성합니다. 이를 통해 입력값을 쌓아 배치를 생성하는 PyTorch DataLoader와의 통합이 더욱 원활해집니다. 다음 예에서 그 차이점을 보여줍니다.

    ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
    
    Copy
    • 입력 데이터: "col1": [10, 11, 12]

      • 이전 결과: (3,) 형태의 array([10., 11., 12.])

      • 새로운 결과: (3, 1) 형태의 array([[10.], [11.], [12.]])

    • 입력 데이터: [[0, 100], [1, 110], [2, 200]]

      • 이전 결과: (3,2) 형태의 array([[ 0, 100], [ 1, 110], [ 2, 200]])

      • 새로운 결과: 변경 사항 없음

  • 이제 PyTorch DataLoader와의 상호 운용성 개선을 위해 1의 차원을 압축하도록 to_torch_dataset 에서 None 의 배치 크기를 지정할 수 있습니다. ::code::None 은 새로운 기본 배치 크기입니다.

모델 개발 동작 변경 사항:

  • eps (엡실론) 인자는 더 이상 log_loss 메트릭과 함께 사용되지 않습니다. 이전 버전과의 호환성을 위해 이 인자가 여전히 허용되지만, 인자 값은 무시되고 엡실론은 이제 기본 scikit-lean 구현에 의해 계산됩니다.

모델 레지스트리 동작 변경 사항:

  • Snowflake 8.40 이상에서 추론 서비스를 생성할 때 외부 액세스 통합이 더 이상 필요하지 않습니다.

새로운 기능

새로운 Model Registry 기능:

  • 이제 ModelContext 를 인스턴스화할 때 키워드 인자를 전달하여 가변적인 개수의 컨텍스트 값을 제공할 수 있습니다. 예:

    mc = custom_model.ModelContext(
        config = 'local_model_dir/config.json',
        m1 = model1
    )
    
    class ExamplePipelineModel(custom_model.CustomModel):
        def __init__(self, context: custom_model.ModelContext) -> None:
            super().__init__(context)
            v = open(self.context['config']).read()
            self.bias = json.loads(v)['bias']
        @custom_model.inference_api
        def predict(self, input: pd.DataFrame) -> pd.DataFrame:
            model_output = self.context['m1'].predict(input)
            return pd.DataFrame({'output': model_output + self.bias})
    
    Copy
  • 카테고리형 열에 대한 pandas의 CategoricalDtype 을 지원합니다.

  • log_model 메서드는 이제 설명 가능성과 데이터 계보에서 백그라운드 데이터를 캡처하기 위해 signaturesample_input_data 매개 변수를 모두 허용합니다.

버그 수정 사항

Data Connector 버그 수정 사항:

  • 다차원 데이터의 경우 to_torch_datasetto_torch_datapipe 는 이제 목록 대신 적절한 데이터 타입을 가진 numpy 배열을 반환합니다.

Feature Store 버그 수정 사항:

  • ExampleHelper 가 불완전한 테이블 이름을 사용하는 문제를 수정했습니다.

  • 날씨 특징 집계 시간을 하루에서 1시간으로 변경했습니다.

Model Explainability 버그 수정 사항:

  • 새로운 SHAP 라이브러리 버전을 사용하여 XGBoost 모델에 대한 설명 기능과 관련된 문제를 수정했습니다.

버전 1.6.4(2024-10-17)

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • Model Serving(SPCS에 대한 추론)과 함께 ModelVersion.run 을 사용할 때 발생하는 문제를 수정했습니다.

버전 1.6.3(2024-10-07)

동작 변경 사항

모델 레지스트리 동작 변경 사항:

  • 이 릴리스에는 Model Registry API 미리 보기가 더 이상 포함되지 않습니다. 대신 snowflake.ml.model_registry 에서 공개 API를 사용합니다.

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • 모델을 로깅할 때 PEP-508 규칙을 따르지 않는 패키지에 대한 예기치 않은 패키지 이름 정규화를 수정합니다.

  • MLflow 모델을 로깅할 때 “Not a valid remote URI” 오류를 수정합니다.

  • ModelVersion.run 에 대해 중첩된 호출을 수정합니다.

  • 로컬 패키지 버전 번호에 기본 버전이 아닌 부분이 포함된 경우의 log_model 오류를 수정합니다.

새로운 기능

새로운 Model Registry 기능:

  • 이제 task 매개 변수를 통해 log_model 에서 모델의 작업 유형을 설정할 수 있습니다.

새로운 Feature Store 기능:

  • FeatureView 는 이제 ON_CREATEON_SCHEDULE 초기화 모드를 지원합니다.

버전 1.6.2(2024-09-04)

버그 수정 사항

  • 정규화된 이름이 필요한 곳에 유효하지 않은 이름이 전달되는 버그를 수정합니다. 이제 예외가 올바르게 발생합니다.

모델링 버그 수정 사항:

  • XGBoost 버전 2 이상을 사용하여 개발된 모델을 올바르게 기록합니다.

Model Explainability 버그 수정 사항:

  • XGBoost 버전 2.1.0 이상에 대한 해결 방법과 더 나은 오류 처리.

  • 다중 클래스 XGBoost 분류 모델을 올바르게 처리합니다.

새로운 기능

새로운 Feature Store 기능:

  • update_feature_view 메서드는 이제 이름과 버전 대신 FeatureView 오브젝트를 허용합니다.

버전 1.6.1(2024-08-13)

버그 수정 사항

Feature Store 버그 수정 사항:

  • 데이터 세트를 생성할 때 메타데이터 크기에 더 이상 제한이 없습니다.

모델 레지스트리 버그 수정 사항:

  • 함수 이름이 지정되지 않고 모델에 여러 대상 메서드가 있는 경우 모델 버전의 run 메서드에서 발생하는 오류 메시지를 수정합니다.

새로운 기능

새로운 Modeling 기능:

  • Snowpark ML 모델이 적합한 경우 이제 set_params 메서드를 사용하여 기본 scikit-learn 추정기의 매개 변수를 설정할 수 있습니다.

새로운 Model Registry 기능:

  • shap 라이브러리에서 지원되는 XGBoost, LightGBM, CatBoost 및 scikit-learn 모델에서 모델 설명 기능을 지원합니다.

버전 1.6.0(2024-07-29)

동작 변경 사항

Feature Store 동작 변경 사항:

  • 많은 위치 인자가 이제는 키워드 인자입니다. 다음 표에 각 메서드에 대해 영향을 받는 인자가 나열되어 있습니다.

    메서드

    인자

    Entity 이니셜라이저

    desc

    FeatureView 이니셜라이저

    timestamp_col, refresh_freq, desc

    FeatureStore 이니셜라이저

    creation_mode

    FeatureStore.update_entity

    desc

    FeatureStore.register_feature_view

    block, overwrite

    FeatureStore.list_feature_views

    entity_name, feature_view_name

    FeatureStore.get_refresh_history

    verbose

    Feature:Store.retrieve_feature_values

    spine_timestamp_col, exclude_columns, include_feature_view_timestamp_col

    FeatureStore.generate_training_set

    save_as, spine_timestamp_col, spine_label_cols, exclude_columns, include_feature_view_timestamp_col

    FeatureStore.generate_dataset

    version, spine_timestamp_col, spine_label_cols, exclude_columns, include_feature_view_timestamp_col, desc, output_type

  • list_feature_views 의 출력에 새로운 열 warehouse 를 추가합니다.

버그 수정 사항

모델링 버그 수정 사항:

  • SimpleImputer 가 정수 열에 정수 값을 대입할 수 없는 문제를 수정했습니다.

모델 레지스트리 버그 수정 사항:

  • 0이 아닌 인덱스 기반 pandas Dataframe ModelVersion.run 을 제공할 때 발생하는 문제를 수정했습니다.

새로운 기능

새로운 Feature Store 기능:

  • FeatureView 와 이름/버전 문자열을 모두 허용하도록 특정 메서드에 오버로드를 추가했습니다. 영향을 받는 API에는 read_feature_view, refresh_feature_view, get_refresh_history, resume_feature_view, suspend_feature_view, delete_feature_view 가 포함됩니다.

  • 모든 공개 API에 대한 docstring 인라인 예를 추가했습니다.

  • 공개 노트북을 단순화하기 위해 원본 데이터 로딩에 도움이 되는 ExampleHelper 유틸리티 클래스를 추가했습니다.

  • update_entity 메서드를 추가했습니다.

  • 기본 웨어하우스를 재정의하기 위해 FeatureView 생성자에 warehouse 인자를 추가했습니다.

새로운 Model Registry 기능:

  • XGBoost, LightGBM 및 Catboost 모델을 등록할 때 설명 기능을 활성화하는 옵션을 추가했습니다.

  • ModelVersion 오브젝트에서 모델을 로깅하기 위한 지원을 추가했습니다.

새로운 모델링 기능:

  • 다음을 실행하여 분산형 하이퍼 매개 변수 최적화에서 10GB 학습 데이터 크기 제한을 비활성화할 수 있습니다.

    from snowflake.ml.modeling._internal.snowpark_implementations import ( distributed_hpo_trainer, )
    distributed_hpo_trainer.ENABLE_EFFICIENT_MEMORY_USAGE = False
    
    Copy

버전 1.5.4(2024-07-11)

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • Snowpark Container Services에 모델을 배포할 때 발생하는 “401 Unauthorized” 문제를 수정했습니다.

Feature Store 버그 수정 사항:

  • 속성 setter의 일부 예외가 경고로 다운그레이드되어 “초안” 특징 뷰에서 desc, refresh_freq, warehouse 를 변경할 수 있게 되었습니다.

모델링 버그 수정 사항:

  • categories 매개 변수로 사전을 사용하고 pandas DataFrame에 있는 데이터를 사용하여 OneHotEncoderOrdinalEncoder 를 호출할 때 발생하는 문제를 수정했습니다.

새로운 기능

새로운 Model Registry 기능:

  • Hugging Face 파이프라인 모델을 로드할 때 device_mapdevice 를 재정의할 수 있습니다.

  • 모델 버전의 별칭을 관리하기 위해 ModelVersion 인스턴스에 set_aliasunset_alias 메서드를 추가합니다.

  • 모델에 분할 추론 메서드를 생성하기 위해 partitioned_inference_api 데코레이터를 추가합니다.

새로운 Feature Store 기능:

  • list_feature_views 메서드의 출력에 새로운 refresh_freq, refresh_mode, scheduling_state 열이 추가되었습니다.

  • update_feature_view 메서드는 이제 특징 뷰의 설명 업데이트를 지원합니다.

  • 새로운 메서드 refresh_feature_viewget_refresh_history 는 특징 뷰의 업데이트를 관리합니다.

  • 새로운 메서드 generate_training_set 는 테이블 기반 특징 스냅샷을 생성합니다. generate_dataset(..., output_type="table") 은 더 이상 사용되지 않으며 DeprecationWarning 을 생성합니다.

새로운 Modeling 기능:

  • OneHotEncoderOrdinalEncoder 는 이제 categories 인자에 대해 배열과 같은 값의 목록을 허용합니다.

버전 1.5.3(2024-06-17)

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • 저장 프로시저에서 100,000개가 넘는 행이 있는 pandas Dataframe을 ModelVersion.run 메서드의 입력으로 사용할 때 잘못된 결과가 발생하는 문제를 수정했습니다.

모델링 버그 수정 사항:

  • OneHotEncoderOrdinalEncoder 에 카테고리를 사전이나 pandas DataFrame으로 전달하는 것과 관련된 문제를 수정합니다.

새로운 기능

새로운 Model Registry 기능:

  • Model Registry는 이제 입력 및 출력 데이터에서 타임스탬프(TIMESTAMP_NTZ) 열을 지원합니다.

새로운 모델링 기능:

  • OneHotEncoderOrdinalEncoder 는 이제 categories 인자에 대해 배열과 같은 값의 목록을 지원합니다.

새로운 데이터 세트 기능:

  • 이제 DatasetVersion 인스턴스에는 label_colsexclude_cols 속성이 있습니다.

버전 1.5.2(2024-06-10)

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • 저장 프로시저에서 log_model 에 대한 호출을 방해하는 문제를 수정했습니다.

모델링 버그 수정 사항:

  • 패키지 종속성 오류로 인해 import snowflake.ml.modeling.parameters.enable_anonymous_sproc 가 작동하지 않는 문제를 빠르게 수정합니다.

버전 1.5.1(2024-05-22)

새로운 기능

새로운 Model Registry 기능:

  • 이제 log_model, get_model, delete_model 메서드는 정규화된 이름을 지원합니다.

새로운 모델링 기능:

  • 이제 피팅 중에 익명 저장 프로시저를 사용할 수 있으므로 모델링에 레지스트리 스키마에서 작업하는 데 권한이 필요하지 않습니다. 이 기능을 활성화하려면 import snowflake.ml.modeling.parameters.enable_anonymous_sproc 을 호출합니다.

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • 이전의 모델 로드 관련 문제를 수정했습니다.

버전 1.5.0(2024-05-01)

동작 변경 사항

모델 레지스트리 동작 변경 사항:

  • 이제 fit_transform 메서드는 메서드에 전달된 DataFrame의 종류에 따라 Snowpark DataFrame 또는 pandas DataFrame 중 하나를 반환할 수 있습니다.

새로운 기능

새로운 Model Registry 기능:

  • 레지스트리(ModelVersion.export)로부터 모델 내보내기에 대한 지원이 추가되었습니다.

  • 기본 모델 오브젝트(ModelVersion.load) 로드에 대한 지원이 추가되었습니다.

  • 모델 이름 바꾸기(Model.rename)에 대한 지원이 추가되었습니다.

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • “잘못된 매개 변수 SHOW_MODEL_DETAILS_IN_SHOW_VERSIONS_IN_MODEL” 오류를 수정했습니다.

버전 1.4.1(2024-04-18)

새로운 기능

새로운 Model Registry 기능:

  • catboost 모델(catboost.CatBoostClassifier, catboost.CatBoostRegressor)에 대한 지원이 추가되었습니다.

  • lightgbm 모델(lightgbm.Booster, lightgbm.LightGBMClassifier, lightgbm.LightGBMRegressor)에 대한 지원이 추가되었습니다.

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • relax_version 옵션이 작동하지 않던 버그가 수정되었습니다.

버전 1.4.0(2024-04-08)

동작 변경 사항

모델 레지스트리 동작 변경 사항:

  • apply 메서드는 더 이상 XGBoost 모델을 로깅할 때 기본적으로 대상 메서드로 포함되지 않습니다. 로깅된 모델에서 이 메서드를 사용해야 하는 경우 target-methods 옵션에 수동으로 포함시킵니다.

    log_model(..., options={"target_methods": ["apply", ...]})
    
    Copy

새로운 기능

새로운 모델 레지스트리 기능:

  • 이제 레지스트리는 로깅 문장 변환기 모델(sentence_transformers.SentenceTransformer)을 지원합니다.

  • 모델을 기록할 때 version_name 인자는 더 이상 필요하지 않습니다. 제공되지 않은 경우 사람이 읽을 수 있는 임의의 ID가 생성됩니다.

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • 동일한 쿼리에서 여러 모델을 호출하면 첫 번째 모델 이후의 모델이 잘못된 결과를 반환하는 문제를 수정했습니다. 이 수정 사항은 모델이 로깅될 때 적용되며 기존 모델에는 적용되지 않으므로 이 동작을 수정하려면 모델을 다시 로깅해야 합니다.

모델링 버그 수정 사항:

  • Snowpark ML 모델의 모델 서명에 save_model 에 언급된 메서드만 추가되는 모델 등록 버그를 수정했습니다.

  • predictpredict_log_probe 같은 일괄 추론 메서드에서 n_jobs 가 1이 아닐 때 메서드가 실행되지 않던 버그를 수정했습니다.

  • 데이터의 첫 번째 행에 NULL이 포함된 경우 데이터 유형을 추론할 수 없던 일괄 추론 메서드의 버그를 수정했습니다.

  • 이제 분산 하이퍼파라미터 최적화의 출력 열 이름이 Snowflake 식별자와 올바르게 일치합니다.

  • 분산 하이퍼파라미터 최적화 메서드의 종속성 버전이 너무 엄격하여 이러한 메서드가 실패하는 원인이 되었던 문제를 완화했습니다.

  • 이제 scikit-learn이 LightGBM 패키지의 종속성으로 나열됩니다.

버전 1.3.1(2024-03-21)

새로운 기능

FileSet/FileSystem 업데이트:

  • 이제 UDFs 및 저장 프로시저에서 snowflake.ml.fileset.sfcfs.SFFileSystem 을 사용할 수 있습니다.

버전 1.3.0(2024-03-12)

동작 변경 사항

모델 레지스트리 동작 변경 사항:

  • 이전에 발표한 대로 이제 relax_version 옵션(log_modeloptions 인자)의 기본값은 True 이며, 대부분의 경우 Snowflake에서 사용 가능한 종속성 버전을 허용하여 더욱 안정적인 배포가 가능합니다.

  • 이제 모델 메서드를 실행할 때 값 범위 기반 입력 유효성 검사(입력이 넘쳐나는 것을 방지)를 선택 사항으로 설정할 수 있습니다. 이렇게 하면 성능이 향상되고 대부분의 모델 유형에서 문제가 발생하지 않습니다. 유효성 검사를 활성화하려면 모델의 run 메서드를 호출할 때 명명된 인자 strict_input_validation=True 를 전달합니다.

모델 개발 동작 변경 사항:

  • 이제 fit_predict 메서드는 입력 데이터의 유형에 따라 pandas 또는 Snowpark DataFrame을 반환하며, 기본 scikit-learn, xgboost 또는 lightgbm 클래스에서 사용할 수 있는 모든 클래스에서 사용할 수 있습니다.

새로운 기능과 업데이트

FileSet/FileSystem 업데이트:

  • 이제 snowflake.ml.fileset.sfcfs.SFFileSystem 의 인스턴스를 pickle 로 직렬화할 수 있습니다.

버그 수정 사항

모델 레지스트리 버그 수정 사항:

  • 일부 상황에서 log_model 가져오기 관련 문제를 수정했습니다.

  • 배열 기능으로 입력 Snowpark DataFrame의 유효성을 검사할 때 잘못된 오류 메시지가 표시되던 문제를 수정했습니다.

모델 개발 버그 수정 사항:

  • 설치된 버전의 종속성을 Snowflake conda 채널에서 사용할 수 없는 경우 모든 추론 메서드에 대한 패키지 버전을 완화했습니다.

버전 1.2.3(2024-02-26)

새로운 기능과 업데이트

모델 개발 업데이트:

  • 이제 모든 모델링 클래스에는 주어진 샘플의 로그 가능성을 계산하는 score_samples 메서드가 포함됩니다.

모델 레지스트리 업데이트:

  • 10진수 유형 특성은 오류를 생성하는 대신 (경고와 함께) 자동으로 DOUBLE 또는 FLOAT로 형변환됩니다.

  • 현재 지원되지 않는 pip-requirements 옵션에 대한 오류 메시지를 개선합니다.

  • 이제 모델 버전을 삭제할 수 있습니다.

버그 수정 사항

모델 개발 수정 사항:

  • precision_recall_fscore_supportaverage="samples" 로 잘못된 결과를 반환했습니다.

모델 레지스트리 수정 사항:

  • 최근 Snowflake 동작 변경으로 인해 비공개 미리 보기 모델 레지스트리 API 아래에 새로 생성된 레지스트리에서 설명, 모델, 태그가 올바르게 검색되지 않았습니다.

버전 1.2.2(2024-02-13)

새로운 기능과 업데이트

모델 레지스트리 업데이트:

  • 이제 비공개 미리 보기 레지스트리 API를 사용하여 Snowpark Container Services에 모델을 배포할 때 외부 액세스 통합을 지정할 수 있으므로 모델이 배포 중에 인터넷에 액세스하여 종속성을 검색할 수 있습니다. 모든 배포에는 다음 엔드포인트가 필요합니다.

    • docker.com:80

    • docker.com:443

    • anaconda.com:80

    • anaconda.com:443

    • anaconda.org:80

    • anaconda.org:443

    • pypi.org:80

    • pypi.org:443

    HuggingFacePipeLineModel 에서 파생된 모델의 경우 다음 엔드포인트가 필요합니다.

    • huggingface.com:80

    • huggingface.com:443

    • huggingface.co:80

    • huggingface.co:443

버전 1.2.1(2024-01-25)

새로운 기능과 업데이트

모델 개발 업데이트:

  • 가능한 경우 변환기의 열 데이터 타입을 추론합니다.

모델 레지스트리 업데이트:

  • (log_modeloptions 인자에서) relax_version 옵션은 True 로 설정된 경우 최신 부 버전을 허용하도록 명시된 버전의 종속성을 완화합니다.

버전 1.2.0(2024-01-12)

새로운 기능과 업데이트

모델 레지스트리의 공개 미리 보기 릴리스입니다. Snowflake Model Registry 섹션을 참조하십시오. 모델 레지스트리의 이전 비공개 미리 보기 릴리스는 더 이상 사용되지 않지만, 공개 미리 보기 버전에서 아직 제공되지 않는 기능을 포함하는 동안은 계속 지원할 예정입니다.

모델 개발 업데이트:

  • AgglomerativeClustering, DBSCAN 및 OPTICS 클래스에 fit_predict 메서드에 대한 지원을 추가했습니다.

  • MDS, SpectralEmbedding 및 TSNE 클래스에 fit_transform 메서드에 대한 지원을 추가했습니다.