GPU Parallel Decision Tree Training Pipeline

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current decision tree training processes using CPU-based clusters are resource-intensive, expensive, and unreliable due to the need for large-scale networking and distributed maintenance, which increases operational costs and complexity.

Innovation Solution

A GPU-based parallel processing pipeline is used to generate decision trees, where multiple GPUs share a memory block and perform feature tests in parallel, accumulating results in local memory before writing to global memory, reducing training time and enabling cost-effective, reliable decision tree training on a single machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If CPU-based computing device clusters are used to process millions to billions of examples, then decision tree training accuracy is improved, but device complexity and operating costs increase

Engineering Contradiction:
Improvedecision tree training accuracyVSAvoidcluster networking complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple GPU processing units into a unified parallel processing system where each GPU works simultaneously on different aspects of decision tree training. Instead of using distributed CPU clusters with complex networking, the invention combines multiple GPUs that share memory and communicate through standardized interfaces, reducing system complexity while maintaining high processing capability for accurate decision tree training.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent replaces the mechanical/distributed CPU-based computing system with a parallel GPU-based system. GPUs are specifically designed for parallel processing operations, substituting the traditional sequential CPU architecture with a parallel architecture that naturally handles the computationally intensive tasks of decision tree training more efficiently with fewer components.

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

2Productivity

If distributed CPU-based computing device clusters are used, then processing capacity for large example sets is improved, but reliability decreases due to additional failure points

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent combines multiple GPUs into a tightly integrated parallel processing unit that functions as a cohesive system. By merging the processing capabilities of multiple GPUs that share memory and communication resources, the system achieves high processing capacity while reducing the number of independent failure points compared to distributed CPU clusters with multiple network connections and components.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If CPU-based computing device clusters are used, then decision tree training capability is improved, but operating costs increase due to additional maintenance labor

Engineering Contradiction:
Improvedecision tree training capabilityVSAvoidmaintenance effort
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent substitutes the distributed CPU cluster architecture with a parallel GPU-based system that is inherently more efficient for the specific workload of decision tree training. This substitution reduces the need for complex distributed system management and maintenance, as GPUs are designed for parallel processing and can handle the computational demands with simpler infrastructure requirements.

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

4Loss of time

If parallel processing with multiple GPUs is used, then training time is reduced, but device complexity increases

Engineering Contradiction:
Improvetraining timeVSAvoidparallel processing architecture
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the decision tree training workload across multiple GPUs, with each GPU handling specific processing tasks simultaneously. This segmentation enables parallel execution of feature tests and example processing, dramatically reducing training time. The segmentation is managed through a coordinated architecture where each GPU operates on partitioned data sets or different tree nodes, achieving speedup without requiring overly complex inter-GPU communication protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal parallel processing architecture where multiple GPUs perform the same type of processing operations on different data partitions. This multi-functional approach allows the system to handle various decision tree training tasks using the same hardware configuration, reducing the need for specialized complex components while achieving parallel processing speedup.

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

Data Source

PatentUS9171264B2Parallel processing machine learning decision tree training
Publication Date: 2015.10.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9171264B2 patent drawing
  • US9171264B2 patent drawing
  • US9171264B2 patent drawing

AI summary

Embodiments are disclosed herein that relate to generating a decision tree through graphical processing unit (GPU) based machine learning. For example, one embodiment provides a method including, for each level of the decision tree: performing, at each GPU of the parallel processing pipeline, a feature test for a feature in a feature set on every example in an example set. The method further includes accumulating results of the feature tests in local memory blocks. The method further includes writing the accumulated results from each local memory block to global memory to generate a histogram of features for every node in the level, and for each node in the level, assigning a feature having a lowest entropy in accordance with the histograms to the node.