Embedded Neural Network Pipeline for Pre-Training Performance Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Training machine-learned models for autonomous control systems is time-consuming and requires extensive exploration of different architectures, with existing methods often failing to optimize performance across various platforms due to varying hardware capabilities.

Innovation Solution

A pipeline that generates an intermediate representation of models, allowing for performance estimation without training, and iteratively modifies model complexity based on target platform capabilities, using a virtual machine to execute the models efficiently across different platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional model training methods are used for autonomous control systems, then model accuracy can be achieved, but training time becomes excessively long and resource-intensive

Engineering Contradiction:
Improvemodel accuracyVSAvoidtraining time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by generating an intermediate representation of the model architecture before actual training begins. This includes creating a computational graph, estimating memory requirements, and determining operation schedules in advance. By preparing these structural elements beforehand, the system avoids time-consuming trial-and-error during the training phase, thus reducing overall training time while maintaining model accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediate representation as a mediator between the model architecture definition and the actual training process. This intermediate form includes a computational graph that represents operations and data flows, allowing the system to analyze and optimize model structure without full training. The virtual machine executes this intermediate representation to estimate performance metrics, serving as a bridge that enables early validation and optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple model architectures are explored for different platforms, then platform-specific optimization is achieved, but the complexity of the deployment process increases

Engineering Contradiction:
Improveplatform optimizationVSAvoiddeployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements a universal intermediate representation that can represent model architectures independently of the target platform. This computational graph format serves multiple functions: it can be used for memory estimation, operation scheduling, performance prediction, and deployment across different embedded platforms. By maintaining this single universal representation, the system achieves platform-specific optimization without requiring separate model versions for each platform, thereby reducing deployment complexity.

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

Solution Approach 2:

The system optimizes model deployment by changing parameters in the intermediate representation based on target platform characteristics. The virtual machine analyzes platform-specific constraints (memory, compute capability) and adjusts the computational graph accordingly, such as modifying operation schedules or memory allocations. This parameter adjustment approach allows the same base model to be adapted to different platforms without redesigning the entire architecture.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If model complexity is reduced to meet embedded system constraints, then deployment feasibility improves, but model performance may deteriorate

Engineering Contradiction:
Improvedeployment feasibilityVSAvoidmodel performance
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The system applies partial optimization by selectively modifying only those parts of the model that are necessary to meet embedded system constraints. The intermediate representation allows the virtual machine to identify specific operations or layers that can be optimized (e.g., reducing precision for certain computations, reordering operations) without affecting the overall model architecture. This partial action approach maintains model performance while achieving deployment feasibility.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system uses feedback from the virtual machine's performance estimation to guide model optimization. The virtual machine executes the intermediate representation and provides feedback on memory usage, operation counts, and other metrics. Based on this feedback, the system iteratively adjusts the computational graph or model parameters, comparing performance against constraints until both deployment feasibility and model performance are satisfied.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12079723B2Optimizing neural network structures for embedded systems
Publication Date: 2024.09.03 TESLA INC
  • US12079723B2 patent drawing
  • US12079723B2 patent drawing
  • US12079723B2 patent drawing

AI summary

A model training and implementation pipeline trains models for individual embedded systems. The pipeline iterates through multiple models and estimates the performance of the models. During a model generation stage, the pipeline translates the description of the model together with the model parameters into an intermediate representation in a language that is compatible with a virtual machine. The intermediate representation is agnostic or independent to the configuration of the target platform. During a model performance estimation stage, the pipeline evaluates the performance of the models without training the models. Based on the analysis of the performance of the untrained models, a subset of models is selected. The selected models are then trained and the performance of the trained models are analyzed. Based on the analysis of the performance of the trained models, a single model is selected for deployment to the target platform.