From 751bb6dec1b54b6509343e5debc70f23a66c575b Mon Sep 17 00:00:00 2001 From: osouthwell-scottlogic <98388720+osouthwell-scottlogic@users.noreply.github.com> Date: Thu, 16 Nov 2023 20:44:05 +0000 Subject: [PATCH] New post on the t-test (#119) * new post on jest skipping * code format fix * summary grammar fix * fix ratio of picture * change refs to inline links * added gsingh, aberrill and osouthwell * New post on Jest snapshot testing (#58) * New post on Jest snapshot testing * Jest snapshot testing post improvements * Updated Enhancing Jest Snapshot Testing * grammar fixes * remove repeated author * updating post date * add new blog post * update to new title * increase length of summary --------- Co-authored-by: Joe Co-authored-by: Kiet Lau <60979927+kietSL@users.noreply.github.com> Co-authored-by: Siteleaf Co-authored-by: Colin Eberhardt --- ...-testing-of-nondeterministic-AI-systems.md | 99 ++++++++++++++++++ osouthwell/assets/H0example.png | Bin 0 -> 26706 bytes osouthwell/assets/SDExample.png | Bin 0 -> 39003 bytes osouthwell/index.html | 1 - 4 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 _posts/2023-11-16-using-the-t-test-for-effective-testing-of-nondeterministic-AI-systems.md create mode 100644 osouthwell/assets/H0example.png create mode 100644 osouthwell/assets/SDExample.png diff --git a/_posts/2023-11-16-using-the-t-test-for-effective-testing-of-nondeterministic-AI-systems.md b/_posts/2023-11-16-using-the-t-test-for-effective-testing-of-nondeterministic-AI-systems.md new file mode 100644 index 0000000000..75d52950ab --- /dev/null +++ b/_posts/2023-11-16-using-the-t-test-for-effective-testing-of-nondeterministic-AI-systems.md @@ -0,0 +1,99 @@ +--- +title: "Using the T-Test for Effective Testing of Nondeterministic AI Systems" +date: 2023-11-16 00:00:00 Z +categories: + - Testing + - Tech +tags: + - testing + - statistics +summary: "In this blog, I will walk the reader through some simple statistical concepts to aid in testing AI. I hope it is accessible regardless of prior statistical knowledge." +author: osouthwell +--- + +Until now, you've probably expected all your tests to pass, but what happens when you test systems with inherent inbuilt randomness? AI is nondeterministic, which doesn't cleanly fit within our current testing paradigms. Many tests may take the form of returning a number, such as time for speed testing or a percent for testing accuracy on an LLM. How to evaluate these results might not be clear, and that's where statistics come in. You may think this will require you to run many tests, but this blog will give you a method for ensuring that we extract statistically valid results and how to do it quickly. + +### What is the t-test? + +Testing for nondeterministic metrics such as speed or accuracy often involves running many tests. This can be time-consuming, and interpreting the results manually can be challenging. However, with the application of a simple statistical technique, we can expedite these tests and ensure that we are extracting statistically valid results. + +We'll start with the very basics of testing: what is a hypothesis test? In its simplest form, a hypothesis test has two parts: a null hypothesis and an alternative hypothesis. The null hypothesis is the hypothesis you are attempting to disprove, which is assumed true until proven otherwise, while the alternative hypothesis is the one you aim to prove. + +The hypothesis test we will use is a t-test, specifically the dependent t-test. A t-test is used to compare the means of two related groups. This means you can use a t-test to assess the average performance of an LLM (Large Language Model) before and after a change to its architecture. In this case, the null hypothesis is that changes to the architecture have not affected the test results, while the alternative hypothesis suggests that the changes have led to a difference, be it positive or negative. + +To do this, you need to gather two sets of data: one for the performance before the change and another for the performance of the LLM after the change. Ideally, you should be able to match the before and after data to each other on a test by test basis. This pairing is what makes the test we are doing the stronger "dependent" t-test. + +Once you have gathered your data and specified your hypotheses, you can employ a statistical software package to conduct the t-test. The software package will compute a p-value, which represents the likelihood that the null hypothesis is true. + +For a usual t-test, you would calculate your p-value after gathering all of your results. Then, if the value is less than a specific threshold (typically 0.05), you can reject the null hypothesis, H0, and conclude that there is a statistically significant difference in performance between the two groups. This is represented in the top diagram below. Depending on where you land on the line, it shows which hypothesis to accept. Given that our tests come at a cost, we will run our t-test after every result (or after small batches of results). If our p-value is more than 0.7, indicating the distributions are the same, or less than 0.05, indicating they are different, we will stop and accept the corresponding hypothesis. Essentially, we halt when we are reasonably certain that either our null hypothesis, H0, or alternative hypothesis, H1, is well-supported and continue otherwise. This is an exchange, you will lose some accuracy in exchange for speed. + +![Two line bars show which points to skip or keep going for each test type]({{ site.github.url }}/osouthwell/assets/H0example.png) + +### Implementation + +I will demonstrate how I implemented this in Jest, using [this method](https://blog.scottlogic.com/2023/09/19/dynamically-skipping-tests-within-jest.html) to skip tests and [this method](https://blog.scottlogic.com/2023/09/12/enhancing-jest-snapshot-testing.html) to record results against tests for later use. A crucial aspect here is ensuring that each test can be matched with its previous result. While I'm implementing this in JavaScript, I hope the techniques are easily adaptable to other testing frameworks. + +First, you'll need to import a statistics module. This is infeasible without one, so you might as well choose one that does most of the work for you. I used `statistics.js`, but any general statistics module will contain a t-test. + +Next, you must track your values as you run your tests. Here is where I employed the Jest snapshot matching technique described in the blog to store these values in the `scoreArray`. + +~~~javascript +it('First LLM Test', () => { + const oldScore = fromSnapshot(); + const newScore = runModel(); + global.scoreArray.push({ before: oldScore, after: newScore }); + // assertions +}); +~~~ + +Once we have stored our new and old scores as part of our test, we can perform the statistical test. First, we create a statistics object `stats`, and from here, we can perform many tests with the data provided. From this object, we call the t-test method `studentsTTestTwoSamples`. This comparison of the two groups returns the object `taskSuccess` with the `pTwoSided` property, which represents the p-value. As explained previously, a p-value of 0.05 indicates a 95% chance that the changes we made have resulted in a different set of results. + +~~~javascript +const minimumTests = 10; + +skipIf(() => { + if (scoreArray.length <= minimumTests) return false; + + const testVars = { before: 'interval', after: 'interval' }; + const stats = new Statistics(scoreArray, testVars); + const taskSuccess = stats.studentsTTestTwoSamples('before', 'after', { dependent: true }); + + return taskSuccess.pTwoSided > 0.7 || taskSuccess.pTwoSided < 0.05; +}); +~~~ + +In the final step, we decide we are done if we are more than 95% confident that they are different or more than 30% confident that they are the same. These thresholds correspond to the confidence of each hypothesis. They can be configured where a higher upper bound increases the risk of falsely assuming they are different (type-1 errors), and a decrease in the lower bound increases the chance of falsely assuming they are the same (type-2 errors). + +In the absence of a high probability for the alternate hypothesis, we default to the null hypothesis, which assumes that the two groups are the same. + +You can also add a final test like this example. Negative t statistics indicate that the results are lower than expected, while positive t statistics suggest higher. So, this test will pass if the results are expected to be the same or better. + +~~~javascript +test('Have things not got worse', () => { + expect( + taskSuccess != null && taskSuccess.tStatistics <= 0 && taskSuccess.pTwoSided < 0.05 + ).toBe(false); +}); +~~~ + +### Assumptions and limitations of t-tests + +However, it is important to note that dependent t-tests are based on certain assumptions. These assumptions include: + +- The data is normally distributed. +- The data is continuous. +- The variances of the two groups are similar. + +Luckily, most data with enough samples look normal. Two big things to watch out for are a lack of symmetry or expecting extreme values. Results taking the form of a percent will likely be normally distributed around the middle, but this becomes less true as you approach the 0 and 1 marks as the data gets less symmetrical. For example, coffee consumption is unlikely to be normal. These tend to have a right-skewed distribution, most values cluster around zero, with a few extreme values from heavy consumers to the right. If you're worried about this, you can do the Shapiro–Wilks test or the Kolmogorov–Smirnov test on our data to check it is distributed normally. + +The second assumption is that the data is continuous, but not really. The important part of this property comes from discrete data never being truly normal, but it can get pretty close. A t-test is quite robust, and given enough samples and data from a wide enough spread, discrete data can look normal. It should be fine if the data passes a normality test, but you may need to run more tests to meet this criterion. A test with a small possible set of results, like the results of a coin flip, will never look normal, no matter the number of results. In such cases, you can explore the use of Bernoulli trials to compare the results. + +Our third assumption is that each distribution's variance, the general spread, is the same. The t-test is only built to detect a difference in the mean. That means that for two distributions with means of 0, like in the graph below, the t-test would say they are the same. Therefore, they may not be suitable for detecting differences in properties like temperature variations as this will increase the spread of results while maintaining the same average. For these reasons, manually reviewing your test results may still be helpful. + +![Graph showing two bell curves with difference standard deviations]({{ site.github.url }}/osouthwell/assets/SDExample.png) + +The t-test is quite resilient, but if these assumptions are not met, then the results may be unreliable, and it's important to keep these properties in mind. + +### Conclusion + +This blog was about the t-test, but I hope it showed you how much you can do with only a little statistical knowledge. Using the t-test cleverly, you can speed up your testing process and ensure that you are still extracting provable statistical value. This can help you to identify meaningful changes in the performance of your LLM. However, it is important to be aware of the assumptions and limitations before starting. diff --git a/osouthwell/assets/H0example.png b/osouthwell/assets/H0example.png new file mode 100644 index 0000000000000000000000000000000000000000..d799401088783faad434ff7b6a3081475fface6e GIT binary patch literal 26706 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

Me6Ww-kq635^T?r6DCat^)U0~zwc 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