7 puan yazan GN⁺ 2025-07-15 | 3 yorum | WhatsApp'ta paylaş
  • MLX, Apple Silicon tabanlı makine öğrenimi araştırmacıları için dizi çerçevesi olup NumPy ve PyTorch’a benzer bir kullanım deneyimi sunuyor
  • MLX’e CUDA backend ekleme çalışması sürüyor
  • Temel amaç, birleşik bellek (unified memory) desteği ve NVIDIA donanımından geniş ölçekte yararlanma
  • Şu anda yalnızca eğitim örnekleri çalıştırılabiliyor; derleme ve testler Ubuntu 22.04 + CUDA 11.6 ortamında doğrulandı
  • İlk performans sorunları ve darboğaz iyileştirme sürecinden geçilirken optimizasyon ve refaktöring çalışmaları tekrarlı biçimde sürdürülüyor
  • MLX’in CUDA backend’i Apple’ın desteğiyle geliştiriliyor; birleşik bellek ve NVIDIA donanım desteği sayesinde Mac’te geliştirme yapıp büyük ölçekli hesaplama ortamlarına dağıtırken tutarlı bir deneyim sunmak hedefleniyor

MLX çerçevesine giriş

  • MLX, Apple’ın makine öğrenimi araştırma ekibi tarafından geliştirilen makine öğrenimi için dizi çerçevesidir
  • Mühendislerin ve araştırmacıların etkili biçimde deney yapabilmesi ve fikirlerini hızlıca doğrulayabilmesi için geliştirildi
  • Apple Silicon desteğiyle öne çıkıyordu; ancak artık CUDA backend eklenmesiyle NVIDIA GPU ortamlarında da çalışma olasılığını genişletmeye çalışıyor

Başlıca özellikler

  • Tanıdık API: Python API, NumPy’ye; üst paketler olan mlx.nn, mlx.optimizers ise PyTorch’a benzer bir arayüz sunuyor
    • C++, C, Swift API’leri de birlikte sağlanıyor ve Python API ile tutarlı bir kullanım deneyimi garanti ediliyor
  • Birleştirilebilir fonksiyon dönüşümleri: otomatik türev alma, otomatik vektörleştirme, hesaplama grafiği optimizasyonu gibi işlevler içeriyor
  • Tembel hesaplama: birden çok işlemi gruplayıp sonuçları yalnızca gerçekten gerektiğinde hesaplayan yapısıyla kaynakların verimli kullanılmasını sağlıyor
  • Dinamik grafik oluşturma: girdi verisinin shape’i değişse bile yavaş derleme olmadan anında çalıştırma sunarak geliştirme ve hata ayıklamayı kolaylaştırıyor
  • Çoklu cihaz ve birleşik bellek modeli:
    • Daha önce yalnızca CPU ve Apple GPU destekleniyordu; CUDA backend ile NVIDIA GPU ortamı desteği hedefleniyor
    • Birleşik bellek yapısı sayesinde bellek kopyası olmadan tüm desteklenen cihazlarda aynı nesne üzerinde işlem yapılabiliyor
  • Yalın ve genişletilebilir tasarım: araştırmacıların çerçeveyi kolayca genişletip iyileştirebilmesini sağlıyor

Diğer çerçevelerden farkları ve aldığı ilham

  • Tasarım ilhamını NumPy, PyTorch, Jax, ArrayFire gibi projelerden alıyor
  • Özellikle birleşik bellek modeli, yalın arayüz ve anında çalıştırma/hata ayıklama ortamını öne çıkarıyor

Öne çıkan örnekler ve kullanım alanları

  • MLX Examples deposunda çeşitli uygulama kodları bulunuyor
    • Transformer dil modeli eğitimi
    • LLaMA tabanlı büyük ölçekli metin üretimi ve LoRA ile fine-tuning
    • Stable Diffusion ile görsel üretimi
    • OpenAI Whisper tabanlı konuşma tanıma gibi güncel model uygulama örnekleri

MLX’in anlamı ve CUDA desteği

  • Apple Silicon merkezli bir çerçeve olan MLX, CUDA backend eklenmesiyle NVIDIA GPU ortamlarında da genel amaçlı kullanıma doğru genişliyor
  • Güncel CUDA desteğiyle birlikte, hem Apple hem de NVIDIA donanımında en yeni araştırma ve endüstriyel kullanım için uygun bir çerçeve olarak konumlanması bekleniyor

3 yorum

 
gosarinamu 2025-07-16

macOS'ta sadece NVIDIA GPU'ları kullanabilmeyi sağlasalar yeterdi... hah hah.

 
yangeok 2025-07-16

