Machine Learning Configuration Hashing for Reproducibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale machine learning experiments face challenges in reproducibility due to numerous variables and complex dependencies, making it difficult to determine the exact code and parameters used at a given time, leading to issues with tracing back results and recreating configurations.

Innovation Solution

A system that processes input files for machine learning programs to extract time-encoded data sets and generates hash values for data paths, source code, hyperparameter configurations, and software environments, storing these hash values linked to output files to create data structures that represent the factors used in obtaining outputs, enabling reproducibility and regeneration of original configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hash values and data structures are generated and stored for each machine learning experiment configuration, then reproducibility and traceability of results are improved, but system complexity and storage requirements increase

Engineering Contradiction:
ImprovereproducibilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by generating hash values for source code, data, hyperparameters, and environment configurations before the machine learning experiment execution. These hash values are stored in data structures that link configurations to results, enabling later verification and reproduction without re-running experiments. This preliminary documentation of the experimental state resolves the contradiction by establishing reproducibility mechanisms in advance, accepting the upfront complexity as a necessary investment for reliable scientific experimentation.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If comprehensive tracking of all variables and dependencies is implemented, then accuracy in determining code and parameters at a given time is improved, but the complexity of managing and processing multiple variables increases

Engineering Contradiction:
Improvetracking accuracyVSAvoidmanagement complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system transforms the complex problem of tracking multiple variables by changing the parameter representation from storing actual code and configuration data to storing cryptographic hash values of these elements. Each source code file, data file, hyperparameter configuration, and environment dependency is converted to a unique hash. This parameter transformation maintains precise tracking accuracy while dramatically reducing management complexity, as hash values are compact, immutable, and easily comparable without requiring access to the original complex artifacts.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If hash values are generated for all configuration elements including source code, data, hyperparameters, and environment, then complete traceability is achieved, but processing time and computational resources increase

Engineering Contradiction:
Improvetraceability completenessVSAvoidprocessing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system segments the traceability process by generating hash values for different configuration elements (source code files, data files, hyperparameter configurations, environment dependencies) independently and separately. Each element is hashed individually, and the resulting hash values are stored in a structured data structure that links them to the experiment results. This segmentation allows parallel processing of hash generation, reduces the computational burden on any single operation, and enables selective verification of specific configuration elements without re-processing the entire configuration set, thus achieving complete traceability while managing processing time efficiently.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10802822B2System and method for reproducible machine learning
Publication Date: 2020.10.13 ROYAL BANK OF CANADA
  • US10802822B2 patent drawing
  • US10802822B2 patent drawing
  • US10802822B2 patent drawing

AI summary

Systems and methods for computationally generating a set of more “stable” configuration default values that are used for traceability and improving reproducibility of machine learning approaches. Hash values are generated based on a merged/modified configuration and both configuration content and hash are stored together in one or more data structures. These data structures can be used to link back to the actual values used in experiments.