Snowflake ML 릴리스 정보¶
이 문서에는 Snowflake ML 에 대한 릴리스 정보가 있는데, 해당되는 경우 다음을 포함합니다.
동작 변경 사항
새로운 기능
고객이 직면한 버그 수정
참고
이 참고 사항에는 공개적으로 발표되지 않은 기능의 변경 사항은 포함되지 않습니다 이러한 기능은 Snowflake ML 소스 코드에는 표시되지만 공개 설명서에는 표시되지 않을 수 있습니다.
설명서는 Snowflake ML: 엔드투엔드 머신 러닝 섹션을 참조하십시오.
버전 1.7.0(2024-10-22)¶
동작 변경 사항¶
일반적인 동작 변경 사항:
이제 최소 필수 버전은 Python 3.9입니다.
데이터 커넥터 동작 변경 사항:
이제
to_torch_dataset
과to_torch_datapipe
는 스칼라 데이터에 대해 1의 차원을 생성합니다. 이를 통해 입력값을 쌓아 배치를 생성하는 PyTorch DataLoader와의 통합이 더욱 원활해집니다. 다음 예에서 그 차이점을 보여줍니다.ds = connector.to_torch_dataset(shuffle=False, batch_size=3)
입력 데이터:
"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})
카테고리형 열에 대한 pandas의
CategoricalDtype
을 지원합니다.log_model
메서드는 이제 설명 가능성과 데이터 계보에서 백그라운드 데이터를 캡처하기 위해signature
및sample_input_data
매개 변수를 모두 허용합니다.
버그 수정 사항¶
Data Connector 버그 수정 사항:
다차원 데이터의 경우
to_torch_dataset
과to_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_CREATE
및ON_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
버전 1.5.4(2024-07-11)¶
버그 수정 사항¶
모델 레지스트리 버그 수정 사항:
Snowpark Container Services에 모델을 배포할 때 발생하는 “401 Unauthorized” 문제를 수정했습니다.
Feature Store 버그 수정 사항:
속성 setter의 일부 예외가 경고로 다운그레이드되어 “초안” 특징 뷰에서
desc
,refresh_freq
,warehouse
를 변경할 수 있게 되었습니다.
모델링 버그 수정 사항:
categories
매개 변수로 사전을 사용하고 pandas DataFrame에 있는 데이터를 사용하여OneHotEncoder
와OrdinalEncoder
를 호출할 때 발생하는 문제를 수정했습니다.
새로운 기능¶
새로운 Model Registry 기능:
Hugging Face 파이프라인 모델을 로드할 때
device_map
및device
를 재정의할 수 있습니다.모델 버전의 별칭을 관리하기 위해
ModelVersion
인스턴스에set_alias
및unset_alias
메서드를 추가합니다.모델에 분할 추론 메서드를 생성하기 위해
partitioned_inference_api
데코레이터를 추가합니다.
새로운 Feature Store 기능:
list_feature_views
메서드의 출력에 새로운refresh_freq
,refresh_mode
,scheduling_state
열이 추가되었습니다.update_feature_view
메서드는 이제 특징 뷰의 설명 업데이트를 지원합니다.새로운 메서드
refresh_feature_view
와get_refresh_history
는 특징 뷰의 업데이트를 관리합니다.새로운 메서드
generate_training_set
는 테이블 기반 특징 스냅샷을 생성합니다.generate_dataset(..., output_type="table")
은 더 이상 사용되지 않으며DeprecationWarning
을 생성합니다.
새로운 Modeling 기능:
OneHotEncoder
와OrdinalEncoder
는 이제categories
인자에 대해 배열과 같은 값의 목록을 허용합니다.
버전 1.5.3(2024-06-17)¶
버그 수정 사항¶
모델 레지스트리 버그 수정 사항:
저장 프로시저에서 100,000개가 넘는 행이 있는 pandas Dataframe을
ModelVersion.run
메서드의 입력으로 사용할 때 잘못된 결과가 발생하는 문제를 수정했습니다.
모델링 버그 수정 사항:
OneHotEncoder
와OrdinalEncoder
에 카테고리를 사전이나 pandas DataFrame으로 전달하는 것과 관련된 문제를 수정합니다.
새로운 기능¶
새로운 Model Registry 기능:
Model Registry는 이제 입력 및 출력 데이터에서 타임스탬프(TIMESTAMP_NTZ) 열을 지원합니다.
새로운 모델링 기능:
OneHotEncoder
와OrdinalEncoder
는 이제categories
인자에 대해 배열과 같은 값의 목록을 지원합니다.
새로운 데이터 세트 기능:
이제
DatasetVersion
인스턴스에는label_cols
및exclude_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", ...]})
새로운 기능¶
새로운 모델 레지스트리 기능:
이제 레지스트리는 로깅 문장 변환기 모델(
sentence_transformers.SentenceTransformer
)을 지원합니다.모델을 기록할 때
version_name
인자는 더 이상 필요하지 않습니다. 제공되지 않은 경우 사람이 읽을 수 있는 임의의 ID가 생성됩니다.
버그 수정 사항¶
모델 레지스트리 버그 수정 사항:
동일한 쿼리에서 여러 모델을 호출하면 첫 번째 모델 이후의 모델이 잘못된 결과를 반환하는 문제를 수정했습니다. 이 수정 사항은 모델이 로깅될 때 적용되며 기존 모델에는 적용되지 않으므로 이 동작을 수정하려면 모델을 다시 로깅해야 합니다.
모델링 버그 수정 사항:
Snowpark ML 모델의 모델 서명에
save_model
에 언급된 메서드만 추가되는 모델 등록 버그를 수정했습니다.predict
및predict_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_model
의options
인자)의 기본값은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_support
는average="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_model
의options
인자에서)relax_version
옵션은True
로 설정된 경우 최신 부 버전을 허용하도록 명시된 버전의 종속성을 완화합니다.
버전 1.2.0(2024-01-12)¶
새로운 기능과 업데이트¶
모델 레지스트리의 공개 미리 보기 릴리스입니다. Snowflake Model Registry 섹션을 참조하십시오. 모델 레지스트리의 이전 비공개 미리 보기 릴리스는 더 이상 사용되지 않지만, 공개 미리 보기 버전에서 아직 제공되지 않는 기능을 포함하는 동안은 계속 지원할 예정입니다.
모델 개발 업데이트:
AgglomerativeClustering, DBSCAN 및 OPTICS 클래스에
fit_predict
메서드에 대한 지원을 추가했습니다.MDS, SpectralEmbedding 및 TSNE 클래스에
fit_transform
메서드에 대한 지원을 추가했습니다.