evals icon indicating copy to clipboard operation
evals copied to clipboard

Logical reasoning eval | Accuracy 0%

Open shubasishdas opened this issue 2 years ago • 3 comments

Thank you for contributing an eval! ♥️

🚨 Please make sure your PR follows these guidelines, failure to follow the guidelines below will result in the PR being closed automatically. Note that even if the criteria are met, that does not guarantee the PR will be merged nor GPT-4 access granted. 🚨

PLEASE READ THIS:

In order for a PR to be merged, it must fail on GPT-4. We are aware that right now, users do not have access, so you will not be able to tell if the eval fails or not. Please run your eval with GPT-3.5-Turbo, but keep in mind as we run the eval, if GPT-4 gets higher than 90% on the eval, we will likely reject since GPT-4 is already capable of completing the task.

We plan to roll out a way for users submitting evals to see the eval performance on GPT-4 soon. Stay tuned! Until then, you will not be able to see the eval performance on GPT-4. We encourage partial PR's with ~5-10 example that we can then run the evals on and share the results with you so you know how your eval does with GPT-4 before writing all 100 examples.

Eval details 📑

Eval name

Logical Reasoning

Eval description

This eval assesses the LLM's capability to do logical reasoning. GPT-3 understands the early order of logical explanation. When users deep dive to some level of logic, GPT-3 fails to figure out the output.

What makes this a useful eval?

GPT-3 has 0% accuracy in performing some degree of logical reasoning, so it might be a good test for GPT-4 as well.

Criteria for a good eval ✅

Below are some of the criteria we look for in a good eval. In general, we are seeking cases where the model does not do a good job despite being capable of generating a good response (note that there are some things large language models cannot do, so those would not make good evals).

Your eval should be:

  • [x] Thematically consistent: The eval should be thematically consistent. We'd like to see a number of prompts all demonstrating some particular failure mode. For example, we can create an eval on cases where the model fails to reason about the physical world.
  • [x] Contains failures where a human can do the task, but either GPT-4 or GPT-3.5-Turbo could not.
  • [x] Includes good signal around what is the right behavior. This means either a correct answer for Basic evals or the Fact Model-graded eval, or an exhaustive rubric for evaluating answers for the Criteria Model-graded eval.
  • [x] Include at least 100 high quality examples (it is okay to only contribute 5-10 meaningful examples and have us test them with GPT-4 before adding all 100)

If there is anything else that makes your eval worth including, please document it below.

Unique eval value

Insert what makes your eval high quality that was not mentioned above. (Not required)

Eval structure 🏗️

Your eval should

  • [x] Check that your data is in evals/registry/data/{name}
  • [x] Check that your yaml is registered at evals/registry/evals/{name}.jsonl
  • [x] Ensure you have the right to use the data you submit via this eval

(For now, we will only be approving evals that use one of the existing eval classes. You may still write custom eval classes for your own cases, and we may consider merging them in the future.)

Final checklist 👀

Submission agreement

