AIAI EngineerJul 13, 2026· 23:35

Stop Evaluating Models Like It's the 50s - Alejandro Vidal, Mindmakers

Alejandro Vidal of Mindmakers argues that counting correct answers in LLM benchmarks—classical test theory—should be replaced by item response theory (IRT) from psychometrics for richer evaluations. Using real data from Epoch.ai, he shows that while Claude Opus 4.1 scored 245 right and Gemini 3 Pro 247, IRT reveals Gemini is nearly one standard deviation more intelligent because it answers harder questions. IRT assigns each item difficulty (B) and discrimination (A), enabling benchmark auditing—Vidal flagged mislabeled items like a question about passengers whose gold answer was actually total people killed. He demonstrates reducing a 484-item benchmark to 97 items with 99% ranking correlation by selecting high-discrimination items, saving tokens and money. IRT also detects contamination via unexpected residuals, protects benchmarks through adaptive testing with unique fingerprint sets, and identifies model families (e.g., DeepSeek distillations correlate 0.38). Vidal previews future extensions like multidimensional models and alignment measurement.

  1. 0:00Intro
  2. 1:58IRT Models
  3. 8:20Audit Benchmarks
  4. 10:20Optimal Benchmarks
  5. 13:41Spot Outliers
  6. 16:33Adaptive Tests
  7. 18:32Model Bias
  8. 20:03Fingerprints
  9. 22:07Future Work

Powered by PodHood

Transcript

Intro0:00

Alejandro Vidal0:03

Hi everyone. I'm Alejandro Vidal, the founder of Mindmakers, and my background is psychology and computer science, which is kind of weird, but for today it's going to be extremely helpful because I'm going to show you how you can borrow ideas from psychology and psychometrics to improve the way that you are evaluating modelsright now.

Because at this moment the state in the industry is counting the number ofright answers. That actually has a name: it's classical test theory, and we have by far better tools to do that. So it makes sense to borrow ideas from IQ tests and related stuff so we can apply them to LLMs.

Let me start with a very simple example here. We are using real data from Epoch.ai. If you don't know them, their project is amazing and they have quite open datasets, so you can actually use them. And here we have a random selection of models with a real benchmark.

As you can see here, we have an accuracy 41 of them. That's the current state of the art. So if we split its bar into different questions, each one of them is going to be a different question or a different item.

I'm going to use item for, um, for the same idea of question. In psychometrics we use item instead of question. If you sum all together, we are using a very strong assumption. We are saying that every question is equally important.

They should weigh the same, which is kind of insane if you think about that. We have better questions, more complicated questions, that maybe we should pay more attention to. And also we can have questions that are mislabeled or something like that.

So we are going to improve this. What we're going to do is we are going to use each item. Each column here is going to be one item, and we are going to treat them as individual variables. Okay.

IRT Models1:58

Alejandro Vidal1:58

So we are going to have this matrix here. As you can see here on the topright corner, we have difficult questions for weaker models, and on the other side we have

very easy questions for strong models. So it makes sense that we observe this pattern. Okay. But we are going to estimate for each question, for each item, a difficulty level. That is going to be called B. The B parameter is going to be the difficulty of each one of them, and we are going to create a function for each question.

That function maps the LLM intelligence, okay, to the probability of getting that answerright. Okay. So very easy items are going to be here, and extremely complicated items are going to be there. As you can see here, B is the point that crosses 50% chance in that curve.

Okay. Which is going to be useful later. Also, B is going to be distributed by a normal distribution, which is going to be also helpful to use that for interpretation. Okay. So with that in mind, we can actually estimate also theta.

Theta is going to be the level of intelligence for each model. That's going to be that dot, that black dot. So as you can see on theright side of each dot, mostly all questions are going to be red, which makes sense if they are extremely complicated or more complicated than the level of intelligence of that model.

The model is going to fail them. Okay. So we are going to model that way. So for example, here, if I click on this button, I'm going to see that GPT-5.5 here is going to be able to answer that question because GPT-5 has a theta value of 1.2, and the difficulty of that item is minus 1.2.

So the probability of theright answer is 99. Okay. So with that in mind, what are we doingright here is actually calibrating each question, each item. So we are going to improve a lot our estimations. We're going to improve also our confident intervals and many other properties.

