Skip to main content

Görüntü Tespitinde FPGA ve Derin Öğrenme Kullanımı

Derin öğrenmenin 2012 yılından bu yana hızla yaygınlaşması ve görüntü tespitindeki doğruluk oranının artmasında GPU mimarisinin kullanılması büyük bir rol oynamaktadır (GPU mimarileri CPU mimarilerine göre daha fazla çekirdek barındırdığından paralel işlem bakımından üstünlük barındırmaktır).

Derin öğrenme için GPU kullanmak zorunda mıyız? şeklinde bir soru aklınıza gelebilir. Bu soruyu doğru cevaplamak için son dönemde üzerinde çalışılan alternatif çözümlere de bakmamız gerekiyor.

Altera Startix 10

Bu yazıda özellikle konuyla ilgili çalışma yapmak isteyenler için çeşitli makaleler paylaşılmıştır. FPGA platformları (FPGA Nedir?) GPU platformları kadar hızlı olmasa da enerji tüketimi dikkate alındığında tercih sebebi olabiliyorlar. Microsoft Open Cloud Server yapısında enerji tüketiminin GPU’lara göre dha az olması nedeniyle FPGA kullanmakta. Derin öğrenmenin bir eğitim bir de uygulama safhası dikkate alındığında, eğitim safhasında FPGA kullanmak işleri çıkmaza sokabilir. İşte bu nedenle Facebook hergün sisteme yüklenen 600 milyon fotografla anlamlı veri elde etmek için GPU yapısı kullanmaktadır.

Verisetinizi eğittikten sonra elde ettiğiniz modelinizi kullanmak için FPGA kullanmayı düşünebilirsiniz. Yazının devamında Altera’nın geliştirdiği FPGA kartı üzerinde yaptığı demo videolarını görebilirsiniz. Demolardan anladığım gerçek zamanlı tanımada FPGA ufakta olsa geçikme yaşıyor.

Güç tüketimi bakımından FPGA uygulamada tercih sebebi olacaksa bir de uygulama yazımı konusunu değerlendirmek gerekiyor. FPGA platformlarına kod yazan uzman sayısının az olduğu, nispetende zorluklar barındırdığı gözardı edilmemelidir.

Peki, güç tüketimi konusu değerlendirildiğinde GPU tabanlı alternatif bir çözüm yok mu? NVIDIA Jetson TX1 düşük güç tüketimi yanında sağlamış olduğu altyapı desteği sayesinde geliştiriciler için alışmış oldukları ortamı bırakmadan GPU mimarisinin sağlamış olduğu tüm olanakları gömülü donanım hızlandırmalı olarak kullanma imkanı sunuyor.

GPU dışındaki diğer yapılar:

Google, makine öğrenmesi ve TensorFlow için Tensor Processing Unit (TPU) yapısına sahip. Söz konusu işlemci Google’ın birçok ürününde hizmet vermeye başladı. Bu mimari özellikle düşük enerji tüketimi bakımından GPU’lara göre daha uygun gözüküyor.

Tensor Processing Unit board

IBM TrueNorth işlemcisi DARPA SyNAPSE Programı desteği ile geliştirilen ve 70 miliwatt enerji harcayarak saniyede 46 milyar sinaptik işlem yapabilen avuç içi süper bilgisayardır. Kıyaslama açısından bakarsak insan beyni 100 trilyon işlem için 20W harcarken varsayıma dayalı bir bilgisayarın bu kadar işlemi yapabilmesi için 12GW’a ihtiyaç duyulmaktadır. Daha fazla bilgi için http://www.research.ibm.com/articles/brain-chip.shtml adresine bakabilirsiniz.

TrueNorth Chip Core Array

Intel Altera FPGA‘yi bünyesine kattıktan sonra Altera derin öğrenme kullanımına yönelik çalışmalarına hız verdi. Aşağıdaki videolardan ve kaynaklardan detaylara ulaşabilirsiniz.

Convolution Neural Network CNN Implementation on Altera FPGA using OpenCL

FPGAs vs. GPGPUs

Machine Learning on FPGAs: Neural Networks

 

Object Detection and Recognition with Neural Networks

ALTERA ile obje tespiti ve tanıma yapılabiliyorsada gerçek zamanlı işlem geçikmesi sorun teşkil edebilir.

FPGA ile derin öğrenme kullanımına yönelik makaleler:

1. Accelerating Deep Convolutional Neural Networks Using Specialized Hardware

Accelerating Deep Convolutional Neural Networks U sing Specialized Hardware.pdf

2. Deep Learning on FPGAs: Past, Present, and Future

Deep Learning on FPGAs Past Present and Future1602.04283v1.pdf

3. CNNLab: a Novel Parallel Framework for Neural Networks using GPU and FPGA

CNNLab a Novel Parallel Framework for Neural Networks using GPU and FPGA-a Practical Study with Trade-off Analysis.pdf

Kaynaklar:

http://www.fpganedir.com

http://www.newelectronics.co.uk/electronics-technology/intels-programmable-systems-group-takes-its-first-step-towards-an-fpga-based-system-in-package-portfolio/142701/

OpenCL Caffe

https://www.quora.com/Is-implementing-deep-learning-on-FPGAs-a-natural-next-step-after-the-success-with-GPUs

https://www.tractica.com/automation-robotics/fpgas-challenge-gpus-as-a-platform-for-deep-learning

http://www.embedded-vision.com/industry-analysis/technical-articles/fpgas-deep-learning-based-vision-processing

https://www.altera.com/products/fpga/stratix-series/stratix-10/overview.html

https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/backgrounder/stratix10-floating-point-backgrounder.pdf

http://www.teradeep.com

https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html

Need Deep Learning? There’s a Cloud for That.

http://www.techrepublic.com/article/ibms-brain-inspired-chip-truenorth-changes-how-computers-think-but-experts-question-its-purpose/

http://www.nextplatform.com/2016/06/21/knights-landing-solid-ground-intels-stake-deep-learning

http://www.nextplatform.com/2016/06/29/universal-fpga-gpu-platform-deep-learning

http://www.heig-vd.ch/docs/default-source/pdf-news-2014/thoma13fpga.pdf

Ferhat Kurt

Ferhat Kurt

NVIDIA Deep Learning Institute Sertifikalı eğitmen.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: