LGAIDCJan 12, 2023

Improving Inference Performance of Machine Learning with the Divide-and-Conquer Principle

arXiv:2301.05099v2h-index: 18
AI Analysis

This addresses a practical problem for developers deploying ML models on CPUs, but it is incremental as it applies an existing principle to a known bottleneck.

The paper tackles the problem of poor scaling of machine learning models on CPUs during inference by proposing a divide-and-conquer approach that breaks jobs into parallel parts based on computational cost, implemented in OnnxRuntime and showing effectiveness in use cases like PaddleOCR and BERT.

Many popular machine learning models scale poorly when deployed on CPUs. In this paper we explore the reasons why and propose a simple, yet effective approach based on the well-known Divide-and-Conquer Principle to tackle this problem of great practical importance. Given an inference job, instead of using all available computing resources (i.e., CPU cores) for running it, the idea is to break the job into independent parts that can be executed in parallel, each with the number of cores according to its expected computational cost. We implement this idea in the popular OnnxRuntime framework and evaluate its effectiveness with several use cases, including the well-known models for optical character recognition (PaddleOCR) and natural language processing (BERT).

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes