Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Important
Ez a funkció bétaverzióban érhető el. Nem kompatibilis olyan munkahelyekkel, amelyek szerver nélküli kilépési vezérlést (SEG) használnak.
A Docker Container Services (DCS) segítségével saját Docker-tárolórendszerképet hozhat a számítási feladatokhoz air . Szükség esetén használjon egyéni rendszerképet:
- Adott rendszertár-verziók.
- Összetett függőségek, amelyek nem illeszkednek tisztán a
environment.dependencies. - Pontos környezet a kutatási eredmények reprodukálásához.
- A szervezet platformja vagy biztonsági csapata által készített standard rendszerképek.
Előfeltételek
- Telepítse az AI Futtatókörnyezet parancssori felületét.
- Privát képek esetén egy Docker Hub fiók, amely hozzáfér a rendszerképhez.
Kép regisztrálása
Mielőtt egyéni rendszerképpel futtatna egy számítási feladatot, regisztrálja azt a(z) air register image használatával. A regisztráció lekéri és gyorsítótárazza a lemezképet a Databricks platformon. Minden felhasználónak képcímkénként egyszer regisztrálnia kell egy képet. Csak akkor regisztráljon újra, ha új taget tölt fel, vagy lecseréli a hitelesítő adatokat. A regisztráció 2–6 percet vesz igénybe, és addig tart, amíg a lemezkép el nem készül.
Nyilvános képek
Nyilvános képek regisztrálása a Docker-rendszerkép URL-címének és a Databricks-profilnak a megadásával:
air register image docker.io/nvidia/cuda:12.9.0-devel-ubuntu24.04 -p my-databricks-profile
A képhivatkozás rövid alakja is működik. Például: library/ubuntu:latest.
Privát Docker Hub képek
Privát Docker Hub rendszerkép regisztrálásához először hozzon létre egy személyes hozzáférési jogkivonatot. A Docker Hub fiók beállításai között kattintson a Személyes hozzáférési jogkivonatok → Új jogkivonat létrehozása elemre. Elegendő a csak olvasási hozzáférés.
Válasszon az alábbi hitelesítési módszerek közül:
Docker-bejelentkezés használata (interaktív használatra ajánlott)
Jelentkezzen be a Docker Hubba a terminálban. A rendszer kérni fogja a Docker Hub felhasználónevet és a személyes hozzáférési jogkivonatot:
docker login
Ez tárolja a hitelesítő adatokat a következő helyen ~/.docker/config.json: . Ezután regisztrálja a képet – air automatikusan felolvassa a hitelesítő adatokat:
air register image myorg/myrepo:mytag -p my-databricks-profile
Interaktív hitelesítés használata
Hitelesítő adatok hitelesítése és tárolása egy Databricks-titkos hatókörben egy lépésben:
air register image myorg/myrepo:mytag --interactive-authenticate -p my-databricks-profile
A rendszer kérni fogja Docker Hub felhasználónevét és személyes hozzáférési jogkivonatát. A hitelesítő adatokat a rendszer a munkaterület titkos hatókörében tárolja a későbbi regisztrációkhoz.
Előre tárolt Databricks-titkos kód használata (CI/szkriptekhez ajánlott)
Hitelesítő adatokat tároljon egy Databricks-titkos kódban, és hivatkozzon rá közvetlenül:
air register image myorg/myrepo:mytag --scope my-secret-scope --key my-docker-key -p my-databricks-profile
Docker-rendszerkép használata számítási feladatban
Adja meg a Docker-rendszerképet a számítási feladat YAML-ben a következő alatt environment.docker_image.url:
experiment_name: my-dcs-training
environment:
docker_image:
url: myorg/myrepo:mytag
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: python /app/train.py
Saját Docker-rendszerkép használata esetén a(z) environment.dependencies és environment.version nem támogatott. A(z) environment.docker_image.url bármelyik mezővel való megadása hibát eredményez. Ha további függőségei vannak, telepítse inkább a csomagokat a Dockerfile-ban.
Küldje el a számítási feladatot:
air run --file workload.yaml -p my-databricks-profile
A tárolóba injektált környezeti változók
Az AI-futtatókörnyezet a következő környezeti változókat injektálja minden tárolóba futásidőben:
-
NUM_NODES– csomópontok teljes száma. -
LOCAL_WORLD_SIZE— GPU-k csomópontonként. -
WORLD_SIZE– folyamatok teljes száma. -
POD_RANK— a csomópont aktuális rangja (0 indexelt). Szintén be van szúrva:NODE_RANK. -
LOCAL_ADDR— helyi csomópont IP-címe (csak többcsomópontos). -
MASTER_ADDR— rank-0 koordinációs cím (csak több csomópontos konfiguráció esetén). -
MASTER_PORT— rank-0 koordinációs port (csak többcsomópontos konfigurációban).
Examples
Egycsomópontos A10
experiment_name: my-dcs-single-node
environment:
docker_image:
url: myorg/myrepo:mytag
compute:
num_accelerators: 1
accelerator_type: GPU_1xA10
command: python3 /app/train.py
RDMA-s, többcsomópontú H100
Az AWS p5 példányokon teljes hálózati sávszélességet igénylő, többcsomópontos H100-feladatokhoz az image-et a Databricks base image-ek egyikére alapozza, amelyeken az NCCL és az EFA előre konfigurálva van:
experiment_name: my-dcs-distributed
environment:
docker_image:
url: myorg/myrepo:mytag
compute:
num_accelerators: 16 # 2 nodes × 8 H100
accelerator_type: GPU_8xH100
command: |-
torchrun \
--nnodes="${NUM_NODES}" \
--nproc_per_node="${LOCAL_WORLD_SIZE}" \
--node_rank="${POD_RANK}" \
--rdzv_endpoint="${MASTER_ADDR}:${MASTER_PORT}" \
/app/train.py
Saját rendszerkép létrehozása
Saját rendszerkép létrehozásakor a Databricks azt javasolja, hogy használjon databricks-ai-runtime készséget egy kódolóügynökkel, vagy induljon ki egy Databricks-alaprendszerképből.
Kódolóügynök használata
Telepítse a databricks-ai-runtime Claude Code jártasságot a Dockerfile részletes útmutatójához, beleértve az alapoktól való építést, a CUDA/NCCL/EFA kompatibilitást, a gyakori problémákat és a build előtti ellenőrzőlistát. Ehhez a képességhez a Databricks CLI 1.0.0-s vagy újabb verziója szükséges.
databricks aitools install --skills databricks-ai-runtime --experimental
A Databricks alaprendszerképei
A Databricks a Docker Hubon, a databricksruntime/air címen tesz közzé olyan base image-eket, amelyekben a CUDA, az NCCL és a felhőspecifikus hálózati beállítások (AWS EFA vagy Azure InfiniBand) előre konfigurálva vannak.
| Címke | Felhő | Variant | Használja amikor |
|---|---|---|---|
dcs-base-aws-runtime |
AWS | Runtime | Csak előre elkészített kerekek telepítése |
dcs-base-aws-devel |
AWS | Devel | CUDA-bővítmények összeállítása (szükséges nvcc) |
dcs-base-azure-runtime |
Azure | Runtime | Csak előre elkészített kerekek telepítése |
dcs-base-azure-devel |
Azure | Devel | CUDA-bővítmények összeállítása (szükséges nvcc) |
Használja a runtime-változatot, kivéve, ha a Dockerfile-ja CUDA-bővítményeket fordít, például flash-attn, apex vagy egyéni kernelek esetén.
Példa a Dockerfile-ra, amely PyTorch-ot ad hozzá egy Databricks-alaprendszerképhez. Az alapképek a /opt/venv helyen biztosítják a Pythont, amelyet a uv kezel.
uv pip install alapértelmezés szerint ezt a környezetet célozza meg; másik környezet használatához hozzon létre és aktiváljon egy venv-t a futtatás uv pip installelőtt.
FROM databricksruntime/air:dcs-base-aws-runtime
RUN uv pip install --no-cache \
torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0
RUN uv pip install --no-cache \
transformers==4.45.0 \
accelerate==0.34.0 \
'mlflow>=3.6'
COPY ./train /app/train
Létrehozás, feltöltés és regisztrálás:
docker build -t myorg/myrepo:mytag .
docker push myorg/myrepo:mytag
air register image myorg/myrepo:mytag --interactive-authenticate -p my-databricks-profile
Requirements
- A lemezképeket a Docker Hubon kell tárolni. Az Amazon ECR, a Google GCR és a GitHub GHCR nem támogatott.
- A képméretnek 20 GB alatt kell lennie.
-
WORKDIRfutásidőben nincs figyelembe véve. Használjon abszolút elérési utakat a képbe sütött fájlokhoz. Használjon példáulpython /app/train.py, nepython train.py. - Nem használhatja a(z)
environment.dependenciesvagyenvironment.versionelemet a(z)environment.docker_image.urlelemmel. Ha a képen láthatónál több csomagra van szüksége, fel kell vennie őket a Dockerfile-ba.
Hibaelhárítás
Ssl. SSLError: [CRYPTO] ismeretlen hiba (_ssl.c) függőségek betöltésekor
Az egyéni lemezkép futásidőben OpenSSL-hibával meghiúsulhat, amikor egy függvénytár SSL-kontextust próbál létrehozni, például:
ssl.SSLError: [CRYPTO] unknown error (_ssl.c:3076)
A hiba a hálózati kapcsolatokat megnyitó kódtárak importálása közben jelenik meg, például huggingface_hub, és megakadályozza a betöltésüket.
Ez azért fordul elő, mert air a számítási feladatok FIPS-kompatibilis gazdagépeken futnak. Ha a rendszerkép titkosítási kódtárai nem FIPS-kompatibilisek, az OpenSSL nem inicializálja FIPS módban, ezért az SSL-környezet létrehozása meghiúsul.
Ajánlott megoldás:
A nagyvállalati, kormányzati, egészségügyi és pénzügyi munkaterhelések gyakran megkövetelik a FIPS 140-2 vagy 140-3 megfelelést a FedRAMP-, CMMC- vagy HIPAA-auditokhoz. Ha a számítási feladatnak FIPS-kompatibilisnek kell maradnia, hozza létre a rendszerképet FIPS-kompatibilis titkosítási kódtárakkal.
Ha a számítási feladat nem igényel FIPS-megfelelőséget, letilthatja a FIPS módot a OPENSSL_FORCE_FIPS_MODE környezeti változó 0beállításával. Ezzel csendben megszegheti a megfelelőségi követelményeket.
A FIPS mód letiltásához ezt a munkaterhelés YAML-fájljában, a(z) env_variables alatt állítsa be:
env_variables:
OPENSSL_FORCE_FIPS_MODE: '0'
Másik lehetőségként állítsa be a változót a Dockerfile-ban, hogy a rendszerképet használó összes számítási feladatra érvényes legyen:
ENV OPENSSL_FORCE_FIPS_MODE=0
Küldje be újra a munkaterhelést, és győződjön meg arról, hogy az SSL-hiba már nem jelenik meg, amikor a függőségek betöltődnek.