Identical keywords in build_kwargs and config_kwargs lead to TypeError in load_dataset_builder()
NONE
I am getting similar error - `TypeError: type object got multiple values for keyword argument 'name'` while following this [tutorial](https://huggingface.co/docs/datasets/dataset_script#create-a-dataset-loading-script). I am getting this error with the `dataset-cli test` command.

`datasets` version: 2.4.0
2022-08-29T18:41:01Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1230711193
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5JWymZ
https://api.github.com/repos/huggingface/datasets/issues/comments/1230711193/reactions
2022-08-29T18:41:59Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1230711193
https://avatars.githubusercontent.com/u/21123710?v=4
https://api.github.com/users/thepurpleowl/events{/privacy}
https://api.github.com/users/thepurpleowl/followers
https://api.github.com/users/thepurpleowl/following{/other_user}
https://api.github.com/users/thepurpleowl/gists{/gist_id}
https://github.com/thepurpleowl
thepurpleowl
MDQ6VXNlcjIxMTIzNzEw
https://api.github.com/users/thepurpleowl/orgs
https://api.github.com/users/thepurpleowl/received_events
https://api.github.com/users/thepurpleowl/repos
https://api.github.com/users/thepurpleowl/starred{/owner}{/repo}
https://api.github.com/users/thepurpleowl/subscriptions
User
https://api.github.com/users/thepurpleowl
public
NONE
In my case, this was happening because I defined multiple `BuilderConfig` for multiple types, but didn't had all the data files that are requierd by those configs. 

I think this is different than the original issue by @bablf .
2022-09-01T18:42:44Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1234649835
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5Jl0Lr
https://api.github.com/repos/huggingface/datasets/issues/comments/1234649835/reactions
2022-09-01T18:42:44Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1234649835
https://avatars.githubusercontent.com/u/21123710?v=4
https://api.github.com/users/thepurpleowl/events{/privacy}
https://api.github.com/users/thepurpleowl/followers
https://api.github.com/users/thepurpleowl/following{/other_user}
https://api.github.com/users/thepurpleowl/gists{/gist_id}
https://github.com/thepurpleowl
thepurpleowl
MDQ6VXNlcjIxMTIzNzEw
https://api.github.com/users/thepurpleowl/orgs
https://api.github.com/users/thepurpleowl/received_events
https://api.github.com/users/thepurpleowl/repos
https://api.github.com/users/thepurpleowl/starred{/owner}{/repo}
https://api.github.com/users/thepurpleowl/subscriptions
User
https://api.github.com/users/thepurpleowl
public
MEMBER
Hi ! I think this can be fixed by letting the config_kwargs take over the builder kwargs here:

https://github.com/huggingface/datasets/blob/7feeb5648a63b6135a8259dedc3b1e19185ee4c7/src/datasets/load.py#L1533-L1534

maybe something like this ?
```python
    **{**builder_kwargs, **config_kwargs}
```

Let me know if you'd like to contribute and fix this bug, so I can assign you :)

> In my case, this was happening because I defined multiple BuilderConfig for multiple types, but didn't had all the data files that are requierd by those configs.
> 
> I think this is different than the original issue by @bablf .

Feel free to to open an new issue, I'd be happy to help

2022-09-06T10:17:03Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1237953532
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5Jyav8
https://api.github.com/repos/huggingface/datasets/issues/comments/1237953532/reactions
2022-09-06T10:17:39Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1237953532
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
NONE
@lhoestq Yeah, I want to, please assign.
2022-09-06T14:39:13Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1238245751
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5JziF3
https://api.github.com/repos/huggingface/datasets/issues/comments/1238245751/reactions
2022-09-06T14:39:13Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1238245751
https://avatars.githubusercontent.com/u/21123710?v=4
https://api.github.com/users/thepurpleowl/events{/privacy}
https://api.github.com/users/thepurpleowl/followers
https://api.github.com/users/thepurpleowl/following{/other_user}
https://api.github.com/users/thepurpleowl/gists{/gist_id}
https://github.com/thepurpleowl
thepurpleowl
MDQ6VXNlcjIxMTIzNzEw
https://api.github.com/users/thepurpleowl/orgs
https://api.github.com/users/thepurpleowl/received_events
https://api.github.com/users/thepurpleowl/repos
https://api.github.com/users/thepurpleowl/starred{/owner}{/repo}
https://api.github.com/users/thepurpleowl/subscriptions
User
https://api.github.com/users/thepurpleowl
public
MEMBER
Cool thank you ! Let me know if you have questions or if I can help
2022-09-06T14:52:41Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1238263798
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5Jzmf2
https://api.github.com/repos/huggingface/datasets/issues/comments/1238263798/reactions
2022-09-06T14:52:41Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1238263798
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
NONE
@lhoestq On second thoughts, I think this might be expected behavior; although a better error message might help.

Reasoning: Given n configs, if no data file is provided for any config, then it should be an error. Then why it should not be the case if out of n configs, for some data files are provided but not for others. Also, I was using `--all_configs` flag with `dataset-cli test`.
2022-09-12T08:16:27Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1243375427
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5KHGdD
https://api.github.com/repos/huggingface/datasets/issues/comments/1243375427/reactions
2022-09-12T08:25:15Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1243375427
https://avatars.githubusercontent.com/u/21123710?v=4
https://api.github.com/users/thepurpleowl/events{/privacy}
https://api.github.com/users/thepurpleowl/followers
https://api.github.com/users/thepurpleowl/following{/other_user}
https://api.github.com/users/thepurpleowl/gists{/gist_id}
https://github.com/thepurpleowl
thepurpleowl
MDQ6VXNlcjIxMTIzNzEw
https://api.github.com/users/thepurpleowl/orgs
https://api.github.com/users/thepurpleowl/received_events
https://api.github.com/users/thepurpleowl/repos
https://api.github.com/users/thepurpleowl/starred{/owner}{/repo}
https://api.github.com/users/thepurpleowl/subscriptions
User
https://api.github.com/users/thepurpleowl
public
MEMBER
Ok I see - maybe we should check the values of builder_kwargs raise an error if any key in config_kwargs tries to overwrite it ? The builder kwargs are determined from the builder's type and location (in some cases it forces the base_path, data_files and config name for example)
2022-09-13T11:58:46Z
https://github.com/huggingface/datasets/issues/4910#issuecomment-1245310349
https://api.github.com/repos/huggingface/datasets/issues/4910
IC_kwDODunzps5KOe2N
https://api.github.com/repos/huggingface/datasets/issues/comments/1245310349/reactions
2022-09-13T11:58:46Z
https://api.github.com/repos/huggingface/datasets/issues/comments/1245310349
https://avatars.githubusercontent.com/u/42851186?v=4
https://api.github.com/users/lhoestq/events{/privacy}
https://api.github.com/users/lhoestq/followers
https://api.github.com/users/lhoestq/following{/other_user}
https://api.github.com/users/lhoestq/gists{/gist_id}
https://github.com/lhoestq
lhoestq
MDQ6VXNlcjQyODUxMTg2
https://api.github.com/users/lhoestq/orgs
https://api.github.com/users/lhoestq/received_events
https://api.github.com/users/lhoestq/repos
https://api.github.com/users/lhoestq/starred{/owner}{/repo}
https://api.github.com/users/lhoestq/subscriptions
User
https://api.github.com/users/lhoestq
public
## Describe the bug
In `load_dataset_builder()`, `build_kwargs` and `config_kwargs` can contain the same keywords leading to a TypeError("type object got multiple values for keyword argument "xyz"). 

I ran into this problem with the keyword: `base_path`. It might happen with other kwargs as well. I think a quickfix would be 
```python
builder_cls = import_main_class(dataset_module.module_path)
builder_kwargs = dataset_module.builder_kwargs
data_files = builder_kwargs.pop("data_files", data_files)
config_name = builder_kwargs.pop("config_name", name)
hash = builder_kwargs.pop("hash")
base_path = builder_kwargs.pop("base_path")
```
and then pass base_path into `builder_cls`.

## Steps to reproduce the bug
```python
from datasets import load_dataset
load_dataset("rotten_tomatoes", base_path="./sample_data")
```

## Expected results
The docs state: `**config_kwargs` — Keyword arguments to be passed to the [BuilderConfig](https://huggingface.co/docs/datasets/v2.4.0/en/package_reference/builder_classes#datasets.BuilderConfig) and used in the [DatasetBuilder](https://huggingface.co/docs/datasets/v2.4.0/en/package_reference/builder_classes#datasets.DatasetBuilder).

So I would expect to be able to pass the base_path into `load_dataset()`. 
## Actual results
TypeError("type object got multiple values for keyword argument "base_path"). 

## Environment info
<!-- You can run the command `datasets-cli env` and copy-and-paste its output below. -->
- `datasets` version: 2.4.0
- Platform: macOS-12.5-arm64-arm-64bit
- Python version: 3.8.9
- PyArrow version: 9.0.0


