Piyasadaki en güçlü oyuncu ekran kartı olan NVIDIA RTX 4090 bile 24 GB VRAM sınırına takıldığı için 70 milyar parametreli bir modeli (4-bit kuantize hali ~40 GB bellek ister) tek başına çalıştıramaz. Buna karşın 64 GB veya 128 GB Birleşik Belleğe (Unified Memory) sahip bir MacBook Pro veya Mac Studio, 70B hatta 120B parametreli devasa modelleri fısıltı sessizliğinde ve yalnızca 60 Watt güç tüketerek çalıştırabilir. Bu rehberde, Apple Machine Learning Research ekibinin geliştirdiği ml-explore/mlx-lm çerçevesiyle Mac'inizi nasıl tam teşekküllü bir yapay zeka eğitim laboratuvarına dönüştüreceğinizi inceliyoruz.
Neden PyTorch MPS Değil de Doğrudan Apple MLX?
Apple tarafından özel olarak M serisi çipler için tasarlanan MLX, NumPy ve PyTorch'a çok benzeyen ancak iki kritik donanım avantajı sunan yerel bir dizi (array) çerçevesidir:
- Sıfır Kopyalamalı Birleşik Bellek (Zero-Copy Unified Memory): Klasik PC'lerde veriyi CPU RAM'inden GPU VRAM'ine PCIe veri yolu üzerinden kopyalamak büyük zaman kaybettirir. MLX'te tensörler ortak bellek havuzunda yaşar; veri taşınmaz, yalnızca işlemci işaretçisi değişir.
- Tembel Değerlendirme (Lazy Evaluation) ve Dinamik Graf: Hesaplama grafikleri yalnızca gerçekten ihtiyaç duyulduğunda (`mx.eval()`) derlenir ve Apple Metal GPU çekirdeklerinde maksimum paralellikle yürütülür.
Apple Silicon Donanım ve LLM Kapasite Matrisi
| Mac Donanım Modeli | Birleşik Bellek (RAM) | Bellek Bant Genişliği | Çalıştırılabilecek Maksimum Model (4-Bit) | Llama 3.3 70B Hızı |
|---|---|---|---|---|
| MacBook Air / Pro (M3 / M4) | 16 GB – 24 GB | 100 – 120 GB/s | 8B – 14B Modeller (Qwen 2.5, DeepSeek 14B) | Bellek Yetersiz |
| MacBook Pro (M3 / M4 Pro) | 36 GB – 48 GB | 150 – 273 GB/s | 32B Modeller (Qwen 2.5-Coder 32B) | Sınırda (Q3 Sıkıştırma) |
| MacBook Pro (M3 / M4 Max) | 64 GB – 128 GB | 400 – 546 GB/s | 70B – 110B Modeller (Llama 3.3 70B, DeepSeek 70B) | ~14 – 19 token/sn |
| Mac Studio (M2 / M3 Ultra) | 128 GB – 192 GB | 800 GB/s | 405B / 671B MoE Modeller (DeepSeek-V3 / R1 4-bit) | ~26 – 32 token/sn |
Adım 1: MLX-LM Kurulumu ve macOS VRAM Sınırını Kaldırma
macOS varsayılan olarak GPU'nun sistem belleğinin yaklaşık %70'ini kullanmasına izin verir. Büyük modellerde bellek (Wired Memory) sınırını artırmak ve MLX-LM kurmak için terminalde şu komutları çalıştırın:
# 1. MLX-LM kütüphanesini kurun
pip install mlx-lm
# 2. (İsteğe Bağlı) 64GB+ Mac'lerde GPU bellek tavanını yükseltme (Örn: 56 GB = 57344 MB)
sudo sysctl iogpu.wired_limit_mb=57344
Adım 2: Tek Komutla Model İndirme, Kuantizasyon ve Çıkarım
Hugging Face üzerindeki mlx-community organizasyonunda Apple Silicon için önceden optimize edilmiş binlerce model bulunur:
# Terminalden anında 4-bit Qwen 2.5 Coder ile sohbet başlatma
mlx_lm.generate --model mlx-community/Qwen2.5-Coder-14B-Instruct-4bit \
--prompt "Python'da asenkron dosya okuma sınıfı yaz." \
--max-tokens 500
Adım 3: Kendi Veri Setinizle 15 Dakikada LoRA Fine-Tuning (İnce Ayar)
Şirketinize özel soru-cevap veya yazım dilini modele öğretmek için data/train.jsonl ve data/valid.jsonl dosyalarınızı hazırlayın:
{"messages": [{"role": "user", "content": "EVREN kredi sistemi nasıl çalışır?"}, {"role": "assistant", "content": "EVREN'de nakit ödeme yoktur, veri ve model katkısıyla kredi kazanılır."}]}
Ardından 4-bit kuantize edilmiş model üzerinde QLoRA eğitimini başlatın (8B model için yalnızca ~6 GB bellek harcar):
# 1. LoRA Eğitimini Başlatma (600 iterasyon ~10-15 dakika sürer)
mlx_lm.lora \
--model mlx-community/Llama-3.2-3B-Instruct-4bit \
--train \
--data ./data \
--batch-size 2 \
--lora-layers 16 \
--iters 600 \
--adapter-path ./sirket_adaptoru
# 2. Eğitilen LoRA Adaptörünü Ana Modelle Birleştirme (Fuse)
mlx_lm.fuse \
--model mlx-community/Llama-3.2-3B-Instruct-4bit \
--adapter-path ./sirket_adaptoru \
--save-path ./egitilmis_sirket_modeli
Eğittiğiniz bu modeli doğrudan MLX sunucusuyla çalıştırabilir veya LM Studio ve Ollama içerisine aktararak tüm ekibinizin kullanımına açabilirsiniz.