GPU 서버는 Ubuntu Server에서 ComfyUI를 Docker 컨테이너로 돌린다. 앱 아이콘, 스토어 그래픽, 마케팅 영상 같은 에셋을 만드는 용도라 사용자 요청을 받지는 않는다. 느려도 괜찮지만 필요할 때는 돌아가야 한다.
무엇이 틀어져 있었나
노드를 업데이트할 때마다 컨테이너 안에서 패키지를 직접 설치했다. 노드가 요구하는 패키지도 같이 올라갔는데, 무엇이 몇 버전으로 바뀌었는지는 기록이 없었다.
이미지를 새로 빌드해도 남는 것이 있었다. 이미지 안의 가상환경 템플릿을 볼륨으로 복사할 때 기존 환경을 비우지 않고 덮어쓰기만 했기 때문이다. 같은 패키지의 메타데이터 폴더(dist-info)가 두 벌씩 있는 경우가 27개였고, 어느 쪽이 실제로 로드되는지는 겉으로 알 수 없었다.
바꾼 것
- 컨테이너 안에서 패키지를 손으로 설치하지 않는다. 바꿀 게 있으면 이미지를 다시 빌드하고, 업데이트 뒤 노드가 깨지면 이전 이미지로 먼저 돌린 다음 원인을 본다.
- ComfyUI v0.38.0과 torch 2.14.1을 제약 파일로 고정했다. 노드가 다른 버전을 요구해도 이 둘은 올라가지 않는다. 설치된 패키지 354개는 잠금 파일로 남겼다.
- 이미지가 바뀌면 볼륨의 가상환경을 비우고 새로 복사한다. 중복 메타데이터는 27개에서 0개가 됐다.
- GPU 드라이버를 610에서 615로 올렸다.
- 예전 이미지 모델과 인코더, 같은 서버에서 돌던 LLM 서버를 내렸다. 언어 모델은 다른 서버에서 돌고, 이 서버는 에셋 생성만 한다. 디스크 여유 공간은 26GB에서 110GB가 됐다.
모델 교체
이미지 모델은 Qwen-Image 2.1로 바꿨다. 주로 로고, 투명 배경 PNG, 제품 사진을 만들고, 6스텝 터보로 돌린다. Qwen-Image 1.0과 FLUX.1-dev는 내렸다.
영상은 LTX-2.5를 쓴다. 영상과 대사를 같이 만드는 모델인데, 오디오만 뽑는 모드가 쓸 만해서 짧은 음성은 TTS 대신 이걸로 만든다. 원래 쓰던 TTS 모델은 transformers 5.5.3에서 생성이 깨져 있다. 이번 정비 전부터 그랬고 아직 고치지 못했다.
