
151
Chapter 3
효과적인 의존성 관리: 원칙과 도구
이점
4
: 캐시를 활용한 빠른 빌드
ML
프로젝트에서 도커를 사용할 때 주의해야 할 주요 문제 중 하나는 큰 파이썬 패키지
(
torch==1.13.1
은
500MB
)
, 대형 사전 훈련 모델
(
llama
-
2
-
7b
는
13GB
)
, 대형 데이터셋
을 다운로드하고 설치하는 데 시간이 오래 걸린다는 것입니다.
도커는 빌드 시간 캐싱 메커니즘
39
을 제공하여 각 새 빌드마다 시간을 절약할 수 있습니다.
아래 굵은 줄을 추가하면 불필요한 다운로드와 설치를 피하고 이미지 빌드 시간을 줄일 수 있
습니다. 이 예제에서 사용한 비교적 단순한 종속성만으로도 빌드 시간을
3
분에서
2
분 미만으
로 단축했습니다. 더 큰 종속성, 사전 훈련 모델, 데이터셋을 다운로드하는 프로젝트에서는
시간 절약이 더 클 것입니다.
FROMpython:3.10-slim-bookworm
WORKDIR/code
RUN--mount=type=cache,target=/var/cache/apt \
apt-getupdate&&apt-get-yinstallgcc
RUNpipinstallpoetry
ADDpyproject.toml/code/
RUNpoetryconfiginstaller.max-workers10
RUN--mount=type=cache,target=/root/.cache/pypoetry ...