Distributed Machine Learning Compilation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of deploying AI and ML solutions is exacerbated by the need to address various data sources, programming languages, and target devices or infrastructures, leading to increased costs and inconsistent results due to numerous implementation combinations.

Innovation Solution

A distributed computing system comprising an Omni-Source System, Omni-Lingual System, and Omni-Mount System, which transforms data and programs into standardized formats and execution graphs, enabling efficient execution across different devices and infrastructures through data sharding, parsing, and hardware-specialized execution graph generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional native implementations are used to address multiple data sources, programming languages, and target devices, then the system can support diverse requirements, but the device complexity and implementation cost dramatically increase due to K×L×M implementation combinations

Engineering Contradiction:
Improvesupport for multiple data sources, programming languages, and target devicesVSAvoidimplementation complexity and cost
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary compilation system that acts as a mediator between diverse programming languages/frameworks and target devices. This compilation system translates high-level ML programs into intermediate representations and then into device-specific code, eliminating the need for separate native implementations for each combination of data sources, languages, and devices. The intermediary layer standardizes the interface and abstraction, reducing the K×L×M complexity to a manageable compilation pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The compilation system is designed with universal capabilities to handle multiple data sources, programming languages, and target devices through a single unified architecture. It supports various ML frameworks (TensorFlow, PyTorch, Caffe) and can generate code for different hardware platforms (CPUs, GPUs, FPGAs, ASICs) using the same compilation infrastructure, making the system multi-functional without requiring separate native implementations for each combination.

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

2Reliability

If separate native implementations are created for each programming language and framework, then each can be optimized for its specific characteristics, but the loss of time for maintenance and debugging increases due to multiple independent implementations

Engineering Contradiction:
Improvelanguage-specific optimization and correctnessVSAvoidmaintenance and debugging time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of maintaining separate native implementations for each programming language and framework, the patent creates a single reference implementation in a high-level language that is then copied and translated into multiple target languages through the compilation system. This allows the core ML logic to be written once and automatically translated to multiple targets, reducing maintenance and debugging time while preserving language-specific optimizations through the compilation process.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the implementation into two distinct layers: a high-level language layer for writing ML programs and a compilation layer for translating to target languages. This segmentation allows the high-level program to remain unchanged while the compilation system handles language-specific transformations, isolating maintenance efforts to the compilation layer rather than requiring changes across multiple native implementations.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If AI programs are deployed to target devices with different computing paradigms, then the system can accommodate various hardware architectures, but the device complexity increases due to needing to support Linux, Windows, x86, ARM, GPU, FPGA, ASIC, and other platforms

Engineering Contradiction:
Improvesupport for diverse hardware architectures and computing paradigmsVSAvoidplatform-specific implementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The compilation system introduces an intermediary representation layer that abstracts away hardware-specific details. The high-level ML program is compiled into an intermediate representation that captures the computational logic without being tied to specific hardware. This intermediate representation is then translated into device-specific code for different hardware architectures (CPUs, GPUs, FPGAs, ASICs), allowing the same ML program to run on diverse platforms without modifying the original implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The compilation system changes parameters such as parallelization strategies, memory management approaches, and computational optimizations based on the target hardware characteristics. For example, it may generate different kernel launch configurations for GPUs versus CPUs, or apply different tiling and unrolling strategies for FPGAs, all while maintaining the same high-level ML program logic. This parameter adaptation allows efficient deployment across different computing paradigms without increasing implementation complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11348030B2System and methods for distributed machine learning with multiple data sources, multiple programming languages or frameworks, and multiple devices or infrastructures
Publication Date: 2022.05.31 PETUUM INC
  • US11348030B2 patent drawing
  • US11348030B2 patent drawing
  • US11348030B2 patent drawing

AI summary

Methods and systems are presented for consuming different data sources, and deploying artificial intelligence and machine learning programs on different target devices or infrastructures. Many data types can be transformed into machine learning data shards (MLDS) while many machine learning programs written in various programming languages or frameworks are transformed to common operator representations. Operator representations are transformed into execution graphs (EG) for a chosen target device or infrastructure. The MLDS and EG are input to the targeted devices and infrastructures, which then execute the machine learning programs (now transformed to EGs) on the MLDS to produce trained models or predictions with trained models.