LogoLogo
👨‍💻 API Reference📣 Release Notes📺 Request a Demo
  • Introduction to Fiddler
    • Monitor, Analyze, and Protect your ML Models and Gen AI Applications
  • Fiddler Doc Chatbot
  • First Steps
    • Getting Started with Fiddler Guardrails
    • Getting Started with LLM Monitoring
    • Getting Started with ML Model Observability
    • Getting Started with the Fiddler Partner AI App on Amazon SageMaker
  • Tutorials & Quick Starts
    • LLM and GenAI
      • LLM Evaluation - Compare Outputs
      • LLM Evaluation - Prompt Specs Quick Start
      • LLM Monitoring - Simple
    • Fiddler Free Guardrails
      • Guardrails - Quick Start Guide
      • Guardrails - Faithfulness
      • Guardrails - Safety
      • Guardrails FAQ
    • ML Observability
      • ML Monitoring - Simple
      • ML Monitoring - NLP Inputs
      • ML Monitoring - Class Imbalance
      • ML Monitoring - Model Versions
      • ML Monitoring - Ranking
      • ML Monitoring - Regression
      • ML Monitoring - Feature Impact
      • ML Monitoring - CV Inputs
  • Glossary
    • Product Concepts
      • Agentic Observability
      • Baseline
      • Custom Metric
      • Data Drift
      • Embedding Visualization
      • Enrichment
      • Fiddler Guardrails
      • Fiddler Trust Service
      • LLM and GenAI Observability
      • Metric
      • Model Drift
      • Model Performance
      • ML Observability
      • Trust Score
  • Product Guide
    • LLM Application Monitoring & Protection
      • LLM-Based Metrics
      • Embedding Visualizations for LLM Monitoring and Analysis
      • Selecting Enrichments
      • Enrichments (Private Preview)
      • LLM Evaluation Prompt Specs
      • Guardrails for Proactive Application Protection
    • Optimize Your ML Models and LLMs with Fiddler's Comprehensive Monitoring
      • Alerts
      • Template-Based Alerts
      • Class Imbalanced Data
      • Enhance ML and LLM Insights with Custom Metrics
      • Data Drift: Monitor Model Performance Changes with Fiddler's Insights
      • Ensuring Data Integrity in ML Models And LLMs
      • Embedding Visualization With UMAP
      • Fiddler Query Language
      • Model Versions
      • How to Effectively Use the Monitoring Chart UI
      • Performance Tracking
      • Model Segments: Analyze Cohorts for Performance Insights and Bias Detection
      • Statistics
      • Monitoring ML Model and LLM Traffic
      • Vector Monitoring
    • Enhance Model Insights with Fiddler's Slice and Explain
      • Events Table in RCA
      • Feature Analytics Creation
      • Metric Card Creation
      • Performance Charts Creation
      • Performance Charts Visualization
    • Master AI Monitoring: Create, Customize, and Compare Dashboards
      • Creating Dashboards
      • Dashboard Interactions
      • Dashboard Utilities
    • Adding and Editing Models in the UI
      • Model Editor UI
      • Model Schema Editing Guide
    • Fairness
    • Explainability
      • Model: Artifacts, Package, Surrogate
      • Global Explainability: Visualize Feature Impact and Importance in Fiddler
      • Point Explainability
      • Flexible Model Deployment
        • On Prem Manual Flexible Model Deployment XAI
  • Technical Reference
    • Fiddler Partner AI App on Amazon SageMaker
      • SageMaker Fiddler Partner AI App Admin Guide
      • SageMaker Fiddler Partner AI App User Guide
      • SageMaker Fiddler Partner AI App Quick Setup Script
    • Python Client API Reference
    • Python Client Guides
      • Installation and Setup
      • Model Onboarding
        • Create a Project and Onboard a Model for Observation
        • Model Task Types
        • Customizing your Model Schema
        • Specifying Custom Missing Value Representations
      • Publishing Inference Data
        • Creating a Baseline Dataset
        • Publishing Batches Of Events
        • Publishing Ranking Events
        • Streaming Live Events
        • Updating Already Published Events
        • Deleting Events From Fiddler
      • Creating and Managing Alerts
      • Explainability Examples
        • Adding a Surrogate Model
        • Uploading Model Artifacts
        • Updating Model Artifacts
        • ML Framework Examples
          • Scikit Learn
          • Tensorflow HDF5
          • Tensorflow SavedModel
          • XGBoost
        • Model Task Examples
          • Binary Classification
          • Multiclass Classification
          • Regression
          • Uploading A Ranking Model Artifact
      • Naming Convention Guidelines
    • Integrations
      • Data Pipeline Integrations
        • Airflow Integration
        • BigQuery Integration
        • Integration With S3
        • Kafka Integration
        • Sagemaker Integration
        • Snowflake Integration
      • ML Platform Integrations
        • Integrate Fiddler with Databricks for Model Monitoring and Explainability
        • Datadog Integration
        • ML Flow Integration
      • Alerting Integrations
        • PagerDuty Integration
    • Comprehensive REST API Reference
      • Projects REST API Guide
      • Model REST API Guide
      • File Upload REST API Guide
      • Custom Metrics REST API Guide
      • Segments REST API Guide
      • Baselines REST API Guide
      • Jobs REST API Guide
      • Alert Rules REST API Guide
      • Environments REST API Guide
      • Explainability REST API Guide
      • Server Info REST API Guide
      • Events REST API Guide
      • Fiddler Trust Service REST API Guide
    • Fiddler Free Guardrails Documentation
  • Configuration Guide
    • Authentication & Authorization
      • Adding Users
      • Overview of Role-Based Access Control
      • Email Authentication
      • Okta OIDC SSO Integration
      • Azure AD OIDC SSO Integration
      • Ping Identity SAML SSO Integration
      • Google OIDC SSO Integration
      • Mapping LDAP Groups & Users to Fiddler Teams
    • Application Settings
    • AWS VPC Endpoint Automated Setup
    • AWS Virtual PrivateLink Setup
    • Supported Browsers
  • History
    • Release Notes
    • Python Client History
    • Compatibility Matrix
    • Product Maturity Definitions
  • Illustrative Walkthroughs
    • Customer Churn Prediction
