맥 스테이블 디퓨전, 무엇이 있어야 돌아가나
첫 조건은 칩이다. ComfyUI 공식 문서의 시스템 요구 사항은 지원 운영체제로 «macOS(Apple Silicon, M 시리즈)»를 적고, 지원 하드웨어 칸에는 «Apple Silicon — M1/M2/M3/M4 시리즈, Metal 가속»이라고 적었다. 같은 문서의 FAQ는 ComfyUI가 애플의 머신러닝 프레임워크인 MLX를 직접 쓰지 않으며, PyTorch의 MPS 백엔드가 애플의 Metal 그래픽 프레임워크로 GPU 가속을 한다고 설명한다. ComfyUI 코드도 PyTorch가 MPS를 쓸 수 있다고 답하면 장치를 «mps»로 잡는다. 윈도 · 리눅스와 같은 PyTorch 코드를 장치 이름만 바꿔 맥에서 돌리는 구조라는 뜻이다.
인텔 맥은 이 길에서 빠진다. PyTorch를 설치할 때 받는 torch 패키지의 2026년 10월 28일 판(2.15.0)을 PyPI에서 받아 파일 이름을 셌더니, 전체 28개 가운데 맥용은 7개였고 7개 모두 이름이 macosx_14_0_arm64로 끝났다. 인텔 맥용(x86_64) 파일은 0개였다. 같은 목록의 파이썬 요구 칸은 3.11 이상이었다. 애플 개발자 문서의 PyTorch 안내도 요구 사항 첫 줄을 «Apple silicon을 쓰는 Mac 컴퓨터»로 적었다.
데스크톱은 macOS 13, PyTorch는 14.0 — 판 번호부터 본다
두 번째 조건은 macOS 판이다. 여기서 문서끼리 숫자가 다르다. ComfyUI 문서의 Comfy Desktop 맥 안내는 시스템 요구 사항을 «macOS 13(Ventura) 이상, Apple Silicon(M1 이상), 설치본 하나당 최소 4.85GB 권장»으로 적었다. 반면 애플 개발자 문서는 PyTorch 2.11.0 기준 요구 사항으로 macOS 14.0 이상, 파이썬 3.10 이상, Xcode 명령줄 도구를 적었고, PyTorch 공식 MPS 문서의 확인 코드에도 «현재 macOS 판이 14.0 이상이 아니라서 MPS를 쓸 수 없다»는 문구가 들어 있다. 위에서 센 torch 2.15.0 맥 파일 이름의 «14_0»도 같은 기준이다.
ComfyUI 코드도 macOS 14를 경계로 쓴다. model_management.py는 MPS 장치에서 bf16을 쓸지 정할 때 macOS 판이 14보다 낮으면 쓰지 않는다. 정리하면 macOS 13에서는 데스크톱 앱이 깔려도 GPU 가속과 계산 형식에서 손해를 볼 수 있으니, macOS를 14 이상 판으로 올리고 시작하는 편이 안전하다는 것이 글쓴이의 읽기다. 내 맥의 칩과 macOS 판은 애플 메뉴의 «이 Mac에 관하여»에서 한 화면에 나온다.
맥에서 ComfyUI 설치 — Comfy Desktop과 터미널 수동 설치
맥에서 가장 쉬운 길은 Comfy Desktop이다. ComfyUI README는 윈도와 맥 사용자에게 데스크톱 앱을 강하게 권한다. 설치는 받은 .dmg 파일을 열어 Comfy Desktop을 응용 프로그램 폴더로 끌어 넣고, Launchpad나 Spotlight에서 켜는 세 단계다. 처음 켤 때 macOS가 보안 경고를 띄우면 시스템 설정의 «개인정보 보호 및 보안»에서 «그래도 열기»를 누르라고 문서가 안내한다. 데스크톱 앱은 설치본마다 파이썬 환경을 스스로 관리하므로 파이썬을 따로 깔 필요가 없다. Comfy Desktop의 마지막 안정판은 2026년 10월 22일 공개된 v1.1.8이고, 받는 곳은 comfy.org/download다.
데스크톱은 기본으로 ComfyUI의 안정판을 따라간다. ComfyUI 본체의 최신 릴리스는 2026년 10월 27일 공개된 v0.43.0이다. 새 커밋을 바로 받고 싶다면 설치본의 업데이트 채널을 «Latest on GitHub»로 바꾸거나 수동 설치를 쓰라고 문서가 적었다. 데스크톱과 포터블 · 수동 설치의 차이 전체는 포터블 · 데스크톱 편에 정리해 두었다. ComfyUI 문서가 포터블을 윈도 전용으로 적은 만큼, 맥이라면 선택지는 데스크톱과 수동 설치 둘이다.
터미널 수동 설치 — 세 문서의 명령이 조금씩 다르다
터미널로 직접 깔 때는 문서마다 PyTorch 설치 명령이 다르다는 점을 알고 시작하는 것이 좋다. ComfyUI 공식 문서의 수동 설치 안내는 Miniconda로 conda create -n comfyenv 환경을 만든 뒤, 맥용 줄에 conda install pytorch-nightly::pytorch torchvision torchaudio -c pytorch-nightly를 적었다. ComfyUI README의 Apple Mac silicon 절은 애플 개발자 문서의 안내를 따라 «최신 PyTorch nightly»를 깔라고 적었다. 정작 그 애플 문서에는 안정판 pip3 install torch torchvision torchaudio와 nightly pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu가 함께 있다. 애플 문서가 «최신 안정판»이라 적은 판은 2.11.0이지만, PyPI의 최신판은 2.15.0이었다. 애플 문서의 판 번호는 미갱신 상태로 보면 된다.
PyTorch가 깔리면 나머지는 운영체제와 상관없이 같다. git clone https://github.com/Comfy-Org/ComfyUI.git로 저장소를 받고, ComfyUI 폴더에서 pip install -r requirements.txt로 의존성을 설치한 뒤 python main.py로 켠다. 파이썬은 ComfyUI 문서가 3.13을 권하고, 몇몇 확장 노드에 문제가 있으면 3.12로 내려가라고 적었다. 켜기 전에 python -c "import torch; print(torch.backends.mps.is_available())"가 True를 내는지 확인하라는 것이 ComfyUI 문서의 안내다. 애플 문서의 확인 스크립트로는 tensor([1.], device='mps:0')이 나오면 MPS가 잡힌 것이다.
인용 — Comfy Org. ComfyUI 문서 — System Requirements«On Apple Silicon (M1/M2/M3/M4) Macs, ComfyUI uses PyTorch with the MPS (Metal Performance Shaders) backend, which leverages Apple's Metal graphics framework for GPU acceleration.» — 애플 실리콘(M1/M2/M3/M4) 맥에서 ComfyUI는 PyTorch의 MPS 백엔드를 쓰며, 이 백엔드는 애플의 Metal 그래픽 프레임워크로 GPU 가속을 한다.
맥용 설치가 결국 «MPS가 잡힌 PyTorch를 까는 일»이라는 문장이다. 설치 명령이 문서마다 달라도, 확인할 것은 is_available()의 True 하나로 같다.
통합 메모리 — ComfyUI가 맥 메모리를 VRAM으로 세는 방식
윈도 PC에서는 그래픽카드의 VRAM과 본체 RAM이 따로 있다. 애플 실리콘 맥은 CPU와 GPU가 한 메모리를 나눠 쓰는 통합 메모리 구조이고, ComfyUI 코드도 이를 따로 다룬다. model_management.py는 MPS 장치를 찾으면 메모리 상태를 VRAMState.SHARED로 둔다. 이 상태에 붙은 주석은 «전용 VRAM이 없다: 메모리를 CPU와 GPU가 함께 쓰지만, 모델은 여전히 둘 사이에서 옮겨야 한다»는 뜻이다.
숫자를 세는 방식도 다르다. 같은 파일에서 장치가 MPS이면 전체 메모리와 여유 메모리를 모두 시스템 메모리 값으로 잰다. 그래서 맥에서 ComfyUI를 켜면 시작 기록의 «Total VRAM»과 «total RAM»이 같은 크기로 찍히는 구조다. 또 SHARED 상태에서는 UNet(그림을 만드는 본체 모델)을 처음부터 GPU 쪽에 올리고, 1GB가 넘는 텍스트 인코더도 MPS 장치에 바로 올린다. 이 «VRAM»은 macOS와 브라우저, 다른 앱이 같이 쓰는 메모리이므로, 맥의 메모리 크기가 곧 그래픽카드 VRAM 크기라고 읽으면 안 된다.
윈도 NVIDIA 쪽에서 쓰는 dynamic VRAM(모델 일부를 필요할 때만 올리는 새 메모리 관리)도 맥에서는 기본으로 켜지지 않는다. ComfyUI의 main.py에서 dynamic VRAM을 지원하는 장치로 판단하는 함수는 NVIDIA와 ROCm 7.14 이상의 AMD에만 참을 돌려준다. 맥에서는 위의 SHARED 방식이 그대로 쓰인다는 뜻이다.
모델 파일 크기로 어림하고, 상한은 PyTorch가 정한다
모델이 메모리에 맞는지는 파일 크기로 먼저 어림할 수 있다. Hugging Face에서 2026년 10월 29일에 받은 크기로 SD 1.5의 v1-5-pruned-emaonly.safetensors는 4,265,146,304바이트(1024 단위로 약 3.97GB), SDXL 기본 모델 sd_xl_base_1.0.safetensors는 6,938,078,334바이트(약 6.46GB)다. ComfyUI용으로 묶인 FLUX.1 schnell의 fp8 한 파일판은 17,236,328,572바이트(약 16.05GB)다. 여기에 macOS와 브라우저가 쓰는 몫이 더해진다는 점을 감안해야 한다. 모델별 실행 사양은 VRAM 모델별 사양 편, FLUX의 파일 구성은 FLUX 로컬 편에 정리해 두었다.
fp8 파일은 맥에서 조심할 점이 하나 더 있다. ComfyUI의 형식 변환 판단 함수는 MPS 장치에서 float8 형식을 지원 목록에서 빼고, 이때는 대체 형식으로 바꿔 올린다. NVIDIA에서 fp8 파일이 메모리를 아끼는 효과가 맥에서는 그대로 나오지 않을 수 있다는 것이 글쓴이의 읽기다.
GPU가 쓸 수 있는 상한은 PyTorch와 애플이 정한다. 애플의 Metal 문서는 recommendedMaxWorkingSetSize를 «이 GPU 장치가 실행 성능에 영향을 주지 않고 할당할 수 있는 메모리 양의 근삿값(바이트)»으로 설명하고, PyTorch는 이 값을 torch.mps.recommended_max_memory()로 보여 준다. PyTorch의 MPS 환경 변수 문서에서 PYTORCH_MPS_HIGH_WATERMARK_RATIO는 전체 할당의 상한이며 기본값은 1.7이다. 1.0이 권장 최대 할당 크기에 해당하고, 0.0으로 두면 상한을 끈다. 낮은 쪽인 PYTORCH_MPS_LOW_WATERMARK_RATIO는 통합 메모리에서 기본 1.4다. 상한을 끄면 메모리가 모자랄 때 맥 전체가 느려질 수 있으므로, 이 값은 손대지 않고 두는 편이 낫다는 것이 글쓴이의 정리다.
맥에서 달라지는 계산 형식과 막힐 때
설치가 끝나도 맥에서는 ComfyUI가 쓰는 계산 형식이 윈도 NVIDIA와 다르다. model_management.py를 보면 MPS 장치에서는 fp16을 쓰고, bf16은 macOS 14 이상에서만 쓴다. 반대로 fp64는 MPS에서 지원하지 않는 것으로 두고, int8 연산도 끈다. int8을 끄는 줄에는 «PyTorch가 MPS용 torch._int_mm을 구현하지 않았다»는 주석과 PyTorch 이슈 주소가 붙어 있다. fp8 연산을 켜는 함수는 NVIDIA가 아니면 기본으로 거짓을 돌려준다. 메모리 복사를 기다리지 않고 넘기는 non blocking 기능도 MPS에서는 끄며, 주석은 «PyTorch 버그? MPS는 non blocking을 지원하지 않는다»다.
맥에서 자주 듣는 «검은 그림» 이야기도 코드에 있다. 어텐션 계산 형식을 정하는 함수는 macOS 판이 14.5 이상이면 fp16 어텐션을 fp32로 올려 계산한다. 붙은 주석은 «macOS 새 판들의 검은 그림 버그 때문이며, 고쳐질 것 같지 않다»는 뜻이다. 사용자가 따로 켜지 않아도 macOS 14.5 이상이면 이 보정이 자동으로 들어간다는 뜻이고, 그만큼 메모리와 시간이 조금 더 들 수 있다는 것이 글쓴이의 읽기다.
막혔을 때의 순서
막혔을 때는 순서대로 좁혀 가는 편이 빠르다. 먼저 앞에서 본 torch.backends.mps.is_available()이 True인지 확인한다. False라면 macOS 판(14.0 이상)과 칩(애플 실리콘)부터 다시 본다. 검은 그림이 나오면 ComfyUI 시작 옵션의 --force-upcast-attention(어텐션 upcast 강제)이나 --fp32-vae(VAE를 fp32로)를 차례로 켜 본다. 시작 옵션 문서는 --fp16-vae를 «검은 그림이 생길 수 있다»고 적었으니 이 옵션은 피한다.
MPS 자체가 문제를 일으키면 ComfyUI 문제 해결 문서는 python main.py --cpu, 또는 메모리를 아끼는 python main.py --force-fp16 --cpu로 CPU 모드를 쓰라고 적었다. 시작 옵션 문서가 --cpu를 «모든 것을 CPU로(느림)»라고 적은 만큼, 원인을 가르는 시험용으로 쓰는 것이 맞다. 특정 연산만 MPS에서 막힌다면 PyTorch의 PYTORCH_ENABLE_MPS_FALLBACK=1 환경 변수가 MPS가 지원하지 않는 연산만 CPU로 넘긴다. 오류 문구별 대처는 자주 나는 오류 30 편에 모아 두었다. 맥의 메모리로 큰 모델이 버겁다면 클라우드 GPU 편처럼 장비를 빌리는 길도 있다.
자주 묻는 것
인텔 맥에서도 ComfyUI로 스테이블 디퓨전을 돌릴 수 있나요?
GPU 가속 길로는 어렵습니다. Comfy Desktop 맥 안내는 Apple Silicon(M1 이상)을 요구 사항으로 적었고, 2026년 10월 28일 공개된 torch 2.15.0의 맥용 파일 7개는 모두 arm64용이며 인텔 맥용 파일은 0개였습니다.
맥에서 ComfyUI는 MLX로 돌아가나요?
아닙니다. ComfyUI 공식 문서는 ComfyUI가 MLX를 직접 쓰지 않고, PyTorch의 MPS 백엔드로 Metal GPU 가속을 쓴다고 적었습니다. 확인 명령은 python -c "import torch; print(torch.backends.mps.is_available())"입니다.
macOS 13 Ventura에서도 되나요?
Comfy Desktop 안내는 macOS 13 이상이라 적었지만, 애플과 PyTorch 문서는 MPS에 macOS 14.0 이상을 요구합니다. ComfyUI도 macOS 14 미만에서는 bf16을 쓰지 않으므로, 14 이상 판으로 올리고 시작하는 편이 안전합니다.
통합 메모리가 크면 VRAM이 큰 것과 같나요?
ComfyUI는 맥의 시스템 메모리 전체를 VRAM으로 세지만, 그 메모리는 macOS와 다른 앱도 같이 씁니다. 애플 Metal 문서도 GPU가 성능 영향 없이 쓸 수 있는 양을 따로 «권장 최대 작업 크기»로 둡니다. 모델 파일 크기(SDXL 기본 모델 약 6.46GB 등)에 여유를 더해 어림하는 편이 맞습니다.
맥에서 검은 그림만 나와요.
macOS 14.5 이상에서는 ComfyUI가 검은 그림 버그 때문에 어텐션을 fp32로 자동으로 올립니다. 그래도 검게 나오면 --force-upcast-attention이나 --fp32-vae 시작 옵션을 켜 보고, --fp16-vae는 검은 그림이 생길 수 있다고 문서가 적었으니 피합니다.
정리 — 맥에서 스테이블 디퓨전을 시작하기 전 볼 다섯 가지
맥에서 스테이블 디퓨전을 돌리는 길은 2026년 10월 현재 «애플 실리콘 + PyTorch MPS + ComfyUI» 하나로 모인다. 설치는 Comfy Desktop이 가장 쉽고, 터미널 수동 설치는 PyTorch만 맥용으로 깔면 나머지가 윈도 · 리눅스와 같다.
시작 전에 볼 것은 다섯 가지다. 첫째, 칩이 애플 실리콘인지 본다(torch 2.15.0의 인텔 맥 파일 0개). 둘째, macOS 판을 14.0 이상에 맞춘다. 셋째, 데스크톱이면 설치본당 4.85GB 이상의 디스크를, 수동 설치면 파이썬 3.13을 준비한다. 넷째, ComfyUI가 시스템 메모리 전체를 VRAM으로 세므로 모델 파일 크기에 macOS 몫을 더해 어림한다. 다섯째, 검은 그림은 macOS 14.5 이상에서 자동 보정이 들어가고, 그래도 안 되면 시작 옵션으로 좁힌다. 이 글은 원문 · 코드 · 패키지 목록을 대조한 정리이며, 맥에서 직접 생성 속도를 잰 결과는 아니다.
참고 자료
- Comfy-Org. ComfyUI GitHub 저장소 README — Apple Mac silicon 절(M1 · M2 · M3 · M4, 최신 macOS, Apple 개발자 안내대로 PyTorch nightly 설치 뒤 수동 설치 · 의존성 설치), 데스크톱 앱 Windows & macOS(2026-10-29 master 확인). github.com
- Comfy Org. ComfyUI 문서 — System Requirements — macOS(Apple Silicon) 지원, Apple Silicon M1/M2/M3/M4 Metal 가속, 파이썬 3.13 권장, FAQ «MLX를 직접 쓰지 않고 PyTorch MPS 백엔드», torch.backends.mps.is_available() 확인 명령, 데스크톱은 기본으로 안정판을 따라감(2026-10-29 확인). docs.comfy.org
- Comfy Org. ComfyUI 문서 — Comfy Desktop for macOS — macOS 13(Ventura) 이상, Apple Silicon(M1 이상), 설치본당 최소 4.85GB 권장, .dmg를 응용 프로그램 폴더로 끌기, 개인정보 보호 및 보안의 «그래도 열기», 앱을 지워도 남는 폴더 4곳(2026-10-29 확인). docs.comfy.org
- Comfy Org. ComfyUI 문서 — Install ComfyUI Manually — conda create -n comfyenv, Mac ARM Silicon용 conda install pytorch-nightly::pytorch 명령, git clone, pip install -r requirements.txt, python main.py(2026-10-29 확인). docs.comfy.org
- Comfy Org. ComfyUI 문서 — Troubleshooting — Apple Silicon Issues 절: 데스크톱은 설치본마다 파이썬 환경을 스스로 관리, MPS 확인 명령, MPS 문제 때 --cpu · --force-fp16 --cpu(2026-10-29 확인). docs.comfy.org
- Comfy-Org. ComfyUI comfy/model_management.py — MPS → VRAMState.SHARED와 주석, MPS 장치의 전체 · 여유 메모리 = 시스템 메모리, SHARED일 때 UNet을 처음부터 GPU에, 1GB 넘는 텍스트 인코더도 MPS에, fp16 사용 · bf16 macOS 14 이상, macOS 14.5 이상 어텐션 upcast(검은 그림 주석), fp64 · int8 연산 · fp8 변환 제외, non blocking 끔, torch.mps.empty_cache(2026-10-29 master 확인). github.com
- Comfy Org. ComfyUI 문서 — Startup Flags — --force-upcast-attention(검은 그림이 고쳐지면 알려 달라), --fp32-vae, --fp16-vae(검은 그림 가능), --cpu(느림), VRAM 모드 플래그끼리는 함께 못 씀(2026-10-29 확인). docs.comfy.org
- Apple Developer. Accelerated PyTorch training on Mac — PyTorch 2.11.0 기준 요구 사항(Apple silicon Mac · macOS 14.0 이상 · Python 3.10 이상 · xcode-select --install), pip3 안정판 · nightly 명령, 확인 스크립트 출력 tensor([1.], device='mps:0')(2026-10-29 확인). developer.apple.com
- PyTorch. MPS backend — macOS 장치의 Metal GPU용 mps 장치, «현재 macOS가 14.0 이상이 아니라서» MPS를 쓸 수 없다는 확인 코드 문구(2026-10-29 확인). docs.pytorch.org
- PyTorch. MPS Environment Variables — PYTORCH_MPS_HIGH_WATERMARK_RATIO 기본 1.7(전체 할당 상한 · 1.0 = 권장 최대 할당 크기 · 0.0 = 제한 끔), PYTORCH_MPS_LOW_WATERMARK_RATIO 기본 1.4(통합) · 1.0(분리형), PYTORCH_ENABLE_MPS_FALLBACK(2026-10-29 확인). docs.pytorch.org
- PyTorch. torch.mps — recommended_max_memory(권장 최대 작업 크기) · driver_allocated_memory · current_allocated_memory · empty_cache(2026-10-29 확인). docs.pytorch.org
- Apple Developer. MTLDevice recommendedMaxWorkingSetSize — «이 GPU 장치가 실행 성능에 영향을 주지 않고 할당할 수 있는 메모리 양의 근삿값(바이트)», 자원 · 힙의 총 사용량을 이 값 아래로 두면 성능 유지에 도움(2026-10-29 확인). developer.apple.com
- PyPI. torch 2.15.0 — 2026-10-28 올라옴, 파일 28개 중 맥용 7개 전부 macosx_14_0_arm64 · x86_64 맥 파일 0개, cp313 맥 파일 138,556,890바이트, Requires-Python >=3.11(2026-10-29 05:22 작업 PC Python 셈). pypi.org
- Comfy-Org. Comfy Desktop v1.1.8 릴리스 — 2026-10-22 안정판 공개, 설치 파일은 comfy.org/download(2026-10-29 GitHub API 조회). github.com
- Comfy-Org. ComfyUI v0.43.0 릴리스 — 2026-10-27 공개(2026-10-29 GitHub API 조회). github.com
- Stability AI. stable-diffusion-xl-base-1.0(Hugging Face) — sd_xl_base_1.0.safetensors 6,938,078,334바이트(2026-10-29 05:22 Hugging Face API 조회). huggingface.co
- stable-diffusion-v1-5. stable-diffusion-v1-5(Hugging Face) — v1-5-pruned-emaonly.safetensors 4,265,146,304바이트(2026-10-29 05:22 Hugging Face API 조회). huggingface.co
- Comfy-Org. flux1-schnell(Hugging Face) — flux1-schnell-fp8.safetensors 17,236,328,572바이트(2026-10-29 05:22 Hugging Face API 조회). huggingface.co
- Comfy-Org. ComfyUI main.py — dynamic_vram_supported() = NVIDIA이거나 ROCm 7.14 이상 AMD일 때만 참, 그 밖에는 --enable-dynamic-vram을 줄 때만 켬(2026-10-29 master 확인). github.com