Container Runtime für ML

Überblick

Container Runtime für ML besteht aus einer Reihe von vorkonfigurierten, anpassbaren Umgebungen für maschinelles Lernen auf Snowpark Container Services, die interaktive Experimente und Batch-ML-Workloads wie Modelltraining, Hyperparameter-Tuning, Batch-Inferenz und Fine-Tuning abdecken. Dazu gehören die beliebtesten Frameworks für maschinelles Lernen und Deep Learning. In Verbindung mit Snowflake-Notebooks bieten sie ein umfassendes ML-Erlebnis.

Ausführungsumgebung

Container Runtime for ML bietet eine Umgebung mit Paketen und Bibliotheken, die eine Vielzahl von ML-Entwicklungsaufgaben innerhalb von Snowflake unterstützen. Zusätzlich zu den vorinstallierten Paketen können Sie Pakete aus externen Quellen importieren, z. B. aus öffentlichen PyPI-Repositorys oder intern gehosteten Paket-Repositorys, die eine Liste von Paketen bereitstellen, die für die Verwendung in Ihrer Organisation zugelassen sind.

Die Ausführung Ihrer benutzerdefinierten Python-ML-Workloads und der unterstützten Training-APIs erfolgt innerhalb von Snowpark Container Services, das die Möglichkeit bietet, auf CPU- oder GPU-Computepools zu laufen. Bei der Verwendung der Snowflake-ML APIs verteilt Container Runtime für ML die Verarbeitung über die verfügbaren Ressourcen.

Verteilte Verarbeitung

Die Modellierung und das Laden von Daten in Snowflake-ML APIs basieren auf dem verteilten Verarbeitungssystem von Snowflake-ML, das die Auslastung der Ressourcen maximiert, indem es die verfügbare Rechenleistung voll ausschöpft. Dieses Framework verwendet standardmäßig alle GPUs auf mehrerenGPU-Knoten, was im Vergleich zu Open-Source-Paketen erhebliche Leistungsverbesserungen bietet und die Laufzeit insgesamt verkürzt.

Das Diagramm zeigt, wie die Workload bei der Verarbeitung von ML verteilt wird.

Die Machine Learning-Workloads, einschließlich des Ladens von Daten, werden in einer von Snowflake verwalteten Rechenumgebung ausgeführt. Das Framework ermöglicht eine dynamische Skalierung der Ressourcen auf der Grundlage der spezifischen Anforderungen der jeweiligen Aufgabe, wie z. B. dem Training von Modellen oder dem Laden von Daten. Die Anzahl der Ressourcen, einschließlich GPU und die Zuweisung von Speicher für jede Aufgabe, kann einfach über die bereitgestellte APIs konfiguriert werden.

Optimiertes Laden von Daten

Die Container Runtime bietet eine Reihe von Datenkonnektoren APIs, die es ermöglichen, Snowflake-Datenquellen (einschließlich Tabellen, DataFrames und Datensets) mit gängigen ML-Frameworks wie PyTorch und TensorFlow zu verbinden und dabei die Vorteile mehrerer Kerne oder GPUs voll auszunutzen. Sobald die Daten geladen sind, können sie mit Open-Source-Paketen oder einer der ML-APIs von Snowflake verarbeitet werden. Diese APIs finden Sie im Namespace snowflake.ml.data.

Die Klasse snowflake.ml.data.data_connector.DataConnector verbindet die Snowpark-DataFrames oder Snowflake ML-Datensets mit TensorFlow oder PyTorch-DataSets oder Pandas-DataFrames. Klasse Instanziieren Sie einen Konnektor mit einer der folgenden Methoden der Klasse:

  • DataConnector.from_dataframe: Akzeptiert einen Snowpark-DataFrame.

  • DataConnector.from_dataset: Akzeptiert ein Snowflake-ML-Datenset, das durch Name und Version spezifiziert ist.

  • DataConnector.from_sources: Akzeptiert eine Liste von Quellen, von denen jede eine DataFrame oder ein Datenset sein kann.

Sobald Sie den Konnektor instanziiert haben (indem Sie die Instanz, zum Beispiel data_connector aufrufen), rufen Sie die folgenden Methoden auf, um die gewünschte Art von Ausgabe zu erzeugen.

  • data_connector.to_tf_dataset: Liefert ein TensorFlow-Datenset, das für die Verwendung mit TensorFlow geeignet ist.

  • data_connector.to_torch_dataset: Liefert ein PyTorch-Datenset, das für die Verwendung mit PyTorch geeignet ist.

