Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ArmelRandy authored May 25, 2023
1 parent ae3c475 commit 7fbc579
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This repository is dedicated to [Self-instruct](https://arxiv.org/pdf/2212.10560

# News

* **May 24, 2023:** We've build a space which allow to visualize the data generated by self-instruct when the model use is [StarCoder💫](https://arxiv.org/pdf/2305.06161.pdf), the recent SOTA open-source code LLM by Hugging Face 🤗.
* **May 24, 2023:** We've built a space which allow to visualize the data generated by self-instruct when the model used is [StarCoder💫](https://arxiv.org/pdf/2305.06161.pdf), the recent SOTA open-source code LLM by Hugging Face 🤗.

# Disclaimer

Expand Down Expand Up @@ -57,10 +57,10 @@ The advantage is that this all in one template allows to reduce the inference co
Our approach is focused on code use cases, therefore our modifications are mostly relevant for that framework.

## The prompting format
During our tests, we realized that, at least with "small" code models, the trigger words `Input:` and `Output:` tend to make them generate test cases instead. It is significantly impairing because given an instruction, we want a working implementation rather than a potentially buggy test case. In order to alleviate this issue, we decided to get rid of the `Input:` trigger word. We adopt an instruction-output format.
During our tests, we realized that, at least with "small" code models, the trigger words `Input` and `Output` tend to make them generate test cases instead. It is significantly impairing because given an instruction, we want a working implementation rather than a potentially buggy test case. In order to alleviate this issue, we decided to get rid of the `Input` trigger word. We adopt an instruction-output format.

## The trigger words
Using `Instruction:`, `Input:` and `Output:` seems to work well for `text-davinci-003` but how well does it work for other models? This parameter is definitely relevant for small models as this can have a huge impact on the quality of their generations. Following this intuition, we included in our code the possibility to change the trigger words that are used during the prompting. This allows to accomodate to every single model.
Using `Instruction`, `Input` and `Output` seems to work well for `text-davinci-003` but how well does it work for other models? This parameter is definitely relevant for small models as this can have a huge impact on the quality of their generations. Following this intuition, we included in our code the possibility to change the trigger words that are used during the prompting. This allows to accomodate to every single model.

## The post-processing
How to select and post-process the instructions that are generated by prompting a model? In the original work, the instructions are generated iteratively, and we keep those with a rouge score stricly less than `0.7` with any previously generated instruction. This allows diversity in the dataset, at least in terms of how the instructions are worded. According to our experiments, it is still possible to generate a problem multiple times with a different formulation each time. We propose to extend take the curation further with multiple ideas.
Expand Down

0 comments on commit 7fbc579

Please sign in to comment.