Powered by GitBook
On this page
  1. Product Guide
  2. Optimize Your ML Models and LLMs with Fiddler's Comprehensive Monitoring

Vector Monitoring

PreviousMonitoring ML Model and LLM TrafficNextEnhance Model Insights with Fiddler's Slice and Explain

© 2025 Fiddler AI. All rights reserved.

CtrlK
  • Detecting Drift in Multi-Dimensional ML and GenAI Model Data
  • Define Custom Features
  • Passing Custom Features List to ModelSpec
  • Understanding Drift Detection Algorithm
  • Performance considerations
  • Best practices
  • Risk Considerations for AI/ML Applications
  • Related topics

Was this helpful?

Detecting Drift in Multi-Dimensional ML and GenAI Model Data

Many modern machine learning systems use input features that cannot be represented as a single number, such as text or image data. These complex features are typically represented by high-dimensional vectors obtained through vectorization methods like text embeddings generated by NLP models. Fiddler users often need to monitor groups of univariate features together and detect data drift in multidimensional feature spaces.

To address these needs, Fiddler provides vector monitoring capabilities that enable you to define custom features and use advanced methods for monitoring data drift in multidimensional spaces.

You can define custom features by grouping columns together in baseline and inference data. For NLP or image data, you can define custom features using columns that contain embedding vectors.

Define Custom Features

Users can use the Fiddler client to define one or more custom features. Custom features can be specified by:

Use the Fiddler client to define one or more custom features. You can specify custom features in three ways:

  1. Group dataset columns that need to be monitored together as a vector (custom_feature_1, custom_feature_2)

  2. Use existing embedding vectors with the source column (custom_feature_3, custom_feature_4)

  3. Define an enrichment that instructs Fiddler to generate embedding vectors automatically on ingestion (custom_feature_5)

