Add some iteration method on a dataset column (specific for inference)
{'login': 'Narsil', 'id': 204321, 'node_id': 'MDQ6VXNlcjIwNDMyMQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/204321?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/Narsil', 'html_url': 'https://github.com/Narsil', 'followers_url': 'https://api.github.com/users/Narsil/followers', 'following_url': 'https://api.github.com/users/Narsil/following{/other_user}', 'gists_url': 'https://api.github.com/users/Narsil/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/Narsil/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/Narsil/subscriptions', 'organizations_url': 'https://api.github.com/users/Narsil/orgs', 'repos_url': 'https://api.github.com/users/Narsil/repos', 'events_url': 'https://api.github.com/users/Narsil/events{/privacy}', 'received_events_url': 'https://api.github.com/users/Narsil/received_events', 'type': 'User', 'site_admin': False}
[{'id': 1935892871, 'node_id': 'MDU6TGFiZWwxOTM1ODkyODcx', 'url': 'https://api.github.com/repos/huggingface/datasets/labels/enhancement', 'name': 'enhancement', 'color': 'a2eeef', 'default': True, 'description': 'New feature or request'}]
[]
['Thanks for the suggestion ! I agree it would be nice to have something directly in `datasets` to do something as simple as that\r\n\r\ncc @albertvillanova @mariosasko @polinaeterna What do you think if we have something similar to pandas `Series` that wouldn\'t bring everything in memory when doing `dataset["audio"]` ? Currently it returns a list with all the decoded audio data in memory.\r\n\r\nIt would be a breaking change though, since `isinstance(dataset["audio"], list)` wouldn\'t work anymore, but we could implement a `Sequence` so that `dataset["audio"][0]` still works and only loads one item in memory.\r\n\r\nYour alternative suggestion with `iterate` is also sensible, though maybe less satisfactory in terms of experience IMO'
 'I agree that current behavior (decoding all audio file sin the dataset when accessing `dataset["audio"]`) is not useful, IMHO. Indeed in our docs, we are constantly warning our collaborators not to do that.\r\n\r\nTherefore I upvote for a "useful" behavior of `dataset["audio"]`. I don\'t think the breaking change is important in this case, as I guess no many people use it with its current behavior. Therefore, for me it seems reasonable to return a generator (instead of an in-memeory list) for "special" features, like Audio/Image.\r\n\r\n@lhoestq on the other hand I don\'t understand your proposal about Pandas-like... '
 'I recall I had the same idea while working on the `Image` feature, so I agree implementing something similar to `pd.Series` that lazily brings elements in memory would be beneficial.'
 '@lhoestq @mariosasko Could you please give a link to that new feature of `pandas.Series`? As far as I remember since I worked with pandas for more than 6 years, there was no lazy in-memory feature; it was everything in-memory; that was the reason why other frameworks were created, like Vaex or Dask, e.g. '
 "Yea pandas doesn't do lazy loading. I was referring to pandas.Series to say that they have a dedicated class to represent a column ;)"]
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

Currently, `dataset["audio"]` will load EVERY element in the dataset in RAM, which can be quite big for an audio dataset.
Having an iterator (or sequence) type of object, would make inference with `transformers` 's `pipeline` easier to use and not so memory hungry.

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

For a non breaking change:

```python
for audio in dataset.iterate("audio"):
    # {"array": np.array(...), "sampling_rate":...}
```

For a  breaking change solution (not necessary), changing the type of `dataset["audio"]` to a sequence type so that

```python
pipe = pipeline(model="...")
for out in pipe(dataset["audio"]):
    # {"text":....}
```
could work

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

```python
def iterate(dataset, key):
    for item in dataset:
        yield dataset[key]

for out in pipeline(iterate(dataset, "audio")):
    # {"array": ...}
```

This works but requires the helper function which feels slightly clunky.

**Additional context**
Add any other context about the feature request here.

The context is actually to showcase better integration between  `pipeline` and `datasets` in the Quicktour demo: https://github.com/huggingface/transformers/pull/16723/files

@lhoestq 

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