런포드에서 기본적으로 제공하는 템플릿은 도커 허브에서 확인 가능한데

이 녀석임

얘를 한번이라도 실행해 본 사람들은 알겠지만,

컨테이너를 올리고 나면 자동적으로 Web Ui를 실행시켜서

얼마간의 VRAM을 잡아먹게 됨.

저기에 뺏기는 VRAM 때문에 특히 중간 샘플 생성하는 부분에서 메모리 에러로 죽어버림.


저 템플릿을 실행하고 ps aux를 입력해 프로세스 목록을 확인하면

저렇게 자동으로 실행된 Web Ui 프로세스들이 보인다.

테스트 환경 기준으로 보자면 PID 11, 25, 26이 Web Ui 관련 프로세스이다.

터미널에 kill 11 25 26 을 입력하면 쟤들이 쫙 죽는다.


램을 무려 2기가나 넘게 점유하고 있으니 보통 난리가 아니다.

죽이고 나면

이렇게 변한다.



현재 학습을 진행하고 있는 3090의 상황으로 봤을 때

저기서 2기가가 더 추가 된 상태로 어찌어찌 학습을 이어간다고 가정하더라도

중간 샘플을 생성하면서 메모리 에러로 죽어버릴 것이다.

기본 템플릿에선 프로세스만 죽이면 메모리 에러는 대체로 해결된다.

이 아래는 쿠다 관련 전하고 싶은 내용임.


런포드 제공 템플릿은 초기 세팅이 빠르다는 장점이 있지만,

nvcc -V를 입력해보면 CUDNN이 없다는 것을 알 수 있다.

처음엔 저 템플릿에 쿠다를 쫙 올려서 도커 이미지를 새로 만드려고 했는데

뭔가 잘 안됐음.


그러다가 이게 눈에 띔.

똑같이 런포드에서 제공하는 도커 이미지인데 업데이트는 2달도 더 전에 끊겼지만

얘 혼자만 용량이 따로 노는 걸 보고 확인했더니


수많은 쿠다 관련 환경변수 세팅 레이어들을 확인하고 이거다 싶었음.


똑같이 AUTO의 Web Ui가 딸려오지만 CUDA도 딸려옴.

드림부스 학습 외에도 난 CUDNN이 필요했기 때문에 기존 템플릿은 갖다 버리고

이 도커 이미지를 쓰게 됨.

그렇다면 이걸 어떻게 런포드에서 쓰느냐?

방법은 간단하다.


먼저 My Templates로 가서 Duplicate 버튼을 누른다.


저 부분이 어떤 도커 이미지를 불러올 지 설정하는 곳이다.

저길 runpod/stable-diffusion:latest 로 바꾸고 카피를 저장한다.

다음에 포드를 생성할 때 미리 만들어준 저 템플릿으로 만들면 끝.


하지만 단점이 있는데

기본 제공 이미지는 초기 세팅이 매우 신속하나,

쿠다 딸린 녀석은 사전 작업이 꽤 길다.

네트워크 환경이 나쁘면 그만큼 시간이 더 걸린다.


난 무조건 CUDNN이 필요하다! 싶은 사람에게만 추천하고,

그냥 잘 모르겠으니 대충 하고 싶은 사람은 위에서 말한 대로

첫 실행 후 프로세스 kill 만 해주고 사용하면 문제 없음.