العودة إلى المدونة
MLOps 8 يناير 2025 6 min للقراءة

Docker لتعلم الآلة: بيئات قابلة للتكرار وبناءات متعددة المراحل

أفضل الممارسات لاحتواء كود تعلم الآلة — البناءات متعددة المراحل، دعم GPU، تخزين النماذج مؤقتاً.

Dockerfile متعدد المراحل

# Stage 1: Build environment
FROM python:3.11-slim as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt

# Stage 2: Runtime
FROM python:3.11-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY . .
ENV PATH=/root/.local/bin:$PATH

CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]

النتيجة: صورة 2.1GB → 620MB

دعم GPU

FROM nvidia/cuda:12.1-cudnn8-runtime-ubuntu22.04

استراتيجية تخزين النموذج مؤقتاً

اخبز النموذج داخل الصورة لبدء بارد صفري:

RUN python -c "from transformers import AutoModel; AutoModel.from_pretrained('bert-base-multilingual-cased')"
DockerMLOpsContainersReproducibilityDevOps
O

Ossama Elhakki

مهندس ذكاء اصطناعي وأنظمة ML — المغرب