Programmable Probability Processing for Factor Graph Inference
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If traditional sequential inference computation methods are used, then computational accuracy is maintained, but computation time and processing speed are excessive
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.
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.
2Productivity
If the number of processing elements is increased for parallel computation, then inference speed is improved, but device complexity and connectivity requirements increase
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.
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.
3Adaptability or versatility
If fixed connectivity structures are used, then device simplicity is maintained, but adaptability to different inference tasks is limited
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.
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.
Data Source
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.


