Snowflake ML Python-Versionshinweise

Dieser Artikel enthält die Versionshinweise für Snowflake ML Python, einschließlich der folgenden, sofern zutreffend:

  • Verhaltensänderungen

  • Neue Features

  • Fehlerkorrekturen für Kunden

Bemerkung

Diese Hinweise enthalten keine Änderungen an Features, die noch nicht angekündigt wurden. Solche Features können im Quellcode von Snowflake ML Python erscheinen, aber nicht in der öffentlichen Dokumentation.

Siehe Snowflake ML: Umfassendes maschinelles Lernen für die Dokumentation.

Überprüfen Sie das snowflake-ml-python-Paket

Alle Snowflake-Pakete sind signiert, sodass Sie ihre Herkunft überprüfen können. Um das Paket snowflake.ml.python zu überprüfen, führen Sie die folgenden Schritte aus:

  1. Installieren Sie cosign. Dieses Beispiel verwendet die Go-Installation: Installation von cosign mit Go.

  2. Laden Sie die Datei von einem Repository wie PyPi herunter.

  3. Laden Sie eine .sig-Datei für dieses Release von der GitHub Releases-Seite herunter.

  4. Überprüfen Sie die Signatur mit cosign. Beispiel:

cosign verify-blob snowflake_ml_python-1.27.0.tar.gz --key snowflake-ml-python-1.27.0.pub --signature resources.linux.snowflake_ml_python-1.27.0.tar.gz.sig

cosign verify-blob snowflake_ml_python-1.27.0.tar.gz --key snowflake-ml-python-1.27.0.pub --signature resources.linux.snowflake_ml_python-1.27.0.tar.gz.sig
Copy

Bemerkung

This example uses the library and signature for version 1.27.0 of the package. Use the filenames of the version you are verifying.

Hinweise zum Veralten

  • snowflake.ml.fileset.FileSet ist veraltet und wird in einer zukünftigen Version entfernt werden. Verwenden Sie stattdessen snowflake.ml.dataset.Dataset und snowflake.ml.data.DataConnector.

  • Die „CamelCase“-Funktionsnamen in snowflake.ml.cortex sind veraltet und werden in einer zukünftigen Version entfernt. Verwenden Sie stattdessen die „snake_case“-Namen für diese Funktionen. Verwenden Sie zum Beispiel classify_text anstelle von ClassifyText.

  • Der partitioned_inference_api-Decorator ist veraltet und wird in einem zukünftigen Release entfernt. Verwenden Sie stattdessen custom_model.partitioned_api.

  • Das additional_payloads-Argument der MLJob.submit_*-Methoden ist veraltet und wird in einem zukünftigen Release entfernt werden. Verwenden Sie stattdessen das imports-Argument.

  • Die snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel-Klasse ist veraltet und wird in einem zukünftigen Release entfernt.

Version 1.27.0 (2026-02-12)

Fehlerkorrekturen

Fehlerkorrekturen an der Modell-Registry:

  • Fehler model_version.run wurde behoben, verursacht durch die Anforderung der READ-Berechtigung für das Modell anstelle von USAGE, wenn die Rolle des Benutzenden nur die USAGE-Berechtigung hatte.

Feature store bug fixes:

  • Fehler register_feature_view wurde durch overwrite=True behoben, wenn die bestehende Feature-Ansicht extern ist und die neue Feature-Ansicht verwaltet wird oder umgekehrt.

Version 1.26.0 (2026-02-05)

Neue Features

