Abstraction System for Machine Learning Model Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face complexity and tediousness when integrating machine learning models into software systems, requiring extensive custom code for configuring requests, interfacing with machine learning services, and handling results, especially when using multiple models or services with different access techniques.

Innovation Solution

An abstraction system acts as an intermediary, providing a unified API for submitting client requests to machine learning models, abstracting request configuration, and delivering results in an actionable format, thereby simplifying the integration process by maintaining model meta files that define input parameters, variables, converters, and outputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers use third party machine learning services to employ machine learning models within software systems, then machine learning functionality can be integrated into software solutions, but the complexity and tediousness of writing custom code for configuring requests, interfacing with services, and handling results increases significantly

Engineering Contradiction:
Improvemachine learning functionality integrationVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an abstraction layer that serves as an intermediary between the software system and third-party machine learning services. This abstraction layer provides standardized interfaces and automatically handles the complexity of service-specific request configurations, data formatting, and result processing, thereby reducing the code complexity developers face while maintaining the ability to integrate machine learning functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal abstraction layer that can work with multiple different machine learning services and models through a single standardized interface. This multi-functional approach allows the same abstraction layer to handle various service providers (Azure, AWS, Google Cloud, etc.) and different model types without requiring separate custom code for each, thus reducing overall code complexity while maintaining versatility.

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

2Reliability

If developers configure custom code for each machine learning service and model, then specific service requirements can be met, but the burden of configuring multiple APIs with different access techniques increases

Engineering Contradiction:
Improveservice requirement complianceVSAvoidAPI configuration effort
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The abstraction layer provides a universal configuration mechanism that can accommodate multiple machine learning services and models through a single standardized interface. Developers configure once using the abstraction layer's standard methods, and the system automatically adapts to the specific service requirements, eliminating the need to configure each API separately while ensuring service-specific requirements are met.

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

Solution Approach 2:

The abstraction layer automatically handles the complex service-specific configurations without requiring manual intervention for each service. The system self-adapts to different machine learning services by using the standardized interface definitions, automatically generating the appropriate service-specific configurations, data formats, and access methods based on the selected service and model.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If developers write extensive custom code to handle machine learning model results and track outcomes, then action based on results can be performed, but the amount of code required to evaluate results and track outcomes increases

Engineering Contradiction:
Improveresult handling capabilityVSAvoiddevelopment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The abstraction layer acts as an intermediary that standardizes the handling of machine learning model results. It provides unified methods for evaluating results, determining actions based on outcomes, and tracking results throughout the system. This intermediary approach maintains the capability to perform various actions based on different result types while significantly reducing the amount of custom code developers must write for result handling and outcome tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11829850B2Reducing complexity of implementing machine learning models in software systems
Publication Date: 2023.11.28 REDCRITTER CORP
  • US11829850B2 patent drawing
  • US11829850B2 patent drawing
  • US11829850B2 patent drawing

AI summary

The complexity of implementing machine learning models in software systems can be reduced using an abstraction system. The abstraction system functions as an intermediary between a machine learning service and a client process. The abstraction system provides a unified API by which the client process can submit client requests targeting a machine learning model and also abstracts the complexity of configuring model requests in the appropriate form for a particular machine learning service and model. The abstraction system also provides a standard mechanism for delivering results to the client process in an actionable format and for tracking outcomes of any actions that the results trigger. The abstraction system therefore greatly simplifies the process of employing machine learning models within a software system.