Input Routing System for Machine Learning Model Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional machine learning models, particularly neural networks, are computationally expensive to execute, requiring significant resources and energy, and there is a lack of robust methods to balance model size and accuracy.
Innovation Solution
A computer-implemented method for routing inputs to machine learning models, which computes metric values based on an input, determines output quality degradation relative to the most computationally expensive model, and selects the least computationally expensive model that meets a desired output quality constraint for execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If larger machine learning models are used, then output accuracy is improved, but computational cost and energy consumption increase
Solution Approach 1:
The system dynamically selects which machine learning model to execute based on the input data characteristics. A router component analyzes input features and routes them to appropriate models, allowing the system to adapt model size to task requirements rather than always using the largest most accurate model, thus balancing accuracy with computational efficiency
Solution Approach 2:
The system changes the parameter of model selection based on input characteristics. By analyzing input data properties and comparing them against threshold values, the system determines which model (in terms of size and accuracy tradeoff) is most appropriate, effectively changing the operational parameter from fixed model usage to dynamic model selection
2Use of energy by moving object
If smaller machine learning models are used, then computational cost is reduced, but output accuracy deteriorates
Solution Approach 1:
The system dynamically adapts model selection based on input characteristics, routing inputs to smaller models when computational efficiency is prioritized and to larger models when higher accuracy is required, thus dynamically balancing the tradeoff between computational cost and accuracy
Solution Approach 2:
The system maintains multiple copies of machine learning models with different sizes and accuracy characteristics. Instead of using a single model, it has a repertoire of models that can be selected based on the specific task requirements, allowing optimization between computational cost and accuracy
3Measurement precision
If the most computationally expensive model is always used, then output quality is maximized, but resource efficiency deteriorates
Solution Approach 1:
The system dynamically routes inputs to different models based on their characteristics and the input data properties. Rather than statically using the most expensive model, it adapts model selection to match the actual requirements of each input, improving resource efficiency while maintaining output quality
Solution Approach 2:
The router component acts as an intermediary between the input data and the machine learning models. It analyzes input characteristics and determines the appropriate model to execute, mediating the selection process to ensure optimal balance between output quality and computational resource efficiency
Data Source
AI summary
One embodiment of a method for routing inputs to machine learning models includes computing one or more metric values based on an input, determining, for at least one trained machine learning models included in a plurality of trained machine learning models, a corresponding output quality degradation based on the one or more metric values, wherein the corresponding output quality degradation is relative to a most computationally expensive trained machine learning model included in the plurality of trained machine learning models, selecting a first trained machine learning model included in the plurality of trained machine learning models based on the corresponding output quality degradations, and transmitting the input to the first trained machine learning model for execution.


