Ensemble Tree Native Code Dynamic Reoptimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ensemble decision trees require extensive traversals for prediction, leading to slow performance due to the need for scoring and compilation of all branches, which is inefficient and time-consuming, especially when compared to single decision trees.

Innovation Solution

Generating native code with dynamic reoptimization for ensemble tree models by identifying frequently traversed branches and optimizing only those, using a hybrid approach that compiles and recompiles code based on execution frequency, allowing for parallel execution and optimization of the most likely paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all branches of ensemble decision trees are compiled into native code, then prediction accuracy is maintained, but execution time increases significantly

Engineering Contradiction:
Improveprediction accuracyVSAvoidexecution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the ensemble decision tree into frequently traversed branches and infrequently traversed branches. Only the frequently traversed branches are compiled into native code, while infrequently traversed branches remain in interpretive form. This segmentation resolves the contradiction by maintaining accuracy for critical paths while reducing overall execution time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality levels to different parts of the decision tree. Frequently traversed branches receive full native code compilation optimization, while infrequently traversed branches use a lighter interpretive approach. This local differentiation allows the system to optimize prediction speed for the most impactful paths without sacrificing accuracy elsewhere.

Inventive Principle:
Principle #3Local quality

2Speed

If native code is generated for all decision tree branches, then execution speed improves, but code complexity and memory usage increase

Engineering Contradiction:
Improveexecution speedVSAvoidcode complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent divides the decision tree code into two segments: frequently traversed branches compiled to native code and infrequently traversed branches kept in interpretive form. This segmentation reduces overall code complexity and memory requirements while maintaining execution speed for the most critical prediction paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial compilation action by only compiling the most frequently traversed branches rather than all branches. This partial action achieves sufficient execution speed improvement without the excessive code complexity that would result from compiling every branch.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If dynamic reoptimization is applied to frequently traversed branches, then prediction speed increases, but compilation time for identification increases

Engineering Contradiction:
Improveprediction speedVSAvoidcompilation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis during model training to identify frequently traversed branches before deployment. This preliminary action allows the system to pre-determine which branches require native code compilation, avoiding the need for time-consuming runtime analysis and reducing overall compilation time while maintaining high prediction speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses traversal frequency feedback from model training data to dynamically determine which branches should be compiled into native code. This feedback mechanism allows the system to automatically identify and optimize the most impactful branches without manual intervention, balancing compilation time against prediction speed improvement.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11568272B2Generating native code with dynamic reoptimization for ensemble tree model prediction
Publication Date: 2023.01.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11568272B2 patent drawing
  • US11568272B2 patent drawing
  • US11568272B2 patent drawing

AI summary

Aspects of the invention include a computer-implemented method that receives, by a processor, an ensemble decision tree and generates, by the processor, native code from the ensemble decision tree. The method compiles, by the processor, the native code into machine language and scores, by the processor, the execution time of the native code. The method dynamically reoptimizes, by the processor, portions of the native code corresponding to the most traversed portion of the ensemble decision tree.