Container Runtime pour ML¶
Vue d’ensemble¶
Container Runtime pour ML est un ensemble d’environnements personnalisables préconfigurés conçus pour le machine learning sur Snowpark Container Services, couvrant l’expérimentation interactive et les charges de travail ML par lots telles que l’entraînement de modèles, le réglage des hyperparamètres, l’inférence par lots et le réglage fin. Cela inclut les frameworks de machine learning et d’apprentissage profond les plus connus. Utilisés avec les Notebooks Snowflake, ils offrent une expérience de ML de bout en bout.
Environnement d’exécution¶
Container Runtime pour ML fournit un environnement rempli de paquets et de bibliothèques qui prennent en charge une grande variété de tâches de développement ML à l’intérieur de Snowflake. En plus des paquets préinstallés, vous pouvez importer des paquets à partir de sources externes telles que des référentiels PyPI publics ou des référentiels de paquets hébergés en interne qui fournissent une liste de paquets approuvés pour une utilisation au sein de votre organisation.
Les exécutions de vos charges de travail ML Python personnalisées et de vos APIs d’entraînement personnalisées se produisent dans Snowpark Container Services, qui offre la possibilité de s’exécuter sur des pools par CPU ou GPU. Lors de l’utilisation d’APIs ML Snowflake, Container Runtime pour ML répartit le traitement entre les ressources disponibles.
Traitement distribué¶
Les APIs de modélisation et de chargement de données de ML Snowflake sont créées à partir du framework de traitement distribué de ML de Snowflake. Celui-ci maximise l’utilisation des ressources en exploitant pleinement la puissance de calcul disponible. Par défaut, ce framework utilise tous les GPUs sur des nœuds de plusieurs GPU, offrant des améliorations de performances significatives par rapport aux paquets open source et réduisant le temps d’exécution global.

Les charges de travail de machine learning, y compris le chargement de données, sont exécutées sur un environnement de calcul géré par Snowflake. Ce framework permet une mise à l’échelle dynamique des ressources en fonction des exigences spécifiques de la tâche à accomplir, telles que l’entraînement de modèles ou le chargement de données. Le nombre de ressources, y compris l’allocation de GPU et de mémoire pour chaque tâche, peut être facilement configuré via les APIs fournies.
Spécification de l’image Container Runtime¶
Vous pouvez choisir entre des types d’images de CPU ou de GPU lors de la création d’un notebook à exécuter sur Container Runtime. Les deux images sont préinstallées avec des frameworks ML populaires, comme scikit-learn et PyTorch. Vous pouvez également utiliser Snowpark ML et tout ce qui va avec.
Liste complète pour une image v1 par CPU¶
Ce tableau est une liste complète des paquets Python préinstallés sur l’image v1 par CPU :
Paquet |
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 |
Liste complète pour une image v1 par GPU¶
Ce tableau est une liste complète des paquets Python préinstallés sur l’image v1 par GPU :
Paquet |
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 |
Prochaines étapes¶
Pour essayer le notebook en utilisant Container Runtime pour ML, voir Notebooks sur Container Runtime pour ML.