Container Runtime für ML¶
Übersicht¶
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¶
Die Container Runtime für 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-Pools 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.

Die Workloads für maschinellen Lernen, einschließlich des Ladens von Daten, werden in einer von Snowflake verwalteten Umgebung 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.
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¶
Um das Notebook mit Container Runtime für ML zu testen, besuchen Sie Notebooks auf Container Runtime für ML.