Weitere Informationen zu diesen APIs finden Sie in der Snowflake ML API-Referenz.

Entwicklung mit Open Source

Mit den grundlegenden CPU- und GPU-Images, die bereits mit gängige ML-Pakete enthalten, und der Flexibilität, zusätzliche Bibliotheken über pip zu installieren, können Benutzer vertraute und innovative Open-Source-Frameworks innerhalb von Snowflake Notebooks einsetzen, ohne Daten aus Snowflake herauszubewegen. Sie können die Verarbeitung skalieren, indem Sie die verteilten APIs von Snowflake für das Laden von Daten, das Training und die Optimierung von Hyperparametern verwenden – mit den vertrauten APIs von gängigen-OSS Paketen und kleinen Änderungen an der Weboberfläche zur Konfiguration der Skalierung.

Der folgende Code veranschaulicht die Erstellung eines XGBoost-Klassifikators unter Verwendung dieser APIs:

from snowflake.snowpark.context import get_active_session
from snowflake.ml.data.data_connector import DataConnector
import pandas as pd
import xgboost as xgb
from sklearn.model_selection import train_test_split

session = get_active_session()

# Use the DataConnector API to pull in large data efficiently
df = session.table("my_dataset")
pandas_df = DataConnector.from_dataframe(df).to_pandas()

# Build with open source

X = df_pd[['feature1', 'feature2']]
y = df_pd['label']

# Split data into test and train in memory
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.15, random_state=34)

# Train in memory
model = xgb.XGBClassifier()
model.fit(X_train, y_train)

# Predict
y_pred = model.predict(X_test)
Copy

Optimiertes Training

Container Runtime for ML bietet eine Reihe von APIs für verteiltes Training, einschließlich verteilter Versionen von LightGBM, PyTorch und XGBoost, die die verfügbaren Ressourcen in der Container-Umgebung voll ausnutzen. Diese finden Sie im Namespace snowflake.ml.modeling.distributors. Die APIs der verteilten Klassen sind ähnlich wie die der Standard Versionen.

Weitere Informationen zu diesen APIs finden Sie in der API-Referenz.

XGBoost

Die primäre Klasse XGBoost ist snowflake.ml.modeling.distributors.xgboost.XGBEstimator. Verwandte Klassen sind:

  • snowflake.ml.modeling.distributors.xgboost.XGBScalingConfig

Ein Beispiel für die Arbeit mit diesem API finden Sie im XGBoost auf GPU Beispiel-Notebook im Snowflake Container Runtime für ML GitHub-Repository.

LightGBM

Die primäre Klasse LightGBM ist snowflake.ml.modeling.distributors.lightgbm.LightGBMEstimator. Verwandte Klassen sind:

  • snowflake.ml.modeling.distributors.lightgbm.LightGBMScalingConfig

Ein Beispiel für die Arbeit mit diesem API finden Sie im LightGBM auf GPU Beispiel-Notebook im Snowflake Container Runtime für ML GitHub-Repository.

PyTorch

Die primäre Klasse PyTorch ist snowflake.ml.modeling.distributors.pytorch.PyTorchDistributor. Verwandte Klassen und Funktionen sind:

  • snowflake.ml.modeling.distributors.pytorch.WorkerResourceConfig

  • snowflake.ml.modeling.distributors.pytorch.PyTorchScalingConfig

  • snowflake.ml.modeling.distributors.pytorch.Context

  • snowflake.ml.modeling.distributors.pytorch.get_context

Ein Beispiel für die Arbeit mit diesem API finden Sie im PyTorch auf GPU Beispiel-Notebook im Snowflake Container Runtime für ML GitHub-Repository.

Snowflake ML Modeling APIs

Wenn Snowflake ML APIs in einem Notebook verwendet werden, erfolgt die gesamte Ausführung in Container Runtime und nicht im Abfrage-Warehouse, mit Ausnahme der snowflake.ml.modeling.preprocessing APIs, die im Abfrage-Warehouse ausgeführt werden.