Neue Features der Modell-Registry:

  • Modellsignaturen können jetzt Inferenzparameter über ParamSpec enthalten und ermöglicht es Ihnen, konstante Parameter zu definieren, die zur Inferenzzeit übergeben werden, ohne sie in die Eingabedaten aufnehmen zu müssen. Beispiel:

    import pandas as pd
    from snowflake.ml.model import custom_model, model_signature
    from snowflake.ml.registry import Registry
    
    # Define a custom model with inference parameters
    class MyModelWithParams(custom_model.CustomModel):
        @custom_model.inference_api
        def predict(
            self,
            input_df: pd.DataFrame,
            *,
            temperature: float = 1.0,  # keyword-only param with default
        ) -> pd.DataFrame:
            return pd.DataFrame({"output": input_df["feature"] * temperature})
    
    # Create sample data
    model = MyModelWithParams(custom_model.ModelContext())
    sample_input = pd.DataFrame({"feature": [1.0, 2.0, 3.0]})
    sample_output = model.predict(sample_input, temperature=1.0)
    
    # Define ParamSpec for the inference parameter
    params = [
        model_signature.ParamSpec(
            name="temperature",
            dtype=model_signature.DataType.FLOAT,
            default_value=1.0,
        ),
    ]
    
    # Infer signature with params
    sig = model_signature.infer_signature(
        input_data=sample_input,
        output_data=sample_output,
        params=params,
    )
    
    # Log model with the signature
    registry = Registry(session)
    mv = registry.log_model(
        model=model,
        model_name="my_model_with_params",
        version_name="v1",
        signatures={"predict": sig},
    )
    
    # Run inference with custom parameter value
    result = mv.run(sample_input, function_name="predict", params={"temperature": 2.0})
    
    Copy

Neue Funktionen im Feature Store:

  • Neuer Parameter auto_prefix und with_name-Methode zur Vermeidung von Spaltennamen-Kollisionen bei der Verknüpfung mehrerer Feature-Ansichten bei der Datenset-Erstellung.

  • Dynamische Iceberg-Tabellen können jetzt als Unterstützungsspeicher für Feature-Ansichten verwendet werden. Verwenden Sie StorageConfig mit StorageFormat.ICEBERG, um Daten im Apache Iceberg-Format auf einem externen Cloudspeicher zu speichern. Ein neuer Parameter default_iceberg_external_volume ist unter FeatureStore verfügbar, um ein externes Standardvolume für Iceberg-Feature-Ansichten festzulegen.

Version 1.25.1 (2026-02-03)

Keine öffentlich zugänglichen Änderungen. Dieses Release enthält Änderungen an einem Vorschau-Feature, das noch nicht öffentlich angekündigt wurde.

Version 1.25.0 (2026-01-28)

Neue Features

New Model Serving features:

  • Die create_service-Methode akzeptiert ein neues autocapture-Argument, um anzugeben, ob Inferenzdaten erfasst werden sollen (siehe Automatische Erfassung von Inferenzprotokollen für Echtzeit-Inferenz).

  • Die Methoden create_service und log_model_and_create_service akzeptieren jetzt ein optionales min_instances-Argument, um die Mindestanzahl von Instanzen für den Dienst anzugeben. Der Dienst skaliert automatisch zwischen den angegebenen minimalen und maximalen Instanzen, basierend auf Datenverkehr und Hardware-Auslastung. Wenn min_instances 0 ist, wird der Dienst automatisch angehalten, wenn für einen bestimmten Zeitraum kein Datenverkehr festgestellt wird. Der Standardwert für min_instances ist 0.

Version 1.24.0 (22.01.2026)

Neue Features

Neue Funktionen im Feature Store:

  • Tile-based aggregation support using a new Feature API for efficient and point-in-time correct time-series feature computation using pre-computed tiles.

Neue Features der Modell-Registry:

  • SentenceTransformer-Modelle unterstützen jetzt die automatische Signaturableitung. Beim Protokollieren eines SentenceTransformer-Modells ist sample_input_data optional. Die Signatur wird automatisch aus der Einbettungsdimension des Modells abgeleitet, wenn keine Beispiel-Eingabedaten bereitgestellt werden. Die Methoden encode, encode_query, encode_document, encode_queries, encode_documents werden unterstützt.

    import sentence_transformers
    from snowflake.ml.registry import Registry
    
    # Create model
    model = sentence_transformers.SentenceTransformer("all-MiniLM-L6-v2")
    
    # Log model without sample_input_data - signature is auto-inferred
    registry = Registry(session)
    mv = registry.log_model(
        model=model,
        model_name="my_sentence_transformer",
        version_name="v1",
    )
    
    # Run inference with auto-inferred signature (input: "text", output: "output")
    import pandas as pd
    result = mv.run(pd.DataFrame({"text": ["Hello world"]}))
    
    Copy

Version 1.23.0 (2026-01-165)

Neue Features

Neue ML-Job-Features:

  • ML-Jobs unterstützen jetzt Python 3.11 und Python 3.12. Jobs wählen automatisch eine Laufzeitumgebung aus, die der Python-Version des Clients entspricht.

