Bu proje, büyük ölçekli sistem loglarını analiz ederek, kullanıcıların doğal dilde sorduğu sorulara yanıt veren bir RAG (Retrieval-Augmented Generation) sistemi geliştirmeyi amaçlar. Sistem, FAISS vektör veritabanı ve GPT-2 dil modelini entegre ederek log verilerinden anlamlı içgörüler sunar.
Geleneksel log analiz yöntemleri genellikle manuel sorgulara veya statik dashboard'lara dayanır. Bu projede ise Generative AI (Üretken Yapay Zeka) kullanılarak, log verileriyle "konuşulabilen" bir yapı kurulmuştur.
Temel Özellikler:
- Doğal Dil İşleme: Kullanıcı sorularını anlama ve bağlama uygun yanıt üretme.
- Vektör Arama: FAISS ile hızlı bilgi geri getirme (Retrieval).
- Uçtan Uca Akış: Ham veriden yanıt üretimine kadar tam entegre pipeline.
Proje aşağıdaki temel bileşenler üzerine inşa edilmiştir:
| Bileşen | Teknoloji / Kütüphane | Açıklama |
|---|---|---|
| Dil Modeli (LLM) | GPT-2 (Fine-tuned) | Metin üretimi ve yanıt oluşturma. |
| Vektör DB | FAISS | Embedding vektörlerinin indekslenmesi ve hızlı aranması. |
| Framework | PyTorch & Hugging Face | Model eğitimi ve transformer mimarisi. |
| Veri İşleme | Pandas & NumPy | Log temizleme ve manipülasyon. |
Sistem Retrieval-Augmented Generation mimarisini kullanır:
- Retrieval (Geri Getirme): Kullanıcı sorusu vektöre dönüştürülür ve FAISS veritabanında en alakalı log kayıtları bulunur.
- Generation (Üretim): Bulunan log kayıtları "bağlam" (context) olarak GPT-2 modeline verilir ve nihai yanıt üretilir.
Proje başlangıcında 700.000 kayıt içeren ham bir log dosyası kullanılmıştır.
Büyük veri setinin işlenmesindeki donanım kısıtları ve optimizasyon ihtiyaçları nedeniyle, projenin bu aşaması bir Proof of Concept (Kavram Kanıtı) olarak tasarlanmıştır.
- Temizleme: Ham log verileri parse edildi,
NaNdeğerler ve tutarsız kayıtlar temizlendi. - Örnekleme: Analiz ve model eğitimi için 700.000 kayıt arasından stratejik olarak seçilen 200 adet yüksek nitelikli örnek kullanıldı.
- Vektörizasyon: Metin verileri embedding katmanından geçirilerek vektör uzayına taşındı.
Modelin başarısı, test veri kümesi üzerinde yapılan karşılaştırmalarla ölçülmüştür.
- Test Verisi: 100 örneklem.
- Metrik: Cosine Similarity (Kosinüs Benzerliği).
- Eğitim Parametreleri: 3 Epoch, Batch Size: 4.
| Metrik | Skor | Not |
|---|---|---|
| Ortalama Benzerlik | %90 | Modelin üretilen yanıtları ile referans yanıtlar arasındaki anlamsal yakınlık. |
> Not: %90'lık başarı oranı, pilot veri setinin (200 örnek) sınırlı olmasından kaynaklı "overfitting" (aşırı öğrenme) etkisini içerebilir. Geniş veri setlerinde bu oran değişkenlik gösterebilir.
- Veri Hacmi ve İşlem Gücü: 700.000 satırlık verinin vektörizasyonu ve eğitimi, mevcut donanım altyapısında darboğaz oluşturduğu için örneklem (sampling) yöntemine gidildi.
- Bağlam Uzunluğu (Context Window): GPT-2 modelinin token limitleri, çok uzun log satırlarının analizinde bilgi kaybına yol açabildi.
- Veri Kalitesi: CSV dosyasındaki kirlilik ve eksik veriler, ilk aşamada modelin halüsinasyon görmesine (hatalı bilgi üretimi) neden oldu.
Bu projeyi daha ileriye taşımak için hedeflenen adımlar şunlardır:
- Modern LLM Entegrasyonu: GPT-2 yerine daha güncel ve hafif modellerin (Örn: TinyLlama, DistilGPT veya Mistral) kullanılması.
- Optimizasyon: İşlem sürelerini düşürmek için Model Quantization (4-bit/8-bit) tekniklerinin ve GPU hızlandırmasının (CUDA) uygulanması.
- Veri Genişletme: Pilot çalışmanın başarısı üzerine, 700.000 verinin tamamının işlenebileceği dağıtık bir yapıya (Örn: Spark veya Ray) geçilmesi.
- Gelişmiş Metrikler: Performans ölçümüne ROUGE ve BLEU skorlarının eklenmesi.