Einschränkungen

  • Die Snowflake ML Modeling API unterstützt nur predict-, predict_proba- und predict_log_proba- Inferenzmethoden auf Container Runtime for ML. Andere Methoden werden im Abfrage-Warehouse ausgeführt.

  • Die Snowflake ML Modeling API unterstützt nur sklearn-kompatible Pipelines auf Container Runtime for ML.

  • Snowflake ML Modeling API unterstützt keine Vorverarbeitungs- oder Metrikklassen auf Container Runtime for ML. Diese APIs werden im Abfrage-Warehouse ausgeführt.

  • Die Methoden fit, predict und score werden auf Container Runtime für ML ausgeführt. Andere Snowflake-ML-Methoden werden im Abfrage-Warehouse ausgeführt.

  • sample_weight_cols wird für die XGBoost- oder LightGBM- nicht unterstützt.

Container Runtime Image-Spezifikation

Sie können zwischen CPU- oder GPU Image-Typen wählen, wenn Sie ein Notebook erstellen, das auf Container Runtime laufen soll. Auf beiden Images sind gängige ML-Frameworks wie scikit-learn und PyTorch vorinstalliert. Sie können auch Snowpark ML und alles, was dazu gehört, verwenden.

Vollständige Liste für CPU-v1-Image

Diese Tabelle enthält eine vollständige Liste der Python-Pakete, die auf dem CPU-v1-Image vorinstalliert sind:

Paket

Version

absl-py

1.4.0

aiobotocore

2.7.0

aiohttp

3.9.5

aiohttp-cors

0.7.0

aioitertools

0.12.0

aiosignal

1.2.0

aiosignal

1.3.1

altair

5.4.1

annotated-types

0.6.0

anyio

3.5.0

appdirs

1.4.4

arviz

0.17.1

asn1crypto

1.5.1

asttokens

2.0.5

async-timeout

4.0.3

async-timeout

4.0.3

atpublic

4,0

attrs

23.1.0

attrs

23.2.0

backoff

2.2.1

bayesian-optimization

1.5.1

blinker

1.6.2

botocore

1.31.64

bottleneck

1.3.7

brotli

1.0.9

cachetools

5.3.3

causalpy

0.4.0

certifi

2024.8.30

cffi

1.16.0

charset-normalizer

3.3.2

click

8.1.7

clikit

0.6.2

cloudpickle

2.2.1

cmdstanpy

1.2.4

colorama

0.4.6

colorful

0.5.4

cons

0.4.6

contourpy

1.2.0

crashtest

0.3.1

cryptography

42.0.8

cycler

0.11.0

datasets

2.16.1

decorator

5.1.1

deprecated

1.2.13

dill

0.3.7

distlib

0.3.8

etuples

0.3.9

evaluate

0.4.2

exceptiongroup

1.2.0

executing

0.8.3

filelock

3.13.1

flask

3.0.3

fonttools

4.51.0

frozenlist

1.4.0

frozenlist

1.4.1

fsspec

2023.10.0

gitdb

4.0.7

gitpython

3.1.41

gmpy2

2.1.2

google-api-core

2.19.1

google-auth

2.29.0

googleapis-common-protos

1.63.2

graphviz

0.20.1

grpcio

1.66.1

grpcio-tools

1.62.3

gunicorn

22.0.0

h5netcdf

1.2.0

h5py

3.11.0

holidays

0,57

httpstan

4.13.0

huggingface-hub

0.24.6

idna

3.6

idna

3.7

importlib-metadata

6.11.0

importlib-resources

6.4.5

ipython

8.27.0

itsdangerous

2.2.0

jedi

0.19.1

jinja2

3.1.4

jmespath

1.0.1

joblib

1.4.2

jsonschema

4.19.2

jsonschema-specifications

2023.7.1

kiwisolver

1.4.4

lightgbm

3.3.5

lightgbm-ray

0.1.9

logical-unification

0.4.6

markdown-it-py

2.2.0

markupsafe

2.1.3

marshmallow

3.22.0

matplotlib

3.8.4

matplotlib-inline

0.1.6

mdurl

0.1.0

minikanren

1.0.3

mkl-fft

1.3.10

mkl-random

1.2.7

mkl-service

2.4.0

mlruntimes-client

0.2.0

mlruntimes-service

0.2.0

modin

0.31.0

mpmath

1.3.0

msgpack

1.0.3