The other thing that I want to explain here is theta and B is going to be a pair of numbers that are distributed with normal distributions, so we can actually interpret them. For example, an item of B equal 0 means that it's going to be average.

Half of the models in my dataset are going to be able to answer that question 50% of the time. So that's going to be extremely helpful becauseright now, to evaluate benchmarks, we need that reference compared with other models.

So it's better to have one by default with this methodology. Actually, this model is called item response theory, which is the evolution of classical test theory. Okay. So on top of that, I'm going to have another parameter. It's going to be the slope, the discrimination of that item.

So high discrimination, I'm going to have steeper functions. Also we can have random functions, items that are not related with intelligence, which I don't want, but something happens. And even worse, we're going to have items that have negative correlation with the actual intelligence of the model.

But keep that in mind because each item is going to be a difficulty level, B, and it's going to have a discrimination parameter here, A. So the last thing that you need to understand is how can we estimate the intelligence level of a given model if we have IRT modeling, item response theory.

We're going to actually go one by one for each question here. So I'm going to plot here on top its item curve, and below you're going to see the relative likelihood of theta. That's the estimation of the intelligence.

So as you can see here, we are going to use all curves to combine them in one distribution over time. Obviously, with more questions, we're going to have a better estimation. So if we add all of them at the end, I'm going to have my final, final estimation.

That is extremely nice to have a distribution here because I can have a likelihood interval, which with classical test theory is more complicated to have. Okay. So even with that, with a SER scale with B and theta, even with the likelihood interval, if you think that this is not useful at all, let me show you one last example.

Okay. Again, this is real data. So I'm going to compare two models. Here is going to be, on the left side, Claude Opus 4.1. Yeah. That has 245right answers. On the other side, we are going to have Gemini 3 Pro, which has 247.

Okay. So as you can see, the difference here is quite small for 337 questions. But if you use item response theory, you can see that the difference between all of them is almost one standard deviation. That means Gemini 3 Pro is by far more intelligent.

Okay. Which makes sense because it's a later model. Okay. So as you can see, counting the number ofright answers is not a good approach because I can create benchmarks that are not calibrated, and even if I get a lot ofright answers, I'm not more intelligent than other models.

That could happen, for example, if Gemini is able to answer by far harder questions. Even if Claude is able to answer more of them, maybe Claude was able to answer only the easiest one. So the theta level should be different.

Okay. That's actually what happens with IRT. You have better estimations. You have more parameters to define each item, which is going to be helpful later. And also you have, as you can see here, likelihood intervals. So on top of everything, I'm going to show you a few applications that you can use with IRT, and I hope that you find them interesting.

Okay. So the first application is going to be one of my favorite ones, actually, because you can apply this with one skill that I'm going to share. It's going to take a few minutes if you have the data, and you can actually pick the best items, the best questions on your benchmark, and remove the other ones that are not working or even fix them.

Audit Benchmarks8:20

Alejandro Vidal8:42

Okay. So we can audit our benchmark. So remember that we have two numbers that represent each item, each question. We have B, difficulty, and A, which is the slope or the discrimination of the item. On theright side here, we have very good items, very informative ones.

Here, close to zero, we have kind of noisy with little signal. And on the other side, we have items that we don't like at all, negative items. Here, for example, you can see that we have items that correlate

the other way around, that better models are actually getting that answer wrong, which makes no sense. So we can use this to actually find items that are significantly below zero, and we can actually flag them. With that, I'm going to use another LLM to actually evaluate them.

So here you can see two items that I detect with that technique. The first one is actually, I don't know the answer. I asked ChatGPT, and apparently the gold answer, the answer that is on the benchmark, is notright one.

Okay. So this is okay. But the next example is by far more interesting for me because the answer is kind ofright. So it's something that a lot of people can miss. So here it is asking, what is the total number of passengers?

The gold answer, the answer that is on the benchmark, is 583, which is the total people killed, passengers plus crew. But theright answer, if you pay attention, I'm asking only about passengers, which is another number. So again, with very little effort, if you have the dataset, you can actually find items that are mislabeled.

This is the most common thing, but sometimes they are not mislabeled. They are like bad items. So you should remove them or even improve them. This second application for me is amazing. It saves a lot of time, a lot of tokens, and therefore a lot of money.

Optimal Benchmarks10:20