By contributing to Evals, you are agreeing to make your evaluation logic and data under the same MIT license as this repository. You must have adequate rights to upload any data used in an Eval. OpenAI reserves the right to use this data in future service improvements to our product. Contributions to OpenAI Evals will be subject to our usual Usage Policies (https://platform.openai.com/docs/usage-policies).

  • [x] I agree that my submission will be made available under an MIT license and complies with OpenAI's usage policies.

Email address validation

If your submission is accepted, we will be granting GPT-4 access to a limited number of contributors. Access will be given to the email address associated with the merged pull request.

  • [x] I acknowledge that GPT-4 access will only be granted, if applicable, to the email address used for my merged pull request.

Limited availability acknowledgement

We know that you might be excited to contribute to OpenAI's mission, help improve our models, and gain access to GPT-4. However, due to the requirements mentioned above and high volume of submissions, we will not be able to accept all submissions and thus not grant everyone who opens a PR GPT-4 access. We know this is disappointing, but we hope to set the right expectation before you open this PR.

  • [x] I understand that opening a PR, even if it meets the requirements above, does not guarantee the PR will be merged nor GPT-4 access granted.

Submit eval

  • [x] I have filled out all required fields in the evals PR form
  • [x] (Ignore if not submitting code) I have run pip install pre-commit; pre-commit install and have verified that black, isort, and autoflake are running when I commit and push

Failure to fill out all required fields will result in the PR being closed.

Eval JSON data

Since we are using Git LFS, we are asking eval submitters to add in as many Eval Samples (at least 5) from their contribution here:

View evals in JSON

Eval

{"input": [{"role": "system", "content": "You are a logical reasonsing solver. Only answer with a single word. DO NOT say any word other than the options: black, white, gray, red, brown, unknown"}, {"role": "user", "content": "Any resemblance between the Seville of this story and the famous Seville of Spain (which in fact there isn't) is purely\ncoincidental.\nIn this mythical town of Seville, the male inhabitants wear wigs on those and only those days when they feel like it. No two inhabitants behave alike on all days; that is, given any two male inhabitants, there is at least one day on which one of them wears a wig and the other doesn't.\nGiven any male inhabitants X and Y, inhabitant Y is said to be a follower of X if Y wears a wig on all days that X does. Also, given any inhabitants X, Y, and Z, inhabitant Z is said to be a follower of X and Y if Z wears a wig on all days that\nX and Y both do.\nFive of the inhabitants are named Alfredo, Bernardo, Benito, Roberto, and Ramano. The following facts are known\nabout them:\nFact 1: Bernardo and Benito are opposite in their wig-wearing habits; that is, on any given day, one of them wears a wig\nand the other one doesn't.\nFact 2: Roberto and Ramano are likewise opposites.\nFact 3: Ramano wears a wig on those and only those days when Alfredo and Benito both wear one.\nSeville has exactly one barber, and the following facts are\nknown about him:\nFact 4: Bernardo is a follower of Alfredo and the barber. \nFact 5: Given any male inhabitant X, if Bernardo is a follower of Alfredo and X, then the barber is a follower of X alone.\nAlfredo wears only black wigs; Bernardo wears only white wigs; Benito wears only gray wigs; Roberto wears only red wigs; and Ramano wears only brown wigs.\n\nOne Easter morning, the barber was seen wearing a wig. What color was he wearing"}], "ideal": "red"}
{"input": [{"role": "system", "content": "You are a logical reasonsing solver. Only answer with a single word. DO NOT say any word other than the options: less, more, unknown"}, {"role": "user", "content": "There is a certain club called the Barbers' club. The following facts are known about it.\nFact 1: Every member of the club has shaved at least one member.\nfact 2: No member has ever shaved himself.\nFact 3: No member has ever been shaved by more than one member.\nFact 4: There is one member who has never been shaved at all.\nThe number of members of this club has been kept a strict secret. One rumor has it that there are less than thousand members. Another rumor has to that there are more than a thousand members. Which of the two rumors is correct? "}], "ideal": "more"}
{"input": [{"role": "system", "content": "You are a logical reasonsing solver. Only answer with a single word. DO NOT say any word other than the options: yes, no, unknown"}, {"role": "user", "content": "Here is a well-known logic puzzle, appropritely dressed for the occasion. Another barbers' club obeys the following conditions:\nCondition 1: If any member has shaved any member - whether himself or another - then all the members have shaved him, though not necessarily all at the same time.\nCondition 2: Four of the members are named Guido, Lorenzo, Petruchio, and Cesare.\nCondition 3: Guido has shaved Cesare.\nHas Petruchio shaved Lorenzo or not?"}], "ideal": "yes"}
{"input": [{"role": "system", "content": "You are a logical reasonsing solver. Only answer with a single word. DO NOT say any word other than the options: yes, no, unknown"}, {"role": "user", "content": "Suppose I told you that the town contains two brabers, Arturo and Roberto, and that Arturo shaves all and only those inhabitants who shave Roberto, Roberto shaves all and only those inhabitants who don't shave Arturo. Does this lead to a paradox?"}], "ideal": "no"}
{"input": [{"role": "system", "content": "You are a logical reasonsing solver. Only answer with a single word. DO NOT say any word other than the options: Arthur, Bernard, Charles, David, unknown"}, {"role": "user", "content": "We have four brothers, named Arthur, Bernard, Charles, and David. The four are quadruplets and are indistinguishable in appearance. Arthur is an accurate truth-seller; Bernard is an accurate truth-seller (he is totally deluded in all his beliefs but always states honestly what he does believe); Charles is an accurate liar (all his beliefs are correct, but he lies about every one of them); and David is an inaccurate liar(he is both deluded and dishonest; he tries to give you false information but he is unable to!).\n\nYou see, of course, that Arthur and David will both give correct answers to any question asked, whereas both Bernard and Charles will give the wring answer to any question asked.\n\nOne day a logician came across one of the four brothers and asked him, \"Who are you?\" The brother identified himself as either Arthur, Bernard, Charles or David, and the logician then knew who he was.\nA few minutes later, the same brother was met by a second logician, who asked him, \"Who do you believe who you are?\" The brother answered, again either Arthur, Bernard, Charles, or David, and the second logician then knew who he was. Who was he? "}], "ideal": "Charles"}
{"input": [{"role": "system", "content": "You are a logical reasonsing solver. Only answer with a single word. DO NOT say any word other than the options: Arthur, Bernard, Charles, David, unknown"}, {"role": "user", "content": "We have four brothers, named Arthur, Bernard, Charles, and David. The four are quadruplets and are indistinguishable in appearance. Arthur is an accurate truth-seller; Bernard is an accurate truth-seller (he is totally deluded in all his beliefs but always states honestly what he does believe); Charles is an accurate liar (all his beliefs are correct, but he lies about every one of them); and David is an inaccurate liar(he is both deluded and dishonest; he tries to give you false information but he is unable to!).\n\nYou see, of course, that Arthur and David will both give correct answers to any question asked, whereas both Bernard and Charles will give the wring answer to any question asked.\n\nIf you ever visit these four brothers at their home, you will notice a photograph of one of them in the living room. If you ask each of them whether it is his photograph, three of them will answer no and one will answer yes. If you ask each one whether he believes it is his photograph, then again three will answer no and one will answer yes.\n\nWhose photograph is it?"}], "ideal": "Charles"}

shubasishdas avatar Mar 16 '23 08:03 shubasishdas

Thank you for the contribution! Could you please make sure the jsonl is stored via LFS? We describe how to install it in README.md

Pushed latest jsonl storing via LFS

Thanks!

shubasishdas avatar Mar 19 '23 16:03 shubasishdas

Please make sure your eval passes CI - I think there is a misconfigured path in your YAML

andrew-openai avatar Mar 19 '23 18:03 andrew-openai

Please make sure your eval passes CI - I think there is a misconfigured path in your YAML

Can you check, please?

shubasishdas avatar Mar 21 '23 17:03 shubasishdas

Closing for now, please feel free to reopen if you get a chance to address the comments.

luqman-openai avatar Jun 01 '23 19:06 luqman-openai