- Go dilinde makine öğrenimi (ML) modelleri uygulamayı sağlayan bir paket olup, Python'a bağımlı olmadan ML işleri yapılabilecek şekilde tasarlanmıştır
- TensorFlow(TF), JAX, PyTorch gibi Python merkezli ML framework'lerine alternatif sunar ve aynı donanım verimliliğini Go tabanlı olarak kullanır
- XLA ve PJRT gibi düşük seviyeli derleyici ve çalışma zamanı teknolojilerini kullanarak optimize edilmiş performans sağlar
Başlıca özellikler
- Python olmadan ML modeli geliştirme
- Python kodu olmadan yalnızca Go diliyle ML modeli oluşturma, eğitme ve çıkarım yapma mümkündür
- Mevcut ML framework'lerinin ifade gücüne benzer şekilde hesaplama grafikleri oluşturur; otomatik türev alma ve model eğitimi desteklenir
- XLA ve PJRT kullanımı
- OpenXLA yığını kullanılarak donanım için optimize edilmiş işlemler desteklenir ve TensorFlow ile JAX'in kullandığı aynı temel bileşenlerden yararlanılır
- Otomatik türev alma, tensör veri yönetimi, iş bölme gibi gelişmiş özellikler içerir
- CNN model uygulama örneği
- CIFAR-10 veri kümesi kullanılarak CNN (evrişimli sinir ağı) modeli Go ile uygulanmıştır
- Python olmadan GoMLX ile uygulanan model, TensorFlow+Keras ile eğitilen modelle benzer performansa ulaşmıştır
- Gerçek örnek: Gemma2 modeli
- HuggingFace tarafından sağlanan Gemma2 LLM (Large Language Model) ağırlıkları kullanılarak gerçek üretim düzeyinde LLM çıkarımı çalıştırılır
- Python olmadan da Gemma2 gibi gelişmiş modeller çalıştırılabilir
Özet
- GoMLX, Go dili tabanında ML modeli uygulama, eğitim ve çıkarımı destekleyerek Python bağımlılığını ortadan kaldırır
- XLA ve PJRT kullanarak donanım için optimize edilmiş işlemler ve gelişmiş ML özellikleri sunar
- Python olmadan da CIFAR-10 CNN modeli ve Gemma2 LLM çıkarımı gibi karmaşık işler yapılabilir
- GoMLX henüz erken aşamada olsa da, Python'suz ML uygulamalarının önünü açıyor ve gelecekte gelişmesi bekleniyor
Henüz yorum yok.