Programmable Probability Processing for Factor Graph Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current inference computation methods based on factor graphs, such as Sum-Products and Min-Sum approaches, are inefficient due to the large number of terms that need to be computed, particularly in scenarios where variables can take on multiple values, leading to significant computational overhead.

Innovation Solution

A programmable computation device with parallel processing elements and a reconfigurable connectivity system is used to perform inference tasks, allowing each processing element to perform computations associated with factors concurrently and exchange messages via the connectivity system, which is configurable to provide connectivity structures like grids, trees, or chains, facilitating efficient message passing and computation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional sequential inference computation methods are used, then computational accuracy is maintained, but computation time and processing speed are excessive

Engineering Contradiction:
Improveinference computation speedVSAvoidcomputation time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The inference computation is segmented into multiple independent processing elements, each handling specific factor computations in parallel. The factor graph is divided into discrete computational units that can operate simultaneously, transforming sequential computation into parallel execution across multiple processors.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-dimensional sequential processing to multi-dimensional parallel processing by introducing spatial distribution of computational tasks across multiple processing elements connected through a connectivity fabric, adding a spatial dimension to the computation architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If the number of processing elements is increased for parallel computation, then inference speed is improved, but device complexity and connectivity requirements increase

Engineering Contradiction:
Improveinference computation throughputVSAvoidconnectivity system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The connectivity fabric is designed as a universal interconnection system that can dynamically configure various connectivity patterns (grid, tree, chain, fully connected) to accommodate different factor graph structures. This single multi-functional connectivity system replaces the need for multiple specialized connection architectures.

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

Solution Approach 2:

The connectivity fabric employs dynamic reconfiguration capabilities, allowing the system to adapt its connectivity pattern based on the specific inference task and factor graph structure being processed. This dynamic adaptation optimizes communication efficiency without requiring fixed complex wiring for all possible configurations.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If fixed connectivity structures are used, then device simplicity is maintained, but adaptability to different inference tasks is limited

Engineering Contradiction:
Improveadaptability to different factor graphsVSAvoidreconfigurable connectivity system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The connectivity fabric transitions from static to dynamic configuration, enabling the system to reconfigure its interconnection pattern according to the specific requirements of different factor graphs and inference tasks, thereby achieving high adaptability without permanent complex wiring.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes its connectivity parameters (topology, connection patterns, communication routes) based on the input factor graph structure, allowing the same hardware to efficiently handle diverse inference problems by adjusting its operational configuration rather than requiring physical reconfiguration.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9626624B2Programmable probability processing
Publication Date: 2017.04.18 ANALOG DEVICES INC
  • US9626624B2 patent drawing
  • US9626624B2 patent drawing
  • US9626624B2 patent drawing

AI summary

An inference task is performed using a computation device having a plurality of processing elements operable in parallel and connected via a connectivity system. Performing the task includes accepting at the device a specification of at least part of the inference task. The specification characterizes a plurality of variables and a plurality of factors, each factor being associated with a subset of the variables. Each of the processing elements is configured with data defining one or more of the plurality of factors. At each of the processing elements, computation associated with one of the factors is performed concurrently with other of the processing elements performing computation associated with different ones of the factors. Messages are exchanged via a connectivity system. The messages provide inputs and/or outputs to the processing elements for the computations associated with the factors and provide a result of performing of the at least the part of the inference task.