apple-aiml-research/ml-stable-diffusion
Stable Diffusion with Core ML on Apple Silicon
해결하는 문제
이 프로젝트는 Apple Silicon 기기(Mac, iPad, iPhone)에서 Stable Diffusion 이미지 생성 모델을 실행할 수 있도록 합니다. 대규모이고 계산 비용이 큰 확산 모델을 모바일 및 데스크톱 하드웨어에서 실행하는 도전 과제를 해결하기 위해 Apple의 Core ML 프레임워크에 특화된 모델 변환 및 최적화 도구를 제공합니다.
작동 방식
이 프로젝트는 두 가지 주요 구성 요소를 제공합니다:
- Python 패키지 (
python_coreml_stable_diffusion): Hugging Face diffusers를 통해 PyTorch 모델을 Core ML 형식으로 변환하는 데 사용됩니다. 가중치 압축 및 최적화 도구를 포함하며, 훈련 후 팔레트화(post-training palettization)와 Mixed-Bit Palettization (MBP)와 같은 기술을 통해 모델 크기와 메모리 사용량을 줄입니다. - Swift 패키지 (
StableDiffusion): Xcode 프로젝트에 통합할 수 있는 개발자용 라이브러리입니다. 변환된 Core ML 모델을 로드하고 디바이스에서 직접 이미지 생성을 수행할 수 있습니다.
대상 사용자
- 앱 개발자: iOS, iPadOS, macOS 앱에 고성능 텍스트에서 이미지 생성 기능을 통합하고자 하는 사람.
- ML 엔지니어: Apple 하드웨어에서 엣지 배포를 위해 Stable Diffusion 모델을 최적화하고자 하는 연구자 및 개발자.
주요 특징
- 하드웨어 가속: Apple Neural Engine (ANE), GPU, CPU에 최적화되어 있습니다.
- 고급 압축: 데이터 없이 훈련 후 팔레트화(최대 8비트) 및 Mixed-Bit Palettization (MBP)를 지원하여 품질 손실 없이 극도로 모델 크기를 줄일 수 있습니다.
- 메모리 관리:
reduceMemory옵션을 통해 모델을 즉시 로드하고 해제할 수 있어 RAM이 제한된 기기(예: iPhone 12 Mini)에서도 실행이 가능합니다. - 광범위한 호환성: SD 2.1 및 SDXL을 포함한 여러 Stable Diffusion 버전을 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트