IP Library Granted Patent US 12,462,201
Granted Patent B2
US 12,462,201 · App. 17/658,841 · Granted Nov 4, 2025

Dynamically optimizing decision tree inferences

Inventors: Jan Van Lunteren (Rüschlikon, CH); Nikolaos Papandreou (Thalwil, CH); Charalampos Pozidis (Thalwil, CH); Martin Petermann (Zürich, CH); Thomas Parnell (Zürich, CH); Milos Stanisavljevic (Adliswil, CH)
Assignee: International Business Machines Corporation
G06N20/20G06N5/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,462,201
App. No.
17/658,841
Granted
Nov 4, 2025
Kind
B2
Abstract

A method of dynamically optimizing decision tree inference is provided. The method, which is performed at the computerized system, repeatedly executes one or more decision trees for inference purposes and repeatedly performs an optimization procedure according to two-phase cycles. Each cycle includes two alternating phases, i.e., a first phase followed by a second phase. The decision trees are executed based on a reference data structure, whereby attributes of nodes of the decision trees are repeatedly accessed from the reference data structure during the first phase of each of the cycles. First, the accessed attributes are monitored during the first phase of each cycle, which leads to update statistical characteristics of the nodes. Second, a substitute data structure is configured during the second phase of each cycle based on the updated statistical characteristics. Third, the reference data structure is updated in accordance with the substitute data structure.

Claims (77)

1 . A method of dynamically optimizing decision tree inference operations performed by a computerized system, the method comprising, at the computerized system,

repeatedly executing one or more decision trees for inference purposes and repeatedly performing an optimization procedure according to two-phase cycles, wherein

each of the cycles includes two alternating phases, the two alternating phases including a first phase and a second phase,

the one or more decision trees are executed based on a reference data structure, whereby attributes of nodes of the one or more decision trees are repeatedly accessed from the reference data structure during the first phase of each of the cycles, and

performing the optimization procedure comprises:

during the first phase of each of the cycles, monitoring the accessed attributes to update statistical characteristics of the nodes;

during the second phase of each of the cycles, configuring a substitute data structure based on the updated statistical characteristics; and

updating the reference data structure in accordance with the substitute data structure.

2 . The method according to claim 1 , wherein,

the first phase of each of the cycles is triggered upon receiving a request to perform inferences,

the second phase of each of the cycles is subsequently triggered upon completing said inferences, and

the first phase of a next one of the cycles is triggered upon receiving a further request to perform further inferences.

3 . The method according to claim 1 , wherein,

the reference data structure is updated during the second phase of at least some of the cycles.

4 . The method according to claim 1 , wherein,

the reference data structure is updated by substituting at least a subset of the reference data structure for the substitute data structure.

5 . The method according to claim 4 , wherein,

the reference data structure is stored in a memory buffer of the computerized system, whereby the attributes are repeatedly accessed from this memory buffer upon executing the one or more decision trees, and

the reference data structure is updated by substituting at least said subset of the reference data structure for the substitute data structure in the memory buffer.

6 . The method according to claim 5 , wherein,

the substitute data structure represents only a subset of the one or more decision trees, whereby only said subset of the reference data structure is substituted for the substitute data structure in the memory buffer, while a residual subset of the reference data structure is modified to logically link it to the substitute data structure.

7 . The method according to claim 5 , wherein,

the updated statistical characteristics includes at least a most likely path of access to the nodes,

configuring the substitute data structure comprises writing attributes of the identified nodes in blocks of the substitute data structure, wherein the blocks are ordered in accordance with said statistical order, and

the reference data structure is updated by writing the ordered blocks to memory blocks of the memory buffer, whereby attributes of at least some pairs of the nodes that are consecutively accessed as per said statistical order are written in consecutive memory blocks of the memory buffer.

8 . The method according to claim 7 , wherein,

said memory buffer is a cache memory of the computerized system, whereby writing the ordered blocks causes to orderly map the ordered blocks onto memory blocks of cache lines of the cache memory.

9 . The method according to claim 7 , wherein,

