Other: General Processor

General Purpose Neural Processing Unit

AP031

SungHo Lee (Yonsei University)

Apr 04, 2022 3144 views

General Purpose Neural Processing Unit

[The General Purpose Neural Processor Unit proposed in this project aims to simulate and cluster an SNN-based neural network that can solve at least one problem.]

There is a saying, butterfly effect. This means that the small wings of butterflies drive a big typhoon. Likewise, something happens under the influence of many things. For example, solar power generation is affected by wind, cloud, temperature, etc., and farming is affected by solar radiation, precipitation, and temperature. To solve these nonlinear problems, methods such as machine learning have emerged these days.

Machine learning is an algorithm that uses neural networks to analyze data and make decisions based on learned information. Since various types of data can be used as data for learning, it is suitable and widely used to solve nonlinear problems. However, it has only recently begun to be used because it requires a lot of computing power. And even now, big models take a lot of time.

As a way to solve this problem, a neural network model was designed and uploaded to the FPGA for use. But one neural network model had the disadvantage of being able to solve only one problem. To this end, accelerators such as NPUs equipped with many modules that perform repeated operations (mainly convolution operations) also came out.

These NPUs were created with neural networks such as CNN and RNN, which are second-generation neural networks. However, research on SNN, a third-generation neural network, is active these days, and NPU using it is being designed. A typical example is IBM's Truenorth. SNN is a neural network that mimics real neurons and has several advantages in terms of power and learning. In addition, SNN is completely bio-plausible, so it is an essential route in the future to implement artificial intelligence.

Several neurons gather to create a neural network system, and the system gathers to form a neural network network. As things happen under the influence of many things, data on many things are important. Each task is proposed as an idea to break away from not the basic way provided to the neural network as a variable and but solve it through network connection and cluster.

Demo Video

