4.4. Apple MLX 가속¶
개발 중
이 기능은 현재 활발히 개발 중입니다. 정식 릴리즈 버전에는 포함되지 않았거나 기능이 제한적일 수 있습니다.
래블업 실험적 가속 솔루션
래블업에서는 Apple Silicon에서의 성능을 더욱 향상시키기 위한 MLX용 실험적 가속 솔루션을 준비하고 있습니다. 향후 릴리즈에서 업데이트를 기대해 주세요.
MLX는 Apple 머신러닝 연구팀이 제공하는 Apple Silicon용 머신러닝 배열 프레임워크입니다. M1부터 M5까지의 최신 칩을 사용하는 macOS 사용자에게 MLX는 LLM 실행을 위한 가장 최적화된 네이티브 경험을 제공합니다.
MLX란 무엇인가요?¶
-
주요 인물: Awni Hannun (@awni), Apple의 수석 연구원으로 Apple Silicon에 Transformer 모델을 최적화하는 데 주도적인 역할을 했습니다.
2023년 말 Apple이 조용히 공개한 MLX는 NumPy나 PyTorch 사용자에게 익숙하도록 설계되었지만, Apple Silicon의 통합 메모리 아키텍처(Unified Memory Architecture)를 위해 바닥부터 새로 만들어졌습니다.
주요 장점¶
-
통합 메모리: MLX는 CPU와 GPU가 동일한 메모리 풀을 공유하게 합니다. 즉, 제로 카피(Zero-copy) 데이터 전송이 가능하여, 모델 가중치가 한 곳에 머물러 있고 두 프로세서가 즉시 접근할 수 있습니다.
-
동적 그래프 구성: PyTorch처럼 MLX는 계산 그래프를 즉석에서 생성하므로 유연하고 디버깅이 쉽습니다.
-
지연 연산 (Lazy Computation): 결과가 실제로 필요할 때만 연산을 수행하여 전력을 아끼고 효율성을 높입니다.
Backend.AI GO에서의 역할¶
llama.cpp가 훌륭한 크로스 플랫폼 솔루션이라면, MLX는 macOS 사용자에게 있어 종종 더 우월한 선택지입니다.
MLX 서버¶
Backend.AI GO는 mlx-lm 기반의 추론 서버를 통합했습니다. MLX 모델을 선택하면:
-
앱이 Core ML과 Metal에 최적화된 전용 Python 기반 사이드카 프로세스를 실행합니다.
-
모델을 통합 메모리에 직접 로드합니다.
-
동일한 하드웨어에서 다른 런타임에 비해 월등히 높은 토큰 생성 속도(TPS)를 제공합니다.
왜 MLX를 선택해야 하나요?¶
Mac 사용자라면 GGUF(llama.cpp)와 MLX 중 무엇을 써야 할지 고민될 수 있습니다.
다음 경우에 MLX를 선택하세요:¶
-
최고 속도: Mac이 제공할 수 있는 절대적인 최고 추론 속도를 원할 때.
-
배터리 효율: 장시간 작업을 수행할 때 전력 효율이 중요할 때.
-
최신 모델: MLX 커뮤니티(Awni 등이 주도)는 Llama 3, Mistral, Qwen과 같은 새로운 아키텍처를 매우 빠르게 이식합니다.
다음 경우에 GGUF(llama.cpp)를 선택하세요:¶
-
호환성: Intel Mac을 사용 중이거나 MLX에서 아직 지원하지 않는 특정 양자화 포맷이 필요할 때.
-
극한의 양자화: 제한된 RAM에서 매우 큰 모델을 실행하기 위해 공격적인 양자화(예: Q2_K)가 필요할 때.
지원 모델¶
Backend.AI GO는 Hugging Face에서 MLX로 변환된 모델을 직접 로드할 수 있습니다. mlx 태그가 있거나 mlx-community 조직에 있는 모델들을 찾아보세요.
- 일반적인 형식: MLX 모델은 보통
config.json,tokenizer.json및*.safetensors가중치 파일을 포함하는 폴더 형태로 제공됩니다.
Backend.AI GO는 Apple MLX 팀과 Awni Hannun의 첨단 연구 성과를 활용하여 macOS에서 동급 최강의 AI 경험을 제공합니다.