category Algoritmalar
Algoritmalar kategorisi, yapay zeka ve makine öğrenimi alanındaki 39 temel terim ve kavramı kapsar: A* Algoritması Nedir? Yapay Zekada Yol Bulma, AWQ, Beam Search, BFloat16, Bias-Variance Tradeoff, Byte Pair Encoding. Her terim için tanım, örnek ve ilgili kavramları bu sayfadan keşfedebilirsiniz.
A* Algoritması Nedir? Yapay Zekada Yol Bulma (A* Arama Algoritması)
A* (A-yıldız) algoritması, 1968 yılında Peter Hart, Nils Nilsson ve Bertram Raphael tarafından Stanford Araştırma Enstitüsü'nde geliştirilen, graflar ve ağlar üzerinde en kısa yolu bulan sezgisel bir arama algoritmasıdır. Yapay zeka, robotik, oyun geliştirme ve navigasyon sistemlerinde en yaygın kullanılan yol bulma (pathfinding) yöntemi olma özelliğini korumaktadır. A*, Dijkstra algoritmasının garantili optimalliği ile sezgisel arama yöntemlerinin verimliliğini bir araya getirir. Temel değerlendirme fonksiyonu f(n) = g(n) + h(n) formülüyle tanımlanır: g(n) başlangıç noktasından mevcut düğüme ulaşmanın gerçek maliyetini, h(n) ise mevcut düğümden hedef noktaya olan tahmini mesafeyi (sezgisel fonksiyon) ifade eder. Bu iki bileşeni birleştirerek algoritma, hem geçmiş maliyeti hem de gelecekteki tahmini maliyeti optimize eder. Algoritmanın doğruluk ve optimallik garantisi, kullanılan sezgisel fonksiyonun kabul edilebilir (admissible) olmasına bağlıdır. Kabul edilebilir sezgisel, gerçek maliyeti hiçbir zaman olduğundan fazla tahmin etmez. Düzlemsel koordinatlarda sıklıkla kullanılan Öklid ve Manhattan mesafe formülleri bu kriteri karşılar. Sezgisel aynı zamanda tutarlı (consistent/monotone) olduğunda A* keşfedilen düğümleri yeniden ziyaret etmez ve bellek kullanımı azalır. A*, açık liste (open list) ve kapalı liste (closed list) veri yapılarıyla çalışır. Önce başlangıç düğümünü açık listeye ekler; her adımda f değeri en düşük düğümü seçer, komşularını değerlendirir ve listeyi günceller. Bu süreç hedefe ulaşılana veya tüm olası yollar tükenene kadar devam eder. Öncelik kuyruğu (priority queue) ile uygulandığında zaman karmaşıklığı O(E log V) mertebesindedir. Yapay zeka araştırmalarında A*, pekiştirmeli öğrenmede planlama problemlerinin çözümünde, doğal dil işlemede sözdizimi ağaçlarının aranmasında ve konfigürasyon uzaylarında robot hareket planlamasında kullanılmaktadır. Oyun motorlarında ise NPC (Non-Player Character) yapay zekasının temel navigasyon bileşeni olarak yaygındır. Büyük ölçekli harita uygulamalarında A* varyantları (IDA*, D* Lite) bellek ve hız optimizasyonu için tercih edilmektedir.
AWQ (Aktivasyon Duyarlı Ağırlık Kuantizasyonu)
AWQ (Activation-aware Weight Quantization), buyuk dil modellerini INT4 tam sayi hassasiyetine nicelerken agirlik onem skorlarini kullanarak kalite kaybini minimize eden bir quantization yontemidir. 2023 yilinda MIT Han Lab tarafindan gelistirilmistir. AWQ'nun temel icgudusuu sunudur: bir sinir agindaki tum agirlik kanallari esit onemde degildir. Aktivasyon buyuklugu yuksek olan kanallar, modelin cikti kalitesine daha buyuk katki saglar; bu kanallar nicelerseniz kalite kaybini da buyuk olur. AWQ bu gozlemden yola cikarak her kanali esit sekilde nicielemek yerine kritik kanallari korur. Teknik olarak her agirlik kanalinin aktivasyonlarla olan baglantisini hesaplar ve yuksek onemli kanallara daha buyuk olcekleme faktoru uygular; bu sayede hata gercek INT4 hatayina cok yakin bir noktada tutulur ancak kritik bilgi kaybi onlenir. GPTQ, buyuk dil modeli quantization alaninin diger onemli yontemidir ve ikinci derece Hessian matris optimizasyonu kullanir. AWQ ise daha sade bir olcekleme yaklasimiyla hesaplama maliyetini dusurup donanim dostu bir format uretir; bu nedenle cikarim hizi acisindan GPTQ'ya kiyasla avantaj saglar. Pratik uygulamada AutoAWQ kutuphanesi Hugging Face model deposunun herhangi bir modelini AWQ formatina donusturmek icin birkaç satirla Python kodu yeterlidir. vLLM ve TensorRT-LLM gibi populer cikarim cerceveleri AWQ formatini natively destekler. Bu ozellik, AWQ'yu ozellikle buyuk dil modellerini yerel sunucularda veya kenarda calistirmak isteyen organizasyonlar icin pratik bir tercih yapar. Apple Silicon, NVIDIA GPU'lar ve kucuk olcekli cikarim odakli donanim (Jetson gibi) uzerinde AWQ tutarli performans artisi saglar. INT4 nicileme, float32'ye kiyasla yaklasik dort kat daha az GPU bellek kullanir; bu da buyuk modelleri daha kucuk donanim konfigurasyon uzerinde calistirmayi mumkun kilar. **Sik Sorulan Sorular** **AWQ ile GPTQ arasindaki fark nedir?** GPTQ ikinci derece Hessian optimizasyonu kullanir; AWQ ise aktivasyon onem skoru temelli daha basit bir yaklasim izler. AWQ genellikle daha hizli cikarim saglarken GPTQ bazi benchmark'larda daha yuksek dogruluk sergileyebilir. **AWQ modelleri nerede bulunabilir?** Hugging Face Hub'da pek cok populer model icin AWQ formatli surumler mevcuttur; arama cubuguna modelin adi ve 'AWQ' yazarak bulunabilir. AutoAWQ kutuphanesiyle kendi modeli donusturme de mumkundur. **AWQ hangi model boyutlarinda en etkilidir?** 7B ile 70B parametre arasi modellerde INT4 AWQ en pratik dengeyi sunar. Daha kucuk modellerde kalite kaybi daha belirgin olabilir; cok buyuk modellerde ise bellek tasarrufunu acikca hissedilir. **vLLM ile AWQ modeller calistirilabilir mi?** Evet, vLLM AWQ formatini natively destekler ve yuksek verimliligi batch cikarimi ile AWQ modellerini verimli sekilde sunabilir.
Beam Search (Işın Araması)
Beam Search (Işın Araması), doğal dil işleme ve konuşma tanıma alanlarında kullanılan sezgisel bir arama algoritmasıdır. Dizi üretimi görevlerinde, olası çıktı dizileri arasından en yüksek olasılıklı olanı bulmak amacıyla kullanılır. Açgözlü aramanın (greedy search) aksine, her adımda yalnızca tek en iyi seçeneği takip etmek yerine, belirlenen sayıda (ışın genişliği — beam width) en iyi adayı eş zamanlı olarak izler. Algoritma şöyle çalışır: Başlangıçta boş bir dizi ile başlanır ve her adımda mevcut adayların tüm olası genişlemeleri hesaplanır. Bu genişlemeler, toplam log-olasılık skorlarına göre sıralanır ve yalnızca en yüksek skorlu k aday (ışın genişliği) bir sonraki adıma aktarılır. Süreç, tüm diziler bir bitiş simgesi üretene ya da maksimum uzunluğa ulaşana dek devam eder. Işın genişliği (k) belirleyici bir hiperparametredir: k=1 durumu açgözlü aramaya eşdeğerdir ve en hızlı ama en az kapsamlı çözümdür. k değeri arttıkça çıktı kalitesi genel olarak yükselir; ancak hesaplama maliyeti de orantılı biçimde artar. Pratik uygulamalarda k=4 ile k=10 arasındaki değerler yaygındır. Beam Search, özellikle makine çevirisi, metin özetleme, konuşma sentezi ve konuşma tanıma sistemlerinde standart çözüm olarak kullanılmaktadır. Google Sinirsel Makine Çeviri sistemi ve pek çok modern dil modeli bu algoritmayı benimsemiştir. Bununla birlikte, açık uçlu metin üretiminde (yaratıcı yazım, diyalog sistemleri) tekrarlayıcı ve generik çıktılar üretme eğilimi nedeniyle nucleus sampling ve sıcaklık örnekleme gibi stokastik yöntemler ön plana çıkmıştır. Tarihsel olarak 1977 yılında konuşma tanıma araştırmalarında kullanılan Beam Search, derin öğrenme çağında NLP'nin temel bileşenlerinden biri haline gelmiştir. Algoritmanın hesaplama karmaşıklığı O(k × V × L) olup V sözcük dağarcığı boyutunu, L ise dizi uzunluğunu ifade eder; bu nedenle büyük dil modellerinde inference maliyetini doğrudan etkiler.
BFloat16 (Brain Float16)
BFloat16 (Brain Float16), Google'ın TPU'ları için geliştirdiği ve derin öğrenme eğitiminde yaygınlaşan 16 bitlik kayan nokta sayı formatıdır. Standart Float16 ile aynı toplam bit genişliğini (16 bit) paylaşır; ancak bu bitlerin dağılımı farklıdır: Float16, 1 işaret + 5 üs + 10 mantis bitinden oluşurken BFloat16 1 işaret + 8 üs + 7 mantis bitiyle yapılandırılmıştır. Bu farkın pratik önemi büyüktür. BFloat16'nın 8 bitlik üs alanı, Float32 ile birebir aynı dinamik sayı aralığını (yaklaşık 10^-38 ile 10^38 arası) sunar. Bu sayede eğitim sırasında sık karşılaşılan sayısal taşma (overflow) ve altaşma (underflow) sorunları büyük ölçüde azalır. Float16'nın yalnızca 5 bit üs alanına sahip olması, gradyan patlaması ve gradyan yok olması gibi sayısal kararsızlıklara daha açık bir format olduğu anlamına gelir. BFloat16'nın 7 bit mantis alanından kaynaklanan hafif hassasiyet kaybı ise derin öğrenme gradyanlarının doğası gereği gürültülü olduğu gerçeği nedeniyle pratikte önemsizdir. Karma hassasiyetli (mixed-precision) eğitim bağlamında BFloat16, Float32 ile birlikte kullanılır: ileri ve geri geçişler BFloat16'da, ağırlık güncellemeleri ise Float32'de tutulur. Bu yaklaşım, bellek tüketimini ve bant genişliği gereksinimini yaklaşık iki katı azaltırken eğitim doğruluğunu neredeyse değiştirmez. NVIDIA Ampere (A100) ve sonraki GPU mimarileri, BFloat16 için özel donanım hızlandırıcılar içerir; bu sayede FP32'ye kıyasla matris çarpımı işlemlerinde 2× ile 4× arasında teorik verimlilik artışı elde edilir. Büyük dil modelleri (LLM) bağlamında BFloat16 fiilî standart hâline gelmiştir. GPT-3, PaLM, LLaMA ve bunların türevleri BFloat16 ile eğitilmiş; Hugging Face Transformers ve vLLM gibi çıkarım çerçeveleri de varsayılan hassasiyet olarak BFloat16 benimsenmiştir. FP8 (8 bit kayan nokta) formatının giderek yaygınlaşmasıyla birlikte BFloat16'nın yerini 2024-2025 itibarıyla H100 ve Blackwell GPU'larında FP8 almaya başlamıştır; ancak BFloat16 ürün stabilitesi gerektiren çıkarım senaryolarında tercih edilen format olmaya devam etmektedir.
Bias-Variance Tradeoff (Önyargı-Varyans Dengesi)
Bias-Variance Tradeoff (Önyargı-Varyans Dengesi), makine öğrenmesinde bir modelin tahmin hatası üzerindeki iki temel kaynağı arasındaki dengeyi açıklayan merkezi bir kavramdır. Bu iki kaynak —önyargı (bias) ve varyans (variance)— genellikle birbirinin tersi yönde hareket eder ve bu gerilim, model seçiminin özünü oluşturur. Önyargı (Bias), modelin gerçek ilişkiyi ne kadar basit varsaydığını ölçer. Yüksek önyargılı bir model, verinin karmaşık yapısını kavramak yerine aşırı basitleştirilmiş varsayımlar yapar. Örneğin, doğrusal olmayan bir probleme yalnızca doğrusal regresyon uygulamak bu duruma yol açar. Sonuç, hem eğitim hem test setinde yüksek hata oranı ve yetersiz öğrenme (underfitting) olarak kendini gösterir. Varyans (Variance), modelin eğitim verisindeki gürültüye ve rastgele dalgalanmalara ne kadar duyarlı olduğunu ölçer. Yüksek varyanslı bir model, eğitim setini adeta ezberler; eğitim hatası düşük, ancak test hatası yüksek olur. Bu aşırı öğrenme (overfitting) durumuna, çok derin karar ağaçları veya yüksek dereceli polinom modeller yol açabilir. Matematiksel olarak, bir modelin beklenen ortalama karesel hatası şöyle ayrıştırılır: Toplam Hata = Bias² + Varyans + Gürültü Gürültü terimi, verinin kendisinden kaynaklanan ve azaltılamayan bir sabit hatadır. Bias ve Varyans ise model karmaşıklığına doğrudan bağlıdır: model basitleştikçe bias artar, karmaşıklaştıkça varyans artar. Bu dengeyi pratikte yönetmek için yaygın olarak kullanılan teknikler şunlardır: Regularizasyon (L1/L2) varyansı azaltmak için model ağırlıklarını cezalandırır. Çapraz doğrulama (cross-validation), modelin gerçek genelleştirme gücünü ölçerek aşırı öğrenmeyi tespit eder. Ensemble yöntemleri (Random Forest, Gradient Boosting) birden fazla modeli birleştirerek hem önyargıyı hem de varyansı dengeler. Dropout, derin sinir ağlarında rastgele nöronları devre dışı bırakarak varyansı azaltır. Veri miktarının artması genellikle varyansı düşürür, çünkü model daha az rastgele örüntülere tutunmak zorunda kalır. Ancak önyargıyı azaltmak için doğru model ailesi seçimi şarttır; daha fazla veri yüksek önyargılı bir modeli iyileştirmez. Deneyimli veri bilimciler, öğrenme eğrilerini ve validasyon metriklerini analiz ederek modelin hangi uçta baskın hata ürettiğini tespit eder ve uygun müdahaleyi seçer.
Byte Pair Encoding (Byte Pair Encoding)
Byte Pair Encoding (BPE), dogal dil isleme modellerinde kullanilan bir alt kelime tokenizasyon algoritmasi. Orijinali veri sikistirma alani icin Gage (1994) tarafindan gelistirilmis; NLP alanina Sennrich ve arkadaslari tarafindan 2016'da uyarlanmistir. BPE, dillerin morfolojik zenginligini yakalayarak hem bilinmeyen kelimeleri (OOV) azaltan hem de yuksek frekansli kelimeler icin verimli temsil saglayan dengeli bir tokenizasyon sunar. Algoritma su sekilde calisir: baslangicta sozluk bireysel karakterlerden olusur. Ardından egitim verisindeki en sık birlesen karakter cifti bulunarak tek bir yeni birim olarak birlestirilir. Bu islem belirli bir sozluk boyutuna ulasana dek tekrar edilir. Ornegin 'l', 'o', 'w' karakterleri once 'lo', sonra 'low' birimine donusebilir. GPT ailesi, BPE'nin tiktoken implementasyonu olan cl100k_base kodlayicisini kullanmaktadir. GPT-4 icin sozluk boyutu yaklasik 100.000 token'dir. BERT ise WordPiece adli benzer bir alt kelime algoritmasi kullanir. LLaMA ve cok dilli modeller genellikle SentencePiece kutuphanesiyle BPE uygulamaktadir. BPE'nin avantajlari sunlardir: bilinmeyen kelimelerle basabastarabilir (her kelime alt birimlere bolunerek temsil edilir), farkli dilleri ayni sozlukle destekleyebilir ve verimli temsil sunabilir. Sinirlilik olarak ise karakter temelli olmadigi icin sekans uzunlugu artar; 'cat' gibi sik kelimeler tek token iken nadir kelimeler birden fazla token'a bolunebilir.
Community Detection (Topluluk Tespiti)
Topluluk tespiti (community detection), bir grafın (ağın) kendi içinde yoğun bağlantılı, diğer gruplardan görece seyrek bağlantılı alt yapılarını — toplulukları — ortaya çıkaran graf analizi yöntemidir. Sosyal ağlarda arkadaşlık kümeleri, web grafiklarında konu kümeleri, biyolojik ağlarda işlevsel protein modülleri ve bilgi graflarında kavram grupları bu yöntemle tespit edilebilir. Topluluk tespiti algoritmaları dört ana sınıfa ayrılır. Modülarite optimizasyonu sınıfında Louvain algoritması, grafı aşamalı olarak birleştirerek modülariteyi (Q) maksimize eder; O(n log n) karmaşıklığıyla milyonlarca düğüme ölçeklenir ve literatürün en yaygın kullanılan yöntemidir. Leiden algoritması Louvain'in geliştirilmiş halidir: lokal boşluk sorununu gidererek daha bağlantılı topluluklar üretir ve 2019'dan itibaren büyük ölçekli ağ analizinde standart hâle gelmiştir. Hiyerarşik bölme yöntemlerinde Girvan-Newman algoritması, arasındalık merkeziyeti (betweenness centrality) en yüksek kenarları iteratif biçimde çıkararak toplulukları ayırır; hesaplama maliyeti yüksek olduğundan büyük graflarda daha az tercih edilir. Spektral kümeleme, grafın Laplacian matrisinin özvektörlerini kullanarak düğümleri özellik uzayında kümelendirir ve görüntü segmentasyonu ile doküman kümeleme alanlarında öne çıkar. Etiket yayılımı (label propagation) ise her düğümün komşularındaki en yaygın etiketi benimsemesine dayanan hızlı ve paralel bir yöntemdir. Yapay zeka uygulamalarında topluluk tespiti kritik bir bileşen hâline gelmiştir. Microsoft'un GraphRAG sistemi (2024), metin belgelerinden çıkarılan varlık grafındaki toplulukları Leiden algoritmasıyla tespit eder ve her topluluk için hiyerarşik özet raporlar üretir. Bu raporlar, "sektörde hangi trendler öne çıkıyor?" gibi geniş kapsamlı sorgulara yanıt verirken bağlam olarak kullanılır — standart vektör RAG'ın başarısız olduğu global sorularda çarpıcı biçimde daha iyi sonuçlar elde eder. Öneri sistemlerinde kullanıcı-ürün grafındaki topluluklar, soğuk başlangıç (cold start) sorununu azaltmak için grup tabanlı öneriler üretmekte kullanılır. Doğruluk tespitinde (misinformation detection) sosyal ağ topluluklarının yapısı, koordineli dezenformasyon kampanyalarını tespit etmek için analiz edilmektedir.
Continuous Batching (Sürekli Toplu İşlem)
Continuous Batching (Sürekli Toplu İşlem), LLM çıkarım sunucularında gelen istekleri statik batch'ler yerine sürekli, iterasyon bazlı dinamik gruplar hâlinde işleyen bir zamanlama tekniğidir. Geleneksel statik batching'de tüm istekler aynı uzunluğa tamamlanana kadar GPU boşta bekler; bu durum GPU kullanım oranını ciddi biçimde düşürür. Continuous batching ise her decoding adımında yeni isteklerin batch'e eklenmesine ve tamamlananların batch'ten çıkarılmasına olanak tanır. Tekniğin akademik temeli, Yu ve arkadaşlarının 2022'de yayımladığı "Orca: A Distributed Serving System for Transformer-Based Generative Models" çalışmasına dayanır. Bu makalede "iteration-level scheduling" adıyla tanımlanan yöntem, statik batch'e kıyasla 2-23× throughput artışı sağladığını kanıtladı. Pratik uygulamada ise 2023'te vLLM'nin PagedAttention ile birleştirdiği bu teknik, LLM servis altyapısında kalıcı bir standart hâline geldi. Teknik açıdan continuous batching; ön-doldurma (prefill) ve kod-çözme (decode) aşamalarının ayrılması, iterasyon düzeyinde zamanlama, verimli KV cache yönetimi ve öncelik kuyrukları bileşenlerine dayanır. Prefill aşamasında tüm prompt tokenleri bir kez işlenir; decode aşamasında her adımda tek token üretilir. Farklı isteklerin decode adımları eşzamanlı yürütüldüğünde GPU boşta kalmadan çalışmayı sürdürür; bu da KV cache alanının verimli kullanılmasını zorunlu kılar. Bellek yönetimi bu tekniğin kritik bir bileşenidir. PagedAttention, KV cache belleğini sanal sayfa tablosu modeline göre yönetir ve farklı uzunluktaki isteklerin yarattığı parçalanmayı önler. Çeşitli isteklerin KV state'leri aynı fiziksel GPU belleğinde örtüşmeden barındırılabilir; bu da sistemin eş zamanlı istek kapasitesini doğrudan artırır. Üretim ortamlarında continuous batching'i destekleyen başlıca framework'ler şunlardır: vLLM (PagedAttention ile), NVIDIA TensorRT-LLM, Hugging Face TGI (Text Generation Inference), SGLang (yapısal üretim için optimize) ve DeepSpeed-MII. GPU kapasitesi sabitken bu teknik, değişken uzunluktaki çok kullanıcılı API trafiğinde gecikme kararlılığını koruyarak saniyede işlenen token sayısını 10-20× artırabilmektedir. RAG pipeline'ları, ajansal AI sistemleri ve bulut LLM API'leri için temel bir altyapı bileşeni konumuna gelmiştir.
Cosine Similarity (Kosinüs Benzerliği)
Kosinüs benzerliği (Cosine Similarity), iki vektör arasındaki açının kosinüsünü ölçen ve vektörlerin yönleri arasındaki benzerliği sayısal olarak ifade eden matematiksel bir metriktir. Değeri [-1, 1] aralığında değişir: 1 tam benzer (aynı yön), 0 ortogonal (ilgisiz) ve -1 zıt anlamlıdır. Formülü: cos(θ) = (A·B)/(‖A‖×‖B‖), yani iki vektörün iç çarpımını her birinin uzunluklarının çarpımına böler. Yapay zeka ve doğal dil işleme alanlarında kosinüs benzerliği, çok boyutlu embedding vektörleri arasındaki anlamsal yakınlığı ölçmek için tercih edilir. Vektörlerin büyüklüğünden bağımsız olarak yalnızca yönü dikkate alması, belge uzunluğuna duyarsız bir ölçüm sağlar; bu nedenle tf-idf ve embedding vektörlerinde öklid mesafesine kıyasla daha güvenilir sonuçlar verir. Örneğin kısa bir tweet ile uzun bir makale, aynı konuyu ele alıyorsa benzer kosinüs skoru alırken öklid mesafesi büyük fark gösterir. Vektör veritabanlarında (Pinecone, Weaviate, Qdrant, ChromaDB, pgvector) ve semantik arama motorlarında sorgular önce bir embedding modeline gönderilir; elde edilen vektörle veritabanındaki tüm vektörler arasındaki kosinüs benzerliği hesaplanır ve en yakın k komşu (k-NN) döndürülür. Modern vektör veritabanları HNSW (Hierarchical Navigable Small World) veya IVF (Inverted File Index) gibi yaklaşık en yakın komşu (ANN) algoritmaları sayesinde milyonlarca vektörde bu aramaları milisaniyeler içinde tamamlar. RAG (Retrieval-Augmented Generation) sistemlerinde kosinüs benzerliği kritik bir role sahiptir: kullanıcı sorgusu embedding vektörüne dönüştürülür; bu vektörle belge parçaları (chunk) arasındaki kosinüs benzerliği hesaplanır; en yüksek skoru alan parçalar bağlam olarak LLM'e iletilir. Yaygın kullanılan pratik eşik değeri 0.70–0.85 arasında seçilir. L2-normalize vektörlerde kosinüs benzerliği, nokta çarpımına (dot product) eşdeğer olduğundan GPU matris çarpım işlemleri önemli ölçüde hızlanır. Python'da sklearn.metrics.pairwise.cosine_similarity, torch.nn.functional.cosine_similarity veya NumPy ile np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b)) şeklinde hesaplanabilir. Öneri sistemlerinde kullanıcı profilleri ve içerik özellikleri vektör uzayına yansıtılarak kosinüs benzerliğiyle eşleştirme yapılır. Kümeleme ve sınıflandırma görevlerinde de benzerlik matrisi olarak yaygın biçimde kullanılmaktadır. Sıfır vektörlerle tanımsız olduğu ve izotropik olmayan dağılım üreten modellerde MIPS (Maximum Inner Product Search) daha uygun olabilir.
Dynamic Programming (Dinamik Programlama)
Dinamik programlama (DP), karmaşık problemleri birbiriyle örtüşen alt problemlere ayrıştırarak çözen ve her alt problemin sonucunu bellekte saklayarak aynı hesaplamanın tekrar yapılmasını önleyen bir algoritma tasarım paradigmasıdır. Yöntem, 1950'lerde ABD'li matematikçi Richard Bellman tarafından geliştirilmiş; adındaki "programlama" sözcüğü yazılım değil, matematiksel optimizasyonu ifade etmektedir. Dinamik programlamanın iki temel koşulu vardır: optimal altyapı (optimal substructure) — bir problemin optimal çözümü, alt problemlerinin optimal çözümlerinden oluşmalıdır; örtüşen alt problemler (overlapping subproblems) — aynı alt problemler defalarca karşılaşılmalıdır. Bu iki özelliğin bir arada bulunduğu yerde DP büyük verimlilik kazanımları sağlar. Uygulamada iki ana strateji kullanılır: tabanlı yaklaşım (bottom-up/tabulation) en küçük alt problemden başlayarak büyük probleme iteratif biçimde ilerler ve sonuçları bir tabloda depolar; yukarıdan aşağıya yaklaşım (top-down/memoization) özyinelemeli çağrıları önbelleğe alarak aynı hesaplamaların tekrarını engeller. Yapay zeka ve makine öğrenimi alanında dinamik programlama hayati önem taşır. Pekiştirmeli öğrenmede (reinforcement learning) politika değerlendirme (policy evaluation) ve politika yineleme (policy iteration) algoritmaları doğrudan DP ilkelerine dayanır. Bellman denklemi — DP'nin kurucusu tarafından formüle edilmiş — modern Q-öğrenmesinin ve derin pekiştirmeli öğrenmenin (DRL) matematiksel temelini oluşturur. Markov karar süreçleri (MDP) çözümünde hem değer yineleme (value iteration) hem de politika yineleme DP formülasyonuna dayanır. Doğal dil işlemede Levenshtein (düzenleme) mesafesi iki dizi arasındaki minimum edit sayısını DP tablosuyla hesaplar; Viterbi algoritması Gizli Markov Modellerinde (HMM) en olası durum dizisini DP ile bulur; CTC (Connectionist Temporal Classification) kaybı ise ses tanıma modellerinde hizalama belirsizliğini DP ile çözer. Tokenizasyonda kullanılan BPE (Byte Pair Encoding) algoritması da DP prensiplerinden yararlanır. Klasik DP örnekleri arasında En Uzun Ortak Alt Dizi (LCS), 0/1 Sırt Çantası, Matris Zinciri Çarpımı ve Floyd-Warshall en kısa yol algoritması sayılabilir. Modern yapay zeka bağlamında Monte Carlo Ağaç Araması (MCTS) ve bazı hiperparametre optimizasyonu yaklaşımları da DP fikirlerinden faydalanır.
Entity Extraction (Varlık Çıkarımı (Entity Extraction))
Varlık çıkarımı (Entity Extraction), doğal dil işleme (NLP) alanında yapılandırılmamış metinlerden adlandırılmış varlıkları — kişi adları, kurum adları, coğrafi konumlar, tarihler, ürün adları gibi — otomatik olarak tespit etme ve sınıflandırma sürecidir. İsimli Varlık Tanıma (Named Entity Recognition — NER) olarak da bilinir. Teknik açıdan NER, her tokeni BIO (Beginning-Inside-Outside) veya BIOES şemasıyla etiketleyen bir dizi etiketleme problemidir. Geleneksel yöntemler kural tabanlı düzenli ifadeler ve istatistiksel Koşullu Rastsal Alanlar (CRF) üzerine kuruluydu. BiLSTM-CRF mimarisi, bağlamsal özellik öğrenmeyi CRF etiket tutarlılığıyla birleştirerek 2010'ların NER standardı oldu. 2019'dan itibaren BERT tabanlı token sınıflandırması bu mimarinin büyük bölümünün yerini aldı; alan-özgü varlık türleri (tıbbi terminoloji, hukuki belgeler) için ince ayarlı BERT modelleri güçlü seçenek olmaya devam etmektedir. Modern LLM tabanlı yaklaşımlarda süreç kökten basitleşmiştir: GPT-4 veya Claude'a few-shot örnekler vererek ya da structured output (JSON mod) kullanarak sıfır veya az örnekten yüksek kaliteli NER sonuçları elde etmek mümkündür. Bu yaklaşım özellikle özel ontoloji ve az kaynaklı dillerde esneklik sağlar. Varlık çıkarımı doğrudan metinsel bağlamdan bilgi grafiği oluşturma sürecinin temelidir. GraphRAG akışında belge parçalarından varlık çiftleri çıkarılır, ilişkileri belirlenir ve bunlar bir bilgi grafiğine dönüştürülür. Topluluk tespiti ve özetleme aşamalarının girdisini bu varlık-ilişki üçlüleri oluşturur. Türkçe NER'da eklemeli dil yapısı ek bir zorluk katmanı ekler: token sınırları belirsizleşebilir ve özel isimler büyük harf kuralını her zaman izlemeyebilir. BERTurk tabanlı ince ayar veya LLM'in JSON çıktı moduyla birkaç örnekten öğrenme en pratik seçeneklerdir. Değerlendirme span bazlı F1 skoru ile yapılır; kesinlik (precision) ve geri çağırma (recall) her varlık tipi için ayrı raporlanır. CoNLL-2003 ve OntoNotes bu alanın standart kıyaslama veri kümeleridir.
Fine-Tuning (İnce Ayar)
Fine-tuning (Türkçesiyle ince ayar), devasa bir veri setiyle genel amaçlı olarak önceden eğitilmiş (pre-trained) bir yapay zeka modelinin, daha küçük ve göreve özel bir veri seti kullanılarak belirli bir işe, sektöre veya üsluba (tıp, hukuk, kodlama, müşteri hizmetleri vb.) uyarlanması işlemidir. İngilizce "fine-tune" fiili, bir cihazın ayarını hassas biçimde düzeltmek anlamına gelir; yapay zekada da mantık aynıdır: model sıfırdan eğitilmez, mevcut bilgisinin üzerine ek eğitimle özel bir uzmanlık inşa edilir. Örneğin LLaMA veya GPT gibi bir temel model, birkaç bin kaliteli soru-cevap çiftiyle yeniden eğitilerek bir bankanın müşteri temsilcisi gibi konuşan ya da tıbbi raporları belirli bir formatta özetleyen bir modele dönüştürülebilir. Bu yaklaşımın önemi maliyet ve erişilebilirlikte yatar. Bir dil modelini sıfırdan eğitmek milyonlarca dolarlık hesaplama gücü ister; fine-tuning ise aynı modelin ağırlıklarını yeni veriye göre hafifçe güncelleyerek çok daha küçük bir bütçeyle özelleştirme yapmayı mümkün kılar. LoRA ve QLoRA gibi parametre-verimli (PEFT) yöntemlerle bu iş tek bir tüketici GPU'sunda bile yapılabilir hale gelmiştir. Pratikte fine-tuning; kurumsal sohbet botlarında marka diline uyum, hukuk ve sağlık gibi alanlarda terminoloji hâkimiyeti, yapılandırılmış çıktı (örneğin JSON) üretimi ve şirket içi verilerle çalışan özel asistanlar için kullanılır. Modele davranış ve üslup kazandırmak hedefleniyorsa fine-tuning, güncel veya sık değişen bilgiye erişim gerekiyorsa RAG tercih edilir; kurumsal sistemlerde ikisi çoğu zaman birlikte çalışır.
Float16 / BFloat16 (Float16 / BFloat16)
Float16 (FP16 veya yarı duyarlıklı kayan nokta), IEEE 754 standardında tanımlanan ve 16 bit (1 işaret + 5 üs + 10 mantis) kullanarak gerçek sayıları temsil eden sayı biçimidir. Standart Float32'ye (32 bit, tekli duyarlık) kıyasla bellek kullanımını yarıya indirir ve modern GPU'ların tensör çekirdeği (tensor core) donanımıyla çok daha yüksek hesaplama verimi sağlar. Derin öğrenmede Float16'nın önemi büyüktür. GPU belleği (VRAM) model eğitimindeki en sık karşılaşılan darboğazlardan biridir; modelin ağırlıklarını ve aktivasyonlarını FP16'da tutmak aynı GPU'da iki kat daha büyük modeller ya da iki kat daha büyük batch boyutları çalıştırmayı mümkün kılar. NVIDIA'nın 2018'de tanıttığı Tensor Core teknolojisi, FP16 matris çarpımlarını FP32 karşısında 4-8× hızlandırmaktadır. Ancak FP16'nın sayı aralığı (yaklaşık ±65504) ve duyarlığı FP32'den çok daha kısıtlıdır. Bu nedenle eğitimde "karma duyarlık" (mixed precision) yaklaşımı tercih edilir: ileri geçiş (forward pass) ve geri yayılım (backward pass) FP16'da, ağırlık güncellemeleri ve kayıp ölçekleme (loss scaling) ise FP32'de tutulur. PyTorch'ta torch.cuda.amp.autocast() ve TensorFlow'da tf.keras.mixed_precision API'si bu işlemi otomatik yönetir. BF16 (Brain Float16), Google tarafından geliştirilen alternatif bir 16-bit formattır: 8 üs biti kullanarak FP32 ile aynı sayı aralığını korur ancak mantis duyarlığı FP16'dan düşüktür. TPU ve NVIDIA Ampere/Hopper GPU'lar BF16'yı doğal olarak destekler; büyük dil modeli eğitiminde BF16, FP16'nın yerini giderek almaktadır. INT8 ve INT4 niceleme, model çıkarım aşamasında daha da küçük bit genişlikleri kullanarak VRAM tasarrufunu daha da ileri götürür. GPTQ, AWQ ve bitsandbytes kütüphaneleri tüketici GPU'larında büyük dil modellerini çalıştırmak için INT4 nicelemeyi yaygınlaştırmıştır. Niceleme miktarı arttıkça modelin doğruluğu düşebilir; bu ödünleşimi ölçmek için perplexity metriği kullanılır. Türkiye'de LLM araştırmacıları ve açık kaynak topluluk üyeleri, sınırlı VRAM'e sahip tüketici GPU'larında Llama ve Mistral modellerini çalıştırmak için bu tekniklere sıklıkla başvurmaktadır.
Genetic Programming (Genetik Programlama)
Genetic Programming (GP), genetik algoritmaların bir uzantısı olarak bireylerin sabit uzunluklu bit dizileri yerine yürütülebilir bilgisayar programları olduğu evrimsel bir hesaplama yöntemidir. John Koza tarafından 1992'de sistematik biçimde formüle edilen GP, doğal seleksiyonu programların yüksek seviyeli sembolleriyle çalışacak şekilde uyarlar. Her birey, tipik olarak ağaç veri yapısıyla temsil edilir: dallar aritmetik operatörler, mantıksal koşullar veya döngü yapıları gibi işlevleri, yapraklar ise sabitler ya da değişkenler (terminaller) içerir. Bir popülasyon başlatıldıktan sonra üç temel evrimsel operatör devreye girer. Seçim operatörü, bir değerlendirme fonksiyonuna göre en iyi bireyleri bir sonraki nesle taşır. Çaprazlama, iki ebeveyn ağacından rastgele seçilen alt ağaçların yer değiştirmesiyle hibrit çocuklar üretir. Mutasyon ise rastgele bir düğümü ya da alt ağacı yeniden oluşturarak keşif kapasitesini artırır. GP'nin en güçlü uygulama alanlarından biri sembolik regresyondur: gözlem verilerinden en uygun matematiksel denklemi otomatik olarak türetir. Ayrıca FPGA devre tasarımı, robotik hareket planlama, oyun stratejisi öğrenme ve yazılım hata onarımı gibi alanlarda geniş kullanım bulur. Önemli bir dezavantaj bloat sorunudur: nesiller ilerledikçe programlar gereksiz kod parçalarıyla şişer ve hesaplama maliyeti artar; bunu önlemek için ağaç boyutu sınırlamaları veya boyut cezası eklenir. Modern varyantlar arasında Grammatical Evolution, Linear Genetic Programming ve Strongly-Typed GP yer alır. Derin öğrenme çağında GP, differentiable GP ve nöral ağlarla hibrit mimarilerde yeniden ilgi görmektedir.
GPTQ (İkinci Dereceden LLM Kuantizasyonu)
GPTQ (Generative Pre-trained Transformer Quantization), büyük dil modellerini INT4 veya INT8 bit genişliğine kuantize etmek için ikinci dereceden bilgi (Hessian matrisini) kullanan post-training weight quantization algoritmasıdır. Frans Frantar ve ekibi tarafından 2022'de ETH Zürich'te geliştirilen GPTQ, Optimal Brain Compression (OBC) algoritmasının büyük ölçeğe uyarlanmış ve önemli ölçüde hızlandırılmış bir versiyonudur; OBC'nin O(d³) karmaşıklığını O(d²) seviyesine indiren yenilikçi Cholesky dekompoziyon tekniği, algoritmayı 175B parametreli modellere kadar uygulanabilir kılar. Algoritma, model ağırlıklarını katman katman, küçük bloklar hâlinde (tipik olarak 128 sütun) işler. Her blok için Hessian matrisinin tersini hesaplar ve kuantizasyon hatasını sonraki sütunlara yayarak global hatayı minimize eder. Bu süreçte yalnızca 128-512 örnekten oluşan küçük bir kalibrasyon veri seti kullanılır; tam eğitim gerektirmeyen bu yaklaşım, yüz milyar parametreli modeller için bile dakikalar içinde tamamlanabilir. Pratik etki belirgindir: 70 milyar parametreli bir model FP16'da yaklaşık 140 GB GPU belleği gerektirirken, GPTQ INT4 kuantizasyonu bu gereksinimi ~35 GB'a düşürür. Böylece 70B modeller, 24 GB VRAM'li tüketici sınıfı GPU'larda (RTX 4090 gibi) çalışabilir hale gelir. LLaMA 3 70B üzerinde yapılan karşılaştırmalarda GPTQ INT4 modeli, FP16 referansına göre yalnızca %2-3 puanlık MMLU kaybıyla üretim kalitesini koruyabilmektedir. GPTQ ekosistemi hızla genişlemiştir: AutoGPTQ ve ExLlamaV2 kütüphaneleri, vLLM ve HuggingFace Transformers doğrudan GPTQ formatını destekler. HuggingFace Hub'da '*-GPTQ' etiketi taşıyan binlerce hazır model mevcuttur. EXL2 formatı, GPTQ'nun katman başına farklı bit genişliği destekleyen gelişmiş bir türevidir ve daha iyi kalite-boyut dengesi sunar. Temel rakip yöntemler AWQ (aktivasyon farkındalıklı ağırlık kuantizasyonu) ve GGUF/llama.cpp'dir; AWQ genellikle daha hızlı çıkarım hızı sağlarken GPTQ bazı görevlerde daha iyi kalite korur; GGUF ise CPU ve Apple Silicon cihazlarında tercih edilen formattır.
Greedy Algorithm (Açgözlü Algoritma)
Açgözlü algoritma (Greedy Algorithm), bir problemi çözerken her adımda o anki duruma göre yerel olarak en iyi görünen kararı veren ve bu kararları geri almadan ilerleyen bir algoritma tasarım paradigmasıdır. "Açgözlü" adı, algoritmanın şu anın en iyi seçimini yaparken gelecekteki sonuçları göz ardı etmesinden kaynaklanmaktadır. Temel mantığı şudur: Her karar noktasında mevcut bilgilerle alınabilecek en iyi seçimi yap, bu kararı kesin kabul et ve bir sonraki adıma geç. Geri dönüş (backtracking) ya da yeniden değerlendirme yapılmaz. Bu özellik açgözlü algoritmaları genellikle çok hızlı kılar, ancak her zaman global optimum sonucu garantilemez. Açgözlü algoritmaların doğru çalışabilmesi için iki matematiksel koşulun sağlanması gerekir: Açgözlü Seçim Özelliği (Greedy Choice Property) — her adımdaki yerel optimal seçim, global optimum çözümün bir parçasıdır; ve Optimal Alt Yapı (Optimal Substructure) — problemin optimal çözümü, alt problemlerin optimal çözümlerini içerir. Bu koşullar sağlandığında açgözlü algoritmalar kusursuz çalışır: Kruskal ve Prim algoritmaları ile Minimum Yayılan Ağaç (MST) bulma, Dijkstra algoritması ile en kısa yol hesaplama, Huffman kodlaması ile kayıpsız veri sıkıştırma ve çizelgeleme problemleri bunların en bilinen örnekleridir. Yapay zeka ve makine öğrenmesinde açgözlü yaklaşım yaygındır. Karar ağaçlarında her düğüm için en bilgi kazandıran özelliği seçme, greedy decoding ile büyük dil modellerinde her adımda en yüksek olasılıklı token üretme ve nöral mimari arama süreçlerinde açgözlü stratejiler kullanılır. Özellik seçimi (feature selection) aşamasında da açgözlü ileri seçim (greedy forward selection) sık tercih edilir. Açgözlü algoritmaların dezavantajı, yerel optimuma takılıp global optimumu kaçırabilmesidir. Örneğin gezgin satıcı probleminde açgözlü yaklaşım iyi ama çoğunlukla optimal olmayan sonuçlar verir. Bu sınırlamayı aşmak için simüle tavlama (Simulated Annealing), genetik algoritmalar veya dinamik programlama tercih edilebilir. Beam search ise açgözlü decoding ile kapsamlı arama arasında bir denge kurar.
Inference Scaling (Çıkarım Zamanı Ölçeklendirme)
Inference Scaling (Çıkarım Zamanı Ölçeklendirme veya Test Zamanı Hesaplama Ölçeklendirme), bir modelin eğitim sonrası çıkarım aşamasında daha fazla hesaplama harcayarak performansı artırma yaklaşımıdır. Scaling laws geleneğindeki eğitim zamanı ölçeklendirmesinin aksine bu yöntem, sabit model ağırlıklarıyla çalışır ve yanıt üretim sürecinde ek hesaplama kullanır. Inference scaling'in temel biçimleri şunlardır: Chain-of-Thought (CoT) ve uzun düşünce zincirleri, Best-of-N örnekleme (birden fazla yanıt üretip en iyisini seçme), Beam search genişletme, araç kullanımı döngüleri ve self-reflection (öz değlendirme). OpenAI'ın o1/o3 modelleri ve DeepSeek-R1, bu yaklaşımı sistematik hâle getiren örneklerdir: model yanıt vermeden önce dahili düşünme adımları oluşturmak için önemli miktarda hesaplama harcar. Kalite kontrolünde Süreç Ödül Modeli (PRM) ve Sonuç Ödül Modeli (ORM) kritik rol üstlenir. PRM her ara adımı değerlendirirken ORM yalnızca nihai cevabı derecelendirir. Araştırmalar, Best-of-N=16 yapılandırmasında matematik kıyaslamalarında tek örneklemeye kıyasla %30–50 doğruluk artışı elde edildiğini göstermektedir. Monte Carlo Ağaç Araması (MCTS) ise çözüm uzayını ağaç biçiminde keşfederek kodlama ve matematik problemlerinde üstün sonuçlar vermektedir. Google DeepMind'ın 2024'te yayımladığı araştırmalar, küçük modellerin çıkarım zamanı hesaplama artışıyla çok daha büyük modellere yakın kalite elde edebildiğini ortaya koymuştur. Bu bulgu, AI geliştirme paradigmasını "daha büyük model = daha iyi performans" anlayışından "akıllı çıkarım stratejisi = daha iyi performans" anlayışına kaydırmaktadır. Yöntemin başlıca sınırlamaları artan gecikme (latency), yüksek token maliyeti ve bazı görevlerde azalan kazanım (diminishing returns) olarak sıralanır. Görev yönlendirme (task routing) mimarileri bu tradeoff'u yönetmek için geliştirilmiştir: basit sorgular için hızlı ve ucuz model, karmaşık problemler için inference-scaled model devreye girer. OpenAI o3 "high" modu ve Anthropic Extended Thinking bu yaklaşımın ticari ürün yansımalarıdır.
Instruction Tuning (Komut Ayarı)
Instruction Tuning (Komut Ayarı veya Talimat İnce Ayarı), önceden eğitilmiş dil modellerini insan yazılı talimat-yanıt çiftleriyle ince ayar yaparak modelin çeşitli görevleri takip etme becerisini geliştiren bir eğitim yöntemidir. 2021'de Google'ın FLAN modeli ve Stanford'un Alpaca çalışmasıyla popülerleşen bu teknik, bugün neredeyse tüm kullanıcıya dönük LLM'lerin eğitim süreçlerinin temel ve ayrılmaz bir parçasıdır. Instruction tuning'den önce dil modelleri yalnızca sonraki tokeni tahmin etmek üzere eğitilirdi; bu modeller doğrudan kullanıcı talimatlarını takip etmekte yetersiz kalırdı. Instruction tuning, çok sayıda ve çeşitli görevleri kapsayan veri setiyle modeli fine-tune eder: özetleme, soru yanıtlama, çeviri, sınıflandırma, kod yazma. Böylece model yeni, görülmemiş görevleri sıfır-atış (zero-shot) veya az-atış (few-shot) biçiminde takip edebilir hâle gelir. Bu yetenek, bir asistan ile ham bir dil modeli arasındaki en temel farkı oluşturur; eğitim maliyetinin küçük bir kesimiyle büyük kullanılabilirlik artışı sağlar. Kaliteli instruction tuning için veri kalitesi, çeşitliliği ve talimat-yanıt uyumluluğu kritiktir. LIMA çalışması, 1000 yüksek kaliteli örnek bile yeterince çeşitliyse güçlü instruction following sağlayabileceğini göstermiştir. Günümüzde büyük ölçekli modeller için hem insan yazılı hem de LLM ile sentetik olarak üretilmiş instruction veri setleri kullanılmaktadır. WizardLM, ShareGPT ve OpenAssistant gibi açık veri setleri topluluğun bu tekniği demokratikleştirmesine önemli katkılar sunmaktadır. Instruction tuning sonrası RLHF (İnsan Geri Bildiriminden Pekiştirme Öğrenmesi) veya DPO (Doğrudan Tercih Optimizasyonu) ile pekiştirme, modeli daha güvenli ve kullanıcı dostu hâle getirir. Multitask instruction tuning ise modelin tek bir görev yerine onlarca farklı talimat türünü öğrenmesini sağlayarak genel amaçlı asistan yeteneklerini pekiştirir. GPT-4, Claude ve Gemini gibi modern sohbet modellerinin temelinde bu çok katmanlı fine-tuning hattı yatmaktadır.
K-Means Kümeleme (K-Ortalama Kümeleme)
K-Means, makine öğreniminde en yaygın kullanılan gözetimsiz kümeleme algoritmalarından biridir. Temel amacı, etiketlenmemiş veri noktalarını K adet anlamlı gruba (kümeye) bölmektir; küme içindeki noktalar birbirine benzerken farklı kümeler arasındaki benzerlik minimum tutulur. Algoritma, yinelemeli (iteratif) dört adımla çalışır. Başlatma aşamasında K adet merkez noktası (centroid) rastgele ya da K-Means++ yöntemiyle seçilir. K-Means++ merkezleri birbirinden olabildiğince uzağa yerleştirerek daha kararlı başlangıç sağlar ve yakınsama hızını artırır. Atama adımında her veri noktası, Öklid uzaklığı (veya seçilen mesafe ölçütü) ile en yakın merkeze atanır. Güncelleme adımında her küme için noktaların koordinat ortalaması hesaplanarak yeni centroid belirlenir. Bu atama ve güncelleme döngüsü, hiçbir centroid yer değiştirmeyene kadar tekrarlanır. Algoritmanın en kritik parametresi K değeridir — kaç küme istediğimizi önceden belirtmemiz gerekir. K'yı belirlemek için en yaygın yöntem 'Dirsek Yöntemi' (Elbow Method): farklı K değerleri için Küme İçi Kareler Toplamı (WCSS - Within-Cluster Sum of Squares) grafiğe dökülerek eğrinin dirsek yaptığı nokta optimal K olarak seçilir. Silhouette Skoru gibi istatistiksel ölçütler de K seçiminde kullanılabilir. K-Means'ın temel avantajları sadelik ve ölçeklenebilirliktir; büyük veri kümelerinde hızlı çalışır. Sınırlılıkları arasında K'nın önceden belirlenmesi zorunluluğu, yalnızca küresel şekilli kümelerde başarılı çalışması ve aykırı değerlere duyarlılık sayılabilir. K-Means++, Mini-Batch K-Means ve Bisecting K-Means gibi varyantlar bu zayıflıkları gidermeye yönelik geliştirilmiştir. Gerçek dünyada müşteri segmentasyonu, belge kümeleme, görüntü sıkıştırma, pazar analizi ve anomali tespiti gibi geniş bir uygulama alanına sahiptir.
KL Divergence (KL Iraksaması (Kullback-Leibler Divergence))
KL Iraksaması (Kullback-Leibler Divergence — KL Sapması), iki olasılık dağılımı arasındaki farkı ölçen bir bilgi-teorik metriktir. P olasılık dağılımını Q ile yaklaşık olarak ifade etmenin "maliyetini" — bilgi kaybını — ölçer. Formülü: KL(P‖Q) = Σ P(x) log(P(x)/Q(x)). Değerin sıfır olması iki dağılımın özdeş olduğu anlamına gelir; sıfırdan büyük değerler ise iki dağılımın ne kadar farklılaştığını gösterir. Solomon Kullback ve Richard Leibler metriği 1951'de "On Information and Sufficiency" başlıklı çalışmalarında bilgi teorisi çerçevesinde türettiler. Shannon entropisinin bir uzantısıdır: H(P,Q) = H(P) + KL(P‖Q); yani çapraz entropi, özsel entropinin ve KL ıraksama teriminin toplamıdır. KL iraksaması simetrik değildir: KL(P‖Q) ≠ KL(Q‖P). Bu asimetri farklı kullanım senaryolarını doğurur. "Forward KL" (P‖Q) modelin gerçek dağılımı P'yi küçümsememesini zorlar; kütle kaplayan (mean-seeking) bir yaklaşım üretir ve tüm modları kapsayan geniş bir tahmin tercih edilir. "Reverse KL" (Q‖P) ise belirli modlara konsantre olma eğilimindedir ve mod-arayan (mode-seeking) davranış sergiler; değişkence Bayes ve ELBO optimizasyonu bu yönü kullanır. Makine öğrenmesinde KL iraksamasının kritik kullanım alanları şunlardır: Bilgi damıtmada öğretmen ve öğrenci modelin olasılık dağılımları arasındaki KL kaybı, ham etiket bilgisinden çok daha zengin bir eğitim sinyali sunar. Değişkence otokodlayıcılarda (VAE) posterior dağılım q(z|x) ile prior p(z) arasındaki KL terimi, ELBO'nun düzenlileştirici bileşeni olarak gizli uzayı düzenli tutar. RLHF ve PPO'da politika modelinin referans modelden çok uzaklaşmamasını sağlayan KL ceza terimi β çarpanıyla ödül korsanlığını önler. Dağılım kayması tespitinde ise üretim verisinin eğitim dağılımından sapmasını izlemek için başvurulan temel metrik haline gelmiştir. KL her zaman negatif olmayan bir değer üretir — Gibbs eşitsizliği bunu garantiler. Simetri gerektiğinde Jensen-Shannon (JS) iraksaması tercih edilir: JSD(P,Q) = ½ KL(P‖M) + ½ KL(Q‖M), M = (P+Q)/2. JS her zaman sonlu bir değer verir ve [0,1] aralığıyla kısıtlıdır. Pratikte PyTorch'ta torch.nn.KLDivLoss, JAX'ta optax.kl_divergence ve NumPy/SciPy'da scipy.special.rel_entr fonksiyonları ile hesaplanır.
LLM Eval (LLM Değerlendirme)
LLM Eval (LLM Evaluation — LLM Değerlendirme), büyük dil modellerinin performansını sistematik biçimde ölçmek için kullanılan metodoloji, kıyaslama ve araçların bütünüdür. Model değerlendirme; hangi modelin belirli bir göreve uygun olduğunu, hangi hata türlerini ürettiğini ve zamana göre nasıl geliştiğini anlamayı mümkün kılar. LLM değerlendirmesi iki temel eksende ele alınır. İnsan değerlendirmesi, kişilerin model çıktılarını doğrudan puanladığı veya tercih ettiği yöntemi temsil eder; pahalı ama altın standart olarak kabul edilir. Otomatik değerlendirme ise ölçüm sürecini kıyaslama verileri veya başka bir LLM kullanarak otomatikleştirir. Bu ikincisine "LLM-as-a-Judge" denilir ve özellikle GPT-4 ya da Claude gibi güçlü modellerin hakem olarak kullanıldığı yapılar giderek yaygınlaşmaktadır. Yaygın kıyaslama ölçütleri arasında bilgi ve akıl yürütme testi için MMLU (Massive Multitask Language Understanding), kod üretimi için HumanEval ve MBPP, çoklu adım akıl yürütme için GSM8K ve MATH, dil anlama için HellaSwag, WinoGrande ve ARC yer alır. RAG sistemleri için RAGAS ve TREC, çok dilli yetenekler için MGSM ve okuma anlama için SQuAD da sıkça kullanılan setler arasındadır. Bununla birlikte kıyaslamalar tek başına yeterli değildir. Ezberleme (benchmark contamination) sorunu, modelin test verilerini eğitim sırasında görmüş olabileceğine işaret eder; bu nedenle hem gizli tutulmuş hem de dinamik olarak güncellenen veri setleri önem kazanır. Gerçek dünya senaryoları için üretim ortamında izleme, A/B testi ve kullanıcı geri bildirimi toplama da değerlendirmenin ayrılmaz parçalarıdır. Uygulama özelinde değerlendirmede ise üç boyut öne çıkar: doğruluk (factual accuracy ve groundedness), zararsızlık (safety, jailbreak dayanıklılığı) ve fayda (task completion, coherence, kullanıcı memnuniyeti). Hellaswag-türü genel benchmark iyi skoru, bir müşteri hizmetleri botunun gerçek konuşmalarda başarılı olacağını garanti etmez; bu yüzden görev odaklı metrikler zorunludur.
Lojistik Regresyon (Lojistik Regresyon)
Lojistik regresyon, sınıflandırma problemleri için kullanılan temel bir denetimli makine öğrenimi algoritmasıdır. İsmindeki "regresyon" sözcüğüne karşın algoritma, sürekli değer tahmini değil; olayların gerçekleşme olasılığını tahmin etmek için tasarlanmıştır. Temel matematiksel yapısı, doğrusal regresyon çıktısını [0, 1] aralığına sıkıştıran sigmoid (lojistik) fonksiyonuna dayanır: σ(z) = 1 / (1 + e^−z). Algoritma, istatistikçi David Cox tarafından 1958 yılında literatüre kazandırılmıştır. Girdi özelliklerinin ağırlıklı toplamını hesapladıktan sonra sigmoid fonksiyonunu uygular; sonuç 0,5'in üzerindeyse pozitif sınıf, altındaysa negatif sınıf olarak etiketlenir. Bu karar eşiği kullanım senaryosuna göre ayarlanabilir; tıbbi tanı sistemlerinde yanlış negatif oranını düşürmek için eşik değeri azaltılır. Eğitim sürecinde kayıp fonksiyonu olarak ikili çapraz entropi (log-loss) minimize edilir. Bu işlem genellikle stokastik gradyan inişi veya sınırlı bellek BFGS (L-BFGS) optimizasyon yöntemiyle gerçekleştirilir. L1 düzenlileştirme (Lasso) gereksiz özellikleri sıfıra çekerek özellik seçimi yaparken, L2 (Ridge) ağırlıkları küçük tutarak aşırı öğrenmeyi önler; ElasticNet her iki yaklaşımı dengeli biçimde birleştirir. Eğitim öncesinde özniteliklerin StandardScaler ile normalleştirilmesi yakınsama hızını önemli ölçüde artırır. Lojistik regresyon, yapay sinir ağlarının temel birimi olan tek nöronun davranışıyla doğrudan ilişkilidir: sigmoid aktivasyon fonksiyonu kullanan yalnızca bir nörondan oluşan ağ, matematiksel olarak bir lojistik regresyon modelidir. Bu ilişki, çok katmanlı derin öğrenme modellerinin lojistik regresyon üzerine inşa edildiğini anlamamızı kolaylaştırır. Çok sınıflı problemler için iki temel yaklaşım mevcuttur: OvR (One-vs-Rest) stratejisi her sınıf için bağımsız bir ikili sınıflandırıcı eğitir; multinomial lojistik regresyon (softmax regresyon) ise tüm sınıfları aynı anda modeler ve olasılıkların toplamını bire zorlar. Çok sınıflı metinsel görevlerde multinomial yaklaşım genellikle daha tutarlı sonuçlar üretir. Lojistik regresyon; e-posta spam tespiti, kredi riski değerlendirmesi, tıbbi tanı, metin sınıflandırma ve dijital pazarlamada dönüşüm oranı tahmini gibi geniş bir uygulama yelpazesine sahiptir. Yorumlanabilir yapısı ve hesaplanabilir katsayı güven aralıkları sayesinde, kararların açıklanması gereken finans ve sağlık sektörlerinde derin öğrenme modellerine tercih edilir.
ML Pipeline (ML Pipeline)
Makine öğrenmesi boru hattı (ML pipeline), ham veriden model tahminine uzanan tüm adımları birbirine bağlayan otomatize bir iş akışıdır. Veri toplama, temizleme, özellik mühendisliği, model eğitimi, değerlendirme ve dağıtım gibi aşamalar bu boru hattının bileşenlerini oluşturur; her bileşen bir öncekinin çıktısını girdi olarak alır. ML boru hattının temel amacı tekrar edilebilirlik ve ölçeklenebilirliktir. Elle gerçekleştirilen deneysel süreçler, üretim ortamında tutarsız sonuçlar üretebilir; boru hattı her çalıştırmada aynı adımların aynı sırayla aynı parametrelerle uygulanmasını garanti eder. Bu tutarlılık hem hata ayıklamayı hem de modelin yeniden eğitilmesini büyük ölçüde kolaylaştırır. Scikit-learn'ün Pipeline nesnesi, veri dönüşümleri ve modelini tek bir nesneye paketler ve model seçimi için grid search ile doğrudan entegre olur. Kubeflow, MLflow ve Apache Airflow gibi araçlar bu kavramı büyük ölçekli, çok adımlı ve paralel süreçleri koordine eden orkestrasyon platformlarına taşır. Feature store (özellik deposu), ML boru hatlarının önemli bir bileşenidir. Dönüştürülmüş özellikleri merkezi bir veritabanında saklar; farklı modeller ve ekipler bu özellikleri yeniden kullanarak hem tutarlılığı hem de verimliliği artırır. Feast ve Tecton bu alanda öncü açık kaynak çözümlerdir. MLOps (Machine Learning Operations) perspektifinden ML boru hatları, model izleme, veri kayması (data drift) tespiti ve otomatik yeniden eğitim döngüleriyle genişletildiğinde üretim ortamındaki modelleri sağlıklı tutmanın omurgasını oluşturur.
Monte Carlo Method (Monte Carlo Yöntemi)
Monte Carlo yöntemi, deterministik formülle çözülmesi güç ya da imkânsız olan problemleri rastgele örnekleme (random sampling) yoluyla sayısal olarak yaklaşık çözen bir hesaplama tekniğidir. Adını, casino kültürüyle özdeşleşen Monaco şehrine borçlanmaktadır; 1940'larda Manhattan Projesi'nde nötron difüzyonunu modellemek için Stanislaw Ulam ve John von Neumann tarafından resmileştirilmiştir. Temel fikir son derece basittir: problem uzayından çok sayıda rastgele örnek çekerek beklenen değerleri, integralleri veya olasılıkları tahmin etmek. Bir dairenin π değerini tahmin etmek için kare içine rastgele noktalar atmak klasik örnektir; daireye düşen nokta oranı π/4'e yaklaşır. Örneklem büyüdükçe hata 1/√n oranında azalır; bu, boyut sayısından bağımsız bir yakınsama oranıdır — yüksek boyutlu problemlerde ızgara tabanlı yöntemlerden belirgin ölçüde üstündür. **MCMC (Markov Chain Monte Carlo):** Doğrudan örneklenemeyecek karmaşık dağılımlardan örnek üretmek için kullanılır. Metropolis-Hastings ve Gibbs Sampling en yaygın MCMC algoritmalarıdır. Bayesian çıkarımında, parametre dağılımlarının posterior hesaplamasında ve derin öğrenme modellerinin belirsizlik tahmininde kritik rol oynar. **Monte Carlo Ağaç Araması (MCTS):** Oyun ağacında en iyi hamleyi bulmak için rollout (gelecek durum simülasyonu) tahminleri kullanan bir arama algoritmasıdır. Seçim, genişleme, simülasyon ve geri yayılım olmak üzere dört aşamadan oluşur. AlphaGo ve AlphaZero'nun 2016'da insan Go şampiyonlarını yenmesindeki temel bileşendir; derin pekiştirmeli öğrenme ile birleşince olağanüstü sonuçlar üretir. **MC Dropout:** Yapay sinir ağlarında belirsizlik tahmini için eğitim sırasında kullanılan dropout'u test aşamasında da açık bırakarak çok sayıda ileri geçiş çalıştırır. Bu farklı çıktıların varyansı, modelin o girdi hakkındaki belirsizliğini (epistemic uncertainty) gösterir. Tıbbi görüntüleme ve özerk sürüş sistemlerinde güvenilirlik ölçütü olarak kullanılır. Makine öğrenmesinde Monte Carlo yöntemlerinin önemi sürekli artmaktadır: hiperparametre optimizasyonu (random search, Bayesian optimization ile birlikte), politika gradyanı yöntemleri (REINFORCE), difüzyon modellerinde gürültü örneklemesi ve büyük dil modellerinde beam search alternatifleri bunların başında gelir. Birleşik yaklaşımlarda Monte Carlo simülasyonları Bayesian Optimizasyon ve Pekiştirmeli Öğrenme algoritmalarıyla iç içe geçmektedir.
Monte Carlo Simülasyonu
Monte Carlo Simülasyonu, belirsizlik içeren sistemleri analiz etmek için büyük sayıda rastgele deney (simülasyon) çalıştıran istatistiksel bir hesaplama tekniğidir. Türkçede Monte Carlo Benzetimi olarak da anılır. Analitik çözümün aşırı karmaşık ya da imkânsız olduğu durumlarda, bu yöntem olası sonuçların olasılık dağılımını ampirik olarak tahmin eder. Yöntem, 1940'lı yıllarda Manhattan Projesi kapsamında nükleer madde difüzyonunu hesaplamak için Stanislaw Ulam ve John von Neumann tarafından geliştirilmiştir. İsmi, şans oyunlarıyla ünlü Monaco'nun Monte Carlo bölgesinden gelir; tesadüfilik ve olasılığı vurgular. Temel mekanizma üç adımdan oluşur: (1) giriş parametrelerine ait olasılık dağılımları tanımlanır, (2) bu dağılımlardan rastgele örnekler çekilerek simülasyon defalarca çalıştırılır, (3) çıktıların istatistiksel özeti hesaplanır. Hata payı 1/√n oranında azaldığından örnek sayısını dört katına çıkarmak hassasiyeti iki katına çıkarır. Yapay zeka ve makine öğrenmesinde Monte Carlo yöntemleri kritik rollere sahiptir. Monte Carlo Tree Search (MCTS) algoritması, AlphaGo ve AlphaZero'nun satranç ile Go oyunlarındaki olağanüstü başarısının temel karar mekanizmasıdır: ağaç düğümlerini rastgele simülasyonlarla değerlendirerek en umut verici hamleyi seçer. Markov Chain Monte Carlo (MCMC) yöntemi, Bayes çıkarımında analitik olarak hesaplanamayan posterior dağılımları örneklemek için kullanılır. Pekiştirmeli öğrenmede ise Monte Carlo politika değerlendirmesi, bir ajanın çevresiyle etkileşiminden elde edilen tam bölüm ödüllerini öğrenmek için tercih edilir. GPU paralelleştirmesi modern Monte Carlo hesaplamalarını dramatik biçimde hızlandırır; NumPy, PyTorch ve JAX kütüphaneleri milyonlarca örnekle vektörel simülasyon desteği sunar.
Naive Bayes (Naif Bayes Sınıflandırıcı)
Naive Bayes, Bayes teoremini temel alan olasılıksal bir makine öğrenmesi sınıflandırma algoritmasıdır. "Naive" (saf/naif) adı, algoritmanın tüm özellikler arasında koşullu bağımsızlık varsayımından gelir; bir özelliğin değerinin diğer özelliklerden bağımsız olduğu kabul edilir. Bu güçlü varsayım gerçek dünyada nadiren tam olarak geçerlidir; ancak Naive Bayes pek çok uygulamada şaşırtıcı derecede yüksek performans gösterir. Algoritmanın matematiksel temeli Bayes teoremidir: P(sınıf | özellikler) ∝ P(sınıf) × ∏ P(özellik_i | sınıf). Burada P(sınıf) öncül (prior) olasılık, P(özellik | sınıf) koşullu olasılıktır ve eğitim verisinden doğrudan tahmin edilir. Bu oran en yüksek olan sınıf tahmin olarak döndürülür. Üç temel Naive Bayes türü bulunur. Gaussian Naive Bayes, sürekli sayısal özelliklerin normal dağılım izlediğini varsayar; tıbbi veri sınıflandırma ve bilimsel ölçümler için uygundur. Multinomial Naive Bayes, metin sınıflandırma ve spam tespitinde yaygın olarak kullanılan türdür; belgede kaç kez geçtiği önemli olan kelime sayım verisiyle çalışır. Bernoulli Naive Bayes ise bir kelimenin belgede bulunup bulunmadığını ikili (0/1) özellik olarak modeller ve kısa metinlerde avantaj sağlar. Naive Bayes'in belirgin avantajları şunlardır: eğitim hızı son derece yüksektir, küçük veri setlerinde de iyi genelleme sağlar, sıfır frekans sorununu Laplace düzeltmesiyle aşar ve olasılıksal çıktısı sayesinde belirsizlik tahmini sunar. Metin sınıflandırma, spam filtresi, duygu analizi ve tıbbi teşhis alanlarında on yıllardır endüstriyel ölçekte kullanılmaktadır; erken dönem Gmail spam filtresi Naive Bayes tabanlı sistemlere dayanmaktaydı. Sınırlamalar açısından, özellikler arasındaki güçlü korelasyon performansı düşürür. Ayrıca eğitim verisinde hiç görülmemiş özellik kombinasyonları zero-probability sorununa yol açar. Bu kısıtlamalar nedeniyle karmaşık yapısal ilişkilerin kritik olduğu görevlerde gradient boosting veya derin öğrenme yöntemleri tercih edilmektedir. Buna karşın Naive Bayes, hızı, yorumlanabilirliği ve az veriyle çalışabilmesi nedeniyle temel bir başlangıç çizgisi (baseline) olarak modern makine öğrenmesi iş akışlarında yerini korumaktadır.
ONNX Runtime (ONNX Runtime)
ONNX Runtime, Microsoft tarafından geliştirilen çapraz platform yüksek performanslı makine öğrenmesi çıkarım motorudur. ONNX (Open Neural Network Exchange) formatındaki modelleri CPU, GPU, NPU ve özel hızlandırıcılar dahil çeşitli donanımlar üzerinde optimize biçimde çalıştırır. ONNX Runtime'ın temel değeri, eğitim çerçevesi bağımsızlığıdır. PyTorch, TensorFlow, Keras veya Scikit-learn ile eğitilen modeller ONNX formatına dışa aktarıldıktan sonra ONNX Runtime üzerinde çalıştırılabilir; bu sayede eğitim ve dağıtım çerçeveleri birbirinden ayrışır. Dağıtım ortamı PyTorch veya TensorFlow yüklemek yerine çok daha hafif olan ONNX Runtime kütüphanesini kullanır. Performans optimizasyonu için ONNX Runtime çeşitli yürütme sağlayıcıları (execution providers) destekler: CUDA (NVIDIA GPU), TensorRT (NVIDIA hızlandırması), DirectML (Windows GPU), ROCm (AMD GPU), OpenVINO (Intel donanımları) ve CoreML (Apple Silicon). Hangi sağlayıcının kullanılacağı çalışma zamanında otomatik seçilebilir veya elle belirtilebilir. ONNX Runtime Web bileşeni, modeli tarayıcıda WebAssembly veya WebGPU arka ucu aracılığıyla çalıştırır. Bu özellik Transformers.js gibi istemci tarafı AI kütüphanelerinin altyapısını oluşturur; metin gömme, sınıflandırma veya nesne tespiti gibi görevler tarayıcıdan ayrılmadan gerçekleştirilir. Model optimizasyon araçları, grafik birleştirme (graph fusion), sabit katlama (constant folding) ve kuantizasyon (INT8, FP16) gibi tekniklerle çıkarım hızını artırır ve bellek kullanımını azaltır. Bu özellikler özellikle uç cihaz ve mobil dağıtım senaryolarında kritik önem taşır.
Optical Flow Nedir? Video Analizinde Hareket Tespiti (Optik Akış)
Optical flow (optik akış), art arda gelen video karelerindeki piksel parlaklık örüntüsünün görünür hareketini hesaplayan temel bir bilgisayarlı görü tekniğidir. Her piksel ya da seçili özellik noktası için, bir kareden diğerine geçişte oluşan (u, v) hareket vektörü belirlenir; bu vektörlerin tümü bir "flow map" (akış haritası) oluşturur ve sahnenin dinamik yapısını sayısal olarak temsil eder. Teknik, parlaklık sabitliği (brightness constancy) hipotezine dayanır: I(x, y, t) = I(x+u, y+v, t+1). Yani kısa zaman aralıklarında bir pikselin görüntü üzerindeki parlaklığının değişmediği kabul edilir. Bu tek denklem iki bilinmeyen (u, v) içerdiğinden doğrudan çözülemez; "aperture problemi" olarak bilinen bu belirsizlik, ek uzamsal kısıtlamalar eklenerek giderilir. Klasik algoritmalar iki ana yaklaşımda gruplanır. Lucas-Kanade (1981), küçük bir piksel penceresindeki tüm noktaların aynı harekete sahip olduğunu varsayarak seçili köşe noktalarında seyrek (sparse) akış üretir; hız ve sağlamlığıyla günümüz nesne takip uygulamalarında hâlâ kullanılır. Horn-Schunck (1981) ise pürüzlülük (smoothness) kısıtlaması uygulayarak tüm piksel uzayında yoğun (dense) bir akış alanı bulur; gürültüye daha duyarlıdır ancak teorik temeli güçlüdür. 2010'ların ortasında derin öğrenme bu alanı dönüştürdü. FlowNet (2015) ve FlowNet2 (2017), sentetik verilerle eğitilmiş CNN mimarileriyle klasik yöntemlerin çok ötesinde doğruluk sundu. RAFT (Recurrent All-Pairs Field Transforms, 2020) ise GRU tabanlı yinelemeli mimarisiyle Sintel ve KITTI benchmark'larında rekor kırarak günümüz akademik standardı hâline geldi. Optical flow; otonom araç navigasyonu, video stabilizasyonu, eylem tanıma, gözetim sistemleri ve tıbbi görüntüleme (ekokardiyografi kalp hareketi analizi) gibi geniş bir yelpazeye uygulanır. Stable Video Diffusion ve benzeri jeneratif video modelleri de zamansal tutarlılık için optik akış rehberliğinden yararlanmaktadır. OpenCV, `calcOpticalFlowFarneback` ve `calcOpticalFlowPyrLK` fonksiyonlarıyla hem yoğun hem seyrek akış hesaplamayı pratikte erişilebilir kılar.
Parçacık Sürü Optimizasyonu (PSO)
Parçacık sürü optimizasyonu (İng. Particle Swarm Optimization, PSO), James Kennedy ve Russell Eberhart tarafından 1995 yılında IEEE Uluslararası Sinir Ağları Konferansı'nda önerilen, sürü zekasına dayalı bir meta-sezgisel optimizasyon algoritmasıdır. Algoritmanın temel esin kaynağı, merkezi bir yönlendirme olmaksızın koordineli davranan kuş sürüleri ve balık okullarının kolektif davranışıdır. PSO, bir "sürü" oluşturan aday çözümler kümesiyle çalışır; her aday çözüme "parçacık" adı verilir. Her parçacık, arama uzayında bir konum (X) ve bir hız vektörüyle (V) temsil edilir. Optimizasyon sürecinde her parçacık iki bilgiden yararlanır: kendi geçmişte ulaştığı en iyi konum (kişisel en iyi, pBest) ve sürünün tümünün şimdiye kadar bulduğu en iyi konum (küresel en iyi, gBest). Hız güncelleme formülü şu şekildedir: V(t) = w·V(t-1) + c₁·r₁·(pBest - X) + c₂·r₂·(gBest - X). Burada w atalet ağırlığı, c₁ bilişsel katsayı, c₂ sosyal katsayı; r₁ ve r₂ ise [0,1] aralığındaki rastgele sayılardır. Shi ve Eberhart (1998), w değerini yinelemeler boyunca 0,9'dan 0,4'e doğrusal olarak azaltmanın küresel keşif ile yerel sömürü arasındaki dengeyi iyileştirdiğini göstermiştir. Makine öğrenmesinde PSO; yapay sinir ağlarında hiper-parametre optimizasyonu (katman sayısı, öğrenme hızı, batch boyutu), sinir mimarisi araması (NAS) ve özellik seçimi için yaygın biçimde kullanılır. Araştırmalar, 20-50 parçacıktan oluşan küçük bir sürünün bile etkili sonuçlar ürettiğini göstermektedir. Başlıca varyantları arasında Uyarlanabilir PSO (APSO, Zhan vd. 2009), zaman değişkenli ivme katsayılı PSO (PSO-TVAC) ve kombinatoryal problemler için Ayrık PSO sayılabilir. Genetik algoritmalarla karşılaştırıldığında PSO, çaprazlama ve mutasyon operatörlerine gerek duymadan daha az parametreyle çalışır; bu durum özellikle sürekli değerli optimizasyon problemlerinde daha hızlı yakınsama sağlar. Başlıca sınırlılığı erken yakınsamadır: parçacıklar küresel en iyiye hızla yöneldiğinde sürü çeşitliliği azalır ve algoritma yerel bir optimumda takılı kalabilir.
Precision-Recall Nedir? Kesinlik ve Duyarlılık Ölçütleri (Kesinlik-Duyarlılık)
Precision (Kesinlik) ve Recall (Duyarlılık), makine öğrenmesinde sınıflandırma modellerinin performansını değerlendirmek için kullanılan iki temel ölçüttür. Her ikisi de Confusion Matrix üzerinden türetilir ve birbirini tamamlayan iki farklı perspektifi yansıtır. Precision formülü: TP / (TP + FP). Model "Evet" dediği tahminler arasında gerçekten doğru olanların oranıdır. Örneğin spam tespitinde yüksek Precision, meşru e-postaların yanlışlıkla spam klasörüne atılmadığı anlamına gelir. Recall formülü: TP / (TP + FN). Tüm gerçek pozitif örnekler arasında modelin doğru yakaladıklarının oranıdır. Tıbbi teşhiste yüksek Recall, hasta bireylerin gözden kaçırılmadığını garantiler. Precision-Recall Dengesi (Trade-off): İki ölçüt birbiriyle ters orantılıdır. Model eşik değeri düşürüldüğünde daha fazla pozitif tahmin yapılır, Recall yükselirken Precision düşer. Eşik yükseltildiğinde tam tersi gerçekleşir. Hangi dengenin tercih edileceği, uygulamanın kaçırma maliyetine ve yanlış alarm maliyetine göre belirlenir. F1-Score ve AUC-PR: İki ölçütü tek değerde özetlemek için harmonik ortalamayı kullanan F1-Score tercih edilir: 2 × (Precision × Recall) / (Precision + Recall). Precision-Recall Eğrisi (PR Curve), farklı eşiklerdeki dengeyi görselleştirir; eğrinin altındaki alan (AUC-PR) özellikle dengesiz (imbalanced) veri kümelerinde ROC-AUC'a göre daha bilgilendirici bir genel performans göstergesidir. LLM ve RAG sistemlerinde Precision@k ile Recall@k metrikleri, geri çekilen ilk k belge arasında kaçının alaka düzeyinde olduğunu ve tüm alakalı belgelerin ne kadarının döndürüldüğünü ölçer. RAGAS ve TruLens gibi RAG değerlendirme çerçeveleri bu ölçütleri merkeze alır.
QLoRA Nedir? Nicel LoRA ile Verimli Büyük Dil Modeli İnce Ayarı (QLoRA (Nicel Düşük Sıralı Uyarlama))
QLoRA (Quantized Low-Rank Adaptation), büyük dil modellerini sınırlı GPU belleğiyle ince ayarlamayı mümkün kılan bir parametre-etkin öğrenme tekniğidir. Tim Dettmers ve ekibi tarafından 2023 NeurIPS konferansında sunulan bu yöntem, modeli 4-bit kuantize ederek dondurur; ardından üzerine küçük LoRA adaptörleri eğitir. Temel model ağırlıkları hiçbir zaman güncellenmez — gradyanlar yalnızca adaptörlerden geçer. Tekniğin üç temel yeniliği şöyle açıklanabilir: **4-bit NormalFloat (NF4):** Sinir ağı ağırlıkları çoğunlukla sıfır merkezli normal dağılım gösterir. NF4, bu dağılıma göre tasarlanmış bilgi teorisi açısından optimal bir kuantizasyon veri tipidir. Standart INT4'ün yaklaşık bir puan üzerinde MMLU doğruluğu elde eder. **Çift Kuantizasyon:** İlk kuantizasyon adımında üretilen sabitlerin kendisi de ikinci kez kuantize edilir. Bu ekstra adım parametre başına ortalama 0,37 bit tasarruf yaratır ve 65 milyar parametreli bir modelde yaklaşık 3 GB ek bellek kazandırır. **Sayfalı Optimize Ediciler:** NVIDIA'nın birleşik bellek altyapısını kullanan bu mekanizma, GPU belleği dolduğunda optimizasyon durumlarını CPU RAM'ine aktarır; böylece uzun dizilerde yaşanan bellek taşması hatalarını önler. Bellek tasarrufu dramatiktir: 65 milyar parametreli bir modelin tam ince ayarı için yaklaşık 1 TB GPU belleği gerekirken QLoRA bunu tek bir 48 GB'lık GPU'ya sığdırır. 7B-8B parametreli modeller ise 10 GB'ın altında VRAM ile, yani RTX 3090 veya RTX 4090 gibi tüketici kartlarıyla eğitilebilir hale gelir. Çalışma zamanında 4-bit ağırlıklar geçici olarak BF16 formatına dönüştürülür, hesaplama yapılır ve atar; yani kalıcı olarak yüksek hassasiyetle saklanmaz. Bu tasarım kararı belleği minimize ederken kaliteyi korur. QLoRA, LLaMA, Mistral, Qwen ve Gemma dahil pratik olarak tüm dönüştürücü tabanlı modellerle çalışır. Araştırmacılar ve geliştiriciler bu yöntemi etki alanı uyarlaması, talimat ayarlaması ve RLHF tarzı hizalama görevleri için yoğun biçimde kullanmaktadır.
Quantization (Kuantizasyon (Model Küçültme))
Quantization (niceleme), sinir agi modellerindeki parametre degerlerinin yuksek hassasiyetli sayisal formattan (genellikle 32-bit kayan nokta, float32) daha dusuk bit genisligine (8-bit tam sayi veya 4-bit gibi) donusturulme islemidir. Bu donusum model boyutunu kucultmesi, cikarim hizini artirmasi ve guc tuketimini dusurmesinin yaninda, modeli kaynak kisitli ortamlarda - ornegin akilli telefon veya kenarda calisabilen cihazlarda - calistirmaya olanak tanir. Nicelemenin temelinde bir uzlasim yatar: hassasiyet azaldikca model hafizasi ve hesaplama maliyeti duser, ancak tahmin kalitesi potansiyel olarak azalabilir. Uygulamada, ozellikle INT8 dzeyinde, bu kalite kaybi cogu gorev icin ihmal edilebilir seviyede kalir. GPTQ veya bitsandbytes gibi kutuphaneler, niceleme hatasini en aza indirmek icin kalibrasyon verisi kullanarak agirlik matrislerini yeniden optimize eder. Iki ana yaklasim mevcuttur. Post-Training Quantization (PTQ) halihazirda egitilmis bir modele uygulanir; ekstra egitim gerektirmez ve hizlidir. Quantization-Aware Training (QAT) ise niceleme etkisini eğitim dongusu icerisine dahil eder; model, daha dusuk hassasiyetle bile dogru tahmin uretmeyi ogrenir. QAT genellikle PTQ'ya kiyasla daha iyi nihai kalite sunar ama ek hesaplama maliyeti getirir. Buyuk dil modellerinin (LLM) giderek buyumesiyle quantization zorunlu bir pratik haline gelmistir. GPT-3 seviyesinde bir model tam hassasiyetle yuzlerce gigabayt RAM gerektirir; INT4 nicelemeyle bu rakam onlarca gigabayta iner ve ticarette satilan bir laptopla calistirmak mumkun olur. llama.cpp projesi ve GGUF formati, bu olasiligi genis bir topluluga acmistir: Q4_K_M, Q5_K_S gibi semboller bit genisligi ile kalite stratejisini kodlar. Donanim ekosistemi de nicelemeyi etkin sekilde destekler. NVIDIA'nin Tensor Core mimarisi INT8 ve FP8 cikarimini donanim katmaninda hizlandirir; bu sayede veri merkezi GPU'larinda ayni enerji butcesiyle cok daha yuksek islem hacmi elde edilir. Apple Silicon'un Unified Memory mimarisi ise CPU ve GPU'nun ayni bellek havuzunu paylasmasina izin vererek quantized LLM'lerin tuketu cihazlarda akici calismasi icin dogal bir avantaj sunar. **Sik Sorulan Sorular** **INT8 ile INT4 niceleme arasinda kalite farki buyuk mudur?** INT8, cogulukla ihmal edilebilir kalite kaybı uretir. INT4 ise modele ve goreve bagimlidir: genel dil anlama gorevlerinde sinirli etki gorulurken kucuk modeller veya hassas gorevlerde kayip daha belirgin olabilir. **Bir modeli niceleme yapmak icin ne gereklidir?** bitsandbytes veya AutoGPTQ kutuphanesiyle birkaç satirda Python kodla herhangi bir Hugging Face modeli niceleye bilirsiniz; kalibrasyon icin kucuk bir veri kumesi onerilen uygulamalardan biridir. **Quantization modelin egitim verilerini degistirir mi?** Hayir. Niceleme yalnizca cikarim asamasini etkiler; egitim verisi veya egitim sureci degismez. **Hangi modeller niceleye en uyundur?** Buyuk, asiri parametreli modeller genellikle niceleye daha direnclidir; parametreler arasinda islevsel fazlalik bulundugu icin bazi bilgi kaybi tolere edilebilir.
Reinforcement Learning (Pekiştirmeli Öğrenme)
Pekiştirmeli öğrenme (Reinforcement Learning, RL), bir ajanın (agent) bir ortam (environment) içinde eylemler gerçekleştirip aldığı ödül ve ceza sinyallerinden ders çıkararak, uzun vadeli toplam ödülü maksimize eden stratejiyi deneme-yanılma yoluyla kendi kendine öğrendiği makine öğrenimi paradigmasıdır. Denetimli öğrenmeden temel farkı, sisteme "doğru cevabın" hiç gösterilmemesidir: ajan hangi hamlenin iyi olduğunu ancak sonuçlarını yaşayarak keşfeder — tıpkı bir çocuğun bisiklete binmeyi düşe kalka öğrenmesi gibi. RL problemi matematiksel olarak **Markov Karar Süreci (MDP)** ile modellenir: durumlar (state), eylemler (action), geçiş olasılıkları ve ödül fonksiyonu. Ajanın amacı, her duruma en iyi eylemi eşleyen bir **politika (policy)** bulmaktır. Bunu yaparken **keşif-sömürü ikilemi** (exploration-exploitation) ile boğuşur: bilinen iyi hamleyi mi tekrarlamalı, yoksa daha iyisini bulmak için risk mi almalı? Alanın kilometre taşları etkileyicidir. 2013'te DeepMind'ın DQN algoritması Atari oyunlarını ham piksellerden öğrendi; 2016'da AlphaGo, Go dünya şampiyonu Lee Sedol'ü 4-1 yendi; 2017'de AlphaZero yalnızca kendi kendine oynayarak (self-play) satranç, Go ve şogide insan üstü seviyeye 24 saatten kısa sürede ulaştı. 2022'den itibaren RL, büyük dil modellerinin merkezine yerleşti: ChatGPT'yi mümkün kılan **RLHF** (insan geri bildiriminden pekiştirmeli öğrenme), 2024-2026 döneminde ise akıl yürüten modelleri doğuran **RLVR** (doğrulanabilir ödüllerle RL) — OpenAI o1/o3, DeepSeek-R1 ve Claude'un genişletilmiş düşünme yetenekleri bu yaklaşımın ürünüdür. DeepSeek-R1'in GRPO algoritmasıyla, insan etiketli veri olmadan yalnızca matematik ve kod doğruluğunu ödüllendirerek akıl yürütme öğrenmesi, 2025'in en çok konuşulan RL başarılarından biriydi. Bugün RL; robotik (Boston Dynamics, Figure, Tesla Optimus), otonom sürüş (Waymo simülasyon eğitimi), veri merkezi soğutma optimizasyonu (Google'da %40'a varan enerji tasarrufu), çip tasarımı (AlphaChip), matematik olimpiyatları (AlphaProof, IMO 2024'te gümüş madalya seviyesi) ve ajanik yapay zeka sistemlerinin eğitiminde kullanılıyor. Q-learning, SARSA gibi klasik yöntemlerden PPO, SAC, GRPO gibi derin RL algoritmalarına uzanan zengin bir araç kutusuna sahiptir. Yöntemler iki ana eksende sınıflanır. **Değer tabanlı** yaklaşımlar (Q-learning, DQN) her durum-eylem çiftinin uzun vadeli getirisini tahmin eder; **politika tabanlı** yaklaşımlar (REINFORCE, PPO) ise doğrudan eylem seçme stratejisini optimize eder. Actor-critic mimarileri ikisini birleştirir. Ayrıca ortamın bir iç modelini öğrenip planlama yapan **model tabanlı RL** (MuZero, DreamerV3), örnek verimliliğini onlarca kat artırabildiği için robotik gibi gerçek dünya uygulamalarında öne çıkar. Pratikte Gymnasium ve Isaac Lab gibi simülasyon ortamları, Stable-Baselines3 ve Hugging Face TRL gibi kütüphaneler alanın standart araçlarıdır. Alanın teorik temelini Richard Sutton ve Andrew Barto attı; ikili bu katkılarıyla 2024 Turing Ödülü'ne layık görüldü. Sutton'ın ünlü "Bitter Lesson" makalesindeki tez — el yapımı bilgi yerine hesaplama gücüyle ölçeklenen öğrenme ve aramanın her zaman kazandığı — RL'nin bugünkü yükselişinde birebir doğrulanmış durumda. Örnek verimsizliği, seyrek ödüller ve ödül hackleme (reward hacking) hâlâ açık araştırma problemleridir; ancak 2026 itibarıyla RL, sınır modellerin eğitim bütçesinde ön-eğitimle yarışan bir paya ulaşmış durumdadır. Ajanik yapay zekanın — çok adımlı araç kullanan, kod yazan, bilgisayar kullanan sistemlerin — uçtan uca RL ile eğitilmesi, alanın bir sonraki büyük sınavı olarak görülüyor.
Sentiment Analysis (Duygu Analizi (Sentiment Analysis))
Duygu analizi (Sentiment Analysis ya da Opinion Mining), doğal dil işleme (NLP) alanında metinlerdeki öznel ifadeleri, tutumları ve duyguları otomatik olarak sınıflandırmak için kullanılan bir tekniktir. Temel görev, bir metnin pozitif, negatif ya da nötr bir duygu içerip içermediğini belirlemektir; ancak modern sistemler çok daha nüanslı kategoriler — sevinç, öfke, üzüntü, şaşırma — ve yoğunluk dereceleri de çıkarabilir. Kural tabanlı sistemler SentiWordNet gibi el yapımı duygu söz dağarcıklarına dayanır; genişletilebilirliği sınırlıdır. Makine öğrenimi modelleri (Naive Bayes, SVM, lojistik regresyon) TF-IDF veya bag-of-words temsilleri üzerinde eğitilir. Derin öğrenme döneminde LSTM ve CNN tabanlı modeller bağlamsal bilgiyi daha iyi yakaladı. 2018'de BERT'in tanıtılmasıyla alan köklü biçimde değişti: büyük metin korpüsleri üzerinde ön eğitim almış transformatör modeller, SST-2 kıyaslama setinde yüzde doksanın üzerinde F1 skoru elde etti. GPT-4 sınıfı büyük dil modelleri ise etiketli veri gerektirmeden few-shot öğrenme ile yüzde doksan beşin üzerinde doğruluk sunar. Analiz granülaritesi bakımından belge düzeyi analiz tüm bir yorumun genel duygusunu çıkarır, cümle düzeyi analiz her cümleyi ayrı işler. Aspect-based (konu bazlı) duygu analizi ise bir metindeki belirli özniteliklere — pil ömrü, kamera kalitesi, müşteri hizmetleri gibi — yönelik ayrı polarite çıkarır; bu yaklaşım e-ticaret ve ürün yönetimi için kritik değer taşır. Duygu analizinin başlıca uygulama alanları şunlardır: müşteri geri bildirim analizi ve NPS tahmini, ürün inceleme özetleme, sosyal medya izleme ile marka algısı takibi, finans NLP kapsamında borsa duygusu tahmini, chatbot kalite değerlendirmesi ve haber akışı duygu izleme. Gerçek zamanlı sistemlerde DistilBERT gibi distile edilmiş modeller veya Transformers.js gibi tarayıcı içi çerçeveler, sunucu yükü olmadan ve veri gizliliği korunarak hızlı çıkarım sağlar. Alanın başlıca açık zorlukları arasında ironi ve alaycılığın doğru çözümlenmesi, alan uyarlaması (domain adaptation — genel verilerle eğitilen modelin finans veya tıp metinlerine aktarılması), çok dilli kaynak kıtlığı ve köşe örnekler yer alır. Model performansı doğruluk (accuracy), makro F1 skoru ve sınıf bazında hassasiyet/duyarlılık metrikleriyle ölçülür; veri sınıfı dengesizliği söz konusu olduğunda makro F1 tercih edilir.
Simulated Annealing (Benzetimli Tavlama)
Benzetimli Tavlama (Simulated Annealing), fizikteki metal tavlama sürecinden esinlenen olasılıksal bir optimizasyon algoritmasıdır. Metal tavlama işleminde erimiş metal yavaşça soğutularak atom dizilişi minimum enerji durumuna ulaşır; benzer şekilde bu algoritma da çözüm uzayında küresel minimumu (veya maksimumu) aramak için kontrollü bir soğuma stratejisi kullanır. Algoritma 1983 yılında Scott Kirkpatrick, C. Daniel Gelatt Jr. ve Mario P. Vecchi tarafından önerilmiştir. Benzetimli Tavlama, yerel minimumlara takılmaktan kaçınmak için başlangıçta yüksek bir sıcaklık parametresiyle çalışır. Bu aşamada kötü çözümleri belirli bir olasılıkla kabul edebilir. Sıcaklık yavaş yavaş azaldıkça (soğuma programı), algoritma giderek daha seçici hale gelir ve yalnızca daha iyi çözümleri kabul etmeye başlar. Bu sayede evrimsel süreçlerde görülen lokal optimallerden kaçış mekanizmasına benzer bir davranış elde edilir. Algoritma, pratik uygulamalarda son derece geniş bir kullanım alanına sahiptir: gezgin satıcı problemi (TSP), çizelgeleme optimizasyonu, devre tasarımı, portföy optimizasyonu ve ağ yönlendirme problemleri bunların başında gelir. Derin öğrenme çağında bile hiperparametre optimizasyonu ve sinir ağı ağırlıklarının başlangıç değerlerini ayarlamak için kullanılmaktadır. Temel parametre olan soğuma hızı (cooling schedule), algoritmanın başarısını doğrudan etkiler. Çok hızlı soğuma lokal minimuma takılmaya; çok yavaş soğuma ise aşırı uzun çalışma sürelerine yol açar.
Spectral Clustering (Spektral Kümeleme)
Spektral kümeleme, geleneksel mesafe tabanlı yöntemlerin yetersiz kaldığı karmaşık ve iç içe geçmiş veri yapılarını tespit edebilen, grafik teorisi ile lineer cebiri birleştiren bir kümeleme algoritmasıdır. Temel fikri, veri noktaları arasındaki benzerlik ilişkilerini bir grafik olarak modellemek ve bu grafiğin Laplacian matrisinin özvektörlerini düşük boyutlu kümeleme için kullanmaktır. Algoritmanın kökeni, 1970'lerin grafik kesim (graph partitioning) problemlerine dayanır; ancak makine öğrenmesine yönelik modern biçimlenmesi Shi ve Malik'in 2000 tarihli "Normalized Cuts and Image Segmentation" çalışmasıyla ivme kazandı. Ng, Jordan ve Weiss ise 2002'de yöntemi yaygın kullanılan standart hale getirdi. Spektral kümeleme üç temel aşamada çalışır. İlk aşamada her veri noktasını bir düğüm, iki nokta arasındaki benzerliği ise (Gauss/RBF çekirdeği ya da k-NN yöntemiyle hesaplanmış) bir kenar ağırlığı olarak tanımlayan W benzerlik matrisi oluşturulur. İkinci aşamada grafik Laplacian'ı (L = D − W veya normalize biçimi) hesaplanır ve ilk k özvektörü çıkarılır; bu özvektörler orijinal verinin küme yapısını koruyarak düşük boyutlu uzayda temsil eder. Üçüncü aşamada bu özvektör uzayındaki noktalar K-Means ile kümelenir. Bu son adım, doğrusal olmayan sınırlara sahip kümelerin bile ayrılabilir hale gelmesini sağlar. Algoritmanın en önemli avantajı şekil bağımsızlığıdır: ay biçimli (crescent), halka (ring) veya iç içe geçmiş spiral veri kümeleri gibi K-Means'in başarısız olduğu durumlarda üstün performans gösterir. Görüntü bölütleme, sosyal ağ topluluk tespiti, biyoinformatik gen ifadesi analizi ve belge kümeleme başlıca uygulama alanları arasındadır. scikit-learn kütüphanesindeki SpectralClustering sınıfı Python ekosisteminde standart uygulamayı sunar. Temel sınırlılık ölçeklenebilirlik sorunudur: Laplacian özdeğer ayrışımının O(n³) zaman karmaşıklığı büyük veri kümelerinde hesaplama yükünü artırır. Bu sorunu gidermek için Nyström yaklaşımı ve Landmark-based Spectral Clustering gibi yaklaşık yöntemler geliştirilmiştir. Küme sayısı k'nın önceden belirlenmesi zorunludur; eigengap heuristiği ile özvektörler arasındaki en büyük boşluğa bakarak k tahmini yapılabilir. Modern derin öğrenme alanında spektral yöntemler grafik sinir ağlarının (GNN) teorik temelini oluşturmaktadır: GCN (Graph Convolutional Network), ChebNet ve Graph Attention Network mimarileri doğrudan spektral grafik teorisinden türemektedir.
Test-Time Compute (Test Anı Hesaplama)
Test zamani hesaplama (test-time compute veya inference-time compute), bir yapay zeka modelinin cikarsama (inference) asamasinda daha fazla hesaplama kaynagi kullanarak dogrulugunu artirma yaklasimidır. Egitim sirasında sabitlenen parametreler sonrasinda modelin daha fazla 'dusunme' suresi veya daha fazla hesaplama butcesi ayrılarak daha iyi sonuclar uretmesi hedefler. Bu kavram, OpenAI'nin o1 modeliyle genis kitlelerce bilinir hale gelmistir. o1, kullanicinin gorunmez bir 'dusunce zinciri' (chain of thought) araciligiyla zor problemler uzerinde daha uzun hesaplama yapar. Matematiksel kanit, karmasik kod yazimi veya cok adimli mantik gorevi gibi senaryolarda o1'in ekstra cikarsama suresi dogruluğu belirgin sekilde arttirir. Test zamani hesaplamanin ana yontemleri sunlardir: zincir dusunce (chain-of-thought) gerceklestirme — modelin yanit vermeden once ara akil yurutme adimlarini yazmasini saglamak; arama (search) — Monte Carlo Tree Search veya beam search ile cok sayida olasi yanit yolunu kesfetmek; oylama (voting / majority voting) — birden fazla yanit uretip cogunluk oylamasiyla en uygun sekilde secmek; revizy on — modelin kendi yanıtini daha sonra gozden gecirip geri bildirim vermesi. Test zamani hesaplama, 'olcekleme yasalarinin' (scaling laws) yeni bir boyutudur. Geleneksel olcekleme yasalari egitim veri buyuklugu ve model parametresi sayısıyla ilgilenirken test zamani olcekleme cikarsama butcesiyle ilgilenmektedir. Bu yaklasim, daha ucuz ve kucuk modellerin daha guclu modellere kıyasla uzun cikarsama butcesiyle rekabetci sonuclar uretebilecegini gostermistir.
Unsloth (Unsloth)
Unsloth, büyük dil modellerinin (LLM) ince ayarını standart yöntemlere kıyasla 2-5× daha hızlı ve yaklaşık %70 daha az GPU belleği (VRAM) kullanarak gerçekleştiren açık kaynaklı bir Python kütüphanesidir. Daniel Han tarafından 2023 yılında geliştirilen Unsloth, HuggingFace'in TRL (Transformer Reinforcement Learning) kütüphanesiyle tam uyumlu çalışır; mevcut eğitim betiklerine minimum kod değişikliğiyle entegre edilebilir. Kütüphanenin temel performans kazanımı, dikkat (attention) hesabı ve geri yayılım (backpropagation) için el ile yazılmış Triton/CUDA kernel'larından kaynaklanır. PyTorch'un genel amaçlı operatörleri yerine bellek bant genişliğini optimize eden bu özel çekirdekler, QLoRA (4-bit Quantized Low-Rank Adaptation) ve tam ince ayar (SFT) senaryolarında belirgin hız ve verimlilik artışı sunar. Flash Attention 2 entegrasyonu, aktivasyon yeniden hesaplama (gradient checkpointing) ve bellek havuzu optimizasyonları da ek tasarruf katkısı sağlar. Bu katmanlı yaklaşımla aynı model, çok daha küçük bir GPU üzerinde veya çok daha büyük bir batch boyutuyla eğitilebilir hale gelir. Desteklenen model aileleri arasında Llama 3.x, Mistral, Gemma, Phi-3/4, Qwen 2/3 ve DeepSeek yer alır. Tüketici sınıfı GPU'lar (RTX 3090, 4090, L4) üzerinde 7-70 milyar parametreli modellerin ince ayarını mümkün kılan Unsloth, ücretsiz Colab ve Kaggle ortamlarıyla da sorunsuz çalışır. DPO (Direct Preference Optimization), ORPO ve SFT gibi hizalama odaklı eğitim yöntemleri de tam desteklenir. Unsloth, kurumsal GPU altyapısına sahip olmayan araştırmacıların ve küçük ekiplerin alan spesifik modeller geliştirmesini demokratikleştirir. Apache 2.0 lisansıyla dağıtılan kütüphane, aktif bir açık kaynak topluluğu tarafından geliştirilmeye devam etmektedir. Eğitim sonrası modeller GGUF formatına (llama.cpp uyumu için) veya vLLM'e uyumlu biçimde dışa aktarılabilir. DeepSpeed, Axolotl ve LLaMA Factory gibi alternatif çerçeveler benzer yetenekler sunarken, Unsloth'un TRL uyumluluğu ve düşük kurulum eşiği hızlı deneme döngüleri için onu öne çıkarır.
vLLM (vLLM)
vLLM, UC Berkeley'de geliştirilen ve büyük dil modellerinin (LLM) üretim ortamında hızlı ve verimli biçimde sunulmasını sağlayan açık kaynaklı bir çıkarım (inference) kütüphanesidir. Temel yeniliği olan PagedAttention mekanizması, KV önbelleğini işletim sistemlerindeki sanal bellek yönetiminden ilham alarak sayfalara böler ve dinamik olarak tahsis eder. Bu yaklaşım bellek parçalanmasını minimuma indirerek GPU belleğinin çok daha verimli kullanılmasına olanak tanır. Continuous batching özelliğiyle birleşince vLLM, standart HuggingFace Transformers pipeline'larına kıyasla 24 kata kadar daha yüksek throughput elde edebilir. vLLM, 2023 yılında SOSP konferansında yayımlanan akademik makaleyle tanıtıldı ve kısa sürede yapay zeka topluluğunun en çok kullandığı LLM servis altyapısı haline geldi. Proje GitHub'da 40K'ı aşan yıldızla aktif bir geliştirici kitlesine sahip olmaya devam etmektedir. OpenAI uyumlu REST API sunan vLLM, mevcut sistemlere minimal değişiklikle entegre edilebilmektedir. Teknik açıdan vLLM; Llama, Mistral, Qwen, Gemma ve diğer popüler modelleri destekler. Tensor parallelism ve pipeline parallelism ile modeli birden fazla GPU'ya dağıtabilir, quantization (AWQ, GPTQ, bitsandbytes) ile bellek gereksinimini düşürür. LoRA adaptörlerini çalışma zamanında dinamik olarak yükleyip kaldırabilmesi birden fazla görev için tek bir model örneğini paylaşmaya imkân tanır. Türkiye'de yapay zeka tabanlı ürün geliştiren şirketler ve araştırma kurumları, vLLM'i özellikle maliyet optimizasyonu amacıyla tercih etmektedir. Aynı GPU kümesinde standart kütüphanelere kıyasla çok daha yüksek istek kapasitesi sunulabilmesi, bulut maliyetlerini önemli ölçüde düşürür. Yerli yapay zeka altyapılarında veri egemenliğini korurken yüksek performans elde etmek isteyen kurumlar için kritik bir araçtır. vLLM, OpenAI uyumlu API sunduğundan mevcut entegrasyonlar minimum değişiklikle kendi altyapısına taşınabilir; bu da geçiş sürecini hızlandıran önemli bir avantajdır. Akademik temelli olmasına karşın hızla olgunlaşan proje, kurumsal destek almak isteyen ekipler için de güvenilir bir tercih olmayı sürdürmektedir.