What ML feature stores require and how ScyllaDB fits in as fast, scalable online feature store Bu blog yazısında, özellik mağazalarının gerçek zamanlı makine öğrenimi (ML) uygulamalarında rolünü ve neden ScyllaDB'nin çevrimiçi özellik hizmetleri için güçlü bir seçim olduğunu keşfedeceğiz. özelliklerin temellerini, özellik mağazalarının nasıl çalıştığını, faydalarını, farklı çalışma yükünün gereksinimlerini ve geçişin ML uygulamalarında nasıl kritik bir rol oynadığını ele alacağız. Feast gibi popüler özellik mağazası çerçevelerini ve çevrimiçi özellik mağazası olarak ScyllaDB'yi nasıl kullanmaya başlayacağınızı inceleyeceğiz. Makine Öğreniminde Bir Özellik Nedir? Bir özellik, bir makine öğrenme modelini eğitmek veya hizmet vermek için kullanılan ölçülebilir bir özelliktir. Özellikler ham veri noktaları veya ham verilerden elde edilen mühendislik değerler olabilir. Örneğin, ShareChat gibi bir sosyal medya uygulamasında, özellikler şunları içerebilir: Son 10 dakikada beğenilen sayısı Son 7 günde yapılan işlemlerin sayısı Postanın konusu Fotoğraf: Ivan Burmistrov ve Andrei Manakov (ShareChat) Bu veri noktaları, kullanıcı katılımı veya içerik önerisi gibi sonuçları tahmin etmeye yardımcı olur. Bir özellik vektörü, sadece belirli bir tahmin görevi ile ilgili özelliklerin bir koleksiyonudur. örneğin, bir özellik vektörü bir kredi puanlama uygulaması için nasıl görünebilir. İlgili veri noktalarını seçmek ve bunları özelliklere dönüştürmek, makine öğrenimi projelerindeki işin önemli bir bölümünü alır. Zamanla eğitilen modelin daha doğru hale gelmesi için özellikleri geliştirmek ve optimize etmek de devam eden bir süreçtir. Büyük Arkeolojik Özellikler Özelliklerle verimli çalışmak için, kuruluşunuzda mevcut olan özellikleri yönetmek için merkezi bir yer oluşturabilirsiniz. Yeni özellikler oluşturmak için standart bir süreç Basitleştirilmiş erişim için özellikler depolama Ekipler arası özelliklerin keşfi ve yeniden kullanımı Hem model eğitimi hem de inferans için hizmet özellikleri Çoğu mimarlık iki depolama / veri tabanını ayırt eder: Model eğitimi için çevrimdışı mağaza (toplu yazar / okuyor) İnferans için çevrimiçi mağaza (gerçek zamanlı, düşük gecikme yazar / okuyor) Tipik bir özellik mağazası boru hattı, tahriş verileri (bilgi göllerinden veya akışlardan) alarak, özellik mühendisliği yaparak, her iki mağazada özellikleri kaydeterek ve ardından iki ayrı boru hattı yoluyla sunarak başlar: biri eğitim için ve biri sonuc için. Centralized Feature Store’un Avantajları Merkezi özellik mağazaları birkaç avantaj sunar: Çifte kullanmaktan kaçının: Ekipler mevcut özellikleri yeniden kullanabilir Self-Serve erişim: veri bilimcileri bağımsız olarak özellikler oluşturabilir ve sorgulayabilir Birleşik boru hattı: Eğitim ve varsayım iş yükü çok farklı olsa da, yine de aynı varsayım tabakası kullanılarak sorgulanabilir Bu, daha hızlı iterasyon, daha fazla tutarlılık ve ML iş akışlarında daha iyi işbirliği sağlar. Özel Mağazalarda Farklı İş yükleri Bir özellik mağazası içinde var olan iki çok farklı çalışma yükünün gereksinimlerini bölelim: model eğitimi ve gerçek zamanlı varsayım. Model Eğitimi (offline mağaza) Tahminler yapmak için önce bir makine öğrenme modelini eğitmeniz gerekir. Eğitim büyük ve yüksek kaliteli bir veritabanı gerektirir. Bu veritabanı çevrimdışı bir özellik mağazasına saklayabilirsiniz. İşte model eğitimi iş yükleri için en önemli özellikler: Etiket: bir öncelik değil Sayı: Yüksek (milyonlarca ila milyarlarca kayıt) Sıklık: Nadir, planlanmış işler Hedef: Büyük bir tarihsel veri parçası elde etmek Temel olarak, çevrimdışı mağazalar büyük veri kümelerini verimli bir şekilde depolamak zorundadır. 2. Gerçek Zamanlı İnceleme (online mağaza) Bir model hazır olduğunda, gerçek zamanlı varsayım çalıştırabilirsiniz. Gerçek zamanlı varsayım kullanıcı tarafından sağlanan girişleri alır ve bir tahmin haline getirir. İşte gerçek zamanlı varsayım için en önemli özelliklerin neler olduğunu görmek için: Etiket: yüksek öncelik Volüm: İsteğe göre düşük ama yüksek akış (saniyede milyonlarca işlem) Frekans: Kullanıcı eylemleri (örneğin yiyecek siparişleri) Hedef: Hızlı tahminler yapmak için güncel özellikler sunmak Örneğin, bir gıda teslimatı uygulaması düşünün. kullanıcının son çanta içeriği, yaşı ve konumu özelliklere dönüştürülebilir ve satın alınabilecek diğer öğeleri hemen önermek için kullanılabilir. Latency Neden Önemlidir Latency (bu makalenin bağlamında) bir sorgu göndermek ve özellik mağazasından yanıt almak arasındaki zaman anlamına gelir. Gerçek zamanlı ML uygulamaları için – özellikle kullanıcıya yönelik olanlar – düşük latency başarı için kritiktir. Hesaplama sırasında bir kullanıcının ilgili gıda ürünlerini görüntülediğini hayal edin. eğer bu önerinin yavaş bir çevrimiçi mağaza nedeniyle yüklenmesi çok uzun sürerse, bu fırsat kaybolur. En son verileri eklemek Önemli özellikler aramak Inferans koşusu Önceki Önceki yazı: Back to Prediction millisekundaki işlemler yapılmalıdır. Karakter Çözümünü Seçmek Bir özellik mağazası oluşturmaya karar verdiğinizde, hızlıca seçebileceğiniz onlarca açık kaynaklı ve ticari çerçeve ve sağlayıcı olduğunu göreceksiniz: Feast (açık kaynak): Esnek veri tabanları desteği sağlar (örneğin, Postgres, Redis, Cassandra, ScyllaDB) Hopsworks: Kendi ekosistemiyle sıkı bir şekilde bağlantılı AWS SageMaker: AWS kümesine bağlı (örneğin, S3, DynamoDB) Ve birçok diğer Ekibinizin teknik uzmanlığı, gecikme gereksinimleri ve mevcut yığınızla gerekli entegrasyonlar gibi faktörler bir rol oynamaktadır. Eğer çevrimiçi özellik mağazanızın ölçeklenebilirliği ve performansı konusunda endişeleniyorsanız, veritabanının esnekliği önemli bir düşünce olmalıdır. Her şeyin tek bir sağlayıcı tarafından ele alınmasından dolayı bir taraftan bu işe başlamak uygun olabilir. Sıkı bir P99 gecikme gereksinimiyle böyle bir tedarikçi seçmeyi hayal edin (örneğin, <15ms P99). Bu gereksinim kavramın kanıtlanması sırasında (POC) başarıyla karşılanacaktır.Ama daha sonra gecikme artışı yaşıyorsunuz - muhtemelen gereksinimlerinizi değiştirdiğiniz veya uygulamanızda yeni kullanıcıların artması ya da başka bir öngörülemeyen nedenden dolayı. Sorun, ... en azından kolay değil. entegre çözümle sıkışmışsınız. her şey kilitli olduğu için sadece çevrimiçi mağaza mimarisinin bir kısmını geçmek imkansızdır. Bu durumlardan kaçınmak istiyorsanız, çevrimdışı ve çevrimiçi mağaza yedekleme konusunda esnek olan araçlara göz atabilirsiniz. Feast veya FeatureForm gibi araçlar, hem çevrimiçi hem de çevrimdışı mağazalar için kendi veritabanı yedeklemeyi getirmenizi sağlar. ScyllaDB Online Özellik Mağazası ScyllaDB, Apache Cassandra ve DynamoDB API ile uyumlu bir API olan yüksek performanslı bir NoSQL veritabanıdır. ve içerir , düşük latensiyel, yüksek verimlilik özelliği depolama uygulamaları için idealdir. Shard-Per-Core Mimarlık Cache Sistemi Geliştirme Neden ScyllaDB? Düşük latans (single-digit millisecond P99 performansı) Yüksek kullanılabilirlik ve dayanıklılık Yüksek ölçekli geçiş (petabyte ölçekli dağıtımlar) Satıcı kilidi yok (on-prem veya herhangi bir bulutta çalışır) Mevcut Cassandra/DynamoDB kurulumları için Drop-in değiştirme Diğer NoSQL veritabanlarından kolay geçiş (Cassandra, DynamoDB, MongoDB, vb.) Feature Store Framework Feast ile entegrasyon ScyllaDB, gerçek zamanlı performans, kullanılabilirlik ve gecikme tahmin edilebilirliği kritik olduğu çevrimiçi özellik mağazası kullanım durumlarında parlıyor. ScyllaDB + Feast entegrasyonu Feast, hem çevrimiçi hem de çevrimdışı mağazaları destekleyen popüler bir açık kaynaklı özellik mağazası çerçevesidir. Güçlü özelliklerinden biri, ScyllaDB de dahil olmak üzere kendi veritabanı kaynaklarını bağlama yeteneğidir. . ScyllaDB + Feast entegrasyonu Farkındalık Dükkanı Tutorials ile Başlayın ScyllaDB'yi çevrimiçi özellik mağazası olarak kullanmaya çalışmak mı istiyorsunuz? sizi bir ScyllaDB kümesi oluşturma ve gerçek zamanlı bir varsayım uygulaması oluşturma süreci boyunca yönlendiren eğitmenlerimize göz atın. Tutorial: ScyllaDB ile Fiyat Tahmin Sonuç Uygulaması Feast & ScyllaDB ile Gerçek Zamanlı Uygulama Feast + ScyllaDB entegrasyonu GitHub: ScyllaDB bir özellik mağazası olarak kod örnekleri Sorularınız mı var yoksa yardımcı olmak mı istiyorsunuz?Devamını oku ! forumda bir yazı Just Feast Mainteniner, Francisco Javier Arceo ile bir geliştirici atölyesi tamamladım: Artık talep üzerine izleyebilirsiniz. Update: Python, Feast ve NoSQL ile gerçek zamanlı ML uygulamaları oluşturun