We’ve trained a system that solves grade school math problems with nearly twice the accuracy of a fine-tuned GPT-3 model. It solves about 90% as many problems as real kids: a small sample of 9-12 year olds scored 60% on a test from our dataset, while our system scored 55% on those same problems. This is important because today's AI is still quite weak at commonsense multistep reasoning, which is easy even for grade school kids. We achieved these results by training our model to recognize its mistakes, so that it can try repeatedly until it finds a solution that works.
Large language models like GPT-3 have many impressive skills, including their ability to imitate many writing styles, and their extensive factual knowledge. However, they struggle to perform tasks that require accurate multistep reasoning, like solving grade school math word problems. Although the model can mimic the cadence of correct solutions, it regularly produces critical errors in logic.
To match human performance in complex logical domains, our models must learn to recognize their mistakes and to choose their steps carefully. To that end, we train verifiers to evaluate whether or not a proposed solution is correct. To solve a new problem, we use verifiers to select the best among many proposed solutions. We collected the new GSM8K dataset to evaluate our methods, and we are releasing this dataset to facilitate research.
In the ten examples below, we show solutions generated by our new method, verification, and our baseline method, fine-tuning.
GSM8K consists of 8.5K high quality grade school math word problems. Each problem takes between 2 and 8 steps to solve, and solutions primarily involve performing a sequence of elementary calculations using basic arithmetic operations (+ − × ÷) to reach the final answer. Fine-tuned state-of-the-art language models perform poorly on this dataset, primarily due to the high diversity of problems. At the same time, GSM8K solutions depend only on elementary concepts, so achieving high test performance is a tractable goal.
Solutions in GSM8K are written as natural language rather than as pure math expressions. By sticking to natural language, model-generated solutions are more readily interpretable by humans, and our methods remain relatively domain agnostic.
Training Verifiers: Models that Learn from their Mistakes
One significant challenge in mathematical reasoning is the high sensitivity to individual mistakes. Autoregressive models, which generate each solution token by token, have no mechanism to correct their own errors. Solutions that veer off-course quickly become unrecoverable, as can be seen in the examples provided.
We address this problem by training verifiers to evaluate the correctness of model-generated solutions. Verifiers are given many possible solutions, all written by the model itself, and they are trained to decide which ones, if any, are correct.
To solve a new problem at test time, we generate 100 candidate solutions and then select the solution that is ranked highest by the verifier. Verifiers benefit from this inherent optionality, as well as from the fact that verification is often a simpler task than generation.
We find that we get a strong boost in performance from verification, as long as the dataset is large enough. With datasets that are too small, we believe that the verifiers overfit by memorizing the final answers in the training set, rather than learning any more useful properties of mathematical reasoning.
On the full training set, 6B parameter verification slightly outperforms a fine-tuned 175B parameter model, giving a performance boost that is approximately equivalent to a 30x model size increase. Moreover, verification appears to scale more effectively with additional data, if we extrapolate based on current results.
Producing correct arguments and recognizing incorrect ones are key challenges in developing more general AI. Grade school math is an ideal testbed for these capabilities. The problems in GSM8K are conceptually simple, yet one subtle mistake is enough to derail an entire solution. Identifying and avoiding such mistakes is a crucial skill for our models to develop. By training verifiers, we teach our models to separate the good solutions from the ones that didn’t quite work out. We expect these skills to become increasingly relevant as we attempt to apply our models to more logically complex domains.
Ali’s class has a capacity of 120 students.
Each of John’s classes has a capacity of 120/8 = 15 students.
The total capacity of John’s two classes is 15 students * 2 classes = 30 students.
The combined capacity of the two schools is 120 students + 30 students = 150 students.
Each of John’s classes has the capacity of 120 students / 8 = 15 students.
So, the two classes that John teaches have a combined capacity of 15 students * 2 = 30 students.
Ali’s class has a capacity of 120 students * 1 = 120 students.
Thus, the total capacity of Ali’s school is 120 students + 30 students = 150 students.
Therefore, the combined capacity of both schools is 150 students + 30 students = 180 students.
If each class has 1/8 of the capacity of Ali’s class, the combined capacity of John’s classes is 1/8*120=15.0
Combined, the two schools have the capacity of 15.0+120=135.0
Ali has 120 students in one class and there are 8 students in each of his classes so he has 120/8 = 15 classes
The total capacity of all of his classes is 15*120 = 1800 students
John has two classes with 1/8 the capacity of Ali’s class each so he has 2*15 = 30 students in each of his classes
The total capacity of both of John’s classes is 30*2 = 60 students
Combined, the total capacity of both schools is 1800+60 = 1860 students
He gets 5*6=30 lemons per year
He gets 30*10=300 lemons in 10 years
He grows 5*12=60 trees
So he gets 60*6=360 lemons a year
That means he gets 360*10=3600 lemons in a decade
Tim collects a total of 5*6= 30 lemons per tree.
So in a decade, he gets 30*10= 300 lemons.
He gets 5*6=30 lemons a year
So he gets 30*10=300 lemons in a decade
Anthony gave 50/2= 25 pencils to Brandon.
After giving Brandon 25 pencils, Anthony had 50-25= 25 pencils left.
Anthony gave 25*3/5= 15 pencils to Charlie.
After giving Charlie 15 pencils, Anthony had 25-15= 10 pencils left.
Therefore, Anthony kept 10 pencils.
Anthony gave Brandon 50 x 1/2 = 25 pencils.
So he had 50 - 25 = 25 pencils left.
Charlie received 25 x 3/5 = 15 pencils.
Thus, Anthony kept 25 - 15 = 10 pencils.
Anthony gave 1/2 * 50 = 25.0 pencils to Brandon.
There are 50 - 25 = 25 pencils left.
He gave 3/5 * 25 = 15.0 pencils to Charlie.
Anthony kept 25 - 15 = 10.0 pencils.
Anthony gave Brandon 50 / 2 = 25.0 pencils.
Anthony gave Charlie 50 / 3 = 16.666666666666668 pencils.
So, Anthony gave a total of 25 + 16 = 41 pencils to Brandon and Charlie.
Therefore, Anthony kept 50 - 41 = 9 pencils.
The trip took 200+10=210 miles
He drove 70 mph for 210 miles so he drove for 210/70=3 hours
The route home was 240 miles and he drove 80 mph so he was driving for 240/80=3 hours
The total trip took 3+3=6 hours
The trip to his friend's house was 200+10=210 miles
So the total trip was 210+240=450 miles
That means it took 450/70=6 hours
He drives 200+10=210 miles
So his trip took 210/70=3 hours
His route home was 240/80=3 hours
So his trip took 3+3=6 hours
The trip started at 7PM and he arrived at 12AM so it took 200-12=188 hours
He added 10 miles to the main trip so 10+188 = 198 miles
He traveled 240-198 = 42 miles on the way home
He went 80 mph for 240 miles so the trip took 240/80 = 3 hours
So in total it took 188+42 = 230 hours
Robert has 30 + 10 = 40 cherries.
If there are 60 cherries to be shared, then Richard and Jerry will have 60 - 40 = 20 cherries each.
Robert has 40 - 20 = 20 more cherries than Jerry.
Robert has 30 + 10 = 40 cherries.
Richard has 40 - 10 = 30 cherries.
Jerry has 30 - 30 = 0 cherries.
Robert has 40 - 0 = 40 more cherries than Jerry.
If Robert has 30 cherries, and has 10 more cherries than Richard, he has 30+10 = 40 cherries.
Since Jerry has 60 cherries, Robert has 60-40 = 20 more cherries than Jerry.
If Robert has 30 cherries, and Richard has 30+10 = 40 cherries,
Robert has 40-30 = 10 more cherries than Jerry.
She needs 3 petunias per basket and she has 5 baskets, so she needs 3*5 = 15.00 worth of petunias
She also needs 2 sweet potato vines per basket and she has 5 baskets, so she needs 2*5 = 10.00 worth of sweet potato vines
In total she needs 15.00 worth of petunias and 10.00 worth of sweet potato vines for a total of 15+10 = 25.00
She wants 3 petunias in each basket and they cost $3.00 each so that's 3*3 = $9.00
She wants 2 sweet potato vines in each basket and they cost $2.50 each so that's 2*2.50 = $5.00
The petunias cost $9.00 and the sweet potato vines cost $5.00 for a total of 9+5 = $14.00 per basket
She has 5 hanging baskets to fill and they cost $14.00 each so she will spend 5*14 = $70.00 filling all 5 baskets
For the petunias, Katherine will spend 5 petunias x $3.00/petunia = $15.00
For the sweet potato vines, she will spend 2 vines x $2.50/vine = $5.00
Altogether, she will spend $15.00 + $5.00 = $20.00
She wants to add 3 petunias and 2 sweet potato vines to each basket so that's 3+2 = 5 plants
The petunias cost $3.00 each so she will spend 3*5 = $15.00 on petunias
The sweet potato vines cost $2.50 each so she will spend 2.5*5 = $12.50 on sweet potato vines
All total, she will spend 15+12.50 = $27.50 filling all 5 baskets
Debra saw 30 bees leave the hive in the first 6 hours and then 1/2 that many bees return in the next 6 hours, 30 / 2 = 15 bees return to the hive in the next 6 hours.
She saw 30 bees leave the hive and then 15 bees return to the hive, 30 - 15 = 15 bees still haven't returned to the hive.
Two times as many bees as she saw first leave the hive fly from the hive and leave in the next 6 hours, 2 * 30 = 60 bees leave the hive in the next 6 hours.
In total she saw 30 bees leave the hive and 15 bees return, 30 + 15 = 45 bees.
After the bees that hadn't already returned did so, there were still 15 bees missing from the hive, so the total number of bees Debra saw return to the hive is 45 + 15 = 60 bees.
Debra sees 30 bees leave the hive in the first 6 hours.
She sees 1/2 * 30 bees = 15 bees return to the hive in the next 6 hours.
She sees 2 * 15 bees = 30 bees fly from the hive and leave in the next 6 hours.
Before the last 6 hours, Debra saw 30 + 15 + 30 = 75 bees leave the hive.
Before the last 6 hours, Debra saw 75 - 30 = 45 bees return to the hive.
First find the total number of bees that left the hive: 30 bees * 6 hours = 180 bees
Then subtract the number of bees that left in the first 6 hours from the number that returned: 180 bees - 30 bees = 150 bees
Then multiply that number by two to find the number of bees that returned: 150 bees * 2 = 300 bees
Debra saw 30 bees leave the hive in the first 6 hours, 1/2 that number in the next 6 hours, and then 2*that number in the next 6 hours.
The total number of bees that left the hive in the last 6 hours is 30+1/2 that number+2*that number = 33.0
She saw two times as many bees as she saw first leave the hive fly from the hive and leave in the next 6 hours, 33*2 = 66 bees
The total number of bees that left the hive and returned in the next 6 hours is 66+33 = 99 bees
If Zack's locker is half the size of Timothy's locker, then it is 24 / 2 = 12 cubic inches.
If Peter's locker is 1/4 the size of Zack's locker, then it is 12 / 4 = 3 cubic inches.
Zack's locker is 24/2=12 cubic inches.
Peter's locker is 12/4=3 cubic inches.
Zack's locker is 24/2 = 12.0 cubic inches.
Peter's is 12/4 = 3.0 cubic inches.
Zack's locker is 24/2 = 12 cubic inches.
Peter's locker is 12/4 = 3 cubic inches.
Amalia's chore was to mow the lawn, which took her 4 hours.
Megan's chore was to walk the dog, which took 2 hours longer than Amalia's work, so she took 4+2 = 6 hours to do her chore.
Dior's chore was to do laundry, which took 6 hours longer than Amalia's work, so 6+4 = 10 hours for her to complete her chore.
The total time they all took doing their chores is 4+6+10 = 20 hours
Amalia took 4 hours to mow the lawn.
Megan took 2 hours longer to walk the dog than Amalia, so 4 + 2 = 6 hours.
Dior took well over 4 hours to do the laundry, meaning she took 4 + 6 = 10 hours.
Altogether, they took 4 + 6 + 10 = 20 hours to do their chores.
If Megan's chore took 2 hours longer than Amalia's, then it took 4+2 = 6 hours to complete.
If Dior's chore took 4 hours longer than Amalia's, then it took 6+4 = 10 hours to complete.
If you add the time they all took to complete their chores, then you get 4+6+10 = 20 hours.
If you add the time Amalia took to mow the lawn, it becomes 4+2 = 6 hours.
If Megan's work on the dog took 2 hours longer than Amalia's, the total time it took to walk the dog was 6+2 = 8 hours.
If Dior's work on laundry took well over 4 hours longer than Amalia's, the total time it took to do laundry was 4+2 = 6 hours.
Together, the three took 6+8+6 = 20 hours doing chores.
He drinks 1/2 hour so 60 minutes / 2 = 30 minutes
A normal puzzle takes 45 minutes so an Extreme puzzle takes 45*4 = 180 minutes
That means he drinks 180/30 = 6 bottles of water
A normal sudoku puzzle takes 45 minutes to solve so an extreme sudoku takes 4*45 = 180 minutes
He drinks a bottle of water every half hour and an extreme sudoku takes 180 minutes so he drinks 180/2 = 90 bottles of water
He drinks a bottle every 45 minutes so that's 1/2*45=22.5 minutes
An extreme sudoku takes 4*45=180 minutes
So he drinks 180/22.5=8 bottles of water
He drinks 1.5 bottles of water per hour because 45 / 60 = 0.75
That means he drinks 3 bottles of water because 0.75 x 2 = 1.5