Alejandro Vidal10:36

Okay. So it's quite common for organizations to have their own benchmarks to evaluate which model is better for them, especially with open source models. With that in mind, it's quite important to reduce the size of the benchmark to find the optimal size of the benchmark.

Before we couldn't do that because we didn't have any property of the item. Butright now, with item response theory, we can actually pick the best items. Okay. So this is a simplification, but we are going to say that items with high levels of discrimination are going to be the best ones.

Okay. With that in mind, I can do this. So again, real benchmarks with real data. For this benchmark, I'm going to target a 99 correlation with the original ranking. So it's going to be like almost perfect for many use cases.

And what are we going to do is pick one by one, starting with the best item, the item with the highest A. So with that methodology in mind, we're going to get that around 97 items compared with 484.

That's almost 5x. We are going to have the same ranking than before, or almost the same ranking as before. To be fair, I tried to do the same thing, but randomly. So if you pick items by random, you're going to observe by far worse performance.

So it's extremely helpful. Maybe this is kind of weird for you because if we can evaluate items with by far less questions, why are we actually using all the benchmark? And the answer for that is that we are not used to calibrate benchmarks.

We are like assuming that more questions means better estimation, which is not true. For example, I can have two questions that kind of overlap. Their curves are more or less the same. So even if I ask two of them, I'm going to get more or less the same information about your intelligence.

Okay. And also there are a few items that you can notice that they are not extremely informative. They don't correlate with actual intelligence. So you can reduce them or use them less. I'm not saying that you should remove like the rest of the dataset, but you can use this for another application that we are going to talk, that you can use a subset of items.

It's time that you apply the benchmark, which is going to be extremely useful. But be careful because this does not happen on every benchmark. Okay. So for example, GPQA, which is an extremely well-designed dataset, the benchmark here, as you can see, even if you pick at random, you are going to get more or less the same result.

And the reason for that is that every item here is extremely discriminative, and also they don't overlap. So they are all of them are useful at every time along the benchmark. Okay.

So now, given that we have for each item one function, we can also calculate the error, the unexpected behavior, the outliers for each question, which is going to be amazing for many applications. We can actually find out if we are leaking information, if we are overfitting with the benchmark, and other kinds of contaminations.

Spot Outliers13:41

Alejandro Vidal14:02

So let me go back to the matrix that we started with. And as you can see, every question is going to have the estimation and the actual answer. And that's good because we can observe a few outliers here.

For example, Gemini 3 Pro should be able to answer that question. Actually, our model says that 86% of the times, Gemini should be able to answer that. But even with that, that question is wrong. I cannot say why, but I can actually detect those outliers, those weird patterns.

Okay. And with that in mind, we can actually calculate the residuals, the error for that specific question, which is going to be useful for different applications that I'm going to explain later. The other way around, we can actually see here that, for example, DeepSeek R1 is having here aright answer, even if it's not expected.

Okay. Again, that does not mean that we are overfitting or anything. Actually, we can sample the same question more than once so we can average them together. And maybe with that, we can like resolve that outlier. But in any case, we have a new tool that we can use to analyze the data.

On top of that, actually, in psychometrics, we have a few techniques to see if the behavior is consistent, if that makes sense. Okay. So for example, here I can observe that O4 Mini is the less consistent one. You can see that it has a lot of red, a lot of green questions here in the middle, which makes no sense.

So you should be able to use that to, for example, detect if your inference platform is not working well. Because if your, for whatever reason, your inference platform is not actually running the models or the quantization is actually wrong, you're going to observe things like that, behaviors that are not expected.

Okay. Should be consistent. This matrix is not perfect. It's going to have noise, but we should be able to more or less estimate the level of intelligence. Given that, we can predict more or less what questions are you going to getright, at what question are you going to get wrong.

Okay. Again, residuals are going to be extremely helpful for the next application. But only with this, I think you can actually look at the data in other ways.

Adaptive Tests16:33

Alejandro Vidal16:33

Okay. So let's say that you are building a benchmark, a very complicated one, very expensive one. So you don't want the benchmark to be leaked on the internet. Neither do you want other organizations to train their models with that benchmark.

Okay. Because it's extremely valuable. And if you can protect that benchmark over time, it's going to be more valuable. So with that in mind, we can actually use what we call adaptive testing. Okay. What is that? I'm going to pick a random set of items that are going to be representative of my benchmark, and I'm going to call that an anchor set.