Fehlerkorrekturen

Fehlerkorrekturen an der Modell-Registry:

  • Leere Ausgabe in HuggingFace Token-Klassifizierungmodellen (namens Entity Recognition) verursacht keine Fehler mehr.

Fehlerkorrekturen bei der Modellbereitstellung:

  • Containerstatus wird jetzt korrekt gemeldet und sollte nicht leer sein.

Version 1.22.0 (2026-01-09)

Neue Features

Neue Features der Modell-Registry:

  • Sie können jetzt ein Transformer-Pipeline-Modell mithilfe eines Snowpark Container Services (SPCS)-Jobs extern protokollieren.

    # create reference to the model
    model = huggingface.TransformersPipeline(
        model="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
        task="text-generation",
    )
    
    # Remotely log the model, a SPCS job will run async and log the model
    mv = registry.log_model(
        model=model,
        model_name="tinyllama_remote_log",
        target_platforms=["SNOWPARK_CONTAINER_SERVICES"],
        signatures=openai_signatures.OPENAI_CHAT_SIGNATURE,
    )
    
    Copy

Version 1.21.0 (2026-01-05)

Verhaltensänderungen

Das Verhalten der ML-Jobs ändert sich:

  • Das Verhalten des Parameters additional_payloads ändert sich Verwenden Sie das imports-Argument, um zusätzliche Abhängigkeiten zu deklarieren, wie z. B. ZIP-Dateien und Python-Module. Lokale Verzeichnisse und Python-Dateien werden automatisch komprimiert, und ihr internes Layout wird durch den angegebenen Importpfad bestimmt. Der Importpfad gilt nur für lokale Verzeichnisse, Python-Dateien und Python-Stagingdateien. Dies hat keine Auswirkungen auf andere Importtypen. Beim Verweis auf Dateien in einem Stagingbereich werden nur einzelne Dateien unterstützt, keine Verzeichnisse.

Änderungen der Verhaltensweise der Experimentverfolgung:

  • ExperimentTracking ist jetzt eine Singleton-Klasse.

Fehlerkorrekturen

Korrekturen bei der Verfolgung von Experimenten:

  • Das Erreichen der Größenbeschränkung der Ausführungsmetadaten in log_metrics oder log_params gibt jetzt eine Warnung aus, anstatt eine Ausnahme auszulösen.

Fehlerkorrekturen an der Modell-Registry:

  • ModelVersion.run löst nun einen ValueError-Fehler aus, wenn das Modell ein Nur-SPCS-Modell ist und service_name nicht angegeben wurde.

Neue Vorschau-Features

  • Die create_service-Methode akzeptiert jetzt das boolesche Argument autocapture, um anzugeben, ob Inferenzdaten automatisch erfasst werden.

Neue Release-Features

Neue Features der Modell-Registry:

  • Die neue Klasse snowflake.ml.model.models.huggingface.TransformersPipeline soll snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel ersetzen, obwohl die ältere Klasse noch nicht veraltet ist. Die neue Klasse kennt Modellsignaturen für allgemeine Aufgaben, sodass Sie diese nicht manuell angeben müssen. Folgende Aufgaben werden derzeit unterstützt:

    • fill-mask

    • question-answering

    • summarization

    • table-question-answering

    • text2text-generation

    • text-classification (Alias sentiment-analysis)

    • text-generation

    • token-classification (Alias ner)

    • translation

    • translation_xx_to_yy

    • zero-shot-classification (ermöglicht es Ihnen, Modelle zu protokollieren, ohne sie in den Speicher zu laden)

  • Die list_services API zeigt jetzt einen internen Endpunkt an, der von einem anderen SPCS-Knoten oder Notebook ohne Enterprise Application Integration aus aufgerufen werden kann. Außerdem wird angezeigt, ob die automatische Erfassung für den jeweiligen Dienst aktiviert ist.

Neue DataConnector-Features:

  • Die neue Methode to_huggingface_dataset konvertiert Snowflake-Daten in HuggingFace-Datensets. Unterstützt die Modi In-Memory-Dataset (streaming=False) und Streaming von IterableDataset (streaming=True).

Hinweise zum Veralten

  • Die snowflake.ml.model.models.huggingface_pipeline.HuggingfacePipelineModel-Klasse ist veraltet und wird in einem zukünftigen Release entfernt.