1. Anasayfa
  2. Makine Öğrenimi

Uygulama Hatasını Bulmak ve Makine Öğrenimi

Uygulama Hatasının Temel Nedenini Bulmak için Makine Öğreniminin Kullanılması Her Şeyi Değiştirir

Uygulama Hatasını Bulmak ve Makine Öğrenimi
Uygulama Hatasını Bulmak
0

Uygulama Hatasını Bulmak – Çoğu sorunun temel nedeni, genellikle çok sayıda farklı kaynaktan gelen milyonlarca günlük olayı arasında bir yerde bulunabilir. Bu yüzden Makine Öğrenimine (ML) ihtiyacımız var.

Bir web sitesinin veya uygulamanın başarısız olması veya zaman zaman bozuk işlevsellikten performans sorunlarına ve hatta tam kesintilere kadar değişen sorunlarla karşılaşması kaçınılmazdır. Geliştirme döngüleri çok hızlı, koşullar çok dinamik ve altyapı ve kod, her zaman kusursuz operasyonlar beklemek için çok karmaşık. Bir sorun oluştuğunda, ekipleri bir çözüm bulmaya sevk eden yüksek basınçlı bir aciliyet yaratır. Çoğu sorunun temel nedeni genellikle çok sayıda farklı kaynaktan gelen milyonlarca (hatta milyarlarca) günlük olayı arasında bir yerde bulunabilir. Bunu takip eden araştırma genellikle yavaş ve sancılıdır ve zaten meşgul olan mühendislik ekiplerinden değerli saatlerinizi alabilir. Ayrıca, uygulamanın farklı yönlerinde veya bileşenlerinde uzmanlar arasında geçişleri de içerir.

Kök nedeni ve çözümü bulmak hem zaman hem de deneyim gerektirir. Aynı zamanda, geliştirme ekipleri genellikle oldukça az personele sahiptir ve çok çalışır, bu nedenle bir uygulama sorununun nedenini bulmak için her şeyi bırakmanın acil “yangın tatbikatı”, diğer önemli geliştirme çalışmalarını geciktirir. APM, izleme, izleme ve günlük yönetimi çözümleri gibi gözlemlenebilirlik araçlarını kullanmak ekip üretkenliğine yardımcı olur, ancak bu yeterli değildir. Bu araçlar hala neyi arayacağınızı bilmeyi ve ortaya çıkarılan sonuçları yorumlamak için önemli bir zaman gerektirir.

Böyle bir zorluk, çok büyük miktarda veriyi inceleyebilen ve temel nedeni ortaya çıkaran nadir ve kötü (yüksek önem dereceli) olayların ilişkili modellerini bulabilen makine öğrenimi (ML) için çok uygundur. Ancak, günlükler çoğunlukla yapılandırılmamış, gürültülü ve biçim açısından büyük ölçüde değişken olduğundan, günlükler üzerinde makine öğrenimi gerçekleştirmek zordur. Ayrıca, günlük hacimleri genellikle çok büyüktür ve veriler birçok farklı günlük kaynağından gelir. Ayrıca, ML söz konusu olduğunda, sonuçlar yine de gürültülü olabileceğinden, anomali tespiti tek başına yeterli değildir. İhtiyaç duyulan şey, aynı zamanda, yüksek düzeyde aslına uygunluk ile kök nedeni daha iyi saptamak için anomaliler arasında korelasyonlar bulma yeteneğidir. Anormallik tespiti noktaları bulur. Günlüklerdeki bu anormalliklerin korelasyonu, bağlam ve daha kesin bir anlayış getirmek için noktaları birleştirir.

Tabii ki, insanlar da log anormalliklerini tespit edebilir ve korelasyonlar bulabilir, ancak bu zaman alıcıdır, beceri ve sezgi gerektirir ve kolayca ölçeklenmez. Görevi gerçekleştiren tek bir kişi düşünün. Her bir günlük kaynağındaki anormallikleri tanımlayabilmeyi ve ardından bunların birbirleriyle nasıl ve nasıl ilişkili olduklarını belirlemeyi gerektirir. Bununla birlikte, tek bir insanın sınırlı bant genişliği vardır, bu nedenle büyük olasılıkla bir ekibin günlükleri taraması gerekecektir. Ekip üyeleri arasında tüm bulguları ilişkilendirebilmek zaman alan koordinasyon gerektirir. Sorun gidermenin saatler veya günler sürmesi şaşırtıcı değil. ML’nin insanlara göre avantajı, ML’nin neredeyse sonsuz ölçeklenebilmesidir.

