Decision Tree Inference Parallel Processing via Data Row Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing decision tree inference processes are not efficiently parallelized, leading to suboptimal processing speeds despite the use of SIMD methods.

Innovation Solution

An information processing apparatus and method that divides input data rows based on condition determination results, grouping rows by feature amounts to enable parallel processing at condition determination nodes, thereby speeding up the inference process by performing comparisons and predictions in parallel.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all condition determination nodes are processed using all sets of data, then the decision tree inference can be completed, but the processing efficiency is low

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidinference time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the data processing by dividing the input data into multiple subsets and assigning different condition determination nodes to process different subsets. This segmentation enables parallel processing where each node handles a specific portion of the data, significantly improving processing efficiency and reducing inference time compared to processing all data at every node sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the traditional decision tree structure by adding a data subset dimension. Instead of processing all data rows at every node, the system processes different data subsets at different nodes simultaneously, creating a multi-dimensional processing approach that enables parallel computation and improves overall productivity.

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

2Speed

If parallel processing is applied to decision tree inference, then processing speed increases, but the system complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the data into subsets and assigning them to different nodes, which simplifies the parallel processing architecture. Each node handles a specific data subset, making the system more manageable and easier to implement compared to complex global parallel processing approaches, while still achieving speed improvements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent makes the condition determination nodes universal by enabling them to handle both data filtering and parallel processing functions. The same node structure that traditionally only filtered data now also manages data subset assignment and parallel execution, reducing the need for separate complexity-managing components and simplifying the overall system.

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

Data Source

PatentUS20230032646A1Information processing apparatus, information processing method, and recording medium
Publication Date: 2023.02.02 NEC CORP
  • US20230032646A1 patent drawing
  • US20230032646A1 patent drawing
  • US20230032646A1 patent drawing

AI summary

In the information processing apparatus, an acquisition unit acquires an input data matrix including a plurality of data rows each including a plurality of feature amounts. A division unit generates grouping information by dividing at least a portion of row numbers of the input data matrix in association with a child node selected based on a result of a condition determination at a condition determination node, and passes the grouping information to the child node. A rearrangement process unit performs a condition determination process of the plurality of data rows indicated in the received grouping information by a parallel process at the condition determination node. An output unit outputs predicted values corresponding to the plurality of data rows indicated in the received grouping information at the leaf node.