
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 설치는 그냥 쿨하게 Docker로 Linux환경을 만들자!
추가적으로, volume을 연결할 때 아래와 같은 문제점이 있었다.

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

따라서, 특정 Volume만 따로 지정해 연결을 진행했다.
ex) 데이터, checkpoint, 등


이러니 잘 되는것을 확인했다!
Mamba야 기다려라~!
'Docker' 카테고리의 다른 글
Docker Volume 연결하기 (0) | 2024.12.09 |
---|---|
Docker로 Diffusion Mamba 학습하기 (1) | 2024.12.04 |