World's Fair 2024
Lessons from the Trenches: Building LLM Evals That Work IRL: Aparna Dhinkaran
Overview
This talk focuses on the practical challenges and solutions for building effective LLM evaluation systems in real-world applications. It distinguishes between model evals, which rank models against benchmarks, and task evals, which assess whether an LLM application is functioning correctly for its intended purpose. The core thesis is that robust task evals, especially those providing explanations for failures, are crucial for iterating and improving deployed LLM applications.
Who should watch
- AI Engineers
- Product Managers
- Builders of LLM applications
- Anyone struggling with LLM application quality and debugging
- Teams building complex agentic workflows
Key takeaways
- Task evals are essential for assessing LLM application functionality, going beyond general model benchmarks.
- Complex applications, particularly those with routing or multi-step workflows, require evals at multiple levels (e.g., router, component, trace).
- LLM-as-a-judge is a common approach for task evals, involving an LLM evaluating an application's output based on input and context.
- When using function calling, it's critical to evaluate both the correct function selection and the accurate extraction of parameters.
- Evals with explanations are significantly more useful for debugging and iteration than simple pass/fail scores.
- Numeric score outputs from LLM judges can be unreliable, often showing a binary response rather than a nuanced spectrum.
- In Retrieval Augmented Generation (RAG) systems, the placement of key information within the context window can impact retrieval accuracy, with earlier placement sometimes being less effective.
- Prompting LLMs to explain their reasoning before answering can significantly improve performance on generation tasks.
Notable quotes
*Evals with explanations are by far what we see real people deploying applications finding the most useful in production.*
*A single incorrect not incorrect is just really hard to know what to go fix but when you have something like an explanation like we were looking at it makes it easier for teams to go okay here's what I go fix here's what I go dig into.*
Unofficial community note. Prefer the recording for nuance.