Yazı
Yerinde Yapay Zeka Eğitimi İçin Veri Sürümleme ve Soy Takibi
Yerinde yapay zeka eğitim pipeline'ları için veri sürümleme ve soy takibi uygulama rehberi: araç seçimleri, depolama stratejileri ve uyumluluk avantajları.
Sorun: Hafızası Olmayan Modeller
Çoğu yerinde yapay zeka ekibi, üretimde hangi model sürümünün çalıştığını söyleyebilir. Çok daha azı daha zor bir soruyu yanıtlayabilir: bu modeli hangi tam veri seti, ön işleme adımları ve özellik dönüşümleri üretti? Bir model performans kaybetmeye başladığında veya bir düzenleyici belirli bir tahmin hakkında neden sorusu sorduğunda, veri soy bilgisinin yokluğu rutin bir araştırmayı bir arkeoloji projesine dönüştürür.
Veri sürümleme ve soy takibi, ham veriden her dönüşüm aracılığıyla nihai eğitilmiş modele kadar denetlenebilir bir zincir oluşturarak bunu çözer. Yerinde ortamlar burada doğal bir avantaja sahiptir — veri altyapınızı asla terk etmez, dolayısıyla enstrümantasyon üzerinde tam kontrole sahipsiniz. Ancak bu avantaj, yalnızca takip altyapısını bilinçli olarak inşa ederseniz somutlaşır.
Veri Sürümleme: Veri İçin Git'ten Fazlası
Konsept basittir — veri setlerini kaynak kod ile aynı titizlikle ele alın. Her eğitim veri setine bir sürüm tanımlayıcısı verilir. Değişiklikler takip edilir ve herhangi bir geçmiş sürüm yeniden üretilebilir. Ancak uygulama, metin farklılıkları yerine büyük ikili veriler için tasarlanmış araçlar gerektirir.
DVC (Data Version Control) en yaygın kullanılan açık kaynak seçenektir. Git'in üzerine katmanlanır, hafif meta dosyaları deponuzda saklarken gerçek veriler yerinde depolama alanınızda — NFS, S3 uyumlu nesne depolama veya HDFS — tutulur. Bu, yüzlerce gigabayt olabilecek veri setlerinin tam sürüm geçmişini korurken Git deponuzun yönetilebilir kalmasını sağlar.
LakeFS, nesne depolama üzerine doğrudan Git benzeri bir dallanma modeli sağlar. MinIO veya Ceph kullanan ekipler için LakeFS, tanıdık sürüm kontrolü semantiği kullanarak dallar oluşturmanıza, veri anlık görüntüleri kaydetmenize ve veri seti değişikliklerini birleştirmenize olanak tanır.
Delta Lake ve Apache Iceberg, zaman yolculuğu sorguları ile tablo formatı sürümlemesi sunar. Eğitim verileriniz yapılandırılmış tablolarda yaşıyorsa, bu formatlar depolama katmanında sürümleme sağlarken herhangi bir geçmiş anlık görüntüye verimli sorgu erişimi avantajı ekler.
Soy Takibi: Veriyi Kararlara Bağlamak
Sürümleme, belirli bir zamanda hangi verinin var olduğunu söyler. Soy takibi, bu verinin nasıl kullanıldığını söyler — hangi ön işleme betikleri çalıştı, hangi özellik mühendisliği uygulandı, hangi model eğitim çalışması bunu tüketti ve hangi üretim tahminleri sonuçlandı.
Eksiksiz bir soy grafiği dört katmanı bağlar: ham veri alımı (bu veri nereden ve ne zaman geldi), dönüşüm (hangi temizleme, filtreleme ve özellik mühendisliği uygulandı), eğitim (hangi model mimarisi ve hiperparametreler bu işlenmiş veriyi kullandı) ve çıkarım (bu model tarafından hangi üretim tahminleri üretildi).
Apache Atlas ve OpenLineage gibi araçlar, veri işleme çerçevelerinizle entegre edildiğinde bu grafiği otomatik olarak yakalayabilir. Apache Spark veya dbt kullanıyorsanız, OpenLineage uyumlu bağlayıcılar manuel enstrümantasyon gerektirmeden soy olayları yayar. Özel Python ön işleme betikleri için soy meta verisi eklemek, girdileri, çıktıları ve dönüşüm parametrelerini kaydetmek için pipeline aşaması başına birkaç satır kod ile açık enstrümantasyon gerektirir.
Sürümlenmiş Veri İçin Depolama Mimarisi
Naif veri sürümleme — her veri seti sürümünün tam kopyalarını tutma — yerinde depolama bütçelerini hızla tüketir. Haftalık sürümlenen 500 GB'lık bir eğitim veri seti, tekilleştirme olmadan bir yılda 26 TB tüketir. Pratik uygulamalar daha akıllı depolama stratejileri gerektirir.
İçerik adreslenebilir depolama temeldir. Hem DVC hem de LakeFS, yalnızca benzersiz veri bloklarını saklamak için içerik karma kullanır. Yeni bir veri seti sürümü kayıtların %5'ini değiştirirse, yalnızca o %5 ek depolama tüketir.
Katmanlı depolama politikaları, eski veri seti sürümlerini otomatik olarak daha ucuz ortamlara taşır. Son 3-6 aylık sürümleri hızlı erişim için hızlı NVMe depolamada tutun. Eski sürümleri, gerektiğinde otomatik geri alma ile dönen disk veya teyp depolamaya taşıyın.
Tüm veri seti sürümlerini soy bilgileri, istatistiksel profiller (satır sayıları, sütun dağılımları, null oranları) ve kalite puanları ile indeksleyen bir meta veri kataloğu tutun. Bu katalog, altta yatan veriler yavaş depolama katmanlarında olsa bile aranabilir ve hızlı sorgulanabilir olmalıdır.
Uyumluluk ve Denetlenebilirlik Avantajları
GDPR, HIPAA veya sektöre özgü düzenlemeler altında faaliyet gösteren kuruluşlar için veri sürümleme ve soy takibi yalnızca mühendislik en iyi uygulamaları değil — uyumluluk araçlarıdır.
Bir veri sahibi GDPR kapsamında silme hakkını kullandığında, soy takibi o bireyin kayıtlarını içeren verilerle eğitilmiş her modeli belirlemenize olanak tanır. Ardından yeniden eğitimin gerekli olup olmadığını veya modelin bireysel veri noktalarının ağırlıklardan kurtarılamayacak kadar genelleştirilmiş olup olmadığını belirleyebilirsiniz.
Düzenlenmiş model kararları için — kredi puanlama, tıbbi teşhis, sigorta yüklenimi — denetçilerin belirli bir tahmini, modeli üreten eğitim verilerine ve ön işleme mantığına kadar izlemesi gerekir. Soy takibi olmadan bu denetim izi, haftalarca sürebilecek manuel yeniden yapılandırma gerektirir. Uygun soy altyapısı ile saniyeler içinde dönen bir sorguya dönüşür.
Uygulama Öncelikleri
Soy takibinden önce sürümleme ile başlayın. Veri seti sürümlerini kontrol altına almak hemen değer sağlar ve soy takibinin üzerine inşa edeceği temeli oluşturur. Ekibiniz Git merkezliyse DVC'yi, depolama katmanında çalışmayı tercih ediyorsanız LakeFS'i seçin.
Soy takibini aşamalı olarak ekleyin, eğitim pipeline'ından başlayarak. Model eğitim çerçevenizi — MLflow, Weights and Biases (kendi sunucunuzda barındırılan) veya Kubeflow — her eğitim çalışması için hangi veri seti sürümünün kullanıldığını kaydetmek üzere enstrümante edin. Ardından soyu ön işlemeye ve çıkarım sunmaya doğru genişletin.
Sıfırdan özel soy altyapısı oluşturmaktan kaçının. OpenLineage etrafındaki açık kaynak ekosistem önemli ölçüde olgunlaştı ve standart bir soy formatı benimsemek, görselleştirme ve sorgu araçlarıyla uyumluluk sağlar. Mühendislik çabanız, başka bir meta veri deposu oluşturmaktan ziyade entegrasyon ve kapsama alanına harcanmalıdır.
Öne çıkan görsel: Steve A Johnson tarafından Unsplash'ta.