Sber.DS, kod olmadan bile modeller oluşturmanıza ve uygulamanıza olanak tanıyan bir platformdur

Farklı büyüklükteki işletmelerde her gün başka hangi süreçlerin otomatikleştirilebileceğine dair fikirler ve toplantılar ortaya çıkıyor. Ancak bir model oluşturmak için çok fazla zaman harcanabileceği gerçeğinin yanı sıra, bunu değerlendirmek ve elde edilen sonucun rastgele olmadığını kontrol etmek için de harcamanız gerekir. Uygulamadan sonra herhangi bir model izlenmeli ve periyodik olarak kontrol edilmelidir.

Ve bunlar, büyüklüğü ne olursa olsun her şirkette tamamlanması gereken aşamalardır. Sberbank'ın ölçeğinden ve mirasından bahsediyorsak, ince ayar sayısı önemli ölçüde artıyor. 2019'un sonu itibarıyla Sber halihazırda 2000'den fazla model kullanmıştı. Sadece model geliştirmek yeterli değil; endüstriyel sistemlerle entegre olmak, modeller oluşturmak için veri pazarları geliştirmek ve küme üzerindeki işleyişinin kontrolünü sağlamak gerekiyor.

Sber.DS, kod olmadan bile modeller oluşturmanıza ve uygulamanıza olanak tanıyan bir platformdur

Ekibimiz Sber.DS platformunu geliştiriyor. Makine öğrenimi sorunlarını çözmenize olanak tanır, hipotezleri test etme sürecini hızlandırır, prensip olarak model geliştirme ve doğrulama sürecini basitleştirir ve ayrıca PROM'daki modelin sonucunu kontrol eder.

Beklentilerinizi yanıltmamak için, bu yazının giriş niteliğinde olduğunu şimdiden söylemek istiyorum ve kesim altında, yeni başlayanlar için prensip olarak Sber.DS platformunun kaputunun altında ne olduğundan bahsediyoruz. Modelin yaratılışından uygulamaya kadar olan yaşam döngüsünün hikayesini ayrı ayrı anlatacağız.

Sber.DS çeşitli bileşenlerden oluşur; bunların en önemlileri kütüphane, geliştirme sistemi ve model yürütme sistemidir.

Sber.DS, kod olmadan bile modeller oluşturmanıza ve uygulamanıza olanak tanıyan bir platformdur

Kütüphane, modelin yaşam döngüsünü, geliştirme fikrinin ortaya çıktığı andan PROM'da uygulanmasına, izlenmesine ve kullanımdan kaldırılmasına kadar kontrol eder. Eğitim ve doğrulama örneklerinin raporlanması ve saklanması gibi pek çok kütüphane özelliği, düzenleyici kurallar tarafından belirlenir. Aslında bu tüm modellerimizin kaydıdır.

Geliştirme sistemi, modellerin ve doğrulama tekniklerinin görsel olarak geliştirilmesi için tasarlanmıştır. Geliştirilen modeller ilk doğrulamadan geçer ve iş fonksiyonlarını yerine getirmek üzere yürütme sistemine sunulur. Ayrıca çalışma zamanı sisteminde model, çalışmasını izlemek için doğrulama tekniklerini periyodik olarak başlatmak amacıyla bir monitöre yerleştirilebilir.

Sistemde çeşitli düğüm türleri vardır. Bazıları çeşitli veri kaynaklarına bağlanmak için tasarlanmıştır, diğerleri ise kaynak verileri dönüştürmek ve zenginleştirmek (işaretleme) için tasarlanmıştır. Farklı modeller oluşturmak için birçok düğüm ve bunları doğrulamak için düğümler vardır. Geliştirici herhangi bir kaynaktan veri yükleyebilir, ara verileri dönüştürebilir, filtreleyebilir, görselleştirebilir ve parçalara ayırabilir.

Platform aynı zamanda tasarım alanına sürüklenip bırakılabilen hazır modüller de içermektedir. Tüm eylemler görselleştirilmiş bir arayüz kullanılarak gerçekleştirilir. Aslında tek satır kod yazmadan da sorunu çözebilirsiniz.

Yerleşik yeteneklerin yeterli olmaması durumunda sistem, kendi modüllerinizi hızlı bir şekilde oluşturma olanağı sağlar. dayalı entegre bir geliştirme modu yaptık. Jüpiter Çekirdek Ağ Geçidi sıfırdan yeni modüller yaratanlar için.

Sber.DS, kod olmadan bile modeller oluşturmanıza ve uygulamanıza olanak tanıyan bir platformdur

Sber.DS'nin mimarisi mikro hizmetler üzerine inşa edilmiştir. Mikro hizmetlerin ne olduğuna dair birçok görüş var. Bazı insanlar monolitik kodu parçalara ayırmanın yeterli olduğunu düşünüyor ancak aynı zamanda yine aynı veritabanına gidiyorlar. Mikro hizmetimiz başka bir mikro hizmetle yalnızca REST API aracılığıyla iletişim kurmalıdır. Veritabanına doğrudan erişmenin geçici çözümü yoktur.

