FPGA tabanlı derin öğrenme hızlandırıcıların zorlukları ve fırsatları

Katılım: Jiang Yue, Li Yazhou

FPGA sinir ağı hızlandırıcıları artık AI topluluğundan giderek daha fazla ilgi görüyor. Bu makale, FPGA tabanlı derin öğrenme hızlandırıcıların fırsatlarını ve zorluklarını ana hatlarıyla açıklıyor.

Son yıllarda, sinir ağları, çeşitli alanlarda geleneksel algoritmalara kıyasla büyük ilerleme kaydetti. Görüntü, video ve konuşma işleme alanında, evrişimli sinir ağları ve tekrarlayan sinir ağları gibi çeşitli ağ modelleri önerilmiştir. İyi eğitilmiş CNN modeli, ImageNet veri setindeki ilk 5 görüntünün sınıflandırma doğruluğunu% 73,8'den% 84,7'ye yükseltti ve mükemmel özellik çıkarma yetenekleri sayesinde hedef tespit doğruluğunu daha da geliştirdi. RNN, konuşma tanıma alanındaki en son kelime hata oranı kaydını elde etti. Sonuç olarak, çok sayıda örüntü tanıma problemine yüksek adaptasyonu nedeniyle, sinir ağları birçok yapay zeka uygulaması için güçlü bir alternatif haline geldi.

Bununla birlikte, sinir ağı modeli hala büyük miktarda hesaplama ve karmaşık depolama sorununa sahiptir. Aynı zamanda, sinir ağı araştırması şu anda esas olarak ağ modeli ölçeğinin iyileştirilmesine odaklanmıştır. Örneğin, 224x224 görüntü sınıflandırması için en son CNN modeli, 39 milyar kayan nokta işlemi (FLOP) ve 500MB'den fazla model parametresi gerektirir. Hesaplama karmaşıklığı, giriş görüntüsünün boyutuyla doğru orantılı olduğundan, yüksek çözünürlüklü görüntüleri işlemek için gereken hesaplama miktarı 100 milyarı aşabilir.

Bu nedenle, sinir ağı uygulamaları için uygun bir bilgi işlem platformu seçmek özellikle önemlidir. Genel olarak konuşursak, CPU saniyede 10-100 GFLOP işlemini tamamlayabilir, ancak enerji verimliliği genellikle 1 GOP / J'den düşüktür, bu nedenle bulut uygulamalarının yüksek performans gereksinimlerini ve mobil uygulamaların düşük enerji gereksinimlerini karşılamak zordur. Buna karşılık, GPU tarafından sağlanan en yüksek performans 10TOP / S'ye ulaşabilir, bu nedenle yüksek performanslı sinir ağı uygulamaları için mükemmel bir seçimdir. Ek olarak, Caffe ve TensorFlow gibi programlama çerçeveleri, GPU platformlarında kullanımı kolay arayüzler sağlayabilir ve bu da GPU'ları sinir ağı hızlandırma için ilk seçenek haline getirir.

CPU'lara ve GPU'lara ek olarak, FPGA'lar giderek enerji açısından verimli sinir ağı işleme için alternatif bir platform haline geliyor. Sinir ağının hesaplama sürecine göre, belirli model için tasarlanmış donanım ile birlikte FPGA yüksek derecede paralellik sağlayabilir ve mantığı basitleştirebilir. Bazı araştırmalar, sinir ağı modelinin, modelin doğruluğunu etkilemeden donanım dostu bir şekilde basitleştirilebileceğini göstermiştir. Bu nedenle FPGA, CPU ve GPU'dan daha yüksek enerji verimliliği sağlayabilir.

