Neural Network Splitter for Heterogeneous Device Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing neural network technologies face challenges in efficiently deploying complex neural networks across diverse devices with varying computational resources, leading to suboptimal performance and resource inefficiency, as they often disregard device-specific capabilities during design and deployment.

Innovation Solution

A neural network splitter device that generates intermediate representations, extracts features, selects heuristics, and determines device characteristics to split neural networks into slices, optimizing execution across heterogeneous devices by associating each slice with appropriate devices based on computational resources and constraints such as latency and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a complex neural network is deployed across heterogeneous devices without device-specific optimization, then the neural network can be executed on resource-constrained devices, but the performance and resource utilization become suboptimal

Engineering Contradiction:
Improveadaptability to heterogeneous devicesVSAvoidexecution performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The neural network is divided into multiple slices, where each slice represents a portion of the neural network that can be independently deployed to different devices. The splitter device partitions the neural network layers and operations into discrete slices that can be distributed across heterogeneous device architectures, enabling flexible deployment while maintaining execution efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each slice of the neural network is optimized for specific device characteristics. The profiler extracts device-specific features and the classifier assigns slices to devices based on matching computational requirements with device capabilities. This ensures that each device executes neural network portions tailored to its local computational resources and constraints.

Inventive Principle:
Principle #3Local quality

2Productivity

If device-specific optimization is performed during neural network design, then execution performance improves, but the design process becomes more complex and time-consuming

Engineering Contradiction:
Improveexecution performanceVSAvoiddesign process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The profiler performs preliminary analysis of device characteristics and extracts relevant features before the neural network is deployed. By pre-characterizing device capabilities and constraints, the system prepares optimization parameters in advance, enabling efficient slice assignment without requiring complex manual design interventions during deployment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The splitter device automatically profiles devices, extracts features, selects heuristics, and assigns slices without requiring manual intervention. The system self-adapts to heterogeneous devices by autonomously analyzing device characteristics and optimizing neural network partitioning, thereby simplifying the design process while maintaining high execution performance.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If neural networks are designed without considering specific execution devices, then the design process is simplified, but resource utilization becomes inefficient

Engineering Contradiction:
Improvedesign simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSUse of energy by moving object

Solution Approach 1:

The system changes the parameter representation of the neural network by generating an intermediate representation that captures computational requirements. This intermediate form enables automated analysis and optimization based on device parameters, allowing the system to maintain design simplicity while achieving efficient resource utilization through parameter-driven slice assignment.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If the neural network is split into multiple slices across devices, then resource utilization improves, but the system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The splitter device performs multiple functions within a single system: profiling devices, extracting features, selecting heuristics, determining device characteristics, and generating slice assignments. This multi-functional approach consolidates complexity into a centralized controller, allowing individual devices to remain simple while achieving efficient resource utilization across the distributed system.

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

Data Source

PatentUS20250005319A1Neural network splitter
Publication Date: 2025.01.02 STMICROELECTRONICS INT NV
  • US20250005319A1 patent drawing
  • US20250005319A1 patent drawing
  • US20250005319A1 patent drawing

AI summary

Methods, apparatuses, systems, and/or computer program products for using a neural network splitter to split a neural network into slices are provided. A splitter device may receive a neural network. The splitter devices may be connected to one or more other devices. The neural network may be split the neural network into slices to be deployed to the one or more other devices for execution. The neural network splitter may generate and intermediate representation of the neural network. A profiler of the neural network splitter may extract one or more features from the intermediate representation. A classifier may select one or more heuristics of the neural network features. The neural network may then determine one or more slices based on the features, heuristics, and device characteristics of the connected devices. The slices may be generated and deployed to the connected devices for execution.