Binary Inference Engine Integration for Model Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software optimization techniques for machine learning applications often require significant changes and recompilation, making it inefficient to switch between different machine learning models and tasks, and lack effective methods for protecting model data and managing licensing.

Innovation Solution

An execution system that integrates binary inference engines and their model data into a single module, allowing for dynamic loading and switching between models without recompilation, and implements encryption and licensing mechanisms for secure execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If machine learning models and model data are stored separately, then the system structure is modular and flexible, but switching between models requires recompilation and significant changes to the software system

Engineering Contradiction:
Improvemodel switching capabilityVSAvoidsoftware system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent combines the binary inference engine and model data into a single integrated module, eliminating the need for separate storage and management of these components. This integration allows models to be switched by simply loading different binary modules without requiring recompilation or significant system changes, thus improving adaptability while managing complexity through unified structure

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The integrated binary module serves multiple functions: it contains both the inference engine logic and the model data, acts as a self-contained executable unit, and enables dynamic model switching. This universal design allows the same system architecture to handle different machine learning models without requiring separate handling mechanisms for each component

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

2Productivity

If machine learning models and model data are integrated in a single module, then model switching becomes efficient without recompilation, but the module size increases and may impact memory usage

Engineering Contradiction:
Improvemodel switching efficiencyVSAvoidmodule size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

While integrating components, the patent maintains the binary module as a distinct, self-contained segment that can be independently managed, loaded, and unloaded. This segmentation approach allows the system to load only the necessary binary module for the current task into memory, reducing the actual memory footprint at any given time despite the comprehensive nature of the integrated module

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If model data is stored in plain text format, then the data is easily readable and debuggable, but the model data is vulnerable to unauthorized access and modification

Engineering Contradiction:
Improvedata readabilityVSAvoiddata security
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent transforms the model data from a readable text format into an encrypted binary format. This parameter change in the data representation makes the model data unreadable and unmodifiable by unauthorized parties while remaining fully functional when processed by the integrated inference engine. The binary encoding itself acts as a security mechanism while preserving the data's operational integrity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11657124B2Integrating binary inference engines and model data for efficiency of inference tasks
Publication Date: 2023.05.23 APPLE INC
  • US11657124B2 patent drawing
  • US11657124B2 patent drawing
  • US11657124B2 patent drawing

AI summary

In one embodiment, a method includes receiving a user request from a client device associated with a user, accessing an instructional file comprising one or more binary inference engines and one or more encrypted model data corresponding to the one or more binary inference engines, respectively, selecting a binary inference engine from the one or more binary inference engines in the accessed instructional file based on the user request, sending a validation request for a permission to execute the binary inference engine to a licensing server, receiving the permission from the licensing server, decrypting the encrypted model data corresponding to the binary inference engine by a decryption key, executing the binary inference engine based on the user request and the decrypted model data, and sending one or more execution results responsive to the execution of the binary inference engine to the client device.