1990'lara dönüp baktığımızda, FPGA'lar ilk ortaya çıktığında, sinir ağları için değil, elektronik donanım prototiplerinin hızlı gelişimi için tasarlandılar. Sinir ağlarının ortaya çıkması nedeniyle, insanlar uygulamalarını keşfetmeye ve geliştirmeye başladılar, ancak gelişim yönlerini belirleyemediler. 1994'te DS Reay, sinir ağı hızlandırması için FPGA'yı ilk kez kullanmasına rağmen, sinir ağının kendisi yeterince olgun olmadığı için teknoloji ciddiye alınmadı. 2012'de ILSVRC Mücadelesi AlexNet'in ortaya çıkmasına kadar sinir ağlarının gelişimi netleşti ve araştırma topluluğu daha derin ve daha karmaşık ağ araştırmaları geliştirmeye başladı. Daha sonra, VGGNet, GoogleNet ve ResNet gibi modeller ortaya çıktı ve giderek karmaşıklaşan sinir ağları eğilimi daha net hale geldi. O zaman, araştırmacılar, aşağıdaki Şekil 1'de gösterildiği gibi FPGA tabanlı sinir ağı hızlandırıcılarını fark etmeye başladılar. Geçen yıla kadar, IEEE eXplore'da yayınlanan FPGA tabanlı sinir ağı hızlandırıcılarının sayısı 69'a ulaştı ve artmaya devam ediyor. Bu, bu yöndeki araştırma eğilimini açıklamaya yeterlidir.

Şekil 1: FPGA tabanlı sinir ağı hızlandırıcı geliştirme geçmişi

Makale: FPGA Tabanlı Derin Öğrenme Hızlandırıcıları Anketi: Zorluklar ve Fırsatlar

Kağıt adresi: https://arxiv.org/abs/1901.04988

Özet: Derin öğrenmenin hızla gelişmesiyle birlikte, sinir ağları ve derin öğrenme algoritmaları görüntü, video ve ses işleme gibi çeşitli alanlarda yaygın olarak kullanılmaktadır. Bununla birlikte, sinir ağı modelleri de giderek büyüyor ve bu da model parametrelerinin hesaplanmasına yansıyor. Araştırmacılar, bilgi işlem performansını iyileştirmek için GPU platformlarında çok çaba sarf etmiş olsalar da, özel donanım çözümleri hala vazgeçilmezdir ve saf yazılım çözümlerine kıyasla avantajlar oluşturmaktadır. Bu yazıda yazar, sistematik olarak FPGA tabanlı sinir ağı hızlandırıcılarını araştırdı. Spesifik olarak, belirli problemler, belirli algoritmalar, algoritma özellikleri ve genel şablonlar için hızlandırıcıları gözden geçirdiler.Ayrıca, farklı cihaz ve ağ modellerinde FPGA tabanlı hızlandırıcıların tasarımını ve uygulamasını karşılaştırdılar ve bunları CPU ve GPU sürümleriyle karşılaştırdılar. Karşılaştırma için. Son olarak yazar, hızlandırıcıların FPGA platformundaki avantajlarını ve dezavantajlarını tartıştı ve gelecekteki araştırmalar için fırsatları daha da araştırdı.

Şekil 2: Farklı veri niceleme yöntemlerinin karşılaştırılması

Tablo 1: Farklı platformlarda farklı modellerin performans karşılaştırması

Fırsatlar ve Zorluklar

1960'ların başlarında, Gerald Estrin yeniden yapılandırılabilir hesaplama kavramını önerdi. Ancak 1985 yılına kadar Xilinx tarafından ilk FPGA yongası tanıtıldı. FPGA platformunun paralelliği ve güç tüketimi mükemmel olsa da platform, yüksek yeniden yapılandırma maliyeti ve karmaşık programlaması nedeniyle insanların dikkatini çekmedi. Derin öğrenmenin sürekli gelişimi ile, uygulamalarının yüksek paralelliği, giderek daha fazla araştırmacının FPGA tabanlı derin öğrenme hızlandırıcı araştırmalarına yatırım yapmasını sağlamıştır. Bu aynı zamanda zamanın trendi.

FPGA tabanlı hızlandırıcıların avantajları

1) Yüksek performans ve düşük enerji tüketimi: Daha önceki birçok çalışma bunu kanıtladığı için, yüksek enerji verimliliğinin avantajları küçümsenemez. Tablo 1'den görülebileceği gibi FPGA platformunda GOP / j performansının onlarca kata ulaşabildiği, FPGA platformundaki en düşük seviyesinin ise GPU platformundaki performansıyla aynı seviyede olduğu görülmektedir. Bu, FPGA tabanlı sinir ağı hızlandırıcılarının yüksek enerji verimliliği avantajlarını göstermek için yeterlidir.

