Makine öğrenimiyle sadece analiz yapmak yetmez; ürettiğiniz modellerin işe yaraması için sahaya sürülmesi gerekir. Yani modelleri üretime almak, çevrimiçi erişilebilir hâle getirmek ve gerektiğinde kullanıcıyla gerçek zamanlı etkileşim kurmalarını sağlamak şart. Bu noktada, pazarlamacıların ve geliştiricilerin kullanabileceği daha özelleştirilebilir ve güçlü çözümler devreye giriyor.

Aşağıda, hem kendi sisteminizde çalıştırabileceğiniz hem de ölçeklenebilirliği destekleyen bazı ileri düzey araçları inceliyoruz.
KENDİ KENDİNİ YÖNETEN VE BARINDIRILAN ARAÇLAR
CLOUDEA ORYX
İlk bahsedeceğimiz makine öğrenimi modellerinin çevrimiçi yayınlanması için kullanılacak program Oryx, büyük veri altyapılarının ağır sıklet oyuncularından biri olan Apache Hadoop üzerinde çalışmak üzere geliştirilmiş bir sistem. Özellikle gerçek zamanlı ve yüksek hacimli makine öğrenimi uygulamaları için optimize edilmiştir. Sistem; Apache Kafka ve Apache Spark ile entegre çalışarak, büyük veriyi anlamlı içgörülere dönüştürmenizi sağlar.

Üç Katmanlı Yapı:
- Lambda Katmanı: Sunum, toplu ve hız bileşenlerini sağlar.
- Uzmanlaşma Katmanı: Hiperparametre seçimi gibi ML’e özgü düzenlemeler sunar.
- Uygulama Katmanı: K-means, karar ormanları gibi hazır algoritmaları doğrudan uygulamanıza imkân verir.
Kullanım:
Üç katmanı aşağıdaki komutlarla başlatabilirsiniz:
bash
KopyalaDüzenle
./oryx-run.sh batch
./oryx-run.sh speed
./oryx-run.sh serving
Bu modüller farklı makinelerde de çalışabilir. Örneğin, 4040 numaralı port Spark işlemlerini, 8080 ise sunum katmanını yönetebilir.
Pratik Senaryo:
100K’lık GroupLens veri kümesini CSV formatına çevirin

Curl gibi lokal araçlar ile girdiyi sunum katmanına gönderin

Belirli bir girdi konusunu takip ettiğiniz durumda konuya doğru önemli CSV verisi bulacaksınız.

Sağlanan veri önce HDFS’e iletilir. Örnek yapılandırmada veriler şu dizine iletilir: hdfs:///user/example/Oryx/data/
. Bu dizin içerisinde her biri zaman damgası taşıyan klasörler bulunur ve her klasörde giriş olarak SequenceFiles formatında metin verisi içeren Hadoop dosyaları yer alır. Bu dosyalar saf metin olmasa da, yazdırmanız gerekirse, içeriğin metin olduğu fark edilebileceği için tanınabilir veriler elde edebilirsiniz.

Sonrasında, bir model hesaplaması yapılacaktır. Bu işlem batch layer üzerinde dağıtılmış birçok taze işin sonucu olarak ortaya çıkacaktır. Spark UI, örnek yapılandırmada belirtildiği gibi https://your-batch-layer:4040
adresinde başlatılacaktır.
Model daha sonra tamamlanacak ve hdfs:///user/example/Oryx/model/
alt dizininde PMML ile çeşitli destekleyici verilerin birleşimi olarak kabul edilecektir. Örneğin: Modelin PMML dosyaları, aşağıdakiler gibi öğeler içeren PMML dosyaları olacaktır:

Buna eşlik eden Y/
ve X/
alt dizinleri, aşağıdakiler gibi özellik vektörleri içerir:

Belirli güncelleme konusunu takip ediyorsanız, bu değerlerin konu üzerinden yayımlandığını göreceksiniz. Bu yayın daha sonra serving layer tarafından algılanacak ve /ready
uç noktasında 200 OK durumuyla bir yanıt sağlayacaktır.

APACHE MAHOUT
Mahout, ölçeklenebilir algoritmalar için özel olarak tasarlanmış bir çevrimiçi makine öğrenimi ortamıdır. Özellikle sınıflandırma, kümeleme ve işbirlikçi filtreleme alanlarında etkilidir. R benzeri Samsara matematik motoruyla çalışır ve Flink, H2O, Spark gibi sistemlerle entegre edilebilir.
Avantajları:
- Geniş algoritma desteği
- Hadoop tabanlı paralel işlem gücü
- Harici platformlarda çalışabilme esnekliği
H2O
H2O, açık kaynaklı, yüksek performanslı bir ML ve prediktif analitik platformudur. Java tabanlıdır ve büyük veri üzerinde hızlı modelleme yapılmasını sağlar.
Temel Özellikler:
- Verileri sıkıştırılmış sütun formatında işler
- REST API ile tüm işlemler web üzerinden yapılabilir
- Python ve R bağlayıcıları ile entegre çalışır
Pazarlama ekipleri için bu, büyük kampanya verilerini uçtan uca analiz etmek ve modelleri hızlıca sahaya sürmek anlamına gelir.
ACCORD.NET FRAMEWORK
C# ile geliştirilen Accord.NET, .NET ekosistemine entegre çalışan açık kaynaklı bir ML kütüphanesidir. Görüntü işleme, ses tanıma, sinyal analizi gibi alanlarda öne çıkar.
Özellikle Windows tabanlı sistemlerle çalışan geliştiriciler için ideal bir alternatiftir.
MLlib (Apache Spark)
MLlib, Spark’ın güçlü paralel işlem kabiliyeti ile çalışan yerleşik bir çevrimiçi makine öğrenimi kütüphanesidir.
Kapsadığı Algoritmalar:
- Regresyon
- Sınıflandırma
- Kümeleme
- Boyut indirgeme
MLlib, Hadoop veri kaynaklarını doğrudan kullanabilir ve NumPy ile R gibi sistemlerle entegre edilebilir.
FLASK-RESTFUL
Python çevrimiçi kullanıcıları için REST API oluşturmanın en hızlı ve en sade yollarından biri. Flask üzerine inşa edilmiştir ve makine öğrenimi modellerinizi web üzerinden erişilebilir hale getirmenize olanak tanır.
Avantajları:
- Hafif, modüler ve anlaşılır yapı
- En iyi uygulama prensiplerine uygun
- API’lerin hızlıca ayağa kaldırılmasını sağlar
Flask-RESTful ile eğittiğiniz bir modeli çok kısa sürede kullanıcıyla buluşturabilirsiniz.
Makine öğrenimi modeli çevrimiçi bir şekilde oluşturmak artık ilk adım. Asıl fark yaratan, bu modeli nasıl sahaya sürdüğünüz. Oryx gibi ölçeklenebilir platformlardan, Flask gibi hafif yapılara kadar birçok seçenek, hedefinize göre şekillendirilebilir. Pazarlama ekipleri, teknik ekiplerle bu araçlar üzerinden çok daha sağlam ve özelleştirilmiş dijital çözümler üretebilir.
Modeli eğitmek kadar yayınlamak da stratejinin parçası. Ve bu strateji, sizi diğerlerinden ayıran asıl unsur olabilir.