[URL: https://youtu.be/yFe2nzPiT18]

Project Proposal


1. High-level project introduction and performance expectation

[Purpose of Design]

One thing happens due to a combination of problems. To this end, a project has been devised to cluster SNN-based neural network networks. Prior to that, it will be designed for the purpose of making it easier for anyone to apply and use neural networks to various problems. Projects easily applied by users will be connected to the Internet and clustered with neural network of other projects related to them. A single processor unit can achieve sufficient results, but the more users increase, the better the result will be.

 

[Key Ideas]

-SNN

Spiking neural networks (SNN) represent a special class of artificial neural networks (ANN), where neuron models communicate by sequences of spikes. Networks composed of spiking neurons are able to process substantial amount of data using a relatively small number of spikes. Due to their functional similarity to biological neurons, spiking models provide powerful tools for analysis of elementary processes in the brain, including neural information processing, plasticity and learning. At the same time spiking networks offer solutions to a broad range of specific problems in applied engineering, such as fast signal-processing, event detection, classification, speech recognition, spatial navigation or motor control. It has been demonstrated that SNN can be applied not only to all problems solvable by non-spiking neural networks, but that spiking models are in fact computationally more powerful than perceptrons and sigmoidal gates. Due to all these reasons SNN are the subject of constantly growing interest of scientists.

-NPU

A neural processor, a neural processing unit (NPU), or simply an AI Accelerator is a specialized circuit that implements all the necessary control and arithmetic logic necessary to execute machine learning algorithms, typically by operating on predictive models such as artificial neural networks (ANNs) or random forests (RFs).

 

[Application Scope and Targets]

This project is designed to be applicable to various fields.

  • -All peripherals can be connected regardless of analog or digital.
  • -Neural network network evolves on its own according to each project.
  • -The neural network networks of each processor are connected to the Cloud (MS IoT) and used in connection with other networks that require it.

Thanks to these features, it is expected that users in various fields can easily use them.

 

[Why Intel FPGA?]

  • -Rich of IP.

Intel (Altera) has long provided experience related to FPGA. Numerous useful IPs that have accumulated so far have no choice but to choose Intel's FPGA, not other manufacturers.

  • -Good Quartus

Good IDE is needed to design the FPGA. And I think Quartus is the best IDE to use. Quartus, which is friendly, versatile, and easy to use, is one of the big reasons for choosing Intel FPGA. In addition, the synthesis time is fast.

  • -Good specification.

Intel's FPGA has better specifications in terms of LUT, memory, and SoC at the same price. It also has a great advantage of lower power consumption. Considering actual production, these two factors are the best FPGA solution to choose Intel's FPGA.

2. Block Diagram

Fig.1: Data Flow Block Diagram

 

Fig2. Connection Block Diagram

3. Expected sustainability results, projected resource savings

The goals to be achieved while working on this project are as follows.

  • -Less power consumption than the existing NPU baseline, but better results.
  • -Up to 300 neurons and 700 synapses can be activated simultaneously.
  • -A system composed of up to 3000 neurons can be constructed.
  • -Analog and digital peripherals can be connected and expanded without difficulty.
  • -Not only the weights(synapse plasticity) but also the neural network structure is adapted and learned according to the environment.

In achieving these goals, the GPNPU project hopes to achieve more sustainable results using many people in various fields. For example, wind power generation and solar power generation companies can use GPNPU to predict power generation and use less power and cost, and plan for this. In addition, farmers and beekeepers around them can get better results in real time from wind power generation and solar power neural network as they use GPNPU, which will eventually lead to sustainable and environmentally friendly.

4. Design Introduction

[Purpose of Design]

One thing happens due to a combination of problems. To this end, a project has been devised to cluster SNN-based neural network networks. Prior to that, it will be designed for the purpose of making it easier for anyone to apply and use neural networks to various problems. Projects easily applied by users will be connected to the Internet and clustered with neural network of other projects related to them. A single processor unit can achieve sufficient results, but the more users increase, the better the result will be.

 

 

[Application Scope and Targets]

This project is designed to be applicable to various fields.

  • -All peripherals can be connected regardless of analog or digital.
  • -Neural network network evolves on its own according to each project.
  • -The neural network networks of each processor are connected to the Cloud (MS IoT) and used in connection with other networks that require it.

Thanks to these features, it is expected that users in various fields can easily use them.

5. Functional description and implementation

1. Soma Unit

It is a key part of the neuron. Due to DE10-Nano's small chip space, Soma Unit's Functional Behavior is implemented based on simplified version.[1]

<Soma Bahavior Mathmatical Expression>

<Function Algorithm>

<RTL view>

2. Synapse Unit

It delivers Nueron's Spike to another Neuron. The Weight is adjusted under the influence of the spike of neurons in the pre and post direction. To adjust weight, it uses STDP rule.

<STDP rule Mathmatical Expression>

<Function Algorithm>

<RTL View>

3. Server

It manages Soma Unit and Synapse Unit, and make them communicate each other. In addition, it communicates with RAM controller to connect with HPS

<Functional Algorithm>

<RTL View>

These Modules are consist of Avalon-MM, which is Intel's unique IP. We can organize and manage with useful toll called Platform Designer. That's why I used Intel FPGA.

[1] : K.Lee, Y.Kim (2019) Hardware implementation of the simplified digital spiking neural network on FPGA

6. Performance metrics, performance to expectation

The goals to be achieved while working on this project are as follows.

  • -Less power consumption than the existing NPU baseline, but better results.
  • -Up to 300 neurons and 700 synapses can be activated simultaneously.
  • -A system composed of up to 3000 neurons can be constructed.
  • -Analog and digital peripherals can be connected and expanded without difficulty.
  • -Not only the weights(synapse plasticity) but also the neural network structure is adapted and learned according to the environment.

In achieving these goals, the GPNPU project hopes to achieve more sustainable results using many people in various fields. For example, wind power generation and solar power generation companies can use GPNPU to predict power generation and use less power and cost, and plan for this. In addition, farmers and beekeepers around them can get better results in real time from wind power generation and solar power neural network as they use GPNPU, which will eventually lead to sustainable and environmentally friendly.

7. Sustainability results, resource savings achieved

Those are what I've achieved.

- Up to 200 neurons and 100 synapses can be activated simultaneously.

- A system can handle up to 2^32 neurons, and 2^32 synapses.

 

Those are functions I didn't implement.

- Generative Algorithm

- Azure IoT Hub

- Analog Device

- Power Consumption Checker

 

<Working Neural Network>

8. Conclusion

In this project, I designed a neural processor that simulates the Spiking Neural Network.
Originally, it is planned to implement features related to the Genetic Algorithm Processor, Azure IoT Hub, and Analog Data Peripheral. And also measuring power consumption.
But there was not enough time because I am currently serving in the military. It was regrettable that only essential functions could be implemented.
Later, I have plans to design a perfect neural processor with features originally intended to be implemented.

 

While participating in the competition, I was able to develop myself more. Appreciate this opportunity to Intel, Teradic and all other sponsors.

 

Thank you.

0 Comments



Please login to post a comment.