2) Yüksek paralellik: Yüksek paralellik, derin öğrenmeyi hızlandırmak için FPGA platformunu seçmenin temel özelliğidir. FPGA'nın programlanabilir mantık donanım birimi sayesinde, donanım, yüksek paralellik sağlayan paralelleştirme algoritmaları kullanılarak kolayca optimize edilebilir.

3) Esneklik: FPGA'nın yeniden yapılandırılabilirliği sayesinde karmaşık mühendislik ortamlarına uygulanabilir. Örneğin, donanım tasarımı ve uygulama tasarımı tamamlandıktan sonra, performansın ideal duruma ulaşmadığı deneyler sonucunda tespit edilir. Yeniden yapılandırılabilirlik, FPGA tabanlı donanım hızlandırıcıların sık tasarım değişikliklerini yönetmesine ve kullanıcıların değişen gereksinimlerini karşılamasına olanak tanır. Bu nedenle, ASIC platformuyla karşılaştırıldığında, bu esneklik aynı zamanda FPGA platformunun en önemli özelliği.

4) Güvenlik: Günümüzün yapay zeka çağı, eğitim için giderek daha fazla veriye ihtiyaç duyuyor. Bu nedenle, veri güvenliği giderek daha önemli hale geliyor. Bir veri taşıyıcısı olarak, bilgisayarların güvenliği daha önemli hale geldi. Günümüzde bilgisayar güvenliği denilince akla her türlü antivirüs yazılımı gelmektedir. Ancak bu yazılımlar yalnızca pasif olarak savunabilir ve güvenlik risklerini ortadan kaldıramaz. Aksine, donanım mimarisi seviyesinden başlamak güvenliği daha iyi artırabilir.

FPGA tabanlı hızlandırıcıların dezavantajları

1) Yeniden Yapılandırılabilir Maliyet: FPGA platformunun yeniden yapılandırılabilirliği iki ucu keskin bir kılıçtır. Hesaplama hızı açısından çok fazla kolaylık sağlasa da, farklı tasarımların yeniden yapılandırılmasıyla harcanan zaman göz ardı edilemez.Genellikle onlarca dakika ila birkaç saat sürer. Ek olarak, yeniden yapılandırma süreci iki türe ayrılır: statik yeniden yapılandırma ve dinamik yeniden yapılandırma. Derleme zamanı yeniden yapılandırma olarak da adlandırılan statik yeniden yapılandırma, donanımı, görev çalıştırılmadan önce bir veya daha fazla sistem işlevini işleyecek ve görev tamamlanmadan önce kilitleyecek şekilde yapılandırma yeteneğini ifade eder. Diğerine çalışma zamanı yapılandırması da denir. Dinamik yeniden yapılandırma, bağlam yapılandırma modunda gerçekleştirilir. Görevin yürütülmesi sırasında, donanım modülü gerektiği gibi yeniden yapılandırılmalıdır. Ancak geciktirmek çok kolaydır, dolayısıyla çalışma süresini uzatır.

2) Programlama güçlükleri: Yeniden yapılandırılabilir hesaplama mimarisi kavramı uzun süredir önerilmiş olmasına ve birçok olgun çalışma olmasına rağmen, yeniden yapılandırılabilir hesaplama daha önce popüler hale gelmemiştir. İki ana sebep var:

  • Yeniden yapılandırılabilir hesaplamanın ortaya çıkışından 21. yüzyılın başına kadar geçen 40 yıl, teknolojinin her bir buçuk yıl değiştiği Moore Yasası'nın altın çağıdır. Bu nedenle, bu mimari güncellemesinin getirdiği performans iyileştirmesi, teknolojik ilerleme kadar doğrudan ve güçlü değildir;

  • Olgun sistemler için, CPU üzerindeki geleneksel programlama, yüksek seviyeli soyut programlama dillerini kullanır. Bununla birlikte, yeniden yapılandırılabilir bilgi işlem, donanım programlama gerektirir ve yaygın olarak kullanılan donanım programlama dilleri (Verilog, VHDL), programcıların uzmanlaşması için çok fazla zaman gerektirir.

