Yoshua Bengio'dan derin öğrenme rönesansının dersleri: sinir ağlarının ölçeklenmesini sağlayan temel fikirler ve ML'in işe yaradığı durumlar için basit ürün sezgileri.

Erken sinir ağları demoda iyi görünürdü çünkü kurulum düzenliydi. Veri küçüktü, etiketler temizdi ve test vakaları modelin daha önce gördüklerine benziyordu.
Gerçek ürünler böyle değildir. Yayına alır almaz kullanıcılar garip girdiler, yeni konular, yeni diller, yazım hataları, alay ve zaman içinde değişen davranışlar getirir. Bir defterde %95 doğru olan bir model, o %5’lik hatalar pahalı, kafa karıştırıcı veya yakalanması zor olduğunda günlük destek yükü yaratabilir.
“Ölçek” sadece “daha fazla veri” veya “daha büyük model” demek değildir. Genellikle aynı anda birkaç baskı ile başa çıkmak anlamına gelir: daha fazla istek (genellikle tepe anları), daha fazla kenar vaka, daha sıkı gecikme ve maliyet sınırları, güvenilirlik beklentilerinin yükselmesi ve dünyanın değişirken sistemi çalışır tutma ihtiyacı.
Bu yüzden ekipler eskiden sinir ağlarından üretimde kaçınırdı. Vahşi doğada nasıl davranacaklarını tahmin etmek zordu ve hataları hızlıca açıklamak veya düzeltmek daha da zordu. Eğitim pahalıydı, dağıtım kırılgandı ve verideki küçük kaymalar performansı sessizce bozabiliyordu.
Ürün ekipleri için soru basit kalır: ML, yeni bir operasyonel yükü haklı çıkarmak için yeterli kullanıcı değeri yaratacak mı? Bu yük veri çalışması, kalite kontrolleri, izleme ve model yanlış olduğunda ne yapılacağı planını içerir.
Bu konuda ML uzmanı olmanıza gerek yok. Kullanıcı sorununu açıkça tanımlayabiliyorsanız, hataların maliyetini isimlendirebiliyorsanız ve iyileşmeyi nasıl ölçeceğinizi belirleyebiliyorsanız, doğru ürün sorularını soruyorsunuz: “bunu modelleyebilir miyiz?” değil, “yapmalı mıyız?”.
Yoshua Bengio, sinir ağlarını yalnızca ilginç değil pratik hale getirmeye yardımcı olan araştırmacılardan biridir. Temel değişim basitti: modele tam olarak neye bakması gerektiğini söylemeyi bırakın ve önemli olanı veriden öğrenmesine izin verin.
Bu fikir temsil öğrenimi. Basitçe: sistem kendi özelliklerini, metin, görüntü, ses veya kayıtlar gibi dağınık girdilerdeki faydalı sinyalleri öğrenir. İnsanların kırılgan kurallar yazması yerine—örneğin “e-posta bu kelimeleri içeriyorsa acil olarak işaretle”—model genellikle önemli olan desenleri, ince, dolaylı veya sözcüklerle ifade edilmesi zor olsa bile, öğrenir.
Bu değişimden önce pek çok ML projesi elle hazırlanmış özelliklerin üzerine kuruluydu. Ekipler ne ölçüleceğine, nasıl kodlanacağına ve hangi kenar vakaların yamalanacağına haftalar harcardı. Dünya sabit ve girdi düzenliyken bu yaklaşım işe yarayabilir. Gerçeklik gürültülü, dil değişken ve kullanıcılar öngörülmeyen şekillerde davrandığında çöker.
Temsil öğrenimi, sinir ağlarını gerçek dünya verisinde kullanışlı hale getirdi ve genellikle kural setlerini baştan yazmadan daha çeşitli örnekler sağladıkça gelişti.
Ürün ekipleri için tarihi ders pratik bir soruya dönüşür: sorununuz daha çok kurallarla mı ilgili yoksa desen tanımayla mı?
Bazı genel kurallar:
Örnek: destek biletlerini yönlendirmek istiyorsanız, kurallar belirgin vakaları yakalayabilir (“faturalama”, “iade”). Ama müşteriler aynı sorunu yüz farklı şekilde tarif ediyorsa, temsil öğrenimi sözcüklerin ardındaki anlamı yakalayabilir ve yeni ifadeler ortaya çıktıkça gelişmeye devam edebilir.
Sinir ağları yeni değildi, ama uzun süre iyi eğitilmesi zordu. Ekipler bir demo çalıştırabiliyor, sonra model derinleştikçe, veri dağınıklaştıkça veya eğitim günlerce ilerlemeden sürünürken parçalandığını görebiliyordu.
Büyük değişim eğitim disiplini oldu. Backprop size gradyanları verir, ama güçlü sonuçlar daha iyi optimizasyon alışkanlıklarından geldi: mini-parti, momentum tarzı yöntemler (sonra Adam), dikkatli öğrenme oranı seçimi ve başarısızlıkların erken görünmesi için kayıp eğrileri gibi basit sinyalleri izleme.
İkinci değişim daha iyi yapı taşlarıydı. ReLU gibi aktivasyonlar, eski seçeneklere göre gradyanların daha öngörülebilir davranmasını sağladı ve daha derin modellerin daha kolay eğitilmesine yardımcı oldu.
Sonra küçük ama önemli görünen stabilite teknikleri geldi. Daha iyi ağırlık başlatma, sinyallerin katmanlar arasında patlamasını veya yok olmasını azaltır. Normalizasyon yöntemleri (örneğin batch normalization) eğitimi belirli hiperparametrelere daha az duyarlı hale getirerek ekiplerin sonuçları şansa bırakmadan yeniden üretebilmesini sağladı.
Ezberlemeyi azaltmak için düzenleme (regularization) varsayılan bir emniyet kemeri oldu. Dropout klasik örnektir: eğitim sırasında bazı bağlantıları rastgele kaldırarak ağın genelleştiren desenleri öğrenmesi teşvik edilir.
Son olarak, ölçeklenebilirlik uygun fiyatlı hale geldi. Daha büyük veri setleri ve GPU’lar eğitimi kırılgan bir deneyden ekiplerin tekrar tekrar çalıştırıp adım adım iyileştirebileceği bir şeye dönüştürdü.
Basit bir zihinsel model istiyorsanız: bunlar “sıkıcı ama güçlü” bileşenlerin paketi—daha iyi optimizasyon, daha dost canlısı aktivasyonlar, stabilizatörler (başlatma ve normalizasyon), düzenleme ve daha fazla veriyle daha hızlı işlem gücünün birleşimi.
Bir model çalışan bir ML ürününün yalnızca bir parçasıdır. Zor olan, “laptop’umda çalışıyor”dan “gerçek kullanıcılar için her gün sorunsuz çalışıyor” haline getirmektir. Bu, ML’yi tek seferlik bir eğitim işi değil, hareketli parçaları olan bir sistem olarak ele almayı gerektirir.
Modeli çevresindeki sistemden ayırmak yardımcı olur. Güvenilir veri toplama, eğitim setleri oluşturmanın tekrarlanabilir yolu, istekleri hızlı yanıtlayan bir serving altyapısı ve drift olduğunda haber veren izleme gerekir. Bunlardan herhangi biri zayıfsa, performans demoda iyi görünürken üretimde sessizce düşebilir.
Değerlendirme gerçek kullanıma uygun olmalı. Tek bir doğruluk sayısı kullanıcıların gerçekten hissettiği hata modlarını gizleyebilir. Model sıralama yapıyorsa, sadece “doğru/yanlış” değil, sıralama kalitesini ölçün. Hataların maliyeti eşit değilse, sistemi önemli sonuçlar (örneğin kaçırılan kötü vakalar vs yanlış alarmlar) üzerinden puanlayın, tek bir ortalama yerine.
İterasyon hızı başka bir başarı faktörüdür. Çoğu kazanım birçok küçük döngüden gelir: veriyi değiştir, yeniden eğit, yeniden kontrol et, ayarla. Eğer bir döngü etiketleme yavaş olduğu veya dağıtımlar zahmetli olduğu için haftalar alıyorsa ekipler öğrenmeyi bırakır ve model tıkanır.
Gizli maliyetler genellikle bütçeleri bozar. Etiketleme ve inceleme zaman alır. Model emin olmadığında yeniden denemeler ve yedekler gerekir. Kenar vakalar destek yükünü artırabilir. İzleme ve olay müdahalesi gerçek iştir.
Basit bir test: bozulmayı nasıl tespit edip güvenle geri alacağınızı tarif edemiyorsanız, henüz ölçeklemiyorsunuz demektir.
ML, sorun büyük ölçüde desen tanımaya dayanıyorsa kendini amorti eder, politika izlemeye değil. Derin öğrenme rönesansının kalbi budur: modeller, el yazısı kuralların çöktüğü ham, dağınık girdilerden (metin, görsel, ses) faydalı temsil öğrenmede iyi oldu.
İyi bir işaret, ekip kurallara sürekli istisnalar eklemeye devam ediyorsa ve yine de yetişemiyorsa görülür. Müşteri dili değişiyorsa, yeni ürünler çıkıyorsa veya “doğru” cevap bağlama bağlıysa, ML katı mantığın kırılgan kaldığı yerde uyum sağlayabilir.
ML genellikle kararın sabit ve açıklanabilir olduğu durumlarda kötü bir eşleşmedir. Kararı iki–üç cümlede tarif edebiliyorsanız önce kurallarla, basit bir iş akışıyla veya bir veritabanı sorgusuyla başlayın. Daha hızlı yayınlarsınız, daha hızlı hata ayıklarsınız ve daha huzurlu uyursunuz.
Pratik kurallar:
Kısa bir gerçek kontrol: 20 gerçek vaka için ne olması gerektiğini yazamıyorsanız, ML'ye hazır değilsiniz. Tartışmalarla zaman kaybedersiniz, modeli iyileştirmek yerine görüşler üzerine münakaşa edersiniz.
Örnek: bir destek ekibi otomatik yönlendirme istiyor. Eğer sorunlar birçok yazım stilinde geliyorsa (“giriş yapamıyorum”, “şifre çalışmıyor”, “kilitlendim”) ve her hafta yeni konular ortaya çıkıyorsa, ML yönlendirme ve önceliklendirmede kurallardan daha iyi olabilir. Ancak yönlendirme kullanıcı tarafından seçilen basit bir açılır menüye dayanıyorsa, ML gereksiz karmaşıklıktır.
ML'nin ürüne yardımcı olmasını istiyorsanız (ve pahalı bir hobi olmasını istemiyorsanız), kararı diğer özelliklerde olduğu gibi yapın: kullanıcı sonucundan başlayın, sonra karmaşıklığı eklemeye hak kazanın.
Bir cümleyle başlayın: kullanıcı için ne daha iyi olmalı ve sistemin hangi kararı tekrar tekrar vermesi gerekiyor? “Doğru sonucu göster” belirsizdir. “Her isteği 10 saniye içinde doğru kuyruğa yönlendir” test edilebilir.
Sonra kısa bir dizi kontrol yapın:
İyi bir pilot dar, geri alınabilir ve ölçülebilirdir. “AI'ı onboarding'e ekle” yerine “sonraki en iyi yardım makalesini öner, kabul etmek için bir tık gerektir” gibi başlayın.
Amaç mükemmel model değil; metrikte baseline’ı geçen kanıt elde etmektir.
Ekipler genellikle ML'yi modern olduğu için ararlar. Hedefinizi açıkça isimlendiremiyorsanız—örneğin “manuel inceleme süresini %30 azalt” veya “yanlış onayları %1’in altına düşür”—bu pahalı olur. Hedef bulanıksa proje sürekli değişir ve model asla “yeterince iyi” hissetmez.
Başka bir hata tek bir skora (accuracy, F1) saklanmaktır. Kullanıcılar belirli hatalara dikkat eder: yanlış öğe otomatik onaylandı, zararsız bir mesaj işaretlendi, iade talebi kaçırıldı. Küçük bir kullanıcı-düzey hata modu seti izleyin ve eğitime başlamadan önce neyin kabul edilebilir olduğunu kararlaştırın.
Veri çalışması genellikle gerçek maliyettir. Temizleme, etiketleme ve veriyi güncel tutma, eğitmekten daha çok zaman alır. Sürünme sessiz katildir: kullanıcıların yazdıkları, yükledikleri veya tıkladıkları değişir ve dünün modeli yavaş yavaş bozulur. Devam eden etiketleme ve izleme planı yoksa demo değil ürün inşa ediyorsunuzdur.
Güvenli bir ML özelliği ayrıca “emin değilse ne olacak?” yoluna ihtiyaç duyar. Yedek yoksa ya kullanıcıları yanlış otomasyonla rahatsız edersiniz ya da özelliği kapatmak zorunda kalırsınız. Yaygın desenler düşük güven vakalarını bir insana veya daha basit bir kurala yönlendirmektir, tahmin etmek yerine “inceleme gerekli” durumu göstermek ve açık günlüklerle manuel bir üst geçiş tutmaktır.
ML eklemeden önce net bir soru sorun: basit bir kural, arama veya iş akışı değişikliği hedefe yeterince yaklaşabilir mi? Birçok “ML problemi” aslında belirsiz gereksinimler, dağınık girdiler veya eksik UX'tir.
İyi bir ML özelliği gerçek kullanımdan gelen veriyle başlar. Demo-mükemmel örnekler yanıltıcıdır. Eğitim setiniz çoğunlukla ideal vakaları gösteriyorsa, model testte akıllı görünür ama üretimde başarısız olur.
Kontrol listesi:
İki kolay unutulan madde: sahiplenme ve bakım sonrası. Birinin yayından sonra izleme, kullanıcı geri bildirimi ve düzenli güncellemelerden sorumlu olması gerekir. Haftalık hataları incelemeye kimsenin zamanı yoksa özellik yavaşça sürünür.
Bir destek ekibi boğuluyor. Biletler e-posta ve sohbet yoluyla geliyor ve her birini okuyup neyle ilgili olduğunu belirlemek ve Faturalama, Hatalar veya Hesap Erişimi kuyruğuna yönlendirmek gerekiyor. Ekip ayrıca ilk yanıtları hızlandırmak istiyor, ama yanlış cevap göndermenin maliyetini göze alamıyor.
ML kullanmayan bir baseline ile başlayın. Basit kurallar çoğu durumda işin büyük kısmını halledebilir: anahtar kelime yönlendirme (“fatura”, “iade”, “giriş”, “2FA”), sipariş ID veya hesap e-postası isteyen kısa bir form ve yaygın durumlar için şablon cevaplar.
O baseline yayındayken gerçek acının nerede olduğunu görürsünüz. ML, dağınık kısımlarda en faydalıdır: insanlar aynı sorunu birçok farklı şekilde tarif ediyorsa veya uzun mesajlarda gerçek talep gizleniyorsa.
İyi bir pilot ML'yi yalnızca hak ettiği yerde kullanır. Düşük riskli, yüksek etkili iki görev niyet sınıflandırması (yönlendirme için) ve temsilci için anahtar bilgileri çeken özetleme olabilir.
Kurulumdan önce başarıyı tanımlayın. Haftalık ölçülebilecek birkaç metrik seçin: ortalama işlem süresi, yanlış yönlendirme oranı (ve bunun ne sıklıkta yeniden iletişime zorladığı), ilk yanıt süresi ve müşteri memnuniyeti (veya basit bir beğenme oranı).
Pilanın zarar vermemesi için güvenlik önlemleri planlayın. Hassas konularda her zaman insan kontrolü tutun ve her zaman güvenli bir yedek yol olduğundan emin olun. Bu, yüksek riskli konular (ödemeler, iptaller, hukuki, güvenlik) için insan incelemesi, belirsiz vakaları genel kuyruğa yönlendiren güven eşikleri ve ML başarısız olduğunda kural tabanlı baseline'a geri dönme anlamına gelebilir.
2–4 hafta sonra sayıların gösterdiği lift’e göre devam/iptal kararı verin. Model sadece kurallarla eşleşiyorsa kuralları tutun. Eğer yanlış yönlendirmeyi azaltıyor ve yanıtları hızlandırıyor ama memnuniyeti düşürmüyorsa, daha geniş bir yaygınlaştırma hak eder.
Ürünlerdeki çoğu ML hatası “model kötü” değildir. Sorun, modelin çevresindeki her şeyin gerçek bir ürün gibi ele alınmamış olmasıdır. Derin öğrenme rönesansının karşılığını almak istiyorsanız, baştan itibaren model dışındaki işleri planlayın.
Modelin etrafında neyi göndereceğinize karar verin. Kontrolleri olmayan bir tahmin destek borcu olur.
Açık bir UI veya API sözleşmesi (girdiler, çıktılar, güven, yedek yollar), girdi ve model sürümünü yakalayan günlükleme (saklamamanız gerekenleri saklamadan), yönetici kontrolleri (açma/kapatma, eşikler, manuel müdahale) ve düzeltmelerin daha iyi veriye dönüşmesini sağlayan bir geri bildirim yolu istersiniz.
Gizlilik ve uyum, bunları sadece evrak işi olarak görmek yerine ürün gereksinimi olarak ele alınca daha kolaydır. Hangi verinin saklandığı, ne kadar süreyle ve nerede açıkça belirtin. Kullanıcılarınız birden fazla ülkedeyse veri konaklama seçenekleri gerekebilir.
Değişime hazırlıklı olun. Modeliniz yeni kategoriler, yeni argo, yeni kötüye kullanım desenleri ve yeni kenar vakalar görecek. Özelliğiniz için “değişim”in neye benzediğini yazın (triyajda yeni etiketler, yeni ürün adları, mevsimsel sıçramalar), sonra taksonomiyi kimin güncelleyeceğini, ne sıklıkla yeniden eğiteceğinizi ve model yanlış olduğunda ne yapacağınızı kararlaştırın.
Sorunları erken yakalamak için gösterişli panolara ihtiyacınız yok. İlgili birkaç sinyali seçin ve gerçekten bakın:
Modelleri bir sürüm gibi ele alın. Her modeli ve prompt/konfigürasyonu sürümlendirin, son bilinen iyi seçeneği saklayın ve kalite düştüğünde hızlıca geri alın.
Ağrının bariz ve sık olduğu bir iş akışı seçin. İyi bir pilot 2–4 hafta içinde bitebilecek kadar küçük, ama mütevazı bir iyileşmenin önemli olduğu kadar da anlamlı olmalı. Destek bilet yönlendirme, fatura alanı çıkarımı veya riskli kullanıcı eylemlerini işaretleme gibi işleri düşünün; tam bir yeniden yapımdan kaçının.
Modele dokunmadan önce baseline'ı yazın. Mevcut olanı kullanın: görev başına manuel süre, mevcut hata oranı, bekleyen iş miktarı, müşteri bekleme süresi. Bugünün çıktısını ölçemezseniz, ML'in yardımcı olup olmadığını anlayamazsınız.
Açık başarı kriterleri ve zaman kutusu belirleyin, sonra gerçek girdilerle test edebileceğiniz en ince dilimi oluşturun: birincil metrik (gün başına kurtarılan dakika, daha az yükseltme) ve bir güvenlik metriği (kullanıcıları rahatsız eden yanlış pozitifler). Sistem asla işi engellememeli diye bir yedek yol tutun. Kararları ve düzeltmeleri kaydedin ki nerede hata yaptığını görün.
ML etrafında bir uygulama inşa ediyorsanız, modüler kalın. Modeli basit bir arayüzün arkasındaki değiştirilebilir bir bileşen gibi ele alın ki sağlayıcıları, promptları veya yaklaşımları yeniden yazmadan değiştirebilesiniz.
Çevreleyen ürün işi (UI, backend ve iş akışları) üzerinde daha hızlı ilerlemek istiyorsanız, Koder.ai gibi bir vibe-coding platformu size web, sunucu veya mobil parçaları üretip yineleme konusunda yardımcı olabilir; sonra hazırsanız kaynak kodu dışa aktarabilirsiniz.
Pilot sonunda sayılara göre tek bir karar verin: ölçekleyin, işe yarayan kısımları daraltın veya ML'i bırakıp daha basit çözümü tutun.
Varsayılan faydalı kural: girdi dağınık ve yapısızsa (serbest metin, görseller, ses) ve güvenilir kurallar yazmak başarısız oluyorsa ML kullanın.
ML'yi atlayın: karar birkaç cümleyle net bir şekilde tanımlanabiliyorsa ya da zaman içinde gelişme sağlamak için yeterli gerçek örnek ve geri bildirim alamıyorsanız.
Temsil öğrenimi, modelin veriden kendi “özelliklerini” öğrenmesi demektir; neye bakması gerektiğini sizin elle kodlamanız yerine bunu veriden çıkarır.
Pratikte bu yüzden derin öğrenme, bilet metinleri, ürün fotoğrafları veya konuşma gibi, yararlı sinyallerin kurallarla tanımlanmasının zor olduğu alanlarda iyi çalışır.
Çünkü gerçek kullanıcılar demodaki gibi davranmaz. Yayına girdikten sonra yazım hataları, alay, yeni konular, yeni diller ve davranış değişiklikleri görürsünüz.
Ayrıca, yüzde 5’lik kötü kısım maliyetli olabilir: kafa karıştıran hatalar, destek yükü veya güveni zedeleyen riskli kararlar.
Kullanıcıların gerçekten hissettiği en önemli hata modlarını listeleyin (örneğin: yanlış yönlendirme, kaçırılan acil durum, rahatsız eden yanlış alarmlar).
Sonra seçin:
Hata maliyetleri eşit değilse tek bir doğruluk sayısına dayanmayın.
Varsayılan yaklaşım: başarısızlığın güvenli olduğu dar bir pilot çalıştırın.
Yaygın korumalar:
Böylece sistem faydalı olur ama tahminde bulunmak zorunda kalmaz.
Tekrarlayan maliyetler olarak şunları bekleyin:
Maliyeti sadece eğitim veya API çağrıları olarak değil, model etrafındaki sistem olarak bütçelendirin.
Veri sürünmesi, gerçek dünya girdilerinin zaman içinde değişmesi (yeni ürün adları, yeni argo, mevsimsel artışlar) anlamına gelir; dünün modeli yavaş yavaş kötüleşir.
Basit tutun:
Bozulmayı tespit edemiyorsanız güvenli ölçekleme yapamazsınız.
Pratik bir 2–4 haftalık pilot şöyle görünür:
Amaç mükemmel bir model değil; yükselişin kanıtını elde etmektir.
Modelleri sürüm gibi ele alın:
Bu, “gizemli davranışı” hata ayıklanabilir ve kontrol edilebilir hale getirir.
Etrafındaki ürün parçalarını hızlı oluşturmanıza yardımcı olur: UI, arka uç uç noktaları, iş akışları, yönetici kontrolleri ve geri bildirim ekranları—böylece ML bileşeni modüler ve değiştirilebilir kalır.
İyi bir desen: modeli basit bir arayüzün arkasında tutun, yedekleri ve kayıtları yayınlayın, ve gerçek kullanıcı sonuçlarına göre iş akışını yineleyin. Daha sonra daha fazla kontrol gerekirken kaynak kodunu dışa aktarabilirsiniz.