Predication Logic for Neural Network Loop Termination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning systems, particularly recurrent neural networks (RNNs), face inefficiencies due to the difficulty in implementing conditional logic and early termination of loops in unidirectional computational models like directed acyclic graphs (DAGs), which limits their ability to handle complex tasks effectively.

Innovation Solution

The implementation of predication logic within processing elements allows for conditional operations to be performed based on Boolean values, enabling the execution of conditional branches and loop termination without explicit branching, thereby facilitating the use of unidirectional models for more complex tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If unidirectional computational models like DAGs are used, then parallel execution efficiency is improved, but the ability to implement conditional logic and early termination is worsened

Engineering Contradiction:
Improveparallel execution efficiencyVSAvoidconditional logic implementation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the computational model into processing elements that can independently evaluate Boolean predicates and conditionally execute operations. Each processing element is divided into functional units (predicate evaluation unit, operation execution unit) that can operate independently, enabling parallel execution while maintaining conditional logic capabilities through distributed decision-making across multiple segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic conditional execution into the unidirectional DAG model by allowing processing elements to dynamically evaluate Boolean predicates and adjust their execution behavior accordingly. This enables early termination of computation paths when conditions are met, while maintaining the overall parallel structure of the DAG through dynamic control flow rather than static branching.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If explicit branching is used for conditional operations, then conditional logic capability is improved, but device complexity and loss of time are worsened

Engineering Contradiction:
Improveconditional logic capabilityVSAvoidbranching structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the conditional logic capability from traditional branching structures and embeds it directly into the processing elements themselves. By taking out the predicate evaluation and conditional execution logic from separate control flow structures and integrating it into the computational nodes, the system achieves conditional operations without requiring complex external branching mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces Boolean predicates as intermediary elements that mediate between computation operations. These predicates act as intermediate decision-makers that evaluate conditions and control operation execution without requiring explicit branching structures. The predicates serve as a simplified intermediary layer that enables conditional logic while maintaining the unidirectional flow of the DAG.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If traditional loop structures are used, then handling of complex sequential tasks is improved, but loss of time due to sequential execution is worsened

Engineering Contradiction:
Improvesequential task handling capabilityVSAvoidsequential execution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-evaluating Boolean predicates and determining execution paths before actual computation occurs. Processing elements evaluate conditions in advance and prepare their execution state, allowing parallel processing to proceed without waiting for sequential condition checks. This preliminary evaluation enables early termination when conditions are met, saving time in complex sequential tasks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables skipping of unnecessary computation paths through conditional predicates. When a predicate evaluates to false, the corresponding operation path is skipped entirely, allowing the system to rush through required computations in parallel while avoiding wasted time on conditional branches that don't need execution. This selective skipping maintains parallelism while handling complex sequential logic.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11264011B2Systems and methods for employing predication in computational models
Publication Date: 2022.03.01 META PLATFORMS INC
  • US11264011B2 patent drawing
  • US11264011B2 patent drawing
  • US11264011B2 patent drawing

AI summary

The disclosed method may include (1) determining whether a next operation of a plurality of operations of an artificial neural network (ANN) is dependent upon a Boolean predication value based on a representative value for a weight or an input of a node of the ANN, (2) based on the next operation not being dependent on the Boolean predication value, allowing the next operation to update a state of the ANN, and (3) based on the next operation being dependent on the Boolean predication value, performing at least one of (a) allowing, based on the Boolean predication value being a first value, the next operation to update the state of the ANN, and (b) preventing, based on the Boolean predication value being a second value different from the first value, the next operation from updating the state of the ANN. Various other methods and systems are also disclosed.