MLOps и инструменты 21 просмотр

NVIDIA Container Toolkit

NVIDIA Container Toolkit

NVIDIA Container Toolkit — набор утилит для использования GPU внутри Docker-контейнеров. Пробрасывает драйверы и устройства NVIDIA в контейнер, позволяя запускать CUDA-приложения без установки драйверов в образ.

Что такое NVIDIA Container Toolkit

NVIDIA Container Toolkit (ранее nvidia-docker) — программный стек, позволяющий Docker-контейнерам использовать GPU хоста. Автоматически пробрасывает:
- Драйверы NVIDIA
- Библиотеки CUDA
- Устройства /dev/nvidia*

Архитектура

Container
├── ML Framework (PyTorch, TensorFlow)
├── CUDA Toolkit
└── libnvidia-container (runtime hook)
    ↓
Host
├── NVIDIA Driver
└── GPU Hardware

Установка

# Ubuntu/Debian
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Использование

# Запуск с GPU
docker run --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi

# Конкретные GPU
docker run --gpus '"device=0,1"' my-ml-image python train.py

# Docker Compose
services:
  ml-worker:
    image: pytorch/pytorch:2.5.0-cuda12.4-cudnn9-runtime
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Базовые образы

Образ Размер Содержит
nvidia/cuda:*-base ~120 MB Только runtime
nvidia/cuda:*-runtime ~1.5 GB + CUDA libraries
nvidia/cuda:*-devel ~3.5 GB + компиляторы, headers
pytorch/pytorch:* ~6 GB + PyTorch
nvcr.io/nvidia/pytorch:* ~15 GB + полный ML-стек

Для инференса используйте -runtime, для сборки — -devel.

Связанные термины

Требует

Попробуйте на практике

Арендуйте GPU и запустите ML-модели в Intelion Cloud

Начать работу