SPEAKER_00
Hi everyone, I'm Alejandro Vidal, the founder of Mindmakers, and my background is psychology and computer science, which is unusual, but for today is 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 models right now. Because at this moment the state in the industry is counting the number of right 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.
SPEAKER_00
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 for each one of them. That's the current state of the art.
SPEAKER_00
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 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 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.
SPEAKER_00
What we are going to do is we are going to use each item, its column here is going to be one item, and we are going to treat them as individual variables. So we are going to have this matrix here. As you can see here, on the top right 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.
SPEAKER_00
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 to the probability of getting that answer right. 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, 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.
SPEAKER_00
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 the right side of each dot, mostly all the 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.
SPEAKER_00
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 the right answer is 99.
SPEAKER_00
Okay, so with that in mind, what we are doing right here is actually calibrating each question, each item. So we are going to improve a lot our estimations. We are going to improve also our confidence 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, item of B equals 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 because right now to evaluate benchmarks, we need that reference compared with other models. So it's better to have one by default with this methodology.
SPEAKER_00
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 are 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. So keep that in mind because each item is going to be at difficulty level, B, and it's going to have a discrimination parameter here, A.
SPEAKER_00
So, last thing that you need to understand is how can we estimate the intelligence level of a given model if we have IRT, 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 are going to see the relative likelihood of zeta. That's the estimation of the intelligence. So, as you can see here, we are going to use all the 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 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.
SPEAKER_00
Okay? So, even with that, with the shared 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.
SPEAKER_00
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 245 right 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. Cool. Okay. So, as you can see, counting the number of right answers is not a good approach, because I Yeah? That has 245 right answers.
SPEAKER_00
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. Cool. Okay. So, as you can see, counting the number of right answers is not a good approach, because I can create benchmarks that are not quite rated, and even if I get a lot of right answers, I'm not more intelligent than other models.
SPEAKER_00
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 levels should be different. Okay? That's actually what happens with IRT. You have weather 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.
SPEAKER_00
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 show. 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. 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 the right side here, we have very good items, very informative ones. Here, close to zero, we have noisy, with little signal.
SPEAKER_00
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 not the right one. Okay? So, this is okay.
SPEAKER_00
But the next example is by far more interesting for me, because the answer is right. So, it's something that a lot of people can miss. So, here, it's 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 the right answer, if you pay attention, I'm asking only about passengers, which is another number. So, again, with a very little effort, if you have the data set, you can actually find items that are mislabeled. This is the most common thing. But sometimes, they are not mislabeled. They are bad items. So, you should remove them or even improve them.
SPEAKER_00
This second application for me is amazing. It saves a lot of time, a lot of tokens, and therefore, a lot of money. 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. But right now, with item response theory, we can actually pick the best items. Okay? So, this is a simplification.
SPEAKER_00
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 almost perfect for many users' cases. And what we are 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 are 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.
SPEAKER_00
To be fair, I try to do the same thing, but randomly. So, if you pick items by random, you are going to observe by far worse performance. So, it's extremely helpful. Maybe this is weird for you, because if we can evaluate items with by far less questions, why are actually using all the benchmark? And the answer for that is that we are not used to calibrate benchmarks. We are assuming that more questions means better estimation, which is not true. For example, I can have two questions that 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?
SPEAKER_00
So, 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 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 benchmark here, as you can see, even if you pick at random, you are going to get more or less the same result.
SPEAKER_00
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 useful at every time along the benchmark. Okay? 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 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.
SPEAKER_00
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. 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.
SPEAKER_00
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, DeepSeq R1 is having here a right answer, even if it's not expected. Okay? Again, that does not mean that we are overfitting or anything.
SPEAKER_00
Actually, we can sample the same question more than once, so we can average them together, and maybe with that we can 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 O4mini 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.
SPEAKER_00
Because if, for whatever reason, your inference platform is not actually running the models or the quantization is actually wrong, you are going to observe things like that. Behavior that are not expected. Okay? Should be consistent. So 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 get right and what questions 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 another way.
SPEAKER_00
Okay, so let's say that you are building a benchmark, a very complicated one, a very expensive one, so you don't want that benchmark to be leaked on the internet, neither 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.
SPEAKER_00
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, that 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.
SPEAKER_00
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 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 data set. 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.
SPEAKER_00
In psychology, it's really important to find out if one of our items actually bias against one specific group. We can use the same techniques to research how models behave with items. So I'm going to show you that with one example. I'm going to split the data set 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 overlapping.
SPEAKER_00
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 closed weight models and better for open weight models. I'm not going to show the items because I don't want to link 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.
SPEAKER_00
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 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, and the idea is that we can actually look at them and see if two different models are related somehow. I'm not going to show the items because I don't want to link them on the internet, but if you apply this technique to a real benchmark, you can actually notice a few patterns there.
SPEAKER_00
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 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 have a DNA, a fingerprint for models, and the idea is that we can actually look at them and see if two different models are related somehow. So I'm going to make correlation metrics here, and also I'm going to make a super simple projection.
SPEAKER_00
The first thing that you can notice is that there are a few models that are extremely close here. They are from the same lab, and also they have the same history. They are different versions for the same model. Also here, you can observe we have DeepSeq, different distillation of DeepSeq, we have also Qwen. So we can observe some patterns there. 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?
SPEAKER_00
Also we can observe that between distillations and its base model, which could be extremely interesting if you want to detect distillations of your model without constant. 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.
SPEAKER_00
I really hope that you find this talk inspiring. My goal here was to open the gates of psychometric research for LLMs. I think we can improve a lot how we benchmark LLMs with very basic math here, but there are a lot of ideas that you should explore because I didn't have time. 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. It 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 psychometric models to actually measure alignment and use that for also interpretability. I think mechanistic interpretability could help a lot with 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.
SPEAKER_00
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, DeepSeq R1 is having here a right 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.
SPEAKER_00
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 O4mini 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 you're, for whatever reason, your inference platform is not actually running the models or the quantization is actually wrong, you are going to observe things like that. Behavior that are not expected. Okay? Should be consistent.
SPEAKER_00
So, 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 get right, and what questions 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 way. Okay, so let's say that you are building a benchmark, a very complicated one, very expensive one, so you don't want that benchmark to be leaked on the internet, neither you want other organizations to train their models with that benchmark. Okay?
SPEAKER_00
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,
SPEAKER_00
that 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 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 data set. You can see that the average residual for that organization, for that specific fingerprint set, is extremely unlikely.
SPEAKER_00
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 actually bias against one specific group. We can use the same techniques to research how models behave with items. So, I'm going to show you that with one example. I'm going to split the data set 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.
SPEAKER_00
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 closed weight models and better for open weight models.
SPEAKER_00
I'm not going to show the items because I don't want to link 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.
SPEAKER_00
So, I'm going to use the residuals to actually have a DNA, a fingerprint for models, and the idea is that we can actually look at them and see if two different models are related somehow. So, I'm going to make correlation metrics 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 different versions for the same model. Also here, you can observe we have DeepSeq, different distillation of DeepSeq, we have also Queen. So, we can observe some kind of patterns there.
SPEAKER_00
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 detect distillations of your model without constant. Also we can detect the same model with different effort levels. Which makes sense because it's almost the same thing.
SPEAKER_00
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 psychomotricial 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 the first one is multidimensionality and
SPEAKER_00
hierarchical models I'm expecting if we apply them to LLMs to see different skill levels for different kind 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 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 psychomotricial models to actually measure alignment and use that for also interpretability I think mechanistic interpretability could help a lot psychometrics here I'm working on all those
SPEAKER_00
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