Özellik Deposu: Makine Öğrenmesi Özelliklerinin Ortak Katmanı
Sözlük

Özellik Deposu: Makine Öğrenmesi Özelliklerinin Ortak Katmanı

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 4 dk okuma

Feature store'un ne olduğunu, çevrimdışı ve çevrimiçi depoyu, eğitim-sunum çarpıklığını nasıl önlediğini ve nerede kullanıldığını örnekle öğrenin.

Feature store (özellik deposu) nedir?

Feature store, makine öğrenmesi modellerinin girdisi olan özelliklerin (feature) tanımlandığı, hesaplandığı, saklandığı ve modellere sunulduğu merkezî bir veri katmanıdır. Özellik, ham veriden türetilmiş ve modelin tahmin için kullandığı değerdir: bir müşterinin son dönemdeki işlem sayısı, bir ürünün ortalama sepet değeri ya da bir cihazın son bağlantıdan bu yana geçen süresi gibi.

Özellik deposunun amacı, bu değerlerin her projede baştan yazılmasını önlemek ve aynı değerin model eğitilirken de, model canlıda tahmin yaparken de aynı tanımla üretilmesini sağlamaktır. Özellikler bir kez tanımlanır, kayıt altına alınır ve ekipler tarafından yeniden kullanılır.

Feature store hangi sorunu çözer?

En temel sorun eğitim-sunum çarpıklığıdır (training-serving skew). Veri bilimci özelliği not defterinde bir şekilde hesaplar ve modeli eğitir; canlı sistemde mühendisler aynı mantığı başka bir dilde yeniden yazar. Bu hesaplar arasındaki küçük fark, modelin canlıda eğitimde gördüğünden farklı veri almasına ve sessizce kötü tahmin üretmesine yol açar.

Diğer sorunlar şunlardır: • Aynı özelliğin farklı ekiplerde farklı tanımlarla ve tekrar tekrar üretilmesi. • Zaman yolculuğu hatası: eğitim verisi hazırlanırken, tahmin anında henüz bilinmeyen gelecekteki bilginin yanlışlıkla sete girmesi. Özellik deposu belirli bir andaki doğru değeri geri getiren point-in-time birleştirme sunarak bunu önler. • Özelliğin kimin sorumluluğunda olduğunun, nereden beslendiğinin ve hangi modellerde kullanıldığının belirsizliği.

Feature store mimarisi: çevrimdışı ve çevrimiçi depo

Tipik bir özellik deposu birkaç parçadan oluşur.

Özellik tanımları ve kayıt defteri (registry): hangi özelliğin hangi veri kaynağından, hangi dönüşümle ve hangi varlık anahtarıyla (örneğin müşteri numarası) üretildiği burada tutulur. Tanım kod olarak yazılır ve sürüm kontrolüne girer.

Çevrimdışı depo: özelliklerin geçmiş değerlerini büyük hacimde saklar. Veri ambarı ya da veri gölü üzerinde durur. Model eğitimi için geçmişe dönük, zaman damgasına göre doğru eğitim setlerini buradan üretir.

Çevrimiçi depo: her varlık için en güncel özellik değerini düşük gecikmeyle sunar. Canlı bir uygulama tahmin anında bir anahtar verir ve milisaniyeler içinde değerleri alır. Genellikle anahtar-değer türü hızlı bir veritabanı kullanılır.

Aralarındaki bağlantı materyalizasyon denen işlemdir: çevrimdışı depodaki hesaplanmış değerler belirli aralıklarla ya da akış kaynağından çevrimiçi depoya taşınır. Anlık güncellenmesi gereken özellikler için akış işleme hattı da bu zincire eklenir.

Küçük bir örnek: kart işlemlerinde dolandırıcılık tespiti

Örneğin bir banka, kart işlemlerinde dolandırıcılık tespit eden bir model kullanıyor. Modelin en değerli girdileri, kartın son saatlerdeki işlem sayısı ve müşterinin alışılmış harcama tutarından sapma gibi özelliklerdir.

