doi: 10.17586/2226-1494-2020-20-4-560-567


УДК 004.383

МОДЕЛЬ ИНСТРУМЕНТАЛЬНОГО СРЕДСТВА АВТОМАТИЗИРОВАННОГО СИНТЕЗА АППАРАТНЫХ УСКОРИТЕЛЕЙ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМ

Егиазарян В.А., Быковский С.В.


Читать статью полностью 
Язык статьи - русский

Ссылка для цитирования:
Егиазарян В.А., Быковский С.В. Модель инструментального средства автоматизированного синтеза аппаратных ускорителей сверточных нейронных сетей для программируемых логических интегральных схем
// Научно-технический вестник информационных технологий, механики и оптики. 2020. Т. 20. № 4. С. 560–567. doi: 10.17586/2226-1494-2020-20-4-560-567


Аннотация

 В настоящее время все больше задач по обработке и анализу изображений решаются с использованием сверточных нейронных сетей. Сети, реализованные с использованием высокоуровневых языков программирования, библиотек и фреймворков невозможно использовать в системах реального времени, например, для обработки потокового видео в вычислительной системе автомобиля, из-за низкой скорости и энергоэффективности таких реализаций. Для подобных задач необходимо использовать специализированные аппаратные ускорители нейронных сетей. Проектирование таких ускорителей является сложным итеративным процессом, требующим узкоспециализированных знаний и квалификации. Это делает актуальным вопрос создания средств автоматизации высокоуровневого синтеза подобных вычислителей. Целью исследования стала разработка средства автоматизированного синтеза нейросетевых ускорителей из высокоуровневой спецификации, позволяющего снизить время разработки таких ускорителей для устройств программируемой логики. В качестве высокоуровневой спецификации используется описание сетей, которое можно получить с помощью фреймворка TensorFlow. Проведено исследование нескольких стратегий оптимизации структуры сверточных сетей, способов организации вычислительного процесса и форматов представления данных в нейронных сетях и их влияния на характери- стики получаемого вычислителя. Показано, что оптимизация структуры полносвязных слоев нейронной сети на примере решения задачи распознавания рукописных цифр из набора MNIST сокращает количество параметров сети на 95 % с потерей точности около 0,43 %, конвейеризация вычислений ускоряет расчет в 1,7 раз, а благодаря распараллеливанию отдельных частей вычислительного процесса достигается ускорение почти в 20 раз, хотя на это и требуется в 4–6 раз больше ресурсов программируемых логических интегральных схем. Переход в вычислениях от чисел с плавающей точкой к числам с фиксированной точкой позволяет сократить используемые ресурсы в 1,7–2,8 раз. Проведен анализ полученных результатов, и предложена модель инструментального средства автоматизированного синтеза, которая позволяет выполнить обозначенные оптимизации с целью удовлетворения предъявляемых требований по быстродействию и используемым ресурсам при реализации нейросетевых ускорителей на микросхемах программируемых логических интегральных схем.


Ключевые слова: сверточные нейронные сети, нейросетевые ускорители, аппаратные ускорители, ПЛИС, САПР, высокоуровневый синтез

Список литературы
1. Guan Y., Liang H., Xu N., Wang W., Shi S., Chen X., Sun G., Zhang W., Cong J. FP-DNN: An automated framework for mapping deep neural networks onto FPGAs with RTL-HLS hybrid templates // Proc. 25th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM 2017). 2017. P. 152–159. doi: 10.1109/FCCM.2017.25
2. Venieris S.I., Bouganis C.-S. FpgaConvNet: A framework for mapping convolutional neural networks on FPGAs // Proc. 24th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM 2016). 2016. P. 40–47. doi: 10.1109/FCCM.2016.22
3. Venieris S.I., Bouganis C.-S. Latency-driven design for FPGA-based convolutional neural networks // Proc. 27th International Conference on Field Programmable Logic and Applications (FPL 2017). 2017. P. 8056828. doi: 10.23919/FPL.2017.8056828
4. Noronha D.H., Salehpour B., Wilton S.J.E. LeFlow: enabling flexible FPGA high-level synthesis of tensorflow deep neural networks // Proc. 5th International Workshop on FPGAs for Software Programmers (FSP 2018), co-located with International Conference on Field Programmable Logic and Applications (FPL 2018). 2018. P. 46–53.
5. Lattner C., Adve V. LLVM: A compilation framework for lifelong program analysis & transformation // Proc. of the International Symposium on Code Generation and Optimization (CGO 2004). 2004. P. 75–86. doi: 10.1109/CGO.2004.1281665
6. Zhang X., Wang J., Zhu C., Lin Y., Xiong J., Hwu W.-M., Chen D. DNNBuilder: an automated tool for building high-performance DNN hardware accelerators for FPGAs // Proc. 37th IEEE/ACM International Conference on Computer-Aided Design (ICCAD 2018). 2018. P. a56. doi: 10.1145/3240765.3240801
7. Zhang C., Sun G., Fang Z., Zhou P., Pan P., Cong J. Caffeine: Toward uniformed representation and acceleration for deep convolutional neural networks // IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 2019. V. 38. N 11. P. 2072–2085. doi: 10.1109/TCAD.2017.2785257
8. Duarte J., Han S., Harris P., Jindariani S., Kreinar E., Kreis B., Ngadiuba J., Pierini M., Rivera R., Tran N., Wu Z. Fast inference of deep neural networks in FPGAs for particle physics // Journal of Instrumentation. 2018. V. 13. N 7. P. P07027. doi: 10.1088/1748-0221/13/07/P07027
9. Cheng Y., Wang D., Zhou P., Zhang T. A survey of model compression and acceleration for deep neural networks // arXiv:1710.09282.
10. Rastegari M., Ordonez V., Redmon J., Farhadi A. XNOR-net: Imagenet classification using binary convolutional neural networks // Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). 2016. V. 9908. P. 525–542. doi: 10.1007/978-3-319-46493-0_32
11. Vanhoucke V., Senior A., Mao M.Z. Improving the speed of neural networks on CPUs // Proc. of the Deep Learning and Unsupervised Feature Learning Workshop (NIPS 2011). 2011.
12. Jang H., Park A., Jung K. Network implementation using CUDA and OpenMP // Proc. of the Digital Image Computing: Techniques and Applications (DICTA 2008). 2008. P. 155–161. doi: 10.1109/DICTA.2008.82
13. Abadi M., Agarwal A., Barham P. et al. TensorFlow: Large-scale machine learning on heterogeneous distributed systems // arXiv:1603.04467.
14. Chollet F. et al. Keras. 2015 [Электронный ресурс]. URL: https://github.com/keras-team/keras (дата обращения: 01.02.2020).


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Информация 2001-2021 ©
Научно-технический вестник информационных технологий, механики и оптики.
Все права защищены.

Яндекс.Метрика