Yazarlar:
(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, ABD;
(2) Abhinav Tuli, Activeloop, Mountain View, CA, ABD;
(3) Levon Ghukasyan, Activeloop, Mountain View, CA, ABD;
(4) Fariz Rahman, Activeloop, Mountain View, CA, ABD;.
(5) Hrant Topchyan, Activeloop, Mountain View, CA, ABD;
(6) David Isayan, Activeloop, Mountain View, CA, ABD;
(7) Mark McQuade, Activeloop, Mountain View, CA, ABD;
(8) Mikayel Harutyunyan, Activeloop, Mountain View, CA, ABD;
(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, ABD;
(10) Ivo Stranic, Activeloop, Mountain View, CA, ABD;
(11) Davit Buniatyan, Activeloop, Mountain View, CA, ABD.
Geleneksel veri gölleri, zaman yolculuğunu etkinleştirerek, SQL sorgularını çalıştırarak, ACID işlemleriyle verileri alarak ve bulut depolamada petabayt ölçeğinde veri kümelerini görselleştirerek analitik iş yükleri için kritik veri altyapısı sağlar. Kuruluşların veri silolarını ortadan kaldırmasına, veriye dayalı karar alma sürecinin kilidini açmasına, operasyonel verimliliği artırmasına ve maliyetleri azaltmasına olanak tanır. Ancak derin öğrenme kullanımı arttıkça geleneksel veri gölleri, doğal dil işleme (NLP), ses işleme, bilgisayarlı görme ve tablo dışı veri kümelerini içeren uygulamalar gibi uygulamalar için iyi tasarlanmamıştır. Bu makale, Activeloop[1][2]'da geliştirilen derin öğrenme uygulamalarına yönelik açık kaynaklı bir göl evi olan Deep Lake'i sunmaktadır. Deep Lake, vanilya veri gölünün avantajlarını tek bir önemli farkla korur: görüntüler, videolar, ek açıklamalar ve tablo verileri gibi karmaşık verileri tensör biçiminde depolar ve verileri ağ üzerinden hızlı bir şekilde (bir ) Tensör Sorgu Dili, (b) tarayıcı içi görselleştirme motoru veya (c) GPU kullanımından ödün vermeden derin öğrenme çerçeveleri. Deep Lake'te depolanan veri kümelerine PyTorch [58], TensorFlow [25], JAX [31]'den erişilebilir ve çok sayıda MLOps aracıyla entegre edilebilir.
ANAHTAR KELİMELER - Deep Lake, Derin Öğrenme, Data Lake, Lakehouse, Bulut Bilişim, Dağıtık Sistemler
Veri gölü, kuruluşların yapılandırılmış, yapılandırılmamış ve yarı yapılandırılmış verileri tek bir yerde depolamasına olanak tanıyan merkezi bir depodur. Veri gölleri, verileri yönetmek, yönetmek ve analiz etmek için daha iyi bir yol sağlar. Ayrıca veri silolarını kırmanın ve daha önce farklı veri kaynaklarında gizlenmiş içgörüleri elde etmenin bir yolunu sağlarlar. Birinci nesil veri gölleri geleneksel olarak verileri HDFS [71] veya AWS S3 [1] gibi dağıtılmış depolama sistemlerine toplar. Verilerin düzensiz toplanması, veri göllerini "veri bataklıklarına" dönüştürdü ve bu da Delta, Iceberg ve Hudi liderliğindeki ikinci nesil veri göllerinin ortaya çıkmasına neden oldu [27, 15, 10]. Kesinlikle Parquet, ORC, Avro [79, 6, 20] gibi standartlaştırılmış yapılandırılmış formatların üzerinde çalışırlar ve zaman yolculuğu, ACID işlemleri ve şema gelişimi gibi özellikler sağlarlar. Veri gölleri Presto, Athena gibi sorgu motorlarıyla doğrudan entegre olur.
Hive ve Photon [70, 12, 76, 66] analitik sorguları çalıştırmak için kullanılır. Ek olarak ETL boru hattı bakımı için Hadoop, Spark ve Airflow [14, 82, 9] gibi çerçevelere bağlanırlar. Buna karşılık, veri gölleri ve sorgu motorları arasındaki net bilgi işlem ve depolama ayrımı ile entegrasyon, Snowflake, BigQuery, Redshift ve Clickhouse [33, 4, 40, 2].
Geçtiğimiz on yılda derin öğrenme, metin, resim, video ve ses gibi yapılandırılmamış ve karmaşık verileri içeren geleneksel makine öğrenimi tekniklerini geride bıraktı [44, 47, 38, 83, 51, 30, 63, 56]. Derin öğrenme sistemleri yalnızca geleneksel teknikleri aşmakla kalmadı, aynı zamanda X-ışını görüntülerinden kanser tespiti, insan sinir hücrelerinin anatomik olarak yeniden yapılandırılması, oyun oynama, araba kullanma, proteinleri açma ve görüntü oluşturma gibi uygulamalarda insanüstü doğruluk elde etti. 61, 48, 72, 42, 77]. Dönüştürücü tabanlı mimarilere sahip büyük dil modelleri, çeviri, akıl yürütme, özetleme ve metin tamamlama görevlerinde en son teknolojiye sahip sonuçlar elde etti [78, 36, 81, 32]. Büyük çok modlu ağlar, çapraz mod arama için yapısal olmayan verileri vektörlere yerleştirir [29, 60]. Üstelik metinden fotogerçekçi görüntüler oluşturmak için kullanılırlar [62, 65].
Her ne kadar derin öğrenme modellerinin başarısına katkıda bulunan başlıca faktörlerden biri CoCo (330K görseller), ImageNet (1,2M görseller), Oscar (çok dilli metin külliyatı) ve LAION (400M ve 5B görseller) gibi büyük veri kümelerinin mevcudiyeti olsa da [49, 34, 74, 68], bu ölçeği destekleyecek geleneksel analitik iş yüklerine benzer köklü bir veri altyapısı planına sahip değil. Öte yandan Modern Veri Yığını (MDS), performanslı derin öğrenme tabanlı çözümleri dağıtmak için gereken özelliklerden yoksun olduğundan kuruluşlar şirket içi sistemler geliştirmeyi tercih ediyor.
Bu yazıda derin öğrenme iş yükleri için uzmanlaşmış bir göl evi olan Deep Lake'i tanıtıyoruz. Deep Lake, temel faydalarını koruyor
geleneksel data lake'in dikkate değer bir farkı var: görüntüler, videolar, açıklamalar ve tablo verileri gibi karmaşık verileri tensörler olarak saklıyor ve GPU kullanımından ödün vermeden verileri ağ üzerinden derin öğrenme çerçevelerine hızlı bir şekilde aktarıyor. Ayrıca PyTorch, TensorFlow ve JAX gibi derin öğrenme çerçeveleri arasında yerel birlikte çalışabilirlik sağlar [58, 25, 31].
Bu makalenin ana teknik katkıları şunları içerir:
• Nesne depolama alanında dinamik olarak şekillendirilmiş dizileri depolayan Tensör Depolama Formatı ;
• Alma, sıkıştırmayı açma ve kullanıcı tanımlı dönüşümleri planlayan, derin öğrenme için GPU'lara veri aktarım verimini optimize eden Akış Veri Yükleyicisi ;
• Çok boyutlu dizi verileri üzerinde SQL benzeri işlemleri çalıştıran Tensör Sorgu Dili ;
• Nesne depolama alanından veri akışı sağlayan ve bunu WebGL kullanarak tarayıcıda işleyen tarayıcı içi görselleştirme motoru .
Bu yazının geri kalanı şu şekilde gelişiyor. Yapılandırılmamış veriler üzerinde derin öğrenmedeki mevcut zorlukları dikkate alarak başlıyoruz. Daha sonra Tensör Depolama Formatını (TSF) temel kavramlarıyla birlikte sunuyoruz. Ayrıca Deep Lake'in makine öğrenimi döngüsü içindeki yeteneklerini ve uygulamalarını tartışıyoruz. Daha sonra performans deneyleri yapıyoruz ve sonuçları tartışıyoruz. Son olarak ilgili çalışmayı gözden geçiriyoruz, olası sınırlamaları listeliyoruz ve sonuca varıyoruz.
Bu makale arxiv'de CC 4.0 lisansı altında mevcuttur .
[1] Kaynak kodu mevcut: https://github.com/activeloopai/deeplake
[2] Belgelere https://docs.deeplake.ai adresinden ulaşılabilir.