Designing a Benchmark Module to Evaluate Pipeline Improvements #611
Replies: 2 comments 1 reply
-
|
Hey everyone, Quick update on this—I’ve gone ahead and implemented the benchmarking infrastructure based on our initial discussions. Here is how the final architecture shaped up, along with how it answers the open questions we had: 1. Dataset, Schemas & Ground Truth
2. Evaluation Metrics & Scoring
I'll implement the LLM-as-a-judge model very soon. 3. Execution & Testing Architecture
4. CI/CD & Branch Comparison
The baseline infrastructure is now documented and live in the Let's use this setup to start committing our sample narratives and running Pipeline A vs. Pipeline B so we can let the data do the talking! Would love to hear your thoughts on the workflow. |
Beta Was this translation helpful? Give feedback.
-
|
Looks cool! I don’t have much experience with benchmarking yet. For the benchmark run method, I would personally prefer running the test CLI locally since I’m not sure how it would work with CI/CD, especially because the changes would be on different branches. Does the CI/CD workflow target both branches and run every time a PR is merged? I need to look into a few benchmarking approaches before I can comment further. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Context
Following #609, we agreed that the best way to settle the debate between Pipeline A (Canonical Incident Schema) and Pipeline B (Template-Driven Extraction) is through empirical evidence rather than assumptions. To do that, we need to build our own benchmarking infrastructure.
This discussion is dedicated to designing that benchmark module—what it should measure, how it should be structured, and what a realistic test dataset looks like.
What are we trying to measure?
To make a fair comparison, the benchmark should evaluate both pipelines across the same dimensions.
1. Extraction Accuracy
2. Consistency
3. Hallucination Rate
4. Latency & Cost
5. Scalability
How does each pipeline behave when generating:
from the same incident narrative?
Proposed Benchmark Dataset
I think we should build a benchmark dataset consisting of:
As a first version, I'd propose starting small:
Proposed Benchmark Structure
Open Questions
Ground Truth Format
Should the ground truth be:
field_name → valuemapping?Evaluation Metric
How should we score partially correct values?
Example:
"Floor 3""3rd floor"Possible approaches:
Benchmark Dataset
Who should create the benchmark narratives?
Hallucination Detection
Should the ground truth explicitly specify which fields are absent, allowing us to distinguish between:
nullConfidence Scores
Should each pipeline also return a confidence score per extracted field so we can compare confidence against actual accuracy?
Benchmark Execution
Should the benchmark run:
Marc: I feel like the best option might be CLI for development testing + CI to protect branches.
I was thinking to use this for the CI. Lmk how you feel guys.
Proposed Next Steps
benchmark/directory.pipeline_a.pyandpipeline_b.pyusing the existing services.I'd especially love to hear thoughts from @chetanr25, @abhishek-8081 and @vharkins1 on:
I think agreeing on how we measure success is the first step before investing time in implementing either pipeline.
I'd love to work on something like this because it gets closer my field of expertise and I'd be super happy to work with you guys as well, so we could divide the team and split tasks (API and benchmark) for now.
Beta Was this translation helpful? Give feedback.
All reactions