Hizmetlerin çok büyük ve hantal hale gelmemesini sağlamaya çalışıyoruz: bir bulut sunucusu 4-8 gigabayttan fazla RAM tüketmemeli ve yeni bulut sunucuları başlatarak istekleri yatay olarak ölçeklendirme olanağı sağlamalıdır. Her hizmet diğerleriyle yalnızca REST API (Açık API). Hizmetten sorumlu ekibin, API'yi onu kullanan son istemciye kadar geriye dönük uyumlu tutması gerekiyor.

Uygulamanın çekirdeği Spring Framework kullanılarak Java ile yazılmıştır. Çözüm başlangıçta bulut altyapısında hızlı dağıtım için tasarlandı, dolayısıyla uygulama bir konteynerizasyon sistemi kullanılarak oluşturuldu Kırmızı Şapka OpenShift (Kubernetes). Platform, hem artan iş işlevselliği (yeni bağlayıcılar, AutoML ekleniyor) hem de teknolojik verimlilik açısından sürekli olarak gelişiyor.

Platformumuzun özelliklerinden biri de görsel bir arayüzde geliştirilen kodu herhangi bir Sberbank model yürütme sisteminde çalıştırabilmemizdir. Şimdi zaten iki tane var: biri Hadoop'ta, diğeri OpenShift'te (Docker). Burada durmuyoruz ve şirket içi ve bulut da dahil olmak üzere herhangi bir altyapıda kod çalıştırmak için entegrasyon modülleri oluşturmuyoruz. Sberbank ekosistemine etkili entegrasyon olanaklarına ilişkin olarak mevcut uygulama ortamlarıyla çalışmayı da desteklemeyi planlıyoruz. Gelecekte çözüm, herhangi bir organizasyonun herhangi bir ortamına "kutudan çıktığı haliyle" esnek bir şekilde entegre edilebilecek.

PROM'da Hadoop üzerinde Python çalıştıran bir çözümü desteklemeye çalışmış olanlar, her veri düğümüne bir Python kullanıcı ortamı hazırlayıp sunmanın yeterli olmadığını biliyorlar. Makine öğrenimine yönelik Python modüllerini kullanan çok sayıda C/C++ kitaplığı dinlenmenize izin vermeyecektir. Yeni kitaplıklar veya sunucular eklerken, halihazırda uygulanan model koduyla geriye dönük uyumluluğu korurken paketleri güncellemeyi unutmamalıyız.

Bunun nasıl yapılacağına dair çeşitli yaklaşımlar vardır. Örneğin, sık kullanılan birkaç kütüphaneyi önceden hazırlayın ve bunları PROM'da uygulayın. Cloudera'nın Hadoop dağıtımında genellikle şunu kullanırlar: parsel. Ayrıca artık Hadoop'ta çalıştırmak mümkün liman işçisi-konteynerler. Bazı basit durumlarda kodu paketle birlikte teslim etmek mümkündür. python.eggs.

Banka, üçüncü taraf kodunu çalıştırmanın güvenliğini çok ciddiye alıyor; bu nedenle, bir sürecin yalıtılmış bir ortamda çalıştığı Linux çekirdeğinin yeni özelliklerinden en iyi şekilde yararlanıyoruz. Linux ad alanıörneğin ağa ve yerel diske erişimi sınırlayabilirsiniz, bu da kötü amaçlı kod yeteneklerini önemli ölçüde azaltır. Her departmanın veri alanları korunur ve yalnızca bu verilerin sahipleri tarafından erişilebilir. Platform, kaynaklara erişimden, verilerin hedef vitrine inmesine kadar tüm aşamaların kontrol altında olduğu bir veri yayınlama süreciyle, bir alandan gelen verilerin başka bir alana ulaşmasını sağlar.

Sber.DS, kod olmadan bile modeller oluşturmanıza ve uygulamanıza olanak tanıyan bir platformdur

Bu yıl Hadoop'ta Python/R/Java ile yazılmış modellerin başlatılmasının MVP'sini tamamlamayı planlıyoruz. Platformumuzun kullanıcılarını hiçbir şekilde sınırlamamak için kendimize Hadoop'ta herhangi bir özel ortamın nasıl çalıştırılacağını öğrenme gibi iddialı bir görev belirledik.

Ayrıca, pek çok DS uzmanının matematik ve istatistikte mükemmel olduğu, harika modeller oluşturduğu, ancak büyük veri dönüşümleri konusunda pek bilgili olmadığı ve eğitim örneklerini hazırlamak için veri mühendislerimizin yardımına ihtiyaçları olduğu ortaya çıktı. Meslektaşlarımıza yardım etmeye ve Spark motorundaki modellerin standart dönüşümü ve özelliklerinin hazırlanması için uygun modüller oluşturmaya karar verdik. Bu, model geliştirmeye daha fazla zaman ayırmanıza ve veri mühendislerinin yeni bir veri kümesi hazırlamasını beklememenize olanak tanır.

Farklı alanlarda bilgi sahibi kişileri istihdam ediyoruz: Linux ve DevOps, Hadoop ve Spark, Java ve Spring, Scala ve Akka, OpenShift ve Kubernetes. Bir dahaki sefere model kütüphanesinden, modelin şirket içindeki yaşam döngüsünden nasıl geçtiğinden, doğrulama ve uygulamanın nasıl gerçekleştiğinden bahsedeceğiz.

Kaynak: habr.com

Yorum ekle