An anchor set should be representative of my entire benchmark. And I'm going to use those items with every applicant, with every model from any organization that I'm working with. But for every organization, I'm going to pick one individual set.

I'm going to call that fingerprint set, and I'm going to show only to that specific organization. And I can do also the same thing with another one. Pay attention to this because it's important that I pick extremely complicated items from my benchmark for those fingerprint sets.

Over time, let's say a few months later, every organization is releasing their new models. And I'm going to observe, I'm going to like run the benchmarks again, and I'm going to use residuals to see if those models are extremely good at those specific questions.

So here, this is a synthetic dataset. You can see that the average

residual for that organization for that specific fingerprint set is extremely unlikely. So this is not bulletproof, but this is an extremely good technique that you can use to protect your benchmarks. As you can see here, the average residuals for one organization is by far bigger than the other one.

In psychology, it's really important to find out if one of our items is actually biased against one specific group. We can use the same technique to research how models behave with items. So I'm going to show you that with one example.

Model Bias18:32

Alejandro Vidal18:47

I'm going to split the dataset into groups. In this case, I'm going to use open weights and close weights. You can use whatever variable is interesting for you, and even you can create more than one group. After that, I'm going to, for each item, create two different curves for each group.

And what we expect, if the item is unbiased, is that both lines are kind of overlapping. If not, we are going to calculate this difference, the gap between those ones, and that difference should be zero or close to zero.

In this case, we can detect, we can apply that technique to all items on my benchmark. And actually, we can find out that there are a few items that are better for close weight models and better for open weight models.

I'm not going to show the items because I don't want to leak them on the internet. But if you apply this technique to a real benchmark, you can actually notice a few patterns there. There are a set of questions that have something in common that are better for open weight models.

I cannot pinpoint the real reason for that, but I can say that this technique could be used to understand how they train their models.

The last application that I'm going to show you is kind of interesting. It's the most complicated one, but in a way, it's the most interesting one. So I'm going to use the residuals to actually have a DNA, a fingerprint for models.

Fingerprints20:03

Alejandro Vidal20:17

And the idea is that we can actually look at them and see if two different models are related somehow. Okay. So I'm going to make a correlation matrix here, and also I'm going to make a super simple projection.

So the first thing that you can notice is that there are a few models that are extremely close here, that they are from the same lab, and also they have the same history. They are like different versions for the same model.

Also here, you can observe we have DeepSeek, different distillations of DeepSeek. We have also Queen. So we can observe some kind of patterns there. And it makes sense because if a model has a shared history with other models, we can expect the same kind of errors.

Okay. And let me show you a few examples. The first one is going to be this one. If we have two models that have the same base, we expect high correlations between them. In this case, we have 0.38.

Okay. Also, we can observe that between distillations and its base model, which could be extremely interesting if you want to test that distillation of your model without consent. Also, we can detect the same model with different effort levels, which makes sense because it's almost the same thing.

And also, we can say we can actually detect if we have different versions or evolution of the same model. Here we have Llama, but also work with Gemini here. Okay. So again, this is not as useful as others for day-to-day, but I think this opens an area of research to understand how models are related with each other and even detect distillations.

I really hope that you find inspiring this talk. My goal here was to open the gates of psychometrical research for LLMs. I think we can improve a lot how we benchmark LLMs with very basic maths here. But there are a lot of ideas that you should explore because I didn't have time.

Future Work22:07

Alejandro Vidal22:29

The first one is multidimensionality and hierarchical models. I'm expecting if we apply them to LLMs to see different skill levels for different kinds of tasks. Also, we can merge different benchmarks to improve the estimation of each one of them.

Makes sense if you have IRT. And also, this has been done in a research paper called Meta Benchmark that I highly recommend you to read. Also, we can add another signal that we think correlates with intelligence, for example, latency or tokens.

And another very promising idea is to use psychometrical models to actually measure alignment and use that for also interpretability. I think mechanistic interpretability could help a lot of psychometrics here. I'm working on all those areas. If you are working on them or you have any idea or you need help to apply them to your benchmark, let me know.

Thank you for your time. And here you have all the materials, skills, and benchmarks, so you can play around with them.