DeepFaceLab을 처음 돌려보면 "어, 왜 이렇게 느리지?"라는 의문이 가장 먼저 듭니다. 저도 그랬습니다. 학습(training)을 켜놓고 자고 일어났는데 진행률이 5%도 안 움직여 있는 걸 보면 정말 맥이 빠지죠.

문제는 DeepFaceLab의 기본값이 "안전한 값"이지 "당신 PC에 맞는 값"이 아니라는 점입니다. 그래픽카드(GPU)가 놀고 있는데도 배치 사이즈가 너무 작거나, 반대로 메모리가 터지기 직전이라 속도가 절반으로 떨어지는 경우가 흔합니다.
이 글에서는 학습 속도가 안 나오는 가장 흔한 7가지 원인과, 어디부터 손대면 되는지 순서대로 정리합니다. 비개발자라도 화면 보고 따라할 수 있게 용어는 풀어 씁니다.
DeepFaceLab이 느린 진짜 이유
DeepFaceLab이 느린 핵심 원인은 대부분 "GPU를 제대로 못 쓰고 있어서"입니다. CPU나 디스크는 멀쩡한데 GPU만 30% 정도에서 노는 경우가 가장 많습니다.
학습(training)이란 AI가 "이 얼굴을 저 얼굴로 바꾸는 법"을 수십만 번 반복해서 배우는 과정입니다. 이 반복 한 번을 iteration(이터레이션) 이라고 부르고, 보통 초당 몇 회 도느냐(it/s)로 속도를 잽니다.
직접 돌려본 기준으로, RTX 3060 12GB에서 SAEHD 모델 해상도 192·배치 8 정도면 약 0.4~0.6 it/s가 나옵니다. 이 수치가 0.1 it/s 아래라면 십중팔구 설정이 잘못된 겁니다.
| 증상 | 가능성 높은 원인 |
|---|---|
| GPU 사용률 30~50% | 배치 사이즈가 너무 작음, 데이터 로딩 병목 |
| GPU 사용률 95% 이상인데 느림 | 해상도·모델 차원이 너무 큼 (정상이지만 조정 필요) |
| 학습 중 자꾸 멈춤·튕김 | VRAM 초과 (OOM 에러) |
| CPU 100%, GPU 10% | CPU 전처리에서 발목 |
먼저 작업관리자(윈도우 기준 Ctrl+Shift+Esc)에서 "성능 → GPU" 탭을 열어두고 학습을 돌려보세요. GPU 사용률이 어디서 노는지 보는 게 진단의 시작입니다.
1단계: GPU 드라이버와 CUDA 버전 확인
가장 먼저 봐야 할 건 그래픽카드 드라이버입니다. 드라이버는 GPU에게 "이렇게 일해라"라고 알려주는 통역사 같은 역할인데, 오래된 드라이버는 최신 학습 라이브러리와 궁합이 안 맞습니다.
엔비디아 제어판에서 드라이버 버전을 보고, 가능하면 Studio Driver(작업용 안정 드라이버)로 최신 버전 설치를 추천합니다. 게임 최적화 위주의 Game Ready Driver보다 학습 작업에서 더 안정적입니다.
DeepFaceLab은 빌드별로 권장 CUDA(엔비디아의 GPU 가속 기술) 버전이 다릅니다. 글 작성 시점 기준, DeepFaceLab DirectX12 빌드는 RTX 40 시리즈까지 호환되지만, NVIDIA RTX 빌드보다 약 10~20% 느린 편입니다. 엔비디아 카드라면 무조건 NVIDIA RTX 빌드를 받으세요.
💡 다운로드 페이지에서 "DeepFaceLab_NVIDIA_RTX_30_series_build" 같은 이름을 골라야 합니다. DirectX12 빌드로 잘못 받으면 같은 PC에서도 속도가 절반 이하로 떨어집니다.
2단계: 배치 사이즈를 GPU에 맞게 키우기
배치 사이즈(batch size)는 "AI가 한 번에 몇 장의 얼굴을 묶어서 학습하느냐"입니다. 이게 작으면 GPU가 일감이 모자라서 놀고, 너무 크면 메모리가 터집니다.
기본값 4~6은 6GB VRAM 그래픽카드 기준이라, 그 이상 카드를 쓰면 무조건 늘리는 게 이득입니다.
| VRAM | SAEHD 해상도 128 | SAEHD 해상도 192 | SAEHD 해상도 224 |
|---|---|---|---|
| 6GB | 4~6 | 4 | 2~3 |
| 8GB | 8~10 | 6~8 | 4~5 |
| 12GB | 12~16 | 8~12 | 6~8 |
| 16GB+ | 16~24 | 12~16 | 10~12 |
위 표는 제가 직접 테스트하거나 커뮤니티 평균값에서 뽑은 대략치입니다. 모델 차원(dims) 설정에 따라 더 줄여야 할 수도 있습니다.
요령은 이렇습니다. 학습을 시작할 때 배치 사이즈를 표 값 +2 정도로 시도해보고, OOM(메모리 부족) 에러가 뜨면 1씩 줄여나가는 겁니다. 한 번에 안 터지는 최대값을 찾으면 됩니다.
3단계: 해상도와 모델 차원 다시 보기
해상도(resolution)는 학습 결과물의 품질을 결정하지만, 속도와는 정반대로 움직입니다. 해상도를 128에서 224로 올리면 같은 배치에서 속도가 약 2.5~3배 느려집니다.
해상도 128 → 속도 1.0배 (기준) 해상도 160 → 속도 약 0.65배 해상도 192 → 속도 약 0.45배 해상도 224 → 속도 약 0.30배 해상도 256 → 속도 약 0.22배
처음 학습할 때는 해상도 128~160으로 빠르게 형태를 잡고, 나중에 해상도를 올려 추가 학습하는 방식이 효율적입니다. 결과물 영상이 1080p가 아닌 720p 이하면 굳이 224 이상 해상도로 갈 이유가 거의 없습니다.
모델 차원(AE/E/D/D_mask dims)도 한 번 정하면 못 바꾸니 처음에 신중히 골라야 합니다. 메모리가 빠듯하다면 AE dims를 256 → 192로, E_dims를 64 → 48로 낮춰보세요. 품질 차이는 미미한데 속도 체감은 꽤 큽니다.
4단계: 자주 깜빡하는 옵션 — 데이터 로딩과 워커
학습 화면에서 GPU 사용률이 들쭉날쭉(50% → 90% → 50%)하다면 데이터 로딩이 발목을 잡고 있을 가능성이 큽니다. CPU가 얼굴 이미지를 GPU에 넘기는 속도가 못 따라가는 거죠.
DeepFaceLab의 train 시작 옵션 중 다음 두 가지를 꼭 확인하세요.
- Enable autobackup : 시간당 백업, 학습 자체는 안 느려지지만 디스크가 느리면 잠깐 멈출 수 있음. SSD 권장.
- Random warp of samples : 학습 초반(0~20만 iter)에는 켜고, 후반엔 꺼야 더 선명해짐. 끄면 속도도 약 5~10% 빨라짐.
- Use learning rate dropout : 학습 후반에만 켜는 옵션. 처음부터 켜두면 수렴이 느려져 체감상 "안 느는 것처럼" 보임.
특히 HDD에 워크스페이스(workspace) 폴더가 있으면 무조건 SSD로 옮기세요. 학습 중에 수십 GB짜리 이미지 파일을 계속 읽기 때문에, HDD에서는 GPU가 일감을 기다리느라 30~40% 사용률에서 못 올라옵니다.
5단계: GPU가 두 개라면 — 다중 GPU 설정 주의
GPU를 두 장 꽂아둔 분들 중에 "두 배 빨라지겠지?" 기대하다가 실망하는 경우가 많습니다. 솔직히 말하면, DeepFaceLab의 다중 GPU 효율은 그리 좋지 않습니다. 카드 두 장 쓰면 보통 1.5~1.7배 정도이고, 카드 모델이 다르면 더 떨어집니다.
GPU 1장 (RTX 3060) → 0.5 it/s GPU 2장 (3060 + 3060) → 약 0.8~0.85 it/s GPU 2장 (3060 + 3070, 비대칭) → 약 0.6 it/s ← 오히려 손해 가능
다른 모델의 카드 두 장을 쓰면 빠른 쪽이 느린 쪽을 기다리느라 손해입니다. 비대칭 GPU 조합이라면 차라리 가장 빠른 카드 한 장만 지정하세요. train 실행 시 GPU 선택 단계에서 한 장만 고르면 됩니다.
6단계: VRAM 부족할 때 쓰는 옵션들
12GB 이하 카드를 쓰는 분들이 가장 자주 만나는 게 OOM 에러입니다. "RuntimeError: CUDA out of memory" 같은 메시지가 뜨면서 학습이 멈추는 거죠.
배치 사이즈를 줄이는 게 일반적이지만, 그 전에 시도해볼 카드가 몇 장 더 있습니다.
| 옵션 | 효과 | 부작용 |
|---|---|---|
| Place models and optimizer on GPU = No | VRAM 1~2GB 절약 | 속도 약 15~25% 감소 |
| Use AdaBelief optimizer = Yes | 메모리 효율 양호, 수렴 빠름 | 일부 모델에서 불안정 |
| Mixed precision (있는 빌드) | VRAM 30~40% 절약 | RTX 20 시리즈 이상만 효과적 |
| Face type을 whole_face → half_face | 학습 영역 축소, 메모리 절약 | 얼굴 일부만 바뀜 |
저는 RTX 3060에서 SAEHD 224 해상도를 돌릴 때 "Place models on GPU = No" 옵션으로 겨우 배치 4를 띄웠던 경험이 있습니다. 속도는 느렸지만 학습은 가능했죠. 메모리 한계에서는 "안 돌아가는 것보단 느려도 돌아가는 게 낫다"가 솔직한 결론입니다.
7단계: 그래도 느리다면 — 현실적인 기대치 조정
여기까지 다 했는데도 답답하다면, 사실 하드웨어 한계일 가능성이 큽니다. DeepFaceLab은 진짜 빠른 카드를 써도 절대 "몇 시간 만에 끝나는" 작업이 아닙니다.
직접 학습 시간을 재본 기준 대략치는 이렇습니다.
- 얼굴 형태 잡힘: iteration 약 10~15만 회 (RTX 3060 기준 약 12~20시간)
- 쓸 만한 결과물: iteration 약 30~50만 회 (약 2~4일)
- 고품질 완성: iteration 80만 회 이상 (약 1주~)
초당 0.5 it/s만 나와도 사실 정상 범위입니다. 학습은 "빠르게 끝내는 것"이 아니라 "오래 안정적으로 돌리는 것"에 더 가깝습니다.
대안으로는 클라우드 GPU(RunPod, Vast.ai 같은 시간당 임대 서비스)를 고려해볼 수 있습니다. RTX 4090을 시간당 약 0.5~0.8달러에 빌릴 수 있어서, 빠르게 결과만 보고 싶다면 합리적입니다. 다만 데이터 업로드·다운로드에 시간이 꽤 들고, 얼굴 데이터를 외부 서버에 올린다는 점은 본인이 판단해야 합니다.
자주 막히는 부분과 해결법
직접 굴리면서 가장 자주 만난 함정 몇 가지를 정리합니다.
"학습은 도는데 미리보기가 전혀 안 변해요" 대부분 학습률(learning rate)이 너무 낮거나, pretrain 모드가 꺼져 있어서입니다. 처음 시작할 땐 pretrain 모드로 5~10만 회 돌린 후 본 학습으로 넘어가세요.
"배치 사이즈 늘렸더니 오히려 더 느려졌어요" VRAM이 한계에 가까우면 공유 메모리(시스템 RAM)로 넘어가는데, 이러면 속도가 절반 이하로 떨어집니다. 작업관리자에서 "전용 GPU 메모리"가 90% 이상이면 한 단계 낮추는 게 맞습니다.
"같은 설정인데 어제보다 오늘이 더 느려요" 백그라운드 프로그램(브라우저, 디스코드, 스팀 오버레이 등)이 GPU를 조금씩 갉아먹는 경우가 많습니다. 학습 돌릴 때는 가능한 한 다 끄세요. 솔직히 이게 제일 빈번한 원인입니다.
마무리
DeepFaceLab이 느린 건 대부분 GPU가 놀고 있거나, 반대로 메모리가 빠듯해서 발목 잡히는 두 가지입니다. 작업관리자에서 GPU 사용률부터 확인하고, 배치 사이즈와 해상도를 본인 카드에 맞게 다시 잡으면 체감 속도가 꽤 달라집니다.
처음부터 224 해상도·고차원 모델로 욕심내지 마시고, 128~160으로 빠르게 한 사이클 돌려본 뒤 단계적으로 올리는 걸 추천합니다. 학습이라는 게 원래 오래 걸리는 작업이라, 무리해서 한 번에 끝내려다 며칠치 데이터를 날리는 경우가 더 흔합니다.
다음 학습을 돌리기 전, 위 표에서 본인 VRAM에 해당하는 배치 사이즈 한 줄만 다시 맞춰보세요. 그것만으로도 절반은 해결됩니다.
함께 보면 좋은 글
'AI & LLM > AI 도구 리뷰' 카테고리의 다른 글
| DeepFaceLab 자주 막히는 에러 7가지 한국어 해결법 (0) | 2026.06.27 |
|---|---|
| Gemini 3 컴퓨터 제어 사용법 — Claude와 뭐가 다른가 (0) | 2026.06.26 |
| Suno vs Udio 비교 — AI 음악 생성 입문자용 가이드 (0) | 2026.06.15 |
| 무료 AI 이미지 생성 도구 7선 가성비 비교 2026 (0) | 2026.06.14 |
| Notion AI vs ChatGPT, 문서 작업엔 뭐가 더 좋을까 (0) | 2026.06.08 |