Feature Engineering System for Real-Time Vector Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning feature engineering systems face inefficiencies in processing and updating feature vectors, particularly in handling real-time data streams and historical data, which can lead to increased computational complexity and difficulty in maintaining up-to-date models for accurate predictions.

Innovation Solution

A machine learning feature engineering system that ingests data from both offline and streaming sources, utilizes a feature engine to group events by entities, compute features using a timestamp convention, and maintain a related event store and feature store, allowing for efficient on-demand query responses and minimal processing to update feature values based on new data or configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If feature vectors are continuously updated using all historical and streaming data, then model accuracy is improved, but computational complexity and processing time increase significantly

Engineering Contradiction:
Improvemodel accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system segments the feature computation process by maintaining separate event stores for different time periods (historical events vs. recent events). When updating feature vectors, the system selectively processes only relevant event segments based on the update type, rather than reprocessing all historical data. This segmentation reduces computational complexity while maintaining model accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-computing and storing feature values in the feature store before they are needed for model training or inference. Feature vectors are maintained in an updated state in advance, so when model training occurs, the features are already ready and do not require intensive real-time computation during the training process.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the system processes both offline and streaming data in real-time, then feature vectors remain up-to-date, but processing speed and resource utilization decrease

Engineering Contradiction:
Improvefeature vector currencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements periodic action by processing offline batch data at scheduled intervals and applying updates to the feature store. Between batch updates, the system uses the previously computed feature vectors for real-time inference without requiring continuous reprocessing of streaming data. This periodic update approach maintains feature vector currency while preserving processing speed during inference phases.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system maintains continuity of useful action by continuously ingesting and buffering streaming events in the event store, while feature vector updates occur periodically when batch processing completes. This ensures that when updates do occur, they incorporate all accumulated streaming data, maintaining feature currency without requiring continuous expensive real-time computation.

Inventive Principle:
Principle #20Continuity of useful action

3Measurement precision

If the system stores all raw event data for feature computation, then feature accuracy is maintained, but storage requirements and data retrieval time increase

Engineering Contradiction:
Improvefeature accuracyVSAvoiddata storage volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system extracts and stores only the essential feature values computed from raw event data in the feature store, rather than retaining all raw events. The feature store contains pre-computed feature vectors that capture the essential information needed for machine learning models, while the full event history can be discarded or archived separately. This extraction maintains feature accuracy while dramatically reducing storage requirements for active processing.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If the system recomputes features from scratch for each query, then feature accuracy is ensured, but query response time and computational overhead increase

Engineering Contradiction:
Improvefeature accuracyVSAvoidquery response time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary computation by pre-calculating feature vectors and storing them in the feature store before queries are made. When a query arrives, the system retrieves the pre-computed feature vector rather than recomputing it from raw events. This preliminary action ensures feature accuracy is maintained through proper computation while dramatically reducing query response time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of feature vectors in the feature store that are identical to what would be computed from raw events but are stored in advance. These copied feature representations allow the system to serve queries using the stored copies rather than recomputing from scratch, ensuring accuracy matches full computation while reducing time overhead significantly.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11354596B2Machine learning feature engineering
Publication Date: 2022.06.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11354596B2 patent drawing
  • US11354596B2 patent drawing
  • US11354596B2 patent drawing

AI summary

Machine learning feature engineering systems and methods comprise an event ingestion module that receives event data associated with entities. The ingestion module determines which entities are associated with events of the event data. The ingestion module stores the events, grouped by associated entity, in a related event store. A user defines features associated with the entities via an API and/or a feature studio. A feature computation layer determines values for the features based on the grouped events stored to the related event store. The feature computation layer stores the computed feature values and timestamps to a feature store. When new data is received, the feature computation layer computes one or more of the feature values for different times based on the timestamps. Feature vectors are generated using the computed feature values and output to the user via the API and/or feature studio.