Spaces:
Running
Running
# How we used ShareGPT to create our benchmark dataset | |
## sg_90k_part1_html_cleaned.json | |
### Download ShareGPT dataset | |
``` | |
https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/HTML_cleaned_raw_dataset/sg_90k_part1_html_cleaned.json | |
``` | |
### Install Fastchat | |
``` | |
pip install fschat | |
``` | |
### Clean data: | |
``` | |
pip install polyglot pyicu pycld2 | |
python -m fastchat.data.optional_clean --in sg_90k_part1_html_cleaned.json --out sg_90k_part1_html_cleaned_lang.json --keep-lang en | |
``` | |
### Extract first prompt | |
``` | |
python extract_first.py --in-file sg_90k_part1_html_cleaned_lang.json --out-file sg_90k_part1_html_cleaned_lang_first.json | |
``` | |
### Sample data | |
``` | |
python -m fastchat.data.sample --in sg_90k_part1_html_cleaned_lang_first.json --out sg_90k_part1_html_cleaned_lang_first_sampled.json --end 10000 --max-length 10000 | |
``` | |
### Sorted data | |
We sort the requests by sequence length, placing the longest sequences first. This approach minimizes the amount of padding required and allows for early detection of out-of-memory. | |
``` | |
python sort.py --data-dir sg_90k_part1_html_cleaned_lang_first_sampled.json --out-file sg_90k_part1_html_cleaned_lang_first_sampled_sorted.json | |
``` | |
## ShareGPT_V3_filtered.json | |
### Download ShareGPT dataset | |
``` | |
https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json | |
``` | |
### Install Transformers | |
``` | |
pip install transformers | |
``` | |
### Filter conversations with too long prompts/responses, conversations not started by "human", extract first turn, and randomly sample 500 prompts | |
``` | |
python filter_dataset.py | |
``` | |
### Compare the response length distribution of sampled dataset with respect to initial dataset | |
``` | |
pip install matplotlib numpy | |
python compare_distributions.py | |
``` | |