QuickScorer Bitvector Document Scoring Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Learning-to-Rank (LtR) methods based on additive ensembles of regression trees, such as GRADIENT-BOOSTED REGRESSION TREES (GBRT) and LAMBDA-MART (Λ-MART), are computationally expensive due to the need to traverse thousands of trees for each document, impacting response time and throughput in web search engines.

Innovation Solution

The QUICKSCORER (QS) method employs a novel representation of regression trees using bitvectors for efficient interleaved traversal, leveraging logical bitwise operations and cache-aware data layout to reduce branch mis-prediction rates and improve memory access patterns, allowing for faster scoring of documents.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional sequential tree traversal methods are used to score documents, then the implementation is simple and straightforward, but the processing speed is slow and computational efficiency is poor

Engineering Contradiction:
Improvedocument scoring speedVSAvoidtraversal implementation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the tree traversal process into independent bitwise operation stages. Each tree in the ensemble is represented as a bitvector where each bit corresponds to a node, and traversal decisions are made through bitwise operations rather than sequential node-by-node processing. This segmentation enables parallel processing of multiple trees simultaneously, dramatically improving scoring speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the traditional mechanical sequential traversal mechanism with bitwise logical operations. Instead of following pointer chains and making conditional jumps through tree nodes, the system uses bitwise AND, OR, and NOT operations on bitvectors to determine traversal paths. This substitution leverages the CPU's native bitwise operation capabilities, achieving significant speedups while maintaining algorithmic correctness.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If thousands of regression trees are traversed for each document to achieve accurate ranking, then the ranking precision is high, but the computational cost and processing time increase significantly

Engineering Contradiction:
Improveranking accuracyVSAvoidscoring time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary encoding of the entire tree ensemble into bitvector representations during model construction. Each node's traversal condition and child node indices are pre-computed and stored in compact bitvector form. During scoring, this pre-prepared structure enables rapid evaluation without repeated conditional branching, significantly reducing the time penalty associated with evaluating thousands of trees while preserving ranking accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges the traversal logic of multiple trees into a unified bitwise operation framework. Instead of sequentially executing traversal algorithms for each tree, the system combines all tree structures into ensemble bitvectors and performs parallel bitwise operations across all trees simultaneously. This merging eliminates the overhead of repeated function calls and branch predictions, achieving high-speed processing while maintaining the additive ensemble's ranking precision.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If sequential processing of instructions is used as in traditional computer architecture, then the implementation is straightforward, but the performance is limited by the single-threaded nature of execution

Engineering Contradiction:
Improveprocessing throughputVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent ensures continuous useful action by eliminating branch mispredictions and cache misses through its bitwise traversal approach. The sequential access pattern of bitvectors maintains perfect spatial locality, ensuring that memory accesses continuously hit in the instruction cache. This continuity prevents pipeline stalls and keeps the CPU fully utilized, maximizing processing throughput without requiring complex multi-threading or cache management hardware.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11106685B2Method to rank documents by a computer, using additive ensembles of regression trees and cache optimisation, and search engine using such a method
Publication Date: 2021.08.31 TISCALI SPA
  • US11106685B2 patent drawing
  • US11106685B2 patent drawing
  • US11106685B2 patent drawing

AI summary

The present invention concerns a novel method to efficiently score documents (texts, images, audios, videos, and any other information file) by using a machine-learned ranking function modeled by an additive ensemble of regression trees. A main contribution is a new representation of the tree ensemble based on bitvectors, where the tree traversal, aimed to detect the leaves that contribute to the final scoring of a document, is performed through efficient logical bitwise operations. In addition, the traversal is not performed one tree after another, as one would expect, but it is interleaved, feature by feature, over the whole tree ensemble. Tests conducted on publicly available LtR datasets confirm unprecedented speedups (up to 6.5×) over the best state-of-the-art methods.