Aufei Tapınağı'ndan Balık ve Koyun Qubit Raporu | Genel Hesap QbitAI
Laboratuvarda GPU olmadan derin öğrenme nasıl yapılır?
Rice Üniversitesi ve Intel araştırmacılarının cevaplamasına izin verirseniz, cevap muhtemelen şudur: CPU kullanın.
Rice Üniversitesi ve Intel'in son araştırması, derin öğrenmenin özel hızlandırma donanımı (GPU gibi) olmadan hızlandırılabileceğini kanıtlıyor.
Algoritma adı KAYMAK .
Araştırmacılar, SLIDE'nin ilk CPU tabanlı derin öğrenme akıllı algoritması olduğunu ve büyük, tamamen bağlantılı bir mimariye sahip endüstri düzeyinde önerilen veri kümesinde SLIDE, derin sinir ağlarını GPU'lardan bile daha hızlı eğittiğini iddia ediyor.
Kod açık kaynaklıdır.
GPU'dan kurtulmanın temel fikri, matris çarpımından kurtulmak için yerel hassas hashing kullanmaktır.
Kod C ++ ile yazılmıştır.
Beidi Chen'e Giriş:
TensorFlow ve PyTorch'a dayalı SLIDE algoritmasını uygulamak anlamsızdır, çünkü problem bir matris çarpım problemine dönüştürülmelidir ve bu tam olarak kurtulmak istediğimiz şeydir.
Mimaride, SLIDE'ın ana modülü sinir ağıdır. Ağın her katman modülü, nöronlardan ve bazı karma tablolardan oluşur ve nöron kimliği ona hash edilir.
Her nöron modülü şunları içerir:
Son dizinin uzunluğu, önceki katmandaki nöronların sayısına eşittir.
Her katmandaki LSH hash tablosunun yapısı, katmandaki farklı nöronlar üzerindeki birden çok iş parçacığı ile paralelleştirilebilen tek seferlik bir işlemdir.
Makalenin yazarlarından biri olan Rice Üniversitesi'nde yardımcı doçent olan Anshumali Shrivastava, SLIDE'ın geri yayıma göre en büyük avantajının veri paralelliği olduğunu söyledi.
Örneğin, veri paralelliği durumunda, iki veri örneğinin eğitilmesi gerekir, biri bir kedinin görüntüsü, diğeri ise bir otobüsün görüntüsüdür Farklı nöronları etkinleştirebilirler ve SLIDE bunları bağımsız olarak güncelleyebilir ve eğitebilir. .
Bu şekilde, CPU'nun paralelliği daha iyi kullanılabilir.
Ancak, GPU ile karşılaştırıldığında bu yöntem Yüksek bellek gereksinimleri .
Shrivastava ayrıca Intel ile işbirliğinde, önbellek kaybını azaltmak için Kernel Hugepage'leri desteklemek gibi SLIDE için CPU'yu optimize ettiklerini belirtti. Bu optimizasyonlar SLIDE performansını yaklaşık% 30 artırmıştır.
Peki SLIDE, GPU'ya dayanan derin öğrenmeye kıyasla nasıl bir performans sergiliyor?
Araştırmacılar Delicious-200K ile Amazon-670K Bu iki büyük veri seti üzerinde doğrulandı.
Deneysel yapılandırma, iki adet 22 çekirdekli / 44 iş parçacıklı işlemci (Intel Xeon E5-2699A v42.40GHz) ve NVIDIA TeslaV100 Volta 32GB GPU'dur.
Sonuçlar, keyfi hassasiyette, CPU'daki SLIDE'ın V100'deki TensorFlow'a dayalı GPU algoritmasından her zaman daha hızlı olduğunu göstermektedir.
Delicious-200K veri kümesinde SLIDE, TF-GPU'dan 1,8 kat daha hızlıdır ve daha yüksek bilgi işlem gücü gereksinimlerine sahip Amazon-670K veri kümesinde SLIDE, TF-GPU'dan 2,7 kat daha hızlıdır.
Hesaplama avantajlarının çoğu, çıktı katmanındaki az sayıda etkinleştirilmiş nöronun örneklenmesinden gelir.
Aynı CPU'da SLIDE, TensorFlow tabanlı algoritmalardan 10 kat daha hızlıdır.
CPU'da derin öğrenmeyi çalıştırmak GPU'dan daha hızlı olabilir. Bu sonuç hemen netizenlerin dikkatini çekti.
Bazı netizenler şunları söyledi:
Bu yöntem sadece bir karma tablo kullanmakla kalmaz, aynı zamanda hızı da OpenMP'nin çok çekirdekli donanım optimizasyonundan kaynaklanır. (OpenMP, platformlar arası paylaşılan bellek modunu destekleyen çok iş parçacıklı eşzamanlı programlama API kümesidir)
Küçük DNN'lerde çok umut verici bir alternatif gibi görünüyor. Ancak soru şu ki, bu yöntem diğer CPU mimarilerine genişletilebilir mi? Hala büyük çatışmalar ve bu yöntemde doğruluktan ödün verme riski var.
Birisi ayrıca yazarla iletişimde yöntemin esas olarak geniş ağlar için uygun olduğuna inandığını, aksi takdirde karma tablonun ek yükünün faydalarından daha ağır basacağını söyledi. Yani en azından mimari keşifte bu yöntem daha geniş bir ağı keşfetme imkanı sağlar.
Bununla birlikte, bazı netizenler de daha keskin şüpheler uyandırdı: Korkarım ki Intel reklamı yapmak için burada değiller.
1. Ön işleme adımları pahalı görünmektedir.
2. Özel olarak optimize edilmiş bir mimari ile, yöntemin kendisine ne kadar performans kazancı atfedilebilir?
3. SLIDE'ı CPU ve GPU'da çalıştırmanın karşılaştırması eksiktir.
Peki sonuç güvenilir mi? Orijinal metni okumak ve düşüncelerinizi yayınlamak için makalenin sonuna bağlantı eklemek isteyebilirsiniz ~
Kağıt adresi: https://arxiv.org/abs/1903.03129
GitHub adresi: https://github.com/keroro824/HashingDeepLearning
- Bitiş -
Qubit QbitAI · Toutiao İmzalı
Bize dikkat edin ve en son teknolojideki en son gelişmeleri alın