Swift Diffusers for Mac 1.1 릴리스

Hugging Face는 Diffusers for Mac 버전 1.1을 출시했습니다. 이 네이티브 애플리케이션은 macOS에서 빠르고 로컬 텍스트‑투‑이미지 생성을 가능하게 합니다. 커뮤니티가 제공한 diffusion 모델을 Core ML로 변환함으로써, 앱은 Apple Silicon의 CPU, GPU, Neural Engine(ANE) 전반에 걸쳐 성능을 최적화합니다.

Core ML 통합 및 네이티브 성능

Diffusers for Mac은 Python 기반 diffusers 라이브러리에 대한 네이티브 대안을 제공합니다. Python 라이브러리가 PyTorch의 mps 가속기를 사용하는 반면, 네이티브 앱은 Core ML을 활용하며, 이는 여러 기술적 장점을 제공합니다:

  • Hardware Orchestration: Core ML은 모델 워크로드를 CPU, GPU, Neural Engine에 동시에 분산시킬 수 있습니다. 반면 PyTorch의 mps 디바이스는 Neural Engine을 활용할 수 없습니다.
  • Local Execution: 모든 이미지 생성이 사용자의 로컬 머신에서 이루어져 데이터 프라이버시를 보장하고 클라우드 크레딧이나 대기 시간의 필요성을 없앱니다.
  • Native UX: 이 애플리케이션은 Swift와 SwiftUI로 구축되어 Apple의 디자인 가이드라인을 따르며, 명령줄 인터페이스나 가상 환경 관리의 필요성을 없앱니다.

성능 벤치마크 및 하드웨어 최적화

버전 1.1의 텍스트‑투‑이미지 생성은 하드웨어 구성에 따라 최대 두 배 빠를 수 있습니다. 성능은 사용된 Apple Silicon 칩에 따라 크게 달라집니다:

  • Standard M1 Processors: 이러한 장치(예: Mac Mini)는 GPU보다 Apple Neural Engine(ANE)을 사용할 때 두 배 빠릅니다.
  • M1 Max: M1 Max와 같은 고성능 칩에서는 GPU 코어와 CPU 성능 코어 수가 Neural Engine보다 많아 GPU를 이용한 생성이 ANE보다 크게 빠릅니다.
  • Memory Impact: 벤치마크 결과 시스템 메모리 용량(예: 8GB vs 16GB)이 생성 성능에 큰 영향을 주지 않으며, 오히려 CPU와 GPU 코어 수가 주요 요인임을 보여줍니다.

벤치마크 데이터 요약

모델 이름 M1 8 GB (ANE) M1 16 GB (ANE) M2 24 GB (ANE) M1 Max 64 GB (GPU)
Stable Diffusion 1.5 18.8 18.7 13.1 9
Stable Diffusion 2 Base 14.5 14.4 10.5 8.3
Stable Diffusion 2.1 Base 14.3 14.3 10.5 8.3
small-stable-diffusion-v0 12.3 12.7 9.1 6.3

버전 1.1은 감지된 하드웨어를 기반으로 최적의 가속기를 자동으로 선택하는 휴리스틱을 포함합니다.

버전 1.1 기능 업데이트

성능 최적화 외에도, 버전 1.1은 여러 사용자 경험 및 기능 개선을 도입합니다:

  • Generation Controls: 사용자는 이제 guidance scale을 조정하고, 진행 중인 생성을 취소하며, 선택적으로 safety checker를 비활성화할 수 있습니다.
  • Workflow Enhancements: 앱에 모델 다운로드 표시기가 추가되었으며, 이전 생성에서 사용된 시드를 재사용하여 반복적으로 조정할 수 있는 바로가기가 제공됩니다.
  • Educational Tooltips: 다양한 생성 설정의 기능을 설명하는 새로운 정보가 추가되어 비전문가도 도구를 쉽게 사용할 수 있게 되었습니다.

향후 로드맵

Hugging Face는 Apple 생태계 통합 기능을 다음과 같이 확장할 계획입니다:

  • Expanded Model Access: Hugging Face Hub에서 추가 파인튜닝 또는 Dreambooth 모델에 더 쉽게 접근할 수 있도록 구현합니다.
  • Platform Expansion: iOS 및 iPadOS용 애플리케이션 버전을 개발합니다.

Sources