Hashing Model Configurations for Selective Reruns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sequential runs of predictive models in business analysis consume significant time, computing power, and resources, necessitating the re-execution of entire sequences even with minor configuration changes, leading to inefficiencies and increased costs.

Innovation Solution

Implementing a method that hashes model configurations to identify changes and selectively reruns only affected models, storing results in database locations pointed to by hashes, allowing unchanged models to return previous results without re-execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire modeling sequence is re-run to accommodate configuration changes, then the accuracy and consistency of results are maintained, but the computing time and resources increase significantly

Engineering Contradiction:
Improveresult accuracyVSAvoidmodeling sequence runtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the modeling sequence into individual models and introduces a caching mechanism that tracks which specific models have changed configurations. By hashing configuration parameters and comparing them across runs, the system identifies only the subset of models that need re-execution, rather than re-running the entire sequence. This segmentation allows selective re-execution of changed models while reusing cached results from unchanged models, resolving the contradiction between maintaining result accuracy and reducing runtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-computing and caching model results before they are needed. Configuration hashes are calculated in advance and stored in a cache structure, allowing the system to quickly determine which models have changed without re-executing them. This preliminary caching of results and configuration states enables the system to avoid unnecessary re-runs while ensuring that accurate, up-to-date results are available when needed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If configuration changes are propagated through the entire sequence, then consistent results are obtained, but computing power and costs increase

Engineering Contradiction:
Improveresult consistencyVSAvoidcomputing power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements feedback through a configuration hashing and comparison mechanism. After each modeling run, the system calculates configuration hashes for all models and stores them in a cache. Before re-executing the sequence, the system compares current configuration hashes against cached hashes to identify which models have actually changed. This feedback loop provides accurate information about configuration changes, enabling the system to propagate changes only where necessary rather than forcing full sequence re-execution, thus maintaining result consistency while reducing computing power consumption.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies parameter changes by using configuration hashing to detect and track changes in model parameters. Instead of treating all configuration changes as requiring full sequence re-execution, the system hashes configuration parameters and uses these hashes to identify specific models that have changed. This parameter-level tracking allows the system to adjust only the necessary models while keeping unchanged models at their cached results, maintaining consistency while optimizing resource usage.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If all models in the sequence are re-executed after configuration changes, then updated results are ensured, but the number of operations and processing time increase

Engineering Contradiction:
Improveresult updatesVSAvoidmodeling efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the modeling sequence into individually trackable models with separate configuration hashes and cache entries. This segmentation enables the system to identify and re-execute only the specific models whose configurations have changed, rather than re-executing the entire sequence. The cached results structure allows unchanged models to be skipped, directly improving productivity while ensuring that updated results are obtained for changed models.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copying by creating and storing cached copies of model results and configuration states. These cached copies serve as reference points for comparing against current configurations. By copying and storing previous execution states, the system can efficiently determine which models have changed and which can reuse their cached results, thereby reducing the number of operations required while ensuring that necessary updates are applied.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20240220472A1Systems and methods for executing and hashing modeling flows
Publication Date: 2024.07.04 CAPITAL ONE SERVICES LLC
  • US20240220472A1 patent drawing
  • US20240220472A1 patent drawing
  • US20240220472A1 patent drawing

AI summary

The disclosed systems and methods can comprise executing a modeling sequence comprising a first model and a second model, obtaining a first result from the first model being used as an input for the second model to obtain a second result, hashing data representative of a first configuration and a second configuration to create a first hash and a second hash, respectively, storing the first result in a first location and the second result in a second location, receiving one or more configuration changes to the second model thereby creating a third configuration associated with the second model, hashing data representative of the third configuration to create a third hash, receiving a request to rerun the modeling sequence, determining that the first configuration is associated with the first model, and providing the first result to the second model without rerunning the first model.