← Resources
By Ren Sugaya
— Performance Engineer, GPU & Inference
·
· TUTORIAL
Menjalankan LLM di Apple Silicon: Unified Memory dan Apa yang Muat
Apple Silicon sangat bagus untuk menjalankan LLM karena unified memory-nya bersifat shared, berber bandwidth tinggi, dan berkapasitas besar — Mac 64GB dapat menjalankan model 70B. Panduan ini mencakup apa yang muat di setiap tingkat RAM, MLX versus llama.cpp, satu kelemahan nyata (prompt processing), dan perkakas yang tersedia.
Mengapa unified memory adalah keunggulannya
Apple Silicon berbagi satu pool memori berber bandwidth tinggi di antara CPU, GPU, dan Neural Engine — tidak ada VRAM terpisah dan tidak ada salinan lambat melalui bus PCIe. Itulah mengapa Mac 64GB dapat memuat model yang tidak muat di GPU diskrit 24GB: seluruh pool tersedia untuk GPU.
Hal ini penting karena generasi token LLM bersifat [terikat bandwidth memori](/articles/running-llms-on-cpu) — setiap token memerlukan pembacaan model dari memori — dan unified bandwidth Apple cukup tinggi untuk benar-benar kompetitif dalam proses decode. Bandwidth, bukan komputasi mentah, adalah spesifikasi yang menentukan kecepatan generasi di sini.
Apa yang muat, berdasarkan tingkat memori
Unified memory adalah batasan pengikat, jadi sesuaikan ukuran model dengan Mac Anda (angka-angka untuk kuantisasi 4-bit):
- 16GB: model 7B–8B dengan nyaman.
- 32GB: hingga sekitar 30B model.
- 64GB: model 70B menjadi layak (70B di Q4 sekitar 40GB), meskipun ruang headroom konteks sempit — ini adalah titik masuk praktis untuk 70B.
- 128GB: 70B dengan presisi lebih tinggi (Q5/Q8) dengan ruang untuk konteks besar.
- Ultra-tier (192GB+): 70B dengan presisi tinggi, model yang sangat besar, atau beberapa model yang tersimpan sekaligus.
Aturan praktis: anggarkan sekitar 0,5–0,6 GB per miliar parameter untuk bobot di Q4, lalu sisakan ruang untuk KV cache, yang bertumbuh seiring panjang konteks dan sering kali menentukan apakah Anda dapat menggunakan konteks 16K atau 32K.
MLX vs llama.cpp
Dua runtime mendominasi di Mac. Backend Metal llama.cpp menerjemahkan komputasi GPU ke dalam shader Metal dan menggunakan format GGUF lintas platform dengan pustaka model terbesar. MLX adalah framework buatan Apple sendiri, dibangun dari awal untuk unified memory — umumnya lebih cepat pada model kecil (sering kali secara berarti di bawah ~14B), dengan kesenjangan yang menyempit di atas ~27B di mana keduanya mencapai batas bandwidth.
MLX memiliki momentum: Apple memposisikannya sebagai framework Apple Silicon yang direkomendasikan, runtime populer menambahkan backend MLX, dan ia bersinar pada model mixture-of-experts. Pandangan pragmatis: MLX untuk kecepatan puncak pada model kecil dan MoE, llama.cpp/GGUF untuk pemilihan model terluas dan konsistensi lintas platform.
Kelemahan nyata: prompt processing
Keterbatasan jujur Apple Silicon bukan pada generasi — melainkan prompt processing (waktu hingga token pertama). Prefill bersifat compute-bound, melibatkan perkalian matriks besar, dan GPU Apple tidak memiliki tensor core khusus yang membuat NVIDIA cepat di sini. Jadi bahkan ketika generasi token sudah kompetitif, model bisa terasa lambat memulai respons pada prompt yang panjang, yang mendominasi pengalaman nyata saat bekerja dengan konteks panjang.
Keterbatasan lainnya adalah ekosistem: sebagian besar perkakas menargetkan CUDA, ada lebih sedikit model MLX yang telah dikuantisasi dibandingkan GGUF, dan GPU NVIDIA kelas atas masih memiliki bandwidth mentah beberapa kali lebih tinggi. Untuk penggunaan lokal satu pengguna yang interaktif, Apple Silicon sangat baik; untuk penyajian konteks panjang atau throughput tinggi, kesenjangan tersebut menjadi signifikan.
Perkakas dan kuantisasi
Lanskap perkakas Mac sudah matang: Ollama (CLI ditambah API yang kompatibel dengan OpenAI, awal yang paling mudah), LM Studio (GUI terbaik), MLX-LM (performa puncak dan fine-tuning, melalui Python), dan aplikasi offline yang berfokus pada privasi. GGUF adalah format kuantisasi lintas alat yang dominan; format MLX bersifat native Apple dan lebih cepat tetapi memiliki pustaka yang lebih kecil.
Seperti di mana-mana, [kuantisasi](/articles/llm-quantization-explained-gguf) adalah kuncinya — turun ke 4-bit menyusutkan model sekitar empat kali lipat (70B dari ~140GB menjadi ~40GB) dengan penurunan kualitas yang kecil, dan Q4_K_M biasanya merupakan titik manis. Naik ke Q5 atau Q8 jika unified memory Anda memungkinkan.
Apple Silicon di osFoundry
osFoundry menjalankan inferensi lokal di Apple Silicon melalui jalur Metal dan MLX, sehingga model dieksekusi sepenuhnya di GPU Mac Anda menggunakan unified memory-nya — tidak ada data yang meninggalkan perangkat dan tidak ada penalti salinan PCIe. Karena batasannya hanyalah seberapa besar unified memory yang Anda miliki, osFoundry membantu Anda memilih model yang sesuai dengan Mac Anda — model 7B–8B untuk mesin 16GB, hingga 70B untuk mesin 64GB+ — dan memilih kuantisasi yang sesuai untuk memasukkan model ke dalam memori yang tersedia sambil mempertahankan kualitas sebesar mungkin, sehingga Anda tidak perlu memikirkan format GGUF atau trade-off Q4/Q5/Q8 secara manual. Hasilnya adalah inferensi lokal yang sepenuhnya privat dan dapat digunakan secara offline, disetel untuk setiap tingkat memori Mac — dan model yang sama dapat diskalakan ke endpoint GPU khusus ketika Anda membutuhkan prompt processing yang lebih cepat atau throughput yang lebih tinggi. (Untuk latar belakang bandwidth yang mendasarinya, lihat [panduan inferensi CPU](/articles/running-llms-on-cpu) kami.)
Frequently asked questions
- Bisakah Mac menjalankan model bahasa besar secara lokal tanpa GPU khusus?
- Ya — itulah kekuatan Apple Silicon. Unified memory-nya dibagi antara CPU dan GPU dan berber bandwidth tinggi, sehingga GPU dapat menggunakan seluruh pool memori. Mac 64GB dapat menjalankan model 70B di 4-bit, yang tidak muat di GPU diskrit 24GB, dan model kecil berjalan cepat. Tidak diperlukan GPU terpisah.
- Berapa unified memory yang saya butuhkan untuk menjalankan model 7B, 30B, atau 70B?
- Pada kuantisasi 4-bit: sekitar 16GB untuk model 7B–8B, 32GB untuk hingga sekitar 30B, dan 64GB untuk 70B (yaitu sekitar 40GB bobot, dengan headroom konteks yang sempit). 128GB memungkinkan Anda menjalankan 70B dengan presisi lebih tinggi dan ruang untuk konteks besar. Selalu sisakan headroom untuk KV cache, yang bertumbuh seiring panjang konteks.
- Apakah MLX lebih cepat dari llama.cpp di Apple Silicon?
- Sering kali, pada model kecil — MLX adalah framework Apple yang dibangun untuk unified memory dan secara berarti lebih cepat di bawah sekitar 14B, dan bersinar pada model mixture-of-experts. Di atas sekitar 27B keduanya bertemu karena keduanya menjadi bandwidth-bound. Keunggulan llama.cpp adalah pustaka model GGUF yang lebih besar dan konsistensi lintas platform. Gunakan MLX untuk kecepatan puncak pada model kecil dan MoE.
- Mengapa Mac saya lambat mulai merespons pada prompt yang panjang?
- Karena prompt processing (waktu hingga token pertama) adalah titik lemah Apple Silicon. Prefill bersifat compute-bound dan GPU Apple tidak memiliki tensor core khusus yang digunakan NVIDIA untuk itu, sehingga prompt yang panjang membutuhkan waktu sebelum token pertama muncul — bahkan ketika generasi token sesudahnya cepat. Ini adalah keterbatasan utama khusus Apple untuk penggunaan konteks panjang.
- Apa perkakas tercepat untuk menjalankan LLM di Mac?
- Untuk performa puncak, MLX-LM (framework Apple), terutama pada model kecil dan MoE. Untuk kemudahan penggunaan, Ollama (CLI ditambah API yang kompatibel dengan OpenAI) atau LM Studio (GUI terbaik) adalah pilihan populer, dan beberapa sekarang menggunakan backend MLX di Apple Silicon. Pilihan yang tepat tergantung pada apakah Anda menginginkan kecepatan maksimum atau kenyamanan maksimum.
- Bisakah saya menjalankan model 70B di MacBook Pro 64GB?
- Ya, di 4-bit — 70B di Q4 sekitar 40GB, yang muat di 64GB dengan ruang untuk runtime dan jendela konteks yang wajar. Ini adalah titik masuk praktis untuk 70B di Mac; headroom konteks terbatas, jadi untuk konteks besar atau presisi lebih tinggi Anda sebaiknya memiliki 128GB. Harapkan kecepatan generasi yang baik tetapi time-to-first-token yang lebih lambat pada prompt panjang.
- Apple Silicon atau NVIDIA untuk LLM lokal?
- Apple Silicon sangat baik untuk inferensi lokal yang privat dan satu pengguna — unified memory yang besar memungkinkan satu Mac menjalankan model yang membutuhkan beberapa GPU diskrit, dengan daya yang lebih rendah. NVIDIA unggul dalam bandwidth mentah (beberapa kali lebih tinggi), kecepatan prompt processing, penyajian konkurensi tinggi, dan ekosistem (CUDA). Pilih Apple untuk penggunaan lokal pribadi dan model besar di satu mesin; NVIDIA untuk throughput dan penyajian konteks panjang.
Sources