multidict

6.0.4

multidict

6.0.5

multipledispatch

0.6.0

multiprocess

0.70.15

narwhals

1.8.4

networkx

3,3

nltk

3.9.1

numexpr

2.8.7

numpy

1.24.3

opencensus

0.11.3

opencensus-context

0.1.3

opencv-python

4.10.0.84

opentelemetry-api

1.23.0

opentelemetry-exporter-otlp-proto-common

1.23.0

opentelemetry-exporter-otlp-proto-grpc

1.25.0

opentelemetry-proto

1.23.0

opentelemetry-sdk

1.23.0

opentelemetry-semantic-conventions

0.44b0

packaging

23,1

pandas

2.2.3

parso

0.8.3

pastel

0.2.1

patsy

0.5.6

pexpect

4.8.0

pillow

9.5.0

pip

24,2

platformdirs

2.6.2

plotly

5.22.0

ply

3.11

prometheus-client

0.20.0

prompt-toolkit

3.0.43

prophet

1.1.5

proto-plus

1.24.0

protobuf

4.24.4

psutil

5.9.0

ptyprocess

0.7.0

pure-eval

0.2.2

pyarrow

15.0.0

pyarrow-hotfix

0,6

pyasn1

0.4.8

pyasn1-modules

0.2.8

pycparser

2,21

pydantic

2.8.2

pydantic-core

2.20.1

pydeck

0.9.1

pygments

2.15.1

pyjwt

2.8.0

pylev

1.4.0

pymc

5.16.1

pympler

1.1

pyopenssl

24.2.1

pyparsing

3.0.9

pyqt5

5.15.10

pyqt5-sip

12.13.0

pysimdjson

6.0.2

pysocks

1.7.1

pystan

3.10.0

pytensor

2.13.1

pytensor

2.23.0

python-dateutil

2.8.3+snowflake1

pytimeparse

1.1.8

pytz

2024,1

pytz-deprecation-shim

0.1.0.post0

pyyaml

6.0.1

ray

2.10.0

referencing

0.30.2

regex

2024.7.24

requests

2.32.3

retrying

1.3.4

rich

13.7.1

rpds-py

0.10.6

rsa

4.7.2

s3fs

2023.10.0

safetensors

0.4.4

scikit-learn

1.3.0

scipy

1.13.1

seaborn

0.13.2

setproctitle

1.2.2

setuptools

70.0.0

sip

6.7.12

six

1.16.0

smart-open

5.2.1

smmap

4.0.0

sniffio

1.3.0

snowbooks

1.46.0

snowflake

0.12.1

snowflake-connector-python

3.12.0

snowflake-core

0.12.1

snowflake-legacy

0.12.1

snowflake-ml-python

1.6.2

snowflake-snowpark-python

1.18.0

snowflake-telemetry-python

0.5.0

sortedcontainers

2.4.0

sqlparse

0.5.1

stack-data

0.2.0

stanio

0.5.1

statsmodels

0.14.2

streamlit

1.26.0

sympy

1.13.2

tenacity

8.2.3

tensorboardx

2.6.2.2

threadpoolctl

3.5.0

tokenizers

0.15.1

toml

0.10.2

tomli

2.0.1

tomlkit

0.11.1

toolz

0.12.0

torch

2.3.0

tornado

6.4.1

tqdm

4.66.4

traitlets

5.14.3

transformers

4.36.0

typing-extensions

4.12.2

tzdata

2024,2

tzlocal

4.3.1

unicodedata2

15.1.0

urllib3

2.0.7

validators

0.34.0

virtualenv

20.17.1

watchdog

5.0.3

wcwidth

0.2.5

webargs

8.6.0

werkzeug

3.0.3

wheel

0.43.0

wrapt

1.14.1

xarray

2023.6.0

xarray-einstats

0.6.0

xgboost

1.7.6

xgboost-ray

0.1.19

xxhash

2.0.2

yarl

1.11.0

yarl

1.9.4

zipp

3.17.0

Vollständige Liste für GPU-v1-Image

Diese Tabelle enthält eine vollständige Liste der Python-Pakete, die auf dem GPU-v1-Image vorinstalliert sind:

Paket

Version

absl-py

1.4.0

accelerate

0.34.2

aiobotocore

2.7.0

aiohttp

3.9.5