at monitoring, the updated statistical characteristics of the nodes include access counts of the nodes and said statistical order is determined based on the access counts.

10 . The method according to claim 7 , wherein,

the substitute data structure represents only a subset of the nodes of the one or more decision trees.

11 . The method according to claim 10 , wherein,

the subsets of the nodes represented by the substitute data structure are nodes having larger access counts than remaining nodes of the one or more decision trees, as per the updated statistical characteristics.

12 . The method according to claim 1 , wherein,

the accessed attributes are monitored according to a process having a lower priority than an execution of instructions for executing the one or more decision trees.

13 . The method according to claim 1 , wherein performing the optimization procedure further comprises

comparing the substitute data structure with the reference data structure to determine an extent of changes from the reference data structure, and

based on the determined extent of changes, deciding whether to update the reference data structure in accordance with the substitute data structure.

14 . The method according to claim 13 , wherein,

said extent of changes is determined as a distance between the substitute data structure and a corresponding subset of the reference data structure.

15 . The method according to claim 14 , wherein,

said distance is determined according to access counts of the nodes, the access count forming part of the monitored attributes.

16 . The method according to claim 1 , wherein,

the method is performed in respect of a set of decision trees, whereby several decision trees are being concurrently executed for inference purposes.

17 . The method according to claim 16 , wherein,

the decision trees of the set form part of an ensemble model, whereby an inference result as eventually returned by the method is based on an outcome of executing each of the decision trees of the set.

18 . A computerized system for dynamically optimizing decision tree inference operations, wherein the computerized system comprises:

processing means that are configured to repeatedly execute one or more decision trees for inference purposes and repeatedly perform an optimization procedure according to two-phase cycles, wherein, in operation,

each of the cycles includes two alternating phases, the two alternating phases including a first phase and a second phase,

the one or more decision trees are executed based on a reference data structure, whereby attributes of nodes of the one or more decision trees are repeatedly accessed from the reference data structure during the first phase of each of the cycles, and

performing the optimization procedure comprises:

during the first phase of each of the cycles, monitoring the accessed attributes to update statistical characteristics of the nodes;

during the second phase of each of the cycles, configuring a substitute data structure based on the updated statistical characteristics; and

updating the reference data structure in accordance with the substitute data structure.

19 . A computer program product for dynamically optimizing decision tree inference operations, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by processing means to cause the latter to:

repeatedly execute one or more decision trees for inference purposes and repeatedly perform an optimization procedure according to two-phase cycles, wherein,

each of the cycles includes two alternating phases, the two alternating phases including a first phase and a second phase,

the one or more decision trees are executed based on a reference data structure, whereby attributes of nodes of the one or more decision trees are repeatedly accessed from the reference data structure during the first phase of each of the cycles, and

performing the optimization procedure comprises:

during the first phase of each of the cycles, monitoring the accessed attributes to update statistical characteristics of the nodes;

during the second phase of each of the cycles, configuring a substitute data structure based on the updated statistical characteristics; and

updating the reference data structure in accordance with the substitute data structure.

20 . The computer program product according to claim 19 , wherein,

the program instructions are executable by the processing means to further cause the latter to update the reference data structure by substituting at least a subset of the reference data structure for the substitute data structure.

21 . The computer program product according to claim 20 , wherein,

the program instructions are executable by the processing means to further cause the latter to store the reference data structure in a memory buffer of the computerized system, whereby the attributes are repeatedly accessed from this memory buffer upon executing the one or more decision trees, and

the reference data structure is updated by substituting at least said subset of the reference data structure for the substitute data structure in the memory buffer.

22 . The computer program product according to claim 20 , wherein,

the substitute data structure represents only a subset of the one or more decision trees, whereby only said subset of the reference data structure is substituted for the substitute data structure in the memory buffer, while a residual subset of the reference data structure is modified to logically link it to the substitute data structure.

23 . The computer program product according to claim 20 , wherein,

the program instructions are executable by the processing means to further cause the latter to update the reference data structure by substituting at least a subset of the reference data structure for the substitute data structure.