After you define and pass a list of custom features to Fiddler, Fiddler runs a clustering-based data drift detection algorithm for each custom feature. The system calculates a corresponding drift value between the baseline and published events for the selected time period.

from fiddler import CustomFeature, TextEmbedding, ImageEmbedding

# Group columns into vectors
custom_feature_1 = CustomFeature.from_columns(
    ['f1', 'f2', 'f3'], custom_name='vector1'
)
custom_feature_2 = CustomFeature.from_columns(
    ['f1', 'f2', 'f3'], n_clusters=5, custom_name='vector2'
)

# Use existing embeddings
custom_feature_3 = TextEmbedding(
    name='Document Text Embedding', column='text_embedding_col', source_column='text'
)
custom_feature_4 = ImageEmbedding(
    name='Image Embedding', column='image_embedding_col', source_column='image_url'
)

# Define automated text embedding enrichment
custom_feature_5 = TextEmbedding(
    name='Document Text Embedding',
    source_column='doc_col',
    column='Enrichment Unstructured Embedding',
    n_tags=10,
)

Passing Custom Features List to ModelSpec

After you define custom features for vector monitoring, add them to the ModelSpec and onboard the Model to Fiddler.

from fiddler import ModelSpec, Model, Project

model_spec = ModelSpec(
    inputs=[
        'creditscore',
        'geography',
        'gender',
        'age',
        'tenure',
        'balance',
        'numofproducts',
        'hascrcard',
        'isactivemember',
        'estimatedsalary',
        'doc_col',
    ],
    outputs=['predicted_churn'],
    targets=['churn'],
    # Note: Embedding columns you pass in must be included with the metadata columns.
    metadata=['customer_id', 'timestamp', 'text_embedding_col', 'image_embedding_col'],
    custom_features=[
        custom_feature_1,
        custom_feature_2,
        custom_feature_3,
        custom_feature_4,
        custom_feature_5,
    ],
)

model = Model.from_data(
    name='your_model_name',
    project_id=Project.from_name('your_project_name').id,
    source=sample_df,
    spec=model_spec,
    task=model_task,
    task_params=task_params,
    event_id_col=id_column,
    event_ts_col=timestamp_column,
)

model.create()

Understanding Drift Detection Algorithm

Fiddler's vector monitoring uses a clustering-based approach to detect drift in multidimensional spaces:

  1. Baseline clustering: The system analyzes your baseline data to identify natural clusters using k-means clustering

  2. Production comparison: New production data is compared against these established clusters

  3. Drift calculation: The system calculates drift scores based on changes in cluster distributions and centroid distances

Performance considerations

  • Computational cost: Vector monitoring requires more computational resources than univariate monitoring

  • Memory usage: High-dimensional vectors and clustering algorithms increase memory requirements

  • Processing time: Drift calculations may take longer for large datasets or high-dimensional vectors

Best practices

  • Choose appropriate cluster numbers: Start with 3-8 clusters and adjust based on your data's natural groupings

  • Monitor cluster stability: Regularly review cluster formations to ensure they remain meaningful

  • Set reasonable thresholds: Establish drift thresholds that balance sensitivity with false positive rates

Risk Considerations for AI/ML Applications

When implementing vector monitoring, consider these potential risks:

  • Bias amplification: Clustering algorithms may amplify existing biases in your training data

  • Concept drift detection: Traditional clustering may miss subtle concept drift that affects model performance

  • Interpretability challenges: High-dimensional clusters can be difficult to interpret and explain to stakeholders

Note: For a complete example of NLP monitoring, see our NLP monitoring quick start guide, which demonstrates embedding generation for unstructured inputs.

Related topics

  • Data drift platform

  • TextEmbedding reference

  • ImageEmbedding reference

  • Embedding visualization with UMAP

📘 Quick Start for NLP Monitoring

Check out our Quick Start guide for NLP monitoring for a fully functional notebook example where we instruct Fiddler to generate the embeddings for unstructured inputs.


❓ Questions? Talk to a product expert or request a demo.

💡 Need help? Contact us at [email protected].