Dataset.shuffle(seed=None) gives fixed row permutation
{'login': 'elisno', 'id': 18127060, 'node_id': 'MDQ6VXNlcjE4MTI3MDYw', 'avatar_url': 'https://avatars.githubusercontent.com/u/18127060?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/elisno', 'html_url': 'https://github.com/elisno', 'followers_url': 'https://api.github.com/users/elisno/followers', 'following_url': 'https://api.github.com/users/elisno/following{/other_user}', 'gists_url': 'https://api.github.com/users/elisno/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/elisno/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/elisno/subscriptions', 'organizations_url': 'https://api.github.com/users/elisno/orgs', 'repos_url': 'https://api.github.com/users/elisno/repos', 'events_url': 'https://api.github.com/users/elisno/events{/privacy}', 'received_events_url': 'https://api.github.com/users/elisno/received_events', 'type': 'User', 'site_admin': False}
[{'id': 1935892857, 'node_id': 'MDU6TGFiZWwxOTM1ODkyODU3', 'url': 'https://api.github.com/repos/huggingface/datasets/labels/bug', 'name': 'bug', 'color': 'd73a4a', 'default': True, 'description': "Something isn't working"}]
{'login': 'mariosasko', 'id': 47462742, 'node_id': 'MDQ6VXNlcjQ3NDYyNzQy', 'avatar_url': 'https://avatars.githubusercontent.com/u/47462742?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mariosasko', 'html_url': 'https://github.com/mariosasko', 'followers_url': 'https://api.github.com/users/mariosasko/followers', 'following_url': 'https://api.github.com/users/mariosasko/following{/other_user}', 'gists_url': 'https://api.github.com/users/mariosasko/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mariosasko/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mariosasko/subscriptions', 'organizations_url': 'https://api.github.com/users/mariosasko/orgs', 'repos_url': 'https://api.github.com/users/mariosasko/repos', 'events_url': 'https://api.github.com/users/mariosasko/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mariosasko/received_events', 'type': 'User', 'site_admin': False}
[{'login': 'mariosasko', 'id': 47462742, 'node_id': 'MDQ6VXNlcjQ3NDYyNzQy', 'avatar_url': 'https://avatars.githubusercontent.com/u/47462742?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/mariosasko', 'html_url': 'https://github.com/mariosasko', 'followers_url': 'https://api.github.com/users/mariosasko/followers', 'following_url': 'https://api.github.com/users/mariosasko/following{/other_user}', 'gists_url': 'https://api.github.com/users/mariosasko/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/mariosasko/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/mariosasko/subscriptions', 'organizations_url': 'https://api.github.com/users/mariosasko/orgs', 'repos_url': 'https://api.github.com/users/mariosasko/repos', 'events_url': 'https://api.github.com/users/mariosasko/events{/privacy}', 'received_events_url': 'https://api.github.com/users/mariosasko/received_events', 'type': 'User', 'site_admin': False}]
['I\'m not sure if this is expected behavior.\r\n\r\nAm I supposed to work with a copy of the dataset, i.e. `shuffled_dataset = data.shuffle(seed=None)`?\r\n\r\n```diff\r\nimport datasets\r\n\r\n# Some toy example\r\ndata = datasets.Dataset.from_dict(\r\n    {"feature": [1, 2, 3, 4, 5], "label": ["a", "b", "c", "d", "e"]}\r\n)\r\n\r\n+shuffled_data = data.shuffle(seed=None)\r\n\r\n# Doesn\'t work as expected\r\nprint("Shuffle dataset")\r\nfor _ in range(3):\r\n+    shuffled_data = shuffled_data.shuffle(seed=None)\r\n+    print(shuffled_data[:])\r\n-    print(data.shuffle(seed=None)[:])\r\n\r\n# This seems to work with pandas\r\nprint("\\nShuffle via pandas")\r\nfor _ in range(3):\r\n    df = data.to_pandas().sample(frac=1.0)\r\n    print(datasets.Dataset.from_pandas(df, preserve_index=False)[:])\r\n\r\n```\r\n\r\nor provide a `generator` instead?\r\n\r\n```diff\r\nimport datasets\r\n+from numpy.random import default_rng\r\n\r\n# Some toy example\r\ndata = datasets.Dataset.from_dict(\r\n    {"feature": [1, 2, 3, 4, 5], "label": ["a", "b", "c", "d", "e"]}\r\n)\r\n\r\n+rng = default_rng()\r\n\r\n# Doesn\'t work as expected\r\nprint("Shuffle dataset")\r\nfor _ in range(3):\r\n+   print(data.shuffle(generator=rng)[:])\r\n-   print(data.shuffle(seed=None)[:])\r\n\r\n# This seems to work with pandas\r\nprint("\\nShuffle via pandas")\r\nfor _ in range(3):\r\n    df = data.to_pandas().sample(frac=1.0)\r\n    print(datasets.Dataset.from_pandas(df, preserve_index=False)[:])\r\n\r\n```'
 "Hi! Thanks for reporting! Yes, this is not expected behavior. I've opened a PR with the fix."]
## Describe the bug
Repeated attempts to `shuffle` a dataset without specifying a seed give the same results.

## Steps to reproduce the bug
```python
import datasets

# Some toy example
data = datasets.Dataset.from_dict(
    {"feature": [1, 2, 3, 4, 5], "label": ["a", "b", "c", "d", "e"]}
)

# Doesn't work as expected
print("Shuffle dataset")
for _ in range(3):
    print(data.shuffle(seed=None)[:])

# This seems to work with pandas
print("\nShuffle via pandas")
for _ in range(3):
    df = data.to_pandas().sample(frac=1.0)
    print(datasets.Dataset.from_pandas(df, preserve_index=False)[:])

```

## Expected results
I assumed that the default setting would initialize a new/random state of a `np.random.BitGenerator` (see [docs](https://huggingface.co/docs/datasets/package_reference/main_classes.html?highlight=shuffle#datasets.Dataset.shuffle)).

Wouldn't that reshuffle the rows each time I call `data.shuffle()`?

## Actual results

```bash
Shuffle dataset
{'feature': [5, 1, 3, 2, 4], 'label': ['e', 'a', 'c', 'b', 'd']}
{'feature': [5, 1, 3, 2, 4], 'label': ['e', 'a', 'c', 'b', 'd']}
{'feature': [5, 1, 3, 2, 4], 'label': ['e', 'a', 'c', 'b', 'd']}

Shuffle via pandas
{'feature': [4, 2, 3, 1, 5], 'label': ['d', 'b', 'c', 'a', 'e']}
{'feature': [2, 5, 3, 4, 1], 'label': ['b', 'e', 'c', 'd', 'a']}
{'feature': [5, 2, 3, 1, 4], 'label': ['e', 'b', 'c', 'a', 'd']}
```

## Environment info
<!-- You can run the command `datasets-cli env` and copy-and-paste its output below. -->
- `datasets` version: 1.18.0
- Platform: Linux-5.13.0-27-generic-x86_64-with-glibc2.17
- Python version: 3.8.12
- PyArrow version: 6.0.1

{'url': 'https://api.github.com/repos/huggingface/datasets/issues/3634/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}