Yıllardır sektörde faaliyet gösteren bir firma olmanın veri derinliği konusunda avantajı olmasına rağmen aynı şekilde veri kalitesi ve teknik borçlar konusunda dezavantajı olması muhtemeldir. Veri hacmi ve çeşitliliği exponansiyel olarak arttıkça, karşılaşılan veri analizi ve yönetim zorlukları da büyür. Bu durumda veri odaklı stratejileri güçlendirmek ve veri yönetim süreçlerini iyileştirmek gerekliliği daha da önemli hale gelir.
Müşteri memnuniyetini artırmak ve yenilikçi stratejiler geliştirmek için veriye dayalı bir yaklaşım benimseyen Anadolu Hayat Emeklilik, müşteri eğilimi, kampanya yönetimi ve müşteri tutundurma gibi problemlerin çözümünde makine öğrenimi tekniklerini kullanmaktadır. Makine öğrenimi, verilerden otomatik olarak öğrenen ve tahminler veya kararlar almak için bu öğrenmeyi uygulayan algoritmaların geliştirilmesiyle ilgilidir. Bu süreç, veri toplama, veri temizleme ve özellik mühendisliği ile başlar, ardından seçilen algoritmalar kullanılarak model eğitimi ve değerlendirme aşamalarıyla devam eder. Son olarak, eğitimden elde edilen model, yeni veriler üzerinde tahminler yaparak işletme kararlarını desteklemek için kullanılır. Bu şekilde, veriye dayalı ve öngörülerle güçlendirilmiş stratejiler geliştirerek müşteri memnuniyetini artırmak mümkün olur.
Hızla büyüyen veri hacmi ve çeşitliliğiyle başa çıkmak için ise günümüzde büyük veri altyapı sistemleri kullanılmaktadır. Bu mimariler ve ürünler tercih edilirken, ölçeklenebilirlik, performans, esneklik, entegrasyon noktalarına uyum, hata toleransı, maliyet konuları ön plana çıkar.
Bu yazıda büyük veri altyapı sistemimizi nasıl kurguladık ve bu altyapıyı kullanarak geliştirmelerimizi nasıl yapıyoruz konusuna değineceğim. Yukarıda belirttiğim tercih maddelerinin analizlerini yaptıktan sonra Hadoop ekosistemi çözümleri üzerine çalışmalarımıza başladık.
Kurulum sürecinde, 3 master node, 8 worker node ve 1 gateway node yapılandırmasıyla başladık. Ancak, bu aşamada karşılaştığımız en büyük zorluklar versiyon uyumsuzlukları ve performans problemleri oldu. Verilerin saklanma boyutlarını ve işleme hızlarını optimize etmek için, farklı konfigürasyonlar ve algoritmalar denemek zorunda kaldık.
Sistem yönetimi ve izlenebilirliği konusu da bizi zorladı çünkü mimarimizin gereksinimlerine uygun açık kaynaklı bir alternatif bulamadık. Bu sorunu çözmek için kurum içi geliştirmelere yöneldik ve tasarladığımız otomasyonlar düşük seviyeden yüksek seviyeye kadar sistemi izlememize, performansı değerlendirmemize ve gerektiğinde müdahale etmemize olanak tanıdı.
HDFS (Hadoop Distributed File System): Büyük miktarda yapılandırılmamış veriyi depolamak ve işlemek için kullanıldı.
ZooKeeper ve YARN: Büyük veri kümelerinin yönetimi ve kaynak tahsisi için kullanıldı.
Sqoop ve Nifi: Hem yapılandırılmış hem yapılandırılmamış verilerimizi, hem bulk hem de real-time aktarımlar için kullanıldı.
Hive ve Parquet: Verilerin saklanması, sorgulanması için kullanılacak araç ve dosya sistemi olarak seçildi.
Apache Spark: Dağıtılmış veri işleme çerçevesi olarak Spark, büyük veri kümelerini paralel olarak işleyerek veri analizi süreçlerini hızlandırdı. Spark’in hızlı veri işleme yetenekleri, makine öğrenimi modellemesi ve karmaşık veri analizi için ideal bir platform sağladı.
Airflow: Veri işleme ve analiz süreçlerinin otomatikleştirilmesi için kullanıldı. Airflow, karmaşık veri işleme akışlarının yönetimini kolaylaştırdı ve veri işleme süreçlerinin daha verimli bir şekilde yürütülmesini sağladı.
MLflow: Model yönetimi ve izleme süreçleri için kurgulandı.
Apache Superset: Çeşitli grafik ve görselleştirme seçenekleri, kullanıcı dostu bir kullanıcı arayüzü, dashboard oluşturma yeteneği, veri keşfi için SQL desteği, filtreleme ve kesme-dilimleme özellikleri için kullanıldı.
Büyük veri ve yapay zeka projelerimizin temelini oluşturmak amacıyla DataLake ve Feature Store çözümlerini kurguladık. Bu çözümlerimizin merkezinde, tüm verilerimizin HDFS üzerinde DataLake modelimize aktarılması yer alıyor. Geliştirici ve analist ekiplerimiz, bu ham veriler üzerinde çalışmalarını başlatıyor.
Önceden yazılmış modellerimizin revize edilmesi ve yeni iş gereksinimlerine uygun modellerin tasarlanması sürecinde, özniteliklerin önemi ve SHAP değerleri gibi faktörler üzerinde analizler gerçekleştirildi. Bu analizlerin sonucunda, modellerimizin gereksinim duyduğu özniteliklere hızlı erişim sağlayabileceğimiz bir Feature Store ortamı oluşturuldu.
Datamızın DataLake ve Feature Store ortamlarında tutulması, veri yönetiminde büyük avantajlar sağlıyor. Feature Store, DataLake üzerindeki ham veriyi çeşitli işlemlerden geçirerek, kullanılabilir özellikler ve labellarla zenginleştiriyor. Ayrıca, önceki tahmin sonuçlarıyla da güncellenen bu yapı, sürekli öğrenme ve model iyileştirmeleri için mükemmel bir altyapı sunuyor. Tüm bu işlemler merkezi bir kod bloğu üzerinden yönetildiğinden, ekip üyelerinin ayrı ayrı kod yazmasına gerek kalmıyor ve kod çoklamasının önüne geçiliyor. Bu da, daha hızlı, verimli ve tutarlı bir veri bilimi süreci sağlıyor.
Feature generation süreci tamamlandıktan sonra, tüm bu işlemler Airflow kullanılarak otomatikleştirildi. Bu sayede, veri akışı, öznitelik üretimi, model eğitimi ve değerlendirmesi gibi adımlar sürekli olarak yönetilebilir hale getirildi.
Şu anda, birçok tahmin modeli Feature Store ortamına bağlanarak kendi özniteliklerini alıp önerilerini sunuyorlar. Bu modeller, canlı sistemimizi beslemek ve gerçek zamanlı olarak kararlar almak için kullanılıyorlar.
Sürecin başından sonuna kadar, çeşitli teknik ve metodolojik yaklaşımların kullanılmasıyla birlikte şu önemli sonuçları elde ettik:
Süre Kısaltımı ve Hızlı Sonuçlar: Veri işleme ve model eğitimi süreçlerinde yapılan optimizasyonlar ve Apache Airflow gibi otomasyon araçlarının kullanımıyla, süreçlerin etkin bir şekilde yönetilmesi ve süreçlerin daha hızlı tamamlanması sağlandı. Bu da projelerimizin zamanında ve hızlı bir şekilde sonuçlandırılmasına olanak tanıdı.
Yeni Teknolojilere Uyum Sağlama: Projelerimizde kullanılan yeni teknolojilere uyum sağlama yeteneği, rekabet gücünü artırmak adına kritik öneme sahipti. Apache Hadoop, Apache Spark ve benzeri büyük veri teknolojileri, veri işleme ve analiz süreçlerinde etkin bir şekilde kullanıldı. Bu sayede, daha ölçeklenebilir ve performanslı çözümler elde edildi.
Veriyi Merkezileştirme ve Veri Yönetimini Güçlendirme: Veri merkezileştirme stratejisi sayesinde, veri yönetimi daha etkin bir hale getirildi. Verinin tek bir merkezi depoda saklanması, veriye erişim ve yönetim süreçlerini kolaylaştırdı. Ayrıca, veri bütünlüğü ve güvenliği de artırıldı.
Tahmin Oranlarının Artırılması: Yapay zeka modellerinin tahmin oranlarını artırarak, daha doğru ve kesin sonuçlar elde edildi. Özellikle, Feature Store ortamı sayesinde, modellerin gereksinim duyduğu özniteliklere hızlı erişim sağlanarak, model performansı iyileştirildi.
Bu çalışma sonucundaki gelişimimiz, teknik yeteneklerin ve metodolojik yaklaşımların birleşimi, yenilenmemizin başarılı olmasını sağlamıştır. Bu başarılar, geleceğe daha güvenle bakmamızı sağlamakta ve yeni başarılar için bizleri hazırlamaktadır.
*Bu yazı Melih Burak Coşkun (Anadolu Hayat Emeklilik) tarafından hazırlanmıştır.