snow · 2026.5.15 11:08 · 조회 1

Mochi-1 설치 및 사용 가이드 (Mac)

개요

이 가이드는 Genmo의 Mochi-1 비디오 생성 모델을 Mac Apple Silicon 환경에서 설치하고 실행하는 방법을 설명한다. Mac에서 Mochi-1을 구동하는 방법은 크게 두 가지다. ComfyUI를 활용하는 방법과 HuggingFace diffusers 라이브러리로 직접 Python 코드를 작성하는 방법이다. 본 가이드는 두 방법을 모두 다룬다.

참고: Mochi-1은 현재(2026년 기준) 480p 프리뷰 버전만 공개되어 있다. HD/720p 버전은 아직 출시되지 않았다.


사전 요구사항

시스템 요구사항

항목최소 사양권장 사양
Apple Silicon M1 Pro 이상M3 Max, M4 Max, M5 Pro 이상
통합 메모리16 GB (fp8 한정)48–64 GB 이상
여유 저장 공간40 GB 이상100 GB 이상
macOSSonoma 14.5 이상Tahoe 26.4 이상
Python3.103.11
PyTorch2.5 stable2.5 nightly

메모리 선택 기준: 16 GB는 fp8 가중치로 25~37 프레임 생성까지만 안정적으로 동작한다. 쾌적한 사용을 위해 48 GB 이상을 권장한다. Apple Silicon의 통합 메모리는 CPU와 GPU가 공유하므로, 64 GB Mac은 사실상 약 60 GB VRAM 환경과 동일하게 동작한다.


방법 1: ComfyUI를 이용한 설치 (GUI 방식)

1단계: Xcode Command Line Tools 및 Homebrew 설치

1# Xcode Command Line Tools 설치2xcode-select --install3 4# Homebrew 설치5/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"6 7# 필수 패키지 설치8brew install python@3.11 ffmpeg git

2단계: ComfyUI 클론 및 가상 환경 설정

1git clone https://github.com/comfyanonymous/ComfyUI.git2cd ComfyUI3 4python3.11 -m venv venv5source venv/bin/activate

3단계: PyTorch Nightly 및 의존성 설치

Apple Silicon MPS 지원 개선사항은 stable 채널보다 nightly 채널에 수개월 일찍 반영된다. MPS 지원은 CPU 휠 설치 시 자동으로 활성화된다.

1pip install --pre torch torchvision torchaudio \2  --index-url https://download.pytorch.org/whl/nightly/cpu3 4pip install -r requirements.txt

4단계: 모델 가중치 다운로드

다음 세 파일을 각 디렉터리에 다운로드한다.

파일저장 경로비고
mochi_preview_dit_fp8_e4m3fn.safetensorsComfyUI/models/diffusion_models/48 GB 미만 Mac용
mochi_preview_dit_bf16.safetensorsComfyUI/models/diffusion_models/64 GB 이상 Mac용
t5xxl_fp8_e4m3fn_scaled.safetensorsComfyUI/models/clip/T5 텍스트 인코더
mochi_vae.safetensorsComfyUI/models/vae/VAE 디코더

모델 파일은 Comfy-Org/mochi_preview_repackaged 또는 genmo/mochi-1-preview에서 다운로드할 수 있다.

5단계: Apple Silicon MPS 설정 및 ComfyUI 실행

1# MPS 폴백 환경변수 설정 (필수)2export PYTORCH_ENABLE_MPS_FALLBACK=13 4# ComfyUI 실행5python main.py --force-fp16

브라우저에서 http://127.0.0.1:8188 로 접속하면 ComfyUI 인터페이스를 사용할 수 있다.


방법 2: diffusers 라이브러리를 이용한 Python 직접 실행

설치

1pip install diffusers transformers accelerate torch2pip install imageio[ffmpeg]  # 영상 저장용

기본 텍스트-투-비디오 생성

1import torch2from diffusers import MochiPipeline3from diffusers.utils import export_to_video4 5# bf16 변형 사용 (메모리 절약, 약 22GB VRAM 필요)6pipe = MochiPipeline.from_pretrained(7    "genmo/mochi-1-preview",8    variant="bf16",9    torch_dtype=torch.bfloat1610)11 12# 메모리 절약 옵션 활성화13pipe.enable_model_cpu_offload()14pipe.enable_vae_tiling()15 16prompt = "Close-up of a chameleon's eye, with its scaly skin changing color. Ultra high resolution 4k."17frames = pipe(prompt, num_frames=85).frames[0]18 19export_to_video(frames, "mochi_output.mp4", fps=30)20print("영상 저장 완료: mochi_output.mp4")

Apple Silicon MPS 설정

Mac에서 MPS 백엔드를 활성화하려면 device_map 대신 .to("mps")를 사용한다. MPS가 지원하지 않는 연산은 CPU 폴백을 통해 처리된다.

1# 실행 전 환경변수 설정2export PYTORCH_ENABLE_MPS_FALLBACK=1
1import torch2from diffusers import MochiPipeline3from diffusers.utils import export_to_video4 5pipe = MochiPipeline.from_pretrained(6    "genmo/mochi-1-preview",7    variant="bf16",8    torch_dtype=torch.bfloat169)10 11# MPS 디바이스로 이동12pipe = pipe.to("mps")13 14# VAE 타일링으로 메모리 절약15pipe.enable_vae_tiling()16 17prompt = "A close-up shot of a strawberry falling into a glass of milk in slow motion, photorealistic."18frames = pipe(19    prompt,20    num_frames=49,21    num_inference_steps=28,22    guidance_scale=3.5,23).frames[0]24 25export_to_video(frames, "output.mp4", fps=30)

