Neural Network Model Caching in SRAM to Avoid Reload Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hardware accelerators face significant latency and power consumption due to the need to reload and recompile neural network models frequently, as they can only store parameters for a single model at a time, leading to inefficient memory usage and processing delays.

Innovation Solution

A compiler identifies frequently invoked neural network models and compiles them in a sequence, storing the compiled models in SRAM with unique hashes, allowing for simultaneous storage and quick retrieval, thereby avoiding redundant reloading and improving processing speed and energy efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parameters of a single neural network model are stored in the memory of the hardware accelerator, then the model can be executed efficiently, but when another model needs to be executed, parameters must be reloaded causing latency and power consumption

Engineering Contradiction:
Improvemodel execution efficiencyVSAvoidlatency due to parameter reloading
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by identifying frequently invoked neural network models and pre-loading their parameters into the hardware accelerator memory in advance. This allows the models to be ready for execution without waiting for parameter loading at runtime, thereby reducing latency and improving execution efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adapts the memory allocation and model selection based on runtime conditions. It monitors which models are frequently invoked and adjusts which models are loaded into memory accordingly. This dynamic approach allows the system to optimize for the most commonly used models while maintaining flexibility to handle different execution scenarios.

Inventive Principle:
Principle #15Dynamics

2Speed

If parameters of frequently invoked neural network models are pre-loaded into SRAM, then processing speed improves, but memory resources are consumed

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory resource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies partial action by selectively loading only the parameters of frequently invoked neural network models into the SRAM, rather than loading all possible models. This partial loading approach optimizes the use of limited memory resources while still achieving significant performance improvements for the most commonly executed models.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the parameter of model frequency invocation to determine which models deserve pre-loading. By monitoring and analyzing the invocation frequency parameter, the system dynamically selects which models to load into memory, thereby optimizing the balance between processing speed and memory consumption based on actual usage patterns.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the hardware accelerator memory is cleared and reloaded with compiled models, then outdated models are removed, but unnecessary clearing and reloading causes latency

Engineering Contradiction:
Improvemodel execution accuracyVSAvoidlatency due to unnecessary clearing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements feedback mechanisms to track which models are currently in use and which have been replaced. This feedback information is used to intelligently determine when memory clearing is actually necessary, preventing unnecessary clearing operations that would cause latency while ensuring that outdated models are properly removed when needed.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service by autonomously managing the model parameter lifecycle in memory. It automatically identifies when models need to be loaded, when they can be evicted, and when memory clearing is necessary, without requiring external intervention. This self-managed approach reduces unnecessary clearing operations and optimizes memory utilization patterns.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3966680B1Efficient processing of neural network models
Publication Date: 2022.11.16 GOOGLE LLC
  • EP3966680B1 patent drawingFigure 1
  • EP3966680B1 patent drawingFigure 2
  • EP3966680B1 patent drawingFigure 3

AI summary

A compiler of a computing device is described that identifies a sequence of neural network models frequently invoked by an application of the computing device, compiles the models in that sequence, and loads a static random access memory (SRAM) of a hardware accelerator with the compiled models only when the same compiled models-from another, but same, sequence that was previously invoked-are not already present in the SRAM. This prevents unnecessary reloading of compiled models into the SRAM, thereby increasing runtime speed and conserving computational energy.