Günlüklerde denetimsiz makine öğrenimi gerçekleştirmenin tek etkili yolu, sürecin farklı bölümleri için çok aşamalı bir yaklaşımdan yararlanan bir işlem hattı kullanmaktır. ML, günlüklerin nasıl yapılandırılacağını ve kategorilere ayrılacağını kendi kendine öğrenerek başlar. Bu, daha önceki yaklaşımların yetersiz kaldığı kritik, temel bir adımdır – eğer bir sistem günlük olaylarını (özellikle nadir olanları) öğrenemez ve son derece iyi sınıflandıramazsa, anormallikleri güvenilir bir şekilde tespit edemez. Ardından, bir ML sistemi, her tür günlük olayının modellerini öğrenmelidir. Bu temel öğrenmeden sonra, ML sistemi her bir günlük akışındaki anormal günlük olaylarını tanımlayabilir. Son olarak, makine öğrenimi sistemi, birden çok günlük akışındaki anormallikler ve hatalar arasındaki bağıntıları arar. Sonunda süreç, sorunu ve temel nedenini açıklayan günlük satırlarının sırasını ortaya çıkarır. Ek bir bonus olarak, hatta sorunu doğal dilde özetleyebilir ve günlükler içinde tanı değeri en yüksek anahtar kelimeleri (nadir ve “kötü” olanlar) vurgulayabilir. Yeni tip arıza modlarının doğru tespitini ve temel nedeni belirlemek için gereken bilgileri sağlar.

Eksiksiz bir ML sistemi, algoritmaları ayarlamak veya veri kümelerini ayarlamak için korelasyonları gözden geçirmek için herhangi bir manuel eğitim veya müdahale gerektirmemelidir. Denetimsiz bir makine öğrenimi sistemiyle DevOps ekibinin, arama ve araştırma yapmak yerine yalnızca temel nedenin gerçek bulgularına yanıt vermesi gerekir. Bir ML sisteminin üretken hale gelmesi ve doğru sonuçlar elde etmesi için birkaç saatlik günlük verilerinin alınması yeterli olmalıdır.

Daha büyük geliştirme ve DevOps ekipleri hız, karmaşıklık ve verimlilik için artan uzmanlık düzeylerini tercih ediyor. Uygulama sorunlarının veya başarısızlıklarının temel nedenini belirlemeye yönelik bir makine öğrenimi sistemi, ekiplerin bir krizle başa çıkmak için her şeyi bırakmak zorunda kalmak yerine geliştirme ve operasyonlara odaklanmasını sağlamak için bu eğilimi tamamlıyor. ML aracılığıyla sorunların hızlı ve verimli bir şekilde belirlenmesi, ekiplerin günümüzün iş talepleri için ihtiyaç duyulan “uçağı uçururken geliştir” döngülerine devam etmelerini sağlar. ML, büyük problemler haline gelmeden önce koşulları bulmak için proaktif olarak çalışmak için de kullanılabilir. Daha hızlı ve daha üretken geliştirme üzerinde baskı oluşturmaya devam eden ve kesinti süresine ve sorunlara çok az tolerans gösteren bir dünyada, temel neden analizi için günlüklerde ML kullanmak her şeyi değiştirir.

YAPAY ZEKÂ VERİ BİLİMİ, MAKİNA ÖĞRENMESİ EĞİTİMLERİ
YAPAY ZEKÂ VERİ BİLİMİ, MAKİNA ÖĞRENMESİ EĞİTİMLERİ

Tebrikler,  bu yazının sonuna geldiniz! Umarım kariyerinizde size yardımcı olacak yeni bir şey öğrenmişsinizdir.

Yeni bir şey öğrendiyseniz veya bu makaleyi okumaktan zevk aldıysanız, başkalarının görebilmesi için lütfen paylaşın. O zamana kadar, bir sonraki yazıda görüşmek üzere! Ayrıca beni Twitter’da @hasanyildiz84 hesabımdan takip edebilirsiniz.

Hasan YILDIZ, Girişimci. Doktora Öğrencisi. Yazmayan YAZILIMCI. Veri Şeysi. Eğitmen...

Yazarın Profili
İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir