EPFL bilim adamları ile birlikte, IBM Araştırma ekibi büyük veri setlerini hızlı bir şekilde eğitmek için bir plan geliştirdi.
Tek bir grafik işlemci ünitesi (GPU) kullanarak sınırlı bir hafıza eğitimi için varolan yöntemlere göre 10 kat daha hızlı bir şekilde 30 Gigabyte eğitim veri setini bir dakikadan daha kısa sürede işlenebilir.GPU’nun tüm potansiyelini verimli bir şekilde kullanan sonuçlar, California Long Beach’teki 2017 NIPS Konferansı’nda sunuldu.
Bir terabyte ölçekli veri kümesindeki bir makine öğrenme modelinin eğitimi yaygın, zor bir sorundur. Şanslıysanız, tüm verilere uyacak kadar yeterli belleğe sahip bir sunucunuz olabilir, ancak eğitim yine de uzun sürecektir. Bu, birkaç saat, birkaç gün hatta hafta sayılabilir. GPU’lar gibi özel donanım aygıtları, hesaplamalı yoğun iş yüklerini hızlandırmak için pek çok alanda gücünü alıyor ancak bunu yoğun veri yoğun iş yüklerine genişletmek zordur.
GPU’ların muazzam hesaplama gücünden yararlanabilmek için, verileri erişmek ve işlemek için verileri GPU belleğinde depolamamız gerekir. Bununla birlikte, GPU’ların bellek kapasitesi sınırlıdır (şu an 16 GB’a kadar), bu çok büyük veriler için pratik değildir. Açık bir çözüm, GPU’daki verilerin toplu olarak sırayla işlenmesidir. Yani, veriler 16 GB parçalar halinde bölümlendirildi ve bu parçalar sıralı olarak GPU belleğine yüklendi.
Ne yazık ki GPU’ya veri girişi yapmak GPU’dan pahalıya mal oluyor ve GPU’dan GPU’ya her bir toplu işi almak için geçen süre önemli bir ek yük haline gelebilir. Aslında, bu masraf o kadar fazladır ki, başta bir GPU kullanmanın yararlarından tamamen daha ağır olabilir.
IBM Ekibi verilerin hangi küçük bölümünün herhangi bir zamanda eğitim algoritması için en önemli olduğunu belirleyen bir teknik oluşturmak için yola çıktı. Çoğu veri takımında, her veri noktasının eğitim algoritmasına verdiği önem son derece düzensizdir ve eğitim süreci boyunca da değişir. Veri noktalarını doğru sırayla işleyerek modeli daha hızlı öğrenilebilir.
Örneğin, algoritmanın kedi ve köpek fotoğrafları arasında ayrım yapmak üzere eğitildiğini hayal edin. Bir kedi kulağı, genellikle bir köpeğinkinden daha küçük olduğunu algoritma ayırt edebildiğinde, bu bilgiyi korur ve bu özelliği inceleyerek atlar ve sonunda daha hızlı ve daha hızlı hale gelir.
Bu nedenle veri kümesinin değişkenliği çok kritiktir, çünkü her biri öğrenmek için henüz modelimize yansıtılmayan ek özellikler ortaya koymalıdır. Gökyüzü mavi olduğu zaman bir çocuk dışarı çıkarsa, geceleri karanlık olduğunu veya bulutların gri tonları yarattığını asla öğrenemez. Burada aynı şey var. Bu, bireysel eğitim örneklerinin öğrenme algoritmasının ilerlemesine ne kadar bilgi katkıda bulunabileceği üzerine yeni teorik bilgiler sunarak elde edilir. Bu önlem, ağırlıklı olarak ikilik boşluk sertifikaları kavramına dayanıyor ve eğitim algoritmasının mevcut durumuna anında uyuyor. Başka bir deyişle, algoritma ilerledikçe her veri noktasının önemi değişir. Teorik arka plan hakkında daha fazla bilgi için, IBM’in hazırladığı makale için tıklayın.
IBM araştırmacıları, bu teoriyi uygulayıp uygulamaya koyduğun da, heterojen hesap platformlarında makine öğrenme modellerini eğitmek için yeni, yeniden kullanılabilir bir bileşen geliştirmiş oldu. Duality-gap-based Heterogeneous Learning için DuHL diyorlar. Program, GPU’ları içeren bir uygulamaya ek olarak, diğer sınırlı bellek hızlandırıcılarına da uygulanabilir (örneğin, GPU’ların yerine FPGA kullanan sistemler) ve sosyal medyadan gelen geniş veri setleri ve çevrimiçi pazarlama da dahil olmak üzere hangi reklamların kullanıcılara gösterileceğini tahmin etmek gibi. Ek uygulamalar arasında telekom verilerinde kalıp bulma ve dolandırıcılık tespiti yer alıyor.
Sol taraftaki resimde, geniş kapsamlı, 30 GB’lik bir ImageNet veritabanında büyük ölçekli Destek Vektör Makineleri eğitimi için DuHL’yi harekete geçirildiği gösteriliyor. Bu deneyler için, 8 GB bellekli bir NVIDIA Quadro M4000 GPU kullanılmış. Sıralı toplu işleme kullanan programın yalnızca CPU’dan daha kötü performans gösterdiğini, buna karşılık DuHL’yi kullanan yeni yaklaşım CPU üzerinde 10 kat daha hızlı bir performans elde ettiğini görebiliyoruz.
Bu çalışmanın bir sonraki hedefi DuHL’yi bulutta bir hizmet olarak sunmaktır. Bir bulut ortamında, GPU’lar gibi kaynaklar, genellikle saatlik olarak faturalandırılır. Bu nedenle, eğer bir kişi 10 saat yerine bir saat içinde bir makine öğrenme modeli yetiştirirse, bu doğrudan çok büyük bir maliyet tasarrufuna dönüşür. Bunun, büyük ölçekli makine öğrenme modelleri yetiştirmek isteyen araştırmacılar, geliştiriciler ve veri bilimcileri için önemli bir değer olması bekleniyor.
Bu araştırma, düzinelerce sunucuya bağlı yüzlerce GPU hızlandırıcısı üzerinden büyük ve karmaşık hesaplama görevlerinin paralelleştirilmesini otomatikleştiren ve eniyileştiren dağıtılmış derin öğrenme (DDL) yazılımını ve algoritmalarını geliştirme yönündeki bir IBM Araştırma gayretinin bir parçasıdır.
Kaynaklar:
-C. Dünner, S. Forte, M. Takac, M. Jaggi. 2016. Primal-Dual Rates and Certificates. In Proceedings of the 33rd International Conference on Machine Learning – Volume 48 (ICML 2016).
-https://www.ibm.com/blogs/research/2017/12/10x-faster-using-gpu/?utm_source=twitter&utm_medium=social&utm_campaign=AI&utm_content=nips2017