오늘도 공부
최고 수준 영상 생성 AI ‘MiniMax H3’, 40일간의 고속화 실험 본문
MiniMax H3는 현재 최고 수준의 오픈 웨이트 영상 생성 AI 가운데 하나로, 상용 서비스인 Seedance 2.5와 비교될 정도의 품질을 보여준다.
필자는 MiniMax H3의 웨이트를 내려받은 뒤 약 41일 동안 다양한 최적화 기법을 적용했고, RTX 5090 한 대에서 5초짜리 영상의 생성 시간을 다음과 같이 줄였다.
193.5초 → 31.6초
약 6.12배 고속화다.
핵심 결론
가장 중요한 결과부터 정리하면 다음과 같다.
- 5초 영상 생성: 193.5초 → 31.6초
- 전체 속도 향상: 6.12배
- Step 감소용 LoRA만으로: 4.39배
- INT8 Attention + Sparse Attention으로 추가: 약 1.4배
- 5초 영상 30개로 만드는 MV 기준:
- 기존 약 1시간 37분
- 최적화 후 약 16분
흥미로운 점은 아직 공개되지 않은 H3 Max 웨이트가 없어도 로컬 환경에서 상당한 수준까지 속도를 끌어올릴 수 있었다는 것이다.
필자는 속도만 놓고 보면 H3 Max 웨이트를 반드시 기다릴 필요는 없다고 본다.
다만 H3 Max가 의미를 가질 수 있는 부분은 Prompt Adherence, 즉 프롬프트 지시 준수 능력이다.
테스트 환경
필자는 고인이 된 아내의 사진과 영상을 활용해 노래하고 연기하는 뮤직비디오를 제작하고 있다.
MV 한 편은 보통 5~12초짜리 영상을 약 20~40개 생성해 이어 붙이는 방식이다.
따라서 생성 속도는 단순한 편의성 문제가 아니다.
예를 들어 5초 영상 하나가 193초라면 30개 생성에 약 1시간 37분이 걸리지만, 31초라면 약 16분이면 된다.
게다가 실제 영상 제작에서는 한 번에 원하는 결과가 나오지 않는다.
- 가사와 영상이 맞지 않거나
- 얼굴이 달라지거나
- 원하는 소품이 나오지 않는 등의 문제가 발생한다.
결국 같은 장면을 여러 번 다시 생성하게 된다.
따라서 생성 속도가 6배 빨라지면 단순히 작업 시간이 줄어드는 것이 아니라 시도할 수 있는 횟수가 크게 증가한다.
하드웨어
- GPU: RTX 5090 32GB
- OS: Windows 11 + WSL2
- 시스템 RAM: 63.6GB
- WSL 할당 RAM: 약 52GB
- 클라우드 사용 안 함
주요 용어
MiniMax H3
영상과 음성을 동시에 생성할 수 있는 영상 생성 모델.
필자가 사용한 모델 크기는 약 19.5GB다.
ComfyUI
생성 AI의 각 처리 과정을 노드 형태로 연결해 사용하는 워크플로 시스템.
Step
확산 모델이 노이즈 상태에서 영상을 복원해 나가는 반복 횟수.
Step가 많을수록 일반적으로 품질이 안정적이지만 계산 시간이 길어진다.
LoRA
본체 모델을 다시 학습하지 않고 작은 추가 웨이트로 모델의 동작을 변경하는 기술.
이번 실험의 핵심은
“20 step 대신 3 step만 사용해도 영상이 무너지지 않도록 학습된 LoRA”
다.
Distillation
예를 들어 기존에 20번 계산하던 과정을 8번 정도로 줄여도 비슷한 결과를 내도록 모델을 재학습하는 방식.
i2v
Image-to-Video.
한 장의 이미지를 입력하고 그 이미지에서 이어지는 영상을 생성하는 방식.
Attention
영상의 각 영역이 다른 영역의 정보를 참조하는 계산.
영상 해상도와 프레임이 커질수록 매우 많은 계산량을 요구한다.
VAE Decode
모델 내부의 latent 표현을 실제 영상 픽셀로 변환하는 마지막 과정.
Step 수를 줄여도 이 부분의 계산 시간은 줄어들지 않는다.
41일간의 고속화 과정
8월 14일
MiniMax H3 웨이트 다운로드.
5초 영상:
193.5초
8월 17일
공식 Turbo 8-step LoRA 적용.
90.7초
약 2.13배 빨라짐
8월 29일
FastH3 4-step 적용.
55.3초
약 3.50배
9월 14일
TaoMate H3 3-step LoRA 적용.
44.1초
약 4.39배
9월 21일
Sparse Attention 적용.
0.3 budget:
35.0초
약 5.53배
9월 24일
Sparse Attention 0.1 적용.
31.6초
최종적으로 초기 대비
6.12배
실제 측정 결과
조건은 동일하게 맞췄다.
- 1280×704
- 약 5.2초
- 124프레임
- 동일한 첫 이미지
- 동일한 프롬프트
- 동일한 seed 세트
- i2v
각 조건을 네 번 실행하고 첫 번째 실행은 버렸다.
나머지 세 개의 중앙값을 사용했다.
설정Step중앙값초기 대비
| 기본 H3 | 20 | 193.5초 | 1x |
| Turbo | 8 | 90.7초 | 2.13x |
| FastH3 | 4 | 55.3초 | 3.50x |
| TaoMate | 3 | 44.1초 | 4.39x |
| PyTorch Attention | 3 | 59.0초 | 3.28x |
| Sparse 0.3 | 3 | 35.0초 | 5.53x |
| Sparse 0.1 | 3 | 31.6초 | 6.12x |
어떤 최적화가 가장 크게 작용했나
1. Turbo 8-step
MiniMax 공식 Distillation LoRA.
20 Step를 8 Step로 줄였다.
193.5초 → 90.7초.
상당히 큰 성능 향상이다.
2. FastH3 4-step
UC San Diego의 Hao AI Lab에서 공개.
8 Step → 4 Step.
90.7초 → 55.3초.
3. TaoMate 3-step
Alibaba Taobao Live 팀이 만든 LoRA.
4 Step → 3 Step.
55.3초 → 44.1초.
현재 로컬 고속화에서 핵심적인 LoRA 중 하나다.
4. INT8 Attention
TaoMate 3-step 환경에서 Attention backend를 비교했다.
INT8 Attention:
44.1초
PyTorch Attention:
59.0초
즉 INT8 Attention이 약
1.34배 빠르다.
Step 감소와 별개의 최적화다.
5. Sparse Attention
Attention 계산을 전부 하지 않고 일부만 계산한다.
Sparse 0.3:
35.0초
Sparse 0.1:
31.6초
여기서 0.1은 Attention 계산량을 크게 줄이는 매우 공격적인 설정이다.
단, 너무 줄이면 문제가 발생한다.
필자가 0.05까지 낮춰 본 결과:
얼굴이 무너지는 현상
이 나타났다.
흥미로운 점은 프롬프트에 명시한 물체는 상당히 잘 유지되지만, 프롬프트에 명시하지 않은 얼굴 같은 영역부터 무너졌다는 것이다.
따라서 Sparse Attention을 많이 적용할 경우
유지하고 싶은 요소를 프롬프트에 명시적으로 적는 것이 중요하다.
Step 감소는 어느 순간 한계에 도달한다
4 Step → 3 Step라면 이론적으로 약 1.33배 빨라질 것 같지만 실제로는
55.3초 → 44.1초
약 1.25배 정도다.
이유는 영상 생성 시간이 Step 계산만으로 이루어져 있지 않기 때문이다.
필자의 프로파일링 결과:
- Attention: 44%
- VAE Decode 등 Sampling 외 작업: 39%
- MLP / Projection: 17%
즉 Step 수를 아무리 줄여도 약 39%의 계산은 그대로 남는다.
그래서 앞으로의 가장 큰 병목은
VAE Decode
다.
fal.ai H3와 비교
fal.ai에서 제공하는 H3 계열도 같은 이미지로 테스트했다.
모델생성 시간5.2초 영상 비용
| 로컬 최적화 H3 | 31.6초 | 전기료 |
| fal H3 | 9.33초 | $0.312 |
| fal H3 Max | 3.10초 | $0.208 |
| fal H3 Max Turbo | 1.49초 | $0.104 |
30개의 클립으로 MV 하나를 만든다면:
fal H3:
$9.36
fal H3 Max:
$6.24
fal H3 Max Turbo:
$3.12
H3 Max Turbo는 상당히 빠르다.
5초 영상이 약 1.5초 만에 생성된다.
하지만 로컬과 fal의 속도를 단순 비교하면 안 된다
초기 로컬 H3:
193.5초
fal 기본 H3:
9.33초
약 20.7배
하지만 모델 웨이트는 기본적으로 같은 H3다.
이 차이는 GPU만의 차이가 아니다.
fal의
- 서버 하드웨어
- 추론 엔진
- 커널 최적화
- 모델 로딩
- 병렬 처리
등이 모두 포함된 결과다.
반면 fal의 기본 H3와 H3 Max Turbo를 비교하면:
9.33초 → 1.49초
약
6.26배
다.
흥미롭게도 필자가 로컬 H3에서 최적화를 통해 얻은 속도 향상도
6.12배
다.
즉
로컬 최적화:
6.12x
fal Max Turbo:
6.26x
거의 비슷한 폭이다.
H3 Max 웨이트를 기다릴 필요가 있을까?
fal은 8월 27일 X에서 H3 Max 웨이트 공개 의사를 밝혔다.
“we will release the weights, model keeps improving”
하지만 정확한 공개 일정은 없다.
글 작성 당시 약 28일이 지났지만 아직 공개되지 않았다.
필자의 판단은 다음과 같다.
속도만 목표라면 H3 Max 웨이트를 기다릴 필요성이 크지 않다.
왜냐하면 현재 로컬 최적화만으로 이미 약 6.12배를 달성했기 때문이다.
H3 Max Turbo가 웨이트 변경으로 얻은 차이도 약 6.26배다.
두 방식 모두 결국 Step 감소와 Post-training 계열이라면 효과가 단순히 곱해지지 않을 가능성이 높다.
그래도 H3 Max가 중요한 이유
속도보다 중요한 부분은
Prompt Adherence
다.
현재 TaoMate 3-step에서는 일부 복잡한 지시가 약해질 수 있다.
예를 들어:
- 어두운 장면 유지
- 카메라 고정
- 손을 움직이지 않기
- 특정 행동 금지
같은 조건이다.
H3 Max가 이런 지시를 더 잘 따를 수 있다면 충분히 의미가 있다.
다음 병목은 VAE
현재 전체 시간의 약
39%
가 VAE Decode 등 Sampling 외 작업에 사용된다.
따라서 Step를 더 줄이는 것만으로는 성능 향상이 제한된다.
ComfyUI 0.36에는 MiniMax H3용 새로운 VAE 최적화가 추가됐다.
INT8 VAE를 테스트한 결과:
기존:
45.5초
새로운 INT8 VAE:
36.0초
약
1.26배
빨라졌다.
화질 차이는 매우 작았다.
Pixel Difference:
약 1.2~1.7 / 255
PSNR:
약 42~43dB
육안으로 거의 구분하기 어려운 수준이었다.
문제는 Sparse Attention과의 호환성
필자가 실제로 사용하는 Sparse 구성에서는 결과가 달랐다.
ComfyUI 0.33:
30.1초
ComfyUI 0.36:
29.3초
차이는 거의 없다.
이유는 기존 H3-Optimizations Sparse Attention이 ComfyUI 0.36에서 정상 동작하지 않았기 때문이다.
대신 기본 BlockSparseAttention을 사용해야 하는데 여기에서 추가 시간이 발생한다.
즉
VAE 가속으로 얻은 이득 ≈ Sparse Attention에서 잃은 성능
이 되어 버렸다.
그래서 필자는 현재
ComfyUI 0.33 유지
를 선택했다.
현재 추천 로컬 구성
GPU
RTX 5090 32GB급.
기본 모델이 약 19.5GB이고 다음이 추가로 필요하다.
- VAE 약 5GB
- Text Encoder
- 작업용 VRAM
따라서 32GB가 안정적이다.
24GB에서는 모델 본체를 GGUF 등으로 양자화해야 한다.
문제는 현재 Sparse Attention 구현이 GGUF 모델에서는 정상 작동하지 않는다는 것이다.
시스템 RAM
최소 약
48GB 이상
을 Linux/WSL에 제공하는 것이 좋다.
1920×1088 같은 고해상도에서는 약 58GB까지 사용된 사례가 있다.
CUDA
CUDA 13 계열.
드라이버:
580.88 이상
INT8 웨이트를 처리하는 comfy-kitchen 때문이다.
ComfyUI
현재 권장:
ComfyUI 0.33.0
이유:
0.36에서는 필자가 사용하는 Sparse Attention 플러그인이 제대로 작동하지 않는다.
필요한 모델
diffusion_models:
minimax_h3_fl2va_pruned_int8_convrot.safetensors
약 19.5GB
Text Encoder:
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
VAE:
minimax_h3_video_vae_fp16.safetensors
minimax_h3_audio_vae_fp32.safetensors
LoRA:
TaoMate-H3-3step-ComfyUI.safetensors
ComfyUI 핵심 워크플로
기본적인 연결은 다음과 같다.
UNETLoader
↓
LoraLoaderModelOnly
TaoMate 3-step
strength = 1.0
↓
MiniMaxH3SigmaShift
영상:
shift = 12
음성:
shift = 3
↓
ModelAttentionBackend
comfy kitchen attention
↓
BasicGuider
CFG:
1.0
↓
KSamplerSelect
Euler
↓
BasicScheduler
simple
3 step
↓
SamplerCustomAdvanced
↓
VAEDecode
↓
CreateVideo
24fps
Image-to-Video
첫 이미지는
MiniMaxH3ImageToVideo
노드를 이용해 입력한다.
텍스트 인코더는
CLIPLoader
type:
minimax
를 사용한다.
Sparse Attention 추가
H3-Optimizations를 custom_nodes에 설치한다.
구조:
UNETLoader
↓
H3MemoryOptimization
↓
H3SparseAttention
↓
LoraLoader
↓
나머지 H3 workflow
Sparse 설정:
video_budget = 0.3
더 공격적으로 할 경우:
video_budget = 0.1
denser_early_late_steps = False
H3MemoryOptimization을 먼저 적용하지 않으면 chunk_rows 관련 오류가 발생할 수 있다.
Sparse Attention이 잘 먹는 조건
Sparse Attention은 영상 데이터가 클수록 효과가 크다.
대략
가로 × 세로 × 프레임 수
가 8천만 이상일 때 효과가 커진다.
예:
1280 × 704 × 124
반대로
832 × 480 × 124
정도에서는 약 1초 정도밖에 차이가 나지 않았다.
필자는 해상도와 프레임 수를 기준으로 Sparse를 자동으로 ON/OFF하도록 사용하고 있다.
0.1 Sparse의 부작용
속도는 빨라지지만 결과가 원본과 달라질 수 있다.
특히 프롬프트에 명시하지 않은 요소가 변하기 쉽다.
따라서 유지해야 하는 요소는 프롬프트에 적극적으로 명시하는 것이 좋다.
예:
나쁜 방식:
woman in a room
더 좋은 방식:
The woman's face remains unchanged. Her hairstyle remains unchanged. The camera remains fixed. Her hands remain still.
즉 Sparse가 강할수록
보존할 정보를 프롬프트에 명시하는 전략
이 중요해진다.
측정할 때 중요한 점
같은 seed와 같은 workflow를 그대로 다시 실행하면 ComfyUI 캐시에 걸려 일부 작업 시간이 0초가 될 수 있다.
따라서 seed를 변경해야 한다.
추천 측정 방식:
- 같은 조건으로 4회 실행
- 첫 번째 결과는 버림
- 나머지 3회의 중앙값 사용
- 테스트 마지막에 첫 번째 조건을 다시 측정
첫 번째 실행은 모델 로딩과 초기화 때문에 항상 느렸다.
실제로 필자의 테스트에서도 모든 조건에서 첫 번째 실행이 가장 느렸다.
WSL 장시간 실행 문제
흥미로운 관찰도 있다.
WSL을 약 4일 동안 계속 실행한 상태에서는 동일한 작업이
최대 2배 정도 느려지는 현상
이 발생했다.
따라서 벤치마크 전에는 시스템 상태를 일정하게 맞출 필요가 있다.
앞으로 남은 최적화
1. VAE
현재 전체 시간의 약 39%.
가장 큰 다음 목표다.
2. Sparse Attention 추가 최적화
0.1보다 낮출 수는 있지만 0.05에서는 얼굴이 무너지기 시작했다.
따라서 품질과 속도의 균형을 찾아야 한다.
3. 4bit Weight
모델 자체를 4bit로 양자화하는 방법도 유망하다.
다만 필자의 Blackwell GPU에서는 현재 일부 구현이 정상 지원되지 않는다.
최종 결과
RTX 5090 한 대에서 MiniMax H3를 사용해
약 5초짜리 영상을 31.6초
만에 생성하는 수준까지 도달했다.
초기:
193.5초
최종:
31.6초
성능 향상:
6.12배
핵심은 하나의 특별한 기술이 아니다.
공개된 여러 기술을 조합했다.
**3-step Distillation LoRA
- INT8 Attention
- Sparse Attention
- ComfyUI 최적화**
의 조합이다.
한눈에 보는 핵심
기본 H3:
20 step
193.5초
↓
Turbo:
8 step
90.7초
↓
FastH3:
4 step
55.3초
↓
TaoMate:
3 step
44.1초
↓
INT8 Attention
↓
Sparse Attention 0.3:
35.0초
↓
Sparse Attention 0.1:
31.6초
결국
20 Step → 3 Step
으로 줄이고,
한 Step 내부의 Attention 계산량까지 줄여서 전체 생성 시간을 약 6배 줄인 것이다.
이 글에서 가장 중요한 포인트
MiniMax H3를 로컬에서 사용한다면 현재 가장 현실적인 전략은
“더 좋은 GPU를 사는 것”만이 아니라 추론 과정 자체를 줄이는 것
이다.
특히 RTX 5090처럼 이미 매우 빠른 GPU를 사용하고 있다면
- Step Distillation
- INT8 Attention
- Sparse Attention
- VAE 최적화
같은 소프트웨어 최적화가 매우 큰 차이를 만든다.
그리고 생성 시간을 193초에서 31초까지 줄이면 단순히 6배 빨라지는 것이 아니다.
영상 제작자가 동일 시간 동안
약 6배 더 많은 후보 영상을 생성하고 비교할 수 있다.
영상 생성 AI에서는 이것이 최종 품질에 직접적인 영향을 준다.
'AI > 추천 오픈소스' 카테고리의 다른 글
| AI 코딩 에이전트에게도 ‘프로젝트 기억’이 필요하다 (0) | 2026.09.28 |
|---|---|
| AI 코딩 에이전트는 어떻게 ‘끝날 때까지’ 일할까(/goal) (0) | 2026.09.28 |
| 구글 번역 없이, 내 서버에서 번역한다 (LibreTranslate) (0) | 2026.09.24 |
| LLM에게 글을 쓰게 하지 말고, 판단만 시켜라 (Jev) (0) | 2026.09.24 |
| YuE2 로컬 음악 생성 웹 UI 사용 설명서 (0) | 2026.09.24 |
