What's the correct way to use add_prefix_space for the fast RoBERTa tokenizer in 3.0.0/3.0.1?
The documentation says we should pass this flag to **the encoding methods**.

https://github.com/huggingface/transformers/blob/58cca47c16149e43d1b516623d59e3c5d97f695e/src/transformers/tokenization_roberta.py#L259-L260

However, the encoding methods don't take such an argument, and passing it in actually causes an error:

```
File "test.py", line 127, in func
  self.tokenizer.encode(token, add_special_tokens=False, add_prefix_space=True)
File ".../transformers/tokenization_utils_base.py", line 1425, in encode
  **kwargs,
File ".../transformers/tokenization_utils_base.py", line 1737, in encode_plus
  **kwargs,
File ".../transformers/tokenization_gpt2.py", line 377, in _encode_plus
  return super()._encode_plus(*args, **kwargs)
File ".../transformers/tokenization_utils_fast.py", line 420, in _encode_plus
  **kwargs,
File ".../transformers/tokenization_gpt2.py", line 367, in _batch_encode_plus
  return super()._batch_encode_plus(*args, **kwargs)
File ".../transformers/tokenization_utils_fast.py", line 313, in _batch_encode_plus
  raise ValueError(f"Keyword arguments {kwargs} not recognized.")
ValueError: Keyword arguments {'add_prefix_space': True} not recognized.
```

Then, I assumed that this documentation was a typo and we should pass this argument to `__init__`. But why is it default to `False` in `__init__`? Don't we pretty much always need to add a prefix space? Does `from_pretrained` set it to `True` automatically? If not, should we always do `AutoTokenizer.from_pretrained(..., use_prefix_space=True)`?

https://github.com/huggingface/transformers/blob/58cca47c16149e43d1b516623d59e3c5d97f695e/src/transformers/tokenization_roberta.py#L299-L314
Thanks for flagging, the docstrings were indeed very confusing!
I hope the new doc introduced in #5559 is clearer and solves your problem. Please reopen if needed.<|||||>Thanks for the clarification in the new doc! Does it mean RoBERTa was pre-trained **without** this add_prefix_space behavior? In other words, in the original model, does it encode "Hello world" with 2 or 3 tokens, excluding special tokens? If it was pre-trained without adding the prefix space, does it mean the **fast tokenizers** in the pre-3.0.0 transformers versions were adding this prefix space incorrectly?<|||||>E.g. in 2.11.0
```
>>> from transformers import RobertaTokenizerFast
>>> tokenizer = RobertaTokenizerFast.from_pretrained("roberta-base")
>>> tokenizer.tokenize("Hello world")
['ĠHello', 'Ġworld']
```<|||||>I think it was incorrect, yes, since it currently returns `['Hello', 'Ġworld']` like the slow tokenizer. Multiple bugs in fast tokenizer were fixed in 3.0.0.