본문 바로가기

Docker

Docker로 Mamba 시작하기

Mamba Module을 사용하기 위해서는, Linux 를 요구한다고 한다..

크아아악

물론, 능력자들이 Windows에서도 수행할 수 있는 방법을 알려줬지만 (https://github.com/state-spaces/mamba/issues/12), 나중에 무슨 문제가 생길지 걱정되었다.

WSL로 몇 차례 시도했으나, 좋은 성과를 얻지 못해 Docker를 사용해 환경을 세팅하기로 했다.

사수분의 도움으로, 기본적인 docker file은 어느정도 만들어져있는 상태였고, 나는 mamba를 위한 세팅이 추가적으로 필요했다.

 

아래와 같은 요구조건을 만족할 수 있도록 했다.

1. cuda-toolkit Version이 11.6 이상일 것.

2. torch.cuda.is_available()이 True가 나올 것.

 

내 WSL에서는 2는 항상 만족했으나, 1은 만족하지 못하는 경우가 많았다.

따라서, 1을 만족하는것을 우선순위로 잡고 진행했다.

 

1. libcuda1-dummy 패키지를 통해 CUDA 의존성을 해결했다.

위 과정의 경우 사수분이 사전에 작업한 것을 그대로 사용했다.

 

2. Cuda-Toolkit을 직접 wget으로 받고, 설치를 진행했다.

# CUDA 설치 파일 다운로드 및 설치
RUN wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run && \
    chmod +x cuda_11.8.0_520.61.05_linux.run && \
    sh cuda_11.8.0_520.61.05_linux.run --silent --toolkit && \
    rm cuda_11.8.0_520.61.05_linux.run

# 환경 변수 설정
ENV PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
ENV LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

 

물론, pip install인지, conda install인지 기억은 안난다만, cuda-toolkit을 그런 방식으로 install 한다면, 10.1? 로 설치되는 문제가 있었다.

이를 방지하고자, wget으로 CUDA 설치 파일을 다운로드 받고, 툴킷만 설치 후 환경 변수를 설정해줬다.

 

위 두 가지가 만족되고 나니, mamba_ssm 설치는 물흐르듯 쉽게 진행되었다.

Windows에서 끙끙 대던게 한방에 해결되니 속이 다 시원했다!

이 영롱한 Mamba를 보라!

Mamba 설치는 그냥 쿨하게 Docker로 Linux환경을 만들자!

 

추가적으로, volume을 연결할 때 아래와 같은 문제점이 있었다.

이렇게 하면 Mamba 안된다..

위와 같이 volume을 root와 모든 파일을 연결해버리니, Mamba Module이 고장났다.

어림없는 소리

따라서, 특정 Volume만 따로 지정해 연결을 진행했다.

ex) 데이터, checkpoint, 등

 

특정 위치만 적절히 연결해주자!

이러니 잘 되는것을 확인했다!

Mamba야 기다려라~!

'Docker' 카테고리의 다른 글