Abstraction System for Machine Learning Model Integration
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


