Neural Network Loop Detection for Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Evaluating the output of neural networks is resource-intensive in terms of time and memory, making it inefficient.

Innovation Solution

A graph-based model is used to represent and optimize neural networks through loop reconstruction and optimization techniques, such as loop fission, fusion, parallelization, and vectorization, to improve performance by centralizing data flow and identifying and reconstructing control flow patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional neural network evaluation is performed, then accurate output evaluation is achieved, but significant time and memory resources are consumed

Engineering Contradiction:
Improveoutput evaluation accuracyVSAvoidevaluation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the neural network computation into distinct operational phases and identifies loop structures within the computation graph. By detecting loops and separating them into identifiable regions, the system can apply specific optimizations to different segments, reducing redundant computations while preserving evaluation accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs loop detection and reconstruction as a preliminary action before executing the full neural network evaluation. By pre-identifying loop structures and preparing optimized computation paths in advance, the system avoids redundant computations during actual evaluation, significantly reducing evaluation time while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If traditional neural network evaluation is performed, then complete output assessment is achieved, but excessive memory resources are required

Engineering Contradiction:
Improveoutput evaluation completenessVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The computation graph is segmented into loop regions and non-loop regions, allowing memory-intensive operations to be identified and optimized separately. This segmentation enables the system to manage memory resources more efficiently by focusing optimization efforts on specific high-memory-consumption areas.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies loop optimizations that enable discarding of intermediate computation results that can be regenerated, and recovering computational patterns that can be reused. This approach reduces the memory footprint by eliminating the need to store all intermediate results while maintaining evaluation completeness.

Inventive Principle:
Principle #34Discarding and recovering

3Power

If loop reconstruction and optimization techniques are applied, then processor utilization is enhanced, but device complexity increases

Engineering Contradiction:
Improveprocessor utilizationVSAvoidoptimization system complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically detecting loops and applying optimizations without requiring external intervention or complex configuration. The loop detection mechanism autonomously analyzes the computation graph, identifies optimization opportunities, and applies appropriate transformations, simplifying the overall system architecture while improving processor utilization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230051050A1Neural network loop detection
Publication Date: 2023.02.16 NVIDIA CORP
  • US20230051050A1 patent drawing
  • US20230051050A1 patent drawing
  • US20230051050A1 patent drawing

AI summary

Apparatuses, systems, and techniques to detect loops in neural network graphs. In at least one embodiment, one or more loops are detected within one or more graphs corresponding to one or more neural networks.