Monitoring
Overview
Fiddler Monitoring helps you identify issues with the performance of your ML models after deployment. Fiddler Monitoring has five Metric Types which can be monitored and alerted on:
Traffic
Data Drift
Data Integrity
Performance
Statistic
Custom Metric
Integrate with Fiddler Monitoring
Integrating Fiddler monitoring is a four-step process:
Upload dataset
Fiddler needs a dataset to be used as a baseline for monitoring. A dataset can be uploaded to Fiddler using our UI and Python package. For more information, see:
Onboard model
Fiddler needs some specifications about your model in order to help you troubleshoot production issues. Fiddler supports a wide variety of model formats. For more information, see:
Configure monitoring for this model
You will need to configure bins and alerts for your model. These will be discussed in details below.
Send traffic from your live deployed model to Fiddler
Use the Fiddler SDK to send us traffic from your live deployed model.
Publish Events to Fiddler
In order to send traffic to Fiddler, use the Model.publish() API from the Fiddler SDK. Here is a sample of the API call:
The publish_event
API can be called in real-time right after your model inference.
π Info
You can also publish events as part of a batch call after the fact using the
publish_events_batch
API (click here for more information). In this case, you will need to send Fiddler the original event timestamps as to accurately populate the time series charts.
Following is a description of all the parameters for publish_event
:
project_id
: Project ID for the project this event belongs to.model_id
: Model ID for the model this event belongs to.event
: The actual event as an array. The event can contain:Inputs
Outputs
Target
Decisions (categorical only)
Metadata
event_id
: A user-generated unique event ID that Fiddler can use to join inputs/outputs to targets/decisions/metadata sent later as an update.update_event
: A flag indicating if the event is a new event (insertion) or an update to an existing event. When updating an existing event, it's required that the user sends anevent_id
.event_timestamp
: The timestamp at which the event (or update) occurred, represented as a UTC timestamp in milliseconds. When updating an existing event, use the time of the update, i.e., the time the target/decision were generated and not when the model predictions were made.
Updating Events
Fiddler supports partial updates of events for your target and metadata column. This can be useful when you donβt have access to the ground truth or some extra fields for your model at the time the model's prediction is made. Other columns can only be sent at insertion time (with update_event=False
).
Set update_event=True
to indicate that you are updating an existing event. You only need to provide the decision, metadata, and/or target fields that you want to changeβany fields you leave out will remain as they were before the update.
Example
Hereβs an example of using the publish event API to update an existing event:
The above publish_event
call will tell Fiddler to update the target ('churn': 0
) of an existing event (event_id='some_unique_id'
).
Once youβve used the SDK to send Fiddler your live event data, that data will show up under the Insights tab in the Fiddler UI:
βͺ Questions? Join our community Slack to talk to a product expert
Last updated