주요 파라미터 조절

MochiPipeline 호출 시 사용할 수 있는 주요 파라미터는 다음과 같다.

파라미터기본값설명
num_frames19생성할 프레임 수. 많을수록 영상이 길어지나 메모리 사용 증가
num_inference_steps64디노이징 스텝 수. 많을수록 품질 향상, 속도 저하
guidance_scale4.5프롬프트 충실도. 높을수록 텍스트 지시에 충실, 낮을수록 창의적
height480출력 영상 높이 (픽셀)
width848출력 영상 너비 (픽셀)
max_sequence_length256프롬프트 최대 토큰 수
generatorNonetorch.Generator로 시드 고정 시 재현 가능한 결과 생성
1# 파라미터 조절 예시2frames = pipe(3    prompt="Barista pouring espresso into glass cup | warm window light | 35mm film | slow-motion",4    height=480,5    width=848,6    num_frames=49,7    num_inference_steps=50,8    guidance_scale=4.5,9    generator=torch.Generator(device="mps").manual_seed(42),10    max_sequence_length=256,11).frames[0]

메모리 최적화

enable_model_cpu_offload()

모델 컴포넌트를 사용하지 않을 때 CPU로 오프로드하여 GPU 메모리를 절약한다. 속도가 다소 느려지지만 낮은 메모리에서 실행 가능하다.

1pipe.enable_model_cpu_offload()

enable_vae_tiling()

VAE 디코딩 시 입력 텐서를 타일로 분할 처리한다. 대용량 영상 디코딩 시 메모리를 크게 절약할 수 있다.

1pipe.enable_vae_tiling()

메모리 캐시 초기화

생성 후 MPS 캐시를 비워 다음 실행을 위한 메모리를 확보한다.

1import torch2 3# 생성 후 실행4torch.mps.empty_cache()

메모리 규모별 권장 설정

통합 메모리권장 설정
16 GBfp8 가중치, num_frames=25~37, cpu_offload 활성화
32 GBfp8 가중치, num_frames=49, cpu_offload 선택
64 GB+bf16 가중치, num_frames=49~85, vae_tiling만으로 충분

생성 속도 벤치마크

하드웨어해상도/프레임정밀도소요 시간
M2 Pro 32 GB480×848 / 37프레임fp825~40분
M3 Max 64 GB480×848 / 49프레임fp810~15분
M4 Max 64 GB480×848 / 49프레임fp87~11분
M5 Max 128 GB480×848 / 73프레임bf165~8분

T5-XXL 텍스트 인코더(약 10 GB)는 최초 실행 시 로드에 수 분이 걸릴 수 있다. 이후 실행에서는 캐시가 재사용되어 속도가 빨라진다.


프롬프트 작성 팁

Mochi-1은 동작에 대한 구체적인 묘사에 강하게 반응한다. 프롬프트를 다음 구조로 작성하면 효과적이다.

[피사체/동작] | [환경/조명] | [카메라/필름] | [모션 특성]

좋은 예시:

Barista pouring espresso into glass cup | warm window light, morning kitchen | shot on 35mm film, shallow DoF | slow-motion, crema swirling

피해야 할 것:

  • "8k, masterpiece" 같은 범용 품질 태그 — 256 토큰 한도 내에서 유효한 토큰을 낭비한다.
  • 비사실적 스타일(애니메이션, 만화 등) — Mochi-1은 포토리얼리스틱 영상에 최적화되어 있어 비사실적 스타일에서 품질이 저하된다.

자주 발생하는 오류 해결

NotImplementedError: aten::… not implemented for MPS

MPS에서 지원되지 않는 연산이 호출될 때 발생한다.

해결: 실행 전 환경변수를 설정한다.

1export PYTORCH_ENABLE_MPS_FALLBACK=1

"FP8 not supported on MPS"

MPS 백엔드는 FP8 데이터 타입을 지원하지 않는다.

해결: bf16 가중치 변형을 사용하거나, channels_last 메모리 포맷 워크어라운드를 적용한다.

1pipe = MochiPipeline.from_pretrained(2    "genmo/mochi-1-preview",3    variant="bf16",          # fp8 대신 bf16 사용4    torch_dtype=torch.bfloat165)

생성 중 프로세스 종료 / "out of memory"

통합 메모리 부족으로 OS가 프로세스를 강제 종료한다.

해결:

  1. fp8 가중치로 전환한다.
  2. num_frames를 25~37로 줄인다.
  3. 다른 앱을 모두 종료하여 메모리를 확보한다.
  4. pipe.enable_model_cpu_offload()를 활성화한다.

단색 화면 또는 노이즈 출력

VAE 또는 텍스트 인코더 파일이 잘못된 디렉터리에 있거나 손상된 경우다.

해결: VAE(mochi_vae.safetensors)와 텍스트 인코더 파일을 올바른 디렉터리에 다시 다운로드한다.

T5 인코더 로드 시간이 10분 이상 걸림

외부 저장장치(USB, SD카드 등)를 사용하는 경우 NVMe 대비 최대 5배 느리게 로드된다.

해결: ComfyUI 전체 또는 모델 파일을 Mac 내장 NVMe로 이동한다.

애니메이션/만화 스타일 출력이 왜곡됨

Mochi-1은 포토리얼리스틱 영상에 최적화되어 있어 비사실적 스타일에서 품질이 크게 저하된다.

해결: 비사실적 스타일 콘텐츠 생성에는 HunyuanVideo 사용을 권장한다.


참고 링크

댓글

아직 댓글이 없습니다.

댓글을 작성하려면 로그인이 필요합니다.