aiohttp-cors

0.7.0

aioitertools

0.12.0

aiosignal

1.2.0

aiosignal

1.3.1

altair

5.4.1

annotated-types

0.6.0

anyio

3.5.0

appdirs

1.4.4

arviz

0.17.1

asn1crypto

1.5.1

asttokens

2.0.5

async-timeout

4.0.3

async-timeout

4.0.3

atpublic

4,0

attrs

23.1.0

attrs

23.2.0

backoff

2.2.1

bayesian-optimization

1.5.1

blinker

1.6.2

botocore

1.31.64

bottleneck

1.3.7

brotli

1.0.9

cachetools

5.3.3

causalpy

0.4.0

certifi

2024.8.30

cffi

1.16.0

charset-normalizer

3.3.2

click

8.1.7

clikit

0.6.2

cloudpickle

2.0.0

cmake

3.30.3

cmdstanpy

1.2.4

colorama

0.4.6

colorful

0.5.4

cons

0.4.6

contourpy

1.2.0

crashtest

0.3.1

cryptography

42.0.8

cycler

0.11.0

datasets

2.16.1

decorator

5.1.1

deprecated

1.2.13

dill

0.3.7

diskcache

5.6.3

distlib

0.3.8

distro

1.9.0

etuples

0.3.9

evaluate

0.4.2

exceptiongroup

1.2.0

executing

0.8.3

fastapi

0.115.0

filelock

3.13.1

flask

3.0.3

fonttools

4.51.0

frozenlist

1.4.0

frozenlist

1.4.1

fsspec

2023.10.0

gitdb

4.0.7

gitpython

3.1.41

gmpy2

2.1.2

google-api-core

2.19.1

google-auth

2.29.0

googleapis-common-protos

1.63.2

graphviz

0.20.1

grpcio

1.66.1

grpcio-tools

1.62.3

gunicorn

22.0.0

h11

0.14.0

h5netcdf

1.2.0

h5py

3.11.0

holidays

0,57

httpcore

1.0.5

httpstan

4.13.0

httptools

0.6.1

httpx

0.27.2

huggingface-hub

0.24.6

idna

3.6

idna

3.7

importlib-metadata

6.11.0

importlib-resources

6.4.5

interegular

0.3.3

ipython

8.27.0

itsdangerous

2.2.0

jedi

0.19.1

jinja2

3.1.4

jiter

0.5.0

jmespath

1.0.1

joblib

1.4.2

jsonschema

4.19.2

jsonschema-specifications

2023.7.1

kiwisolver

1.4.4

lark

1.2.2

lightgbm

4.5.0

lightgbm-ray

0.1.9

llvmlite

0.43.0

lm-format-enforcer

0.10.3

logical-unification

0.4.6

markdown-it-py

2.2.0

markupsafe

2.1.3

marshmallow

3.22.0

matplotlib

3.8.4

matplotlib-inline

0.1.6

mdurl

0.1.0

minikanren

1.0.3

mkl-fft

1.3.10

mkl-random

1.2.7

mkl-service

2.4.0

mlruntimes-client

0.2.0

mlruntimes-service

0.2.0

modin

0.31.0

mpmath

1.3.0

msgpack

1.0.3

multidict

6.0.4

multidict

6.0.5

multipledispatch

0.6.0

multiprocess

0.70.15

narwhals

1.8.4

nest-asyncio

1.6.0

networkx

3,3

ninja

1.11.1.1

nltk

3.9.1

numba

0.60.0

numexpr

2.8.7

numpy

1.24.3

nvidia-cublas-cu12

12.1.3.1

nvidia-cuda-cupti-cu12

12.1.105

nvidia-cuda-nvrtc-cu12

12.1.105

nvidia-cuda-runtime-cu12

12.1.105

nvidia-cudnn-cu12

8.9.2.26

nvidia-cufft-cu12

11.0.2.54

nvidia-curand-cu12

10.3.2.106

nvidia-cusolver-cu12

11.4.5.107

nvidia-cusparse-cu12

12.1.0.106

nvidia-ml-py

12.560.30

nvidia-nccl-cu12

2.20.5

nvidia-nvjitlink-cu12

12.6.68

nvidia-nvtx-cu12

12.1.105

openai

1.50.1

opencensus

0.11.3

opencensus-context

0.1.3