24 . The computer program product according to claim 20 , wherein,

the updated statistical characteristics includes at least a most likely path of access to the nodes,

configuring the substitute data structure comprises writing attributes of the identified nodes in blocks of the substitute data structure, wherein the blocks are ordered in accordance with said statistical order, and

the reference data structure is updated by writing the ordered blocks to memory blocks of the memory buffer, whereby attributes of at least some pairs of the nodes that are consecutively accessed as per said statistical order are written in consecutive memory blocks of the memory buffer.

25 . The computer program product according to claim 19 , wherein,

the accessed attributes are monitored according to a process having a lower priority than an execution of instructions for executing the one or more decision trees.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2022
From: VAN LUNTEREN, JAN; PAPANDREOU, NIKOLAOS; POZIDIS, CHARALAMPOS; PETERMANN, MARTIN; PARNELL, THOMAS; STANISAVLJEVIC, MILOS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060019/0871 →
Continuity (1)
Related Publication 20230325681A1 · Oct 12, 2023
References Cited (30)
US 10572823B1 · Feinman · 2020 [cited by examiner]
US 11901080B1 · Matt · 2024 [cited by examiner]
US 20040267785A1 · Suontausta et al. · 2004 [cited by applicant]
US 20110295777A1 · Jang et al. · 2011 [cited by applicant]
US 20150379426A1 · Steele · 2015 [cited by applicant]
US 20180189667A1 · Tsou · 2018 [cited by examiner]
US 20180324193A1 · Ronen · 2018 [cited by examiner]
US 20180336487A1 · Moore · 2018 [cited by applicant]
US 20190138942A1 · Raskovalov · 2019 [cited by examiner]
US 20190378210A1 · Merrill · 2019 [cited by examiner]
US 20200192307A1 · Wee · 2020 [cited by examiner]
US 20200293456A1 · Ramadoss et al. · 2020 [cited by applicant]
US 20200387811A1 · Cohen · 2020 [cited by examiner]
US 20210365832A1 · Hu · 2021 [cited by examiner]
US 20220012550A1 · Ben-Itzhak · 2022 [cited by examiner]
US 20220284306A1 · Osogami · 2022 [cited by examiner]
TW 201145186A · 2011 [cited by applicant]
WO WO2020190796A1 · 2020 [cited by examiner]
NPL Asadi Runtime Optimizations for Tree based ML Models 2014. [cited by examiner]
NPL Chen XGBoost a Scalable Tree Boosting System 2016. [cited by examiner]
NPL Kalusivalingam Leveraging Random Forests and Gradient Boosting 2022. [cited by examiner]
NPL Lalchand meta algorithm using random recursive tree ensembles 2020. [cited by examiner]
NPL Lunteren Inventor Accelerating Decision Tree based Inference 2023. [cited by examiner]
NPL Madhyastha PACSET Packed Serialized Trees 2020. [cited by examiner]
NPL Tariverdiyev Machine Learning Algorithms 2019. [cited by examiner]
NPL Vijayakumar Multistage Ensembled Classifer Sep. 2021. [cited by examiner]
NPL Xie Tahoe 2021. [cited by examiner]
Asadi, et al., “Runtime Optimizations for Prediction with Tree-Based Models”, https://ieeexplore.ieee.org/document/6513227, IEEE Transactions on Knowledge and Data Engineering, vol. 26, No. 9, Sep. 2014, pp. 2281-2292. [cited by applicant]
Madhyastha, et al., “PACSET (Packed Serialized Trees): Reducing Inference Latency for Tree Ensemble Deployment”, https://arxiv.org/abs/2011.05383, arXiv:2011.05383v1 [cs.DC], Nov. 10, 2020, 13 pgs. [cited by applicant]
Xie, et al., “Tahoe: Tree Structure-Aware High Performance Inference Engine for Decision Tree Ensemble on GPU”, https://dl.acm.org/doi/abs/10.1145/3447786.3456251, EuroSys '21, Apr. 26-29, 2021, Online, United Kingdom, … [cited by applicant]