beklemek

FPGA tabanlı sinir ağı hızlandırıcılarının hala şu veya bu tür sorunları olmasına rağmen, gelecekteki gelişimleri hala umut vericidir. Aşağıdaki yönler hala incelenecektir:

Hesaplama sürecinin diğer kısımlarını optimize edin. Şimdi, ana akım araştırma matris hesaplama döngüsüne odaklanıyor ve aktivasyon fonksiyonunun hesaplanması nadiren dahil ediliyor.

Erişim optimizasyonu. Veri erişimi için diğer optimizasyon yöntemlerini daha fazla incelemeniz gerekir.

Veri optimizasyonu. Platform performansını doğal olarak artırabilen daha düşük bitli verileri kullanın, ancak düşük bitli verilerin çoğu, ağırlığı nöronun bit genişliğiyle aynı yapar. Şekil 2, doğrusal olmayan haritalama ile bit genişliği farkını da geliştirebilir. Bu nedenle, daha iyi bir denge araştırılmalıdır.

Frekans optimizasyonu. Şu anda, çoğu FPGA platformunun çalışma frekansı 100-300 MHz'dir, ancak FPGA platformlarının teorik çalışma frekansı daha yüksek olabilir. Bu frekans, esas olarak yonga üzerindeki SRAM ve DSP arasındaki iş parçacığı ile sınırlıdır. Gelecekteki araştırmalar, bu sorunu önlemenin veya çözmenin yollarının olup olmadığını bulmalıdır.

FPGA füzyonu. Referans belgesi 37'de belirtilen performansa göre, planlama ve tahsis sorunları iyi çözülebilirse, çoklu FPGA kümelenmesi daha iyi sonuçlar elde edebilir. Ayrıca şu anda bu yönde çok fazla araştırma yok. Bu yüzden daha fazlasını keşfetmeye değer.

Otomatik konfigürasyon. FPGA platformundaki karmaşık programlama problemlerini çözmek için Nvidia CUDA gibi kullanıcı dostu bir otomatik dağıtım çerçevesi yapılırsa uygulama kapsamı kesinlikle genişleyecektir.

Erişte gibi kelimeler görmek Bu "Askeri Baba" Hong Kong'daki "Asker Kızı" na söylemek istiyor
önceki
Kim osurdu? Embiid başı çekti ve spot ışığını çalmak için burnunu ve ağzını kapattı
Sonraki
Endüstri Kimin hidrojen yakıt hücresi yaptığını anlamak için bir makale
Çin bu kararı verdikten sonra, Avustralya biraz "şaşkına döndü"
Play-off'ların maç başına ortalama 21 + 8 oldu! Yurtiçi mektup kardeşi üçüncü dış yardımı oynuyor, o sıkıca Sincan'ın çekirdek tahtında oturuyor
Çin'de biri "küçük sarı kitap" yazdığı için mahkum edildi ve "New York Times" azarladı ...
5G baz istasyonu nedir?
Çin petrol satın almak için RMB kullanıyor, petrodolar tekrar kaybediyor, yabancı medya: petrol fiyatları hızla zayıflıyor olabilir
Kayıp "iki bomba ve bir yıldız" kurucusunun anısına tutkuyla değer verin
Çin güveç sıralamalarını okuduktan sonra tükürük çıktı
Playofflarda çift çiftler! Xinjiang N sonunda cevabı bulmak için bir yabancıya dönüşür, saunadaki adam Guangdong'u Beasley'i değiştirmeye zorlayabilir
Çinli balıkçılar Japonya'da bir servet kazandıktan sonra, Japon çiftçiler Çinlilerin pirinç kaselerini kilitliyor olabilir.
Dünyadaki en uygun maliyetli şehir! Minimum uçak bileti 500, yemek için 10 yuan!
Yang Ming'in emekliliği saniyeler içinde sıcak bir arayış! Guo Ailun, CCTV'ye çok minnettar: İki sezon daha oynayacağını söyledi
To Top