Neural Network Random Vector Generation via Parallel Hardware Modules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for generating random vectors in multilayer neural networks are inefficient as they can only produce one random number at a time, leading to lower efficiency when a large number of random numbers are needed.

Innovation Solution

A neural network acceleration processor is designed with a controller unit, computation module, and caching unit to generate random vectors, utilizing LFSR and Ziggurat modules to produce multiple random numbers in parallel, following specific distributions such as uniform and Gaussian, and storing them in on-chip caching units for faster access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a general-purpose processor is used to generate random numbers, then the device complexity is low, but the productivity is low because only one random number can be generated at a time

Engineering Contradiction:
Improverandom number generation speedVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The random number generation function is segmented into dedicated hardware modules (LFSR modules, Ziggurat modules) that operate independently in parallel, rather than using a single general-purpose processor. This segmentation enables multiple random numbers to be generated simultaneously while keeping each module relatively simple in structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The software-based random number generation on a general-purpose processor is replaced with a hardware-based system using LFSR (Linear Feedback Shift Register) and Ziggurat modules. This substitution transitions from a sequential software execution model to a parallel hardware implementation, dramatically improving generation speed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If multiple random numbers are generated in parallel using dedicated hardware modules, then the productivity is high, but the device complexity increases due to additional modules

Engineering Contradiction:
Improveparallel random number generation capabilityVSAvoidnumber of hardware modules
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple LFSR modules that generate raw random values are merged with Ziggurat modules that transform these values into distributed random numbers. The caching unit also merges storage and retrieval functions, allowing parallel generation while managing complexity through functional integration.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The Ziggurat modules serve multiple functions: they receive random values from LFSR modules, transform them according to specified distributions (uniform, Gaussian, etc.), and output the final random numbers. This multi-functionality reduces the need for separate dedicated modules for each distribution type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If random vectors are generated frequently in deep learning processes, then the adaptability to neural network requirements is high, but the loss of time increases due to sequential generation

Engineering Contradiction:
Improvesupport for various distributionsVSAvoidtime to generate large number of random numbers
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-generating large batches of random numbers across multiple distributions simultaneously using parallel hardware modules. These pre-generated random numbers are stored in the caching unit, allowing frequent neural network operations to access them without time-consuming sequential generation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system transitions from single-dimensional sequential generation to multi-dimensional parallel generation by implementing multiple LFSR and Ziggurat modules that operate simultaneously. This dimensional expansion in the generation process enables supporting various distributions without time loss.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11501158B2Apparatus and methods for generating random vectors
Publication Date: 2022.11.15 CAMBRICON (XIAN) SEMICON CO LTD
  • US11501158B2 patent drawing
  • US11501158B2 patent drawing
  • US11501158B2 patent drawing

AI summary

Aspects for vector operations in neural network are described herein. The aspects may include a controller unit configured to receive an instruction to generate a random vector that includes one or more elements. The instruction may include a predetermined distribution, a count of the elements, and an address of the random vector. The aspects may further include a computation module configured to generate the one or more elements, wherein the one or more elements are subject to the predetermined distribution.