Profiling Apple Silicon Performance for ML Training
Dahua Feng, Zhiming Xu, Rongxiang Wang, Felix Xiaozhu Lin
TL;DR
The paper investigates end-to-end LLM training on Apple Silicon versus NVIDIA GPUs, focusing on unified memory and system-level factors that influence performance. It employs multiple memory scenarios and workloads (e.g., Whisper, GPT-2) to quantify time per training pass, memory behavior, and kernel performance, and analyzes BLAS kernels to explain the observed gaps. Key findings show Apple Silicon underperforms in raw training throughput but excels in energy efficiency, with memory management, page faults, and kernel-launch overhead contributing to the performance gap; MLX and MPS provide mixed results for Apple Silicon’s BLAS workloads. The work offers practical guidance for practitioners, hardware/software vendors, and benchmark developers on when Apple Silicon is viable and where improvements are most needed to close the gap with NVIDIA GPUs.
Abstract
Apple Silicon has attracted much attention for its performance and role in machine learning (ML) training. Unlike NVIDIA GPUs, which have traditionally dominated ML training, Apple Silicon has a significant difference in memory architecture. It uses Unified Memory, which integrates CPU and GPU memory instead of separate CPU memory and GPU VRAM. However, it is difficult to tell whether Unified Memory means more performance benefits. This paper investigates the performance differences by training several large language model (LLM) workloads end-to-end under different memory scenarios. The results show a significant performance gap between Apple Silicon and NVIDIA GPUs. This paper attributes this gap to system-level factors such as page faults, power consumption, and kernel launch time. In addition, the performance difference of basic linear algebra subprograms (BLAS) on the NVIDIA GPUs and Apple Silicon chips is analyzed to further explain the observed gap.