Güzel haber :) Bir an önce CUDA desteği gelsin de Mac’te de yüksek hızlı eğitim mümkün olsun~!

 
GN⁺ 2025-07-15
Hacker News görüşleri
  • Doğru anladıysam teyit etmek istiyorum: 1, MLX ile derlenmiş programlar CUDA destekli çiplerde çalışabiliyor. Ama 2, CUDA programlarının Apple Silicon üzerinde çalışması mümkün değil. Bunun nedeni 2'nin telif hakkı ihlali olması, özellikle de NVidia'nın meşhur giriş engeli, doğru mu diye merak ediyorum
    • 1 doğru. Geliştiricilerin nispeten daha düşük özellikli Apple cihazlarında (UMA dahil) geliştirme yapıp tamamlanmış kodu Nvidia'nın nispeten daha yüksek özellikli sistemlerine dağıtabilmesini sağlıyor. Çeşitli nedenlerle faydalı
    • 2 telif hakkı ihlali değil. API yeniden uygulanabilir
    • 2 konusunda bunun gerçekten doğru bir ifade olmadığını düşünüyorum. AMD'nin HIP'i de 2017~2018 civarında OpenCL'den vazgeçip aynı şeyi yapıyordu
    • Ben 3'ü istiyorum. Apple Silicon'a NVIDIA GPU bağlayıp CUDA kullanabilsek harika olurdu. Apple Silicon ve birleşik bellek, GPU ve CUDA'yı PyTorch, JAX veya TensorFlow ile birlikte kullanmayı hayal ediyorum ama henüz MLX'i düzgünce deneyimlemedim
    • 2'nin olmamasının ana nedeni çok daha zor olması
  • "Ama Apple platformunda resmi CUDA desteği yok ki?" diye düşündüyseniz, bu yama setinin "CUDA 12 ve SM 7.0 (Volta) ve üzeri Linux platformlarını" da desteklediği haberini de not etmek gerekir
    Kurulum rehberi
  • Bu projeye, Electron ve benzeri projelerin yapımcılarından biri olarak tanınan zcbenz liderlik ediyor
    zcbenz hakkında
  • MLX'in ana özelliklerinden biri birleşik bellek mimarisi (UMA) kullanması; bunun nasıl çalıştığını merak ediyorum
    Depo README'sindeki maddeye bakın: MLX GitHub
    Bunun tüm UMA APU'lara (üreticiden bağımsız olarak) genişletilmesi ilginç olurdu ama ayrık GPU'larda yaklaşımın farklı olması gerekip gerekmediğini merak ediyorum
    PR yorumlarını okuyunca, CUDA'nın da UMA API'lerini doğrudan desteklediği ve gerektiğinde kopyalamayı şeffaf biçimde yönettiği anlaşılıyor
    • Benim deneyimimde, yetersiz prefetch yüzünden kopya bekleme süreleri ciddi bellek darboğazlarına yol açıyor. Tüm veri kümesi VRAM'e sığdığında elle prefetch yapmak işe yarıyor ama benim uygulamamda (ML eğitimi) performans düşüşü o kadar büyüktü ki sonunda doğrudan streaming load kullanımına geçtim
  • Biraz farklı bir nokta ama MLX üzerinde çalışanların önemli bir kısmı Apple'a resmi olarak bağlı görünmüyor. Örnek olarak prince_canuma'nın Twitter hesabı
    Apple'ın bunu perde arkasından destekleyip resmiyette öne çıkmadığını merak ettiriyor. Ekibin transfer olacağına dair söylentiler de vardı
  • PR açıklamasında "CUDA backend'i eklemeye yönelik ongoing effort" deniyor
    Yani bu, MLX kodunun x86 + GeForce donanımında derlenip çalıştırılabildiği anlamına geliyor; tersi değil
  • "Mac'te kod yazıp/test edip süper bilgisayara dağıtabilmek iyi bir geliştirici deneyimi olur" denildiğine göre, şimdi soru MLX'i Linux'ta kullanıp kullanamayacağımız
    Kendim denedim; PyPI'de yalnızca Python 3.12 sürümü var
    MLX-CUDA PyPI sayfası
  • Bunun Strix Halo etkisi olup olmadığını merak ediyorum. İş bilgisayarı bütçemden artanla bir EVO-X2 aldım ve bu, orta seviye znver5 EPYC makinelerle benzer ya da daha iyi performans veriyor. Çoğu EC2 veya GCE örneğini (hatta NVMe dahil) rahatça geride bırakıyor. Bu donanımın fiyatı 1800
    Son zamanlarda YouTuber incelemelerinde DGX Spark'ın Strix Halo'ya kıyasla fiyat/performans açısından zayıf kaldığı da söyleniyor. Dezavantajı, ROCm'in hâlâ yetersiz olması (yakında iyileşmesi bekleniyor). Apple cihazlarında CUDA kusursuz çalışabilseydi, Strix ne kadar ucuz ve iyi olursa olsun ciddi biçimde düşünmeye değer bir seçenek olurdu
    • Strix Halo aslında AMD Ryzen AI Max+ 395 ile aynı şey. Framework Desktop ve çeşitli mini PC'lerde bulunuyor. Bu çipin bellek bant genişliği 200GB/s; genel x86 platformları için çok iyi ama Nvidia GPU'lara (ör. 5090'da 1792GB/s) veya Apple M3 Ultra'ya (800GB/s) kıyasla oldukça geride. Fiyat/performans açısından mükemmel ama LLM gibi bellek yoğun işlerde ancak minimum uygulanabilir performans seviyesine yeni ulaştığını düşünüyorum
    • PR açıklamasına bakınca hedefin bulut küme eğitimi olduğu açıkça görülüyor
    • AMD GPU'ların sinir ağı işlemlerinde yakında Nvidia'ya rakip olacağı 10 yıldır söyleniyor ama hâlâ gerçekleşmedi
    • M4 Mac mini ile karşılaştırınca nasıl olduğu da merak konusu
  • MLX modelinden çok etkilendim. Evde herkese yerel modeller açsam bile Nvidia bilgisayarlardaki gibi yangın riski konusunda endişelenmek zorunda kalmıyorum. Apple Silicon'ın Nvidia çip ekosistemine ciddi bir rakip olmasını istiyorum. CUDA desteğinin embrace, extend, extinguish (EEE) tarzı bir strateji olup olmadığını da merak ediyorum
  • Apple'ın gelecekte m-serisi çiplere dayalı veri merkezleri kurup bunları uygulama geliştirme, test ve dış hizmet barındırma için kullanmayı planladığı söyleniyor