opencv-python

4.10.0.84

opentelemetry-api

1.23.0

opentelemetry-exporter-otlp-proto-common

1.23.0

opentelemetry-exporter-otlp-proto-grpc

1.25.0

opentelemetry-proto

1.23.0

opentelemetry-sdk

1.23.0

opentelemetry-semantic-conventions

0.44b0

outlines

0.0.46

packaging

23,1

pandas

2.2.3

parso

0.8.3

pastel

0.2.1

patsy

0.5.6

peft

0.5.0

pexpect

4.8.0

pillow

9.5.0

pip

24,2

platformdirs

2.6.2

plotly

5.22.0

ply

3.11

prometheus-client

0.20.0

prometheus-fastapi-instrumentator

7.0.0

prompt-toolkit

3.0.43

prophet

1.1.5

proto-plus

1.24.0

protobuf

4.24.4

psutil

5.9.0

ptyprocess

0.7.0

pure-eval

0.2.2

py-cpuinfo

9.0.0

pyairports

2.1.1

pyarrow

15.0.0

pyarrow-hotfix

0,6

pyasn1

0.4.8

pyasn1-modules

0.2.8

pycountry

24.6.1

pycparser

2,21

pydantic

2.8.2

pydantic-core

2.20.1

pydeck

0.9.1

pygments

2.15.1

pyjwt

2.8.0

pylev

1.4.0

pymc

5.16.1

pympler

1.1

pyopenssl

24.2.1

pyparsing

3.0.9

pyqt5

5.15.10

pyqt5-sip

12.13.0

pysimdjson

6.0.2

pysocks

1.7.1

pystan

3.10.0

pytensor

2.13.1

pytensor

2.23.0

python-dateutil

2.8.3+snowflake1

python-dotenv

1.0.1

pytimeparse

1.1.8

pytz

2024,1

pytz-deprecation-shim

0.1.0.post0

pyyaml

6.0.1

pyzmq

26.2.0

ray

2.10.0

referencing

0.30.2

regex

2024.7.24

requests

2.32.3

retrying

1.3.4

rich

13.7.1

rpds-py

0.10.6

rsa

4.7.2

s3fs

2023.10.0

safetensors

0.4.4

scikit-learn

1.3.0

scipy

1.9.3

seaborn

0.13.2

sentencepiece

0.1.99

setproctitle

1.2.2

setuptools

70.0.0

sip

6.7.12

six

1.16.0

smart-open

5.2.1

smmap

4.0.0

sniffio

1.3.0

snowbooks

1.46.0

snowflake

0.12.1

snowflake-connector-python

3.12.0

snowflake-core

0.12.1

snowflake-legacy

0.12.1

snowflake-ml-python

1.6.2

snowflake-snowpark-python

1.18.0

snowflake-telemetry-python

0.5.0

sortedcontainers

2.4.0

sqlparse

0.5.1

stack-data

0.2.0

stanio

0.5.1

starlette

0.38.6

statsmodels

0.14.2

streamlit

1.26.0

sympy

1.13.2

tenacity

8.2.3

tensorboardx

2.6.2.2

threadpoolctl

3.5.0

tiktoken

0.7.0

tokenizers

0.20.0

toml

0.10.2

tomli

2.0.1

tomlkit

0.11.1

toolz

0.12.0

torch

2.3.1

torchvision

0.18.1

tornado

6.4.1

tqdm

4.66.4

traitlets

5.14.3

transformers

4.45.1

triton

2.3.1

typing-extensions

4.12.2

tzdata

2024,2

tzlocal

4.3.1

unicodedata2

15.1.0

urllib3

2.0.7

uvicorn

0.31.0

uvloop

0.20.0

validators

0.34.0

virtualenv

20.17.1

vllm

0.5.3.post1

vllm-flash-attn

2.5.9.post1

watchdog

5.0.3

watchfiles

0.24.0

wcwidth

0.2.5

webargs

8.6.0

websockets

13,1

werkzeug

3.0.3

wheel

0.43.0

wrapt

1.14.1

xarray

2023.6.0

xarray-einstats

0.6.0

xformers

0.0.27

xgboost

1.7.6

xgboost-ray

0.1.19

xxhash

2.0.2

yarl

1.11.0

yarl

1.9.4

zipp

3.17.0

Nächste Schritte