Özellik deposu olmadan eğitim ekibi bu değerleri ambar sorgularıyla, canlı sistem ekibi ise uygulama koduyla ayrı ayrı hesaplar. Özellik deposuyla bu özellikler bir kez tanımlanır. Eğitim sırasında çevrimdışı depodan her işlemin gerçekleştiği andaki doğru değerler alınır. Canlıda ise işlem geldiği anda çevrimiçi depodan aynı tanımla hesaplanmış güncel değerler okunur. Kart numarası gibi bir varlık anahtarı eğitimde ve canlıda ortaktır.

Özellik deposu veri ambarından ve özellik mühendisliğinden nasıl ayrılır?

Veri ambarı, kurumun analitik verisini saklar; özellik deposu ise yalnızca modelin tüketeceği, zaman damgalı ve varlık anahtarına bağlı özelliklere odaklanır ve canlı sunum için düşük gecikmeli bir yol ekler. Özellik deposu ambarı çevrimdışı katman olarak kullanabilir, onun yerine geçmez.

Özellik mühendisliği, ham veriden anlamlı özellikler üretme çalışmasıdır. Özellik deposu bu çalışmanın ürünlerini düzenli saklayan, sürümleyen ve paylaştıran altyapıdır. Biri bir iştir, diğeri bir araçtır.

Her proje için özellik deposu gerekmez. Tek bir model, tek bir ekip ve toplu çalışan tahminler varsa basit bir tablo yeterli olabilir. Birden çok model aynı özellikleri paylaştığında ve canlı tahmin zorunlu olduğunda özellik deposunun faydası belirginleşir. Sık hatalar arasında özelliklere sahip atamamak, point-in-time doğruluğunu ihmal etmek ve hiç kullanılmayan özellikleri depoda biriktirmek vardır.

Bu kavram Mindset programlarında nerede çalışılır?

Mindset kataloğundaki Özellik Deposu (Feature Store) Tasarımı ve Feast eğitimi, açık kaynaklı Feast aracını kullanır. Modül başlıkları şunları kapsar: özellik deposu kavramı ve mimari, Feast kurulumu ve tanım modeli, çevrimdışı depo ve eğitim verisi, çevrimiçi depo ve sunum, akış özellikleri ve ileri senaryolar, yönetişim ile izleme ve operasyon.

İlgili Mindset programı

Özellik Deposu (Feature Store) Tasarımı ve Feast

Sık sorulanlar

Sık sorulan sorular

Feast nedir, feature store ile ilişkisi ne?

Feast açık kaynaklı bir özellik deposu aracıdır. Özelliklerin kod olarak tanımlanmasını, çevrimdışı depodan eğitim verisi üretilmesini ve çevrimiçi depodan düşük gecikmeyle sunulmasını sağlar. Feature store kavramdır, Feast ise bu kavramı uygulayan araçlardan biridir.

Eğitim-sunum çarpıklığı nedir?

Modelin eğitimde gördüğü özellik değerleriyle canlıda aldığı değerlerin farklı hesaplanmasından doğan tutarsızlıktır. Örneğin eğitimde ambar sorgusuyla, canlıda uygulama koduyla üretilen aynı özellik küçük farklar taşır. Model bunu fark ettirmeden bozuk tahmin yapabilir. Özellik deposu tek tanımı hem eğitime hem sunuma uygulayarak bu riski azaltır.

Çevrimiçi ve çevrimdışı depo neden ayrı tutulur?

İhtiyaçlar birbirinden farklıdır. Eğitim büyük hacimli geçmiş veriyi toplu okur, gecikme önemli değildir. Canlı tahmin ise tek bir varlığın güncel değerini çok kısa sürede ister. Tek bir depo bu yüklerin ikisini de verimli taşıyamadığı için biri geçmiş ve hacim, diğeri hız için ayrı optimize edilir.

Point-in-time birleştirme ne demek?

Eğitim verisi hazırlanırken her örnek için yalnızca o an bilinebilecek özellik değerlerinin kullanılmasıdır. Böylece sonuçtan sonra ortaya çıkan bilgi eğitim setine sızmaz. Bu sızıntı model başarısını eğitimde yapay biçimde yüksek gösterir, canlıda ise beklenen performans gelmez.

Feature Store (Özellik Deposu) Nedir? Nasıl Çalışır