A SOFTWARE PROGRAMMABLE MEMORY ARCHITECTURE FOR DEEP NEURAL NETWORKS (DNN)

A SOFTWARE PROGRAMMABLE MEMORY ARCHITECTURE FOR DEEP NEURAL NETWORKS (DNN). Masters thesis, King Fahd University of Petroleum and Minerals.

[img] PDF (This is my final thesis report)
AliThesis_ReportFinal.pdf - Accepted Version
Restricted to Repository staff only until 6 June 2022.

Download (5MB)

Arabic Abstract

الشبكات العصبية العميقة (DNN) هي شبكة عصبية اصطناعية (ANN) ذات طبقات متعددة بين طبقات الإدخال والإخراج. DNN لديها العديد من التطبيقات مثل رؤية الكمبيوتر ومعالجة اللغة واكتشاف العقاقير وعلم السموم والتحليل الطبي واكتشاف الاحتيال المالي والعمليات العسكرية. ومع ذلك ، نظرًا للهيكل المعقد الذي يتضمن العديد من العمليات وكميات كبيرة من البيانات ، فإن تنفيذ خوارزميات DNN يتطلب آلات قوية بشكل خاص يمكنها دعم عبء العمل. علاوة على ذلك ، فإن المعالجات ذات الأغراض العامة ليست مناسبة تمامًا لتنفيذ خوارزميات DNN من حيث الأداء. لقد تم اقتراح العديد من البنى (على سبيل المثال ، LeNet و GoogleNet و VGGNet و ZfNet و AlexNet) للتغلب على صعوبة تسريع DNN في الأجهزة ، ولكنها ليست مرنة بعد بما يكفي لتكون معيارًا. تعد خوارزميات DNN مثل الشبكات العصبية الالتفافية (CNN) والشبكات العصبية المتكررة (RNN) من بين الخوارزميات الشائعة المستخدمة في رؤية الكمبيوتر وتطبيقات معالجة اللغة الطبيعية. في هذا العمل البحثي ، اقترحنا بنية ذاكرة برمجية قابلة للبرمجة (SPM) فعالة وقابلة للتطوير لتوازي بيانات التصميم لدعم CNN و RNN بأداء أفضل. لقد اقترحنا أيضًا مجموعة تعليمات فعالة ومرنة لحل الكتل الوظيفية المعقدة لعمليات CNN و RNN في تعليمات للأغراض العامة تتوافق مع العمليات الحسابية منخفضة المستوى مثل المنتج النقطي وضرب المصفوفة المتجهية وضرب المصفوفة. يتم تحقيق الأداء في الهندسة المعمارية M من خلال تنفيذ العمليات الحسابية على SPM والتي تنقسم إلى مناطق M0 و M1 و ... M15 حيث يمكن لكل منطقة استيعاب متجه كبير ووحدة تنفيذ متجه (ExU) مما يساعد على معالجة البيانات بالتوازي وفي وقت أقل. تمت محاكاة الخوارزميات المقترحة باستخدام M-simulator الذي يتحقق من الوظائف والأداء مثل عدد العمليات وعدد الدورات وعدد العمليات لكل دورة. تم تطبيق معايير MNIST و CIFAR-10 على صورهم الطبقية بالتوازي. تم أيضًا تنفيذ تمثيلات Word2vec و 1-Hot لخوارزمية RNN الأساسية. في هذا العمل ، تم تنفيذ خوارزميات DNN بأفضل أداء قدمته ذاكرة برمجية قابلة للبرمجة في بنية M.

English Abstract

Deep Neural Networks (DNN) is an artificial neural network (ANN) with multiple layers between the input and output layers. DNN has many applications such as computer vision, language processing, drug discovery and toxicology, medical analysis, financial fraud detection, and military operations. However, due to the complex structure involving many operations and large amounts of data, the implementation of DNN algorithms requires powerful machines that can support the workload. Moreover, general-purpose processors are not well suited for implementing DNN algorithms in terms of performance. Several architectures (e.g., LeNet, GoogleNet, VGGNet, ZfNet, AlexNet) have been proposed to overcome the difficulty of DNN acceleration in hardware, but are not yet flexible enough to be a standard. The DNN algorithms such as Convolution Neural Networks (CNN) and Recurrent Neural Networks (RNN) are among the popular algorithms used in computer vision and natural language processing applications. In this research work, we have proposed an efficient and scalable Software Programmable Memory (SPM) architecture for design data parallelism to support CNN and RNN with better performance. We have also proposed an efficient and flexible instruction set to resolve complex functional blocks of CNN and RNN operations into general-purpose instructions corresponding to low-level computational operations such as dot product, vector-matrix multiplication, and matrix-matrix multiplication. The performance in the M-architecture is achieved by executing the computations on the SPM which is divided into regions M0, M1,...M15 where each region can accommodate a large vector and a vector execution unit (ExU) which helps to process data in parallel and in less time. The proposed algorithms were simulated using M-simulator which checks the functionality and performance such as number of operations, number of cycles, and number of operations per cycle. The MNIST and CIFAR-10 benchmarks were implemented their class images in parallel. The Word2vec and 1-Hot representations were also implemented for the basic RNN algorithm. In this work, the DNN algorithms were implemented with the best performance offered by Software Programmable Memory in the M- architecture.

Item Type: Thesis (Masters)
Subjects: Computer
Systems
Architectural
Engineering
Department: College Of Computer Sciences and Engineering > Computer Engineering Dept
Committee Advisor: Mudawar, Muhamed Fawzi
Committee Members: Sait, Sadiq M. and Tabakh, Abdulaziz
Depositing User: ALI ALI (g201806200)
Date Deposited: 09 Jun 2021 12:17
Last Modified: 09 Jun 2021 12:17
URI: https://eprints.kfupm.edu.sa/id/eprint/141893