RNN Runtime Configuration Automation for Time-Memory Tradeoffs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The efficient execution of recurrent neural networks (RNNs) is hindered by the challenging and error-prone process of selecting optimal runtime configurations, particularly in dynamic computing environments, where choices between looped and unlooped execution patterns impact performance due to tradeoffs between memory usage and execution time.

Innovation Solution

A system automatically determines runtime configurations for RNNs by analyzing factors such as the type of RNN, network structure, input data characteristics, and available computing resources, allowing for dynamic selection between rolled and unrolled execution patterns to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If RNN is executed using an unrolled execution pattern, then execution speed is improved, but memory resource consumption increases

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

Solution Approach 1:

The patent implements dynamic selection between rolled and unrolled execution patterns based on real-time analysis of computing resources and data characteristics. The system adjusts the execution pattern dynamically rather than using a fixed approach, allowing optimization of both speed and memory usage according to current operational conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes execution parameters (rolled vs. unrolled pattern) based on analyzed factors including RNN type, network structure, input data characteristics, and available computing resources. This parameter adjustment resolves the contradiction by selecting the appropriate execution pattern for specific operational contexts.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If manual configuration selection is performed for RNN runtime settings, then execution performance can be optimized, but the process becomes cumbersome and error-prone

Engineering Contradiction:
Improveexecution performanceVSAvoidconfiguration complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements an automated configuration system that performs self-analysis of RNN characteristics and computing resources to determine optimal runtime settings. This eliminates the need for manual configuration by data scientists, reducing errors and operational complexity while maintaining performance optimization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms that analyze various factors (RNN type, network structure, input characteristics, resource availability) to automatically adjust configuration settings. This closed-loop approach replaces manual tuning with automated decision-making based on real-time system state.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If a fixed execution pattern is used for all RNNs, then configuration simplicity is maintained, but performance optimization in dynamic environments is lost

Engineering Contradiction:
Improveadaptability to dynamic environmentsVSAvoidconfiguration system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent transforms the static configuration approach into a dynamic one by continuously analyzing operational conditions and adjusting execution patterns accordingly. This enables the system to adapt to changing environments while maintaining manageable complexity through automated decision-making.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11769035B1Automatically determining configurations for executing recurrent neural networks
Publication Date: 2023.09.26 AMAZON TECH INC
  • US11769035B1 patent drawing
  • US11769035B1 patent drawing
  • US11769035B1 patent drawing

AI summary

Techniques are described automatically determining runtime configurations used to execute recurrent neural networks (RNNs) for training or inference. One such configuration involves determining whether to execute an RNN in a looped, or “rolled,” execution pattern or in a non-looped, or “unrolled,” execution pattern. Execution of an RNN using a rolled execution pattern generally consumes less memory resources than execution using an unrolled execution pattern, whereas execution of an RNN using an unrolled execution pattern typically executes faster. The configuration choice thus involves a time-memory tradeoff that can significantly affect the performance of the RNN execution. This determination is made automatically by a machine learning (ML) runtime by analyzing various factors such as, for example, a type of RNN being executed, the network structure of the RNN, characteristics of the input data to the RNN, an amount of computing resources available, and so forth.