add 'dataset_config_name' field to config.py with metadata #88
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#32 #59
I had same error right after training finished. So I investigated about this.
Searching by keyword, I found code examples that I think the author may have referenced in writing the initial code from huggingface transformers examples.
https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_plm.py
The authors of transformer appear to be using this value to specify subset of dataset.
E.g., specifying sst2 which is a subset of the glue dataset (https://huggingface.co/docs/datasets/v1.11.0/loading_datasets.html#selecting-a-configuration)
This value later functions as the name parameter of datasets.load_dataset.
(https://huggingface.co/docs/datasets/v1.11.0/package_reference/loading_methods.html#datasets.load_dataset)
This setting was excluded from writing train.py in starcoder, but the logic to check which dataset and subset was used at the time of saving the model was not excluded.
So it appears that the issue is caused by trying to reference a setting that doesn't exist.
A solution might be to remove the logic that checks the subset name.
However, since I guess that this code may also use a dataset with a subset, I think the setting value should be added to config.py and config field should be made to set the value in train.py. It is an optional parameter that will be None if not set by the user.
How about add 'dataset_config_name' field to config.py with metadata of transformer?