microsoft/markuplm-base-finetuned-websrc fails when used in a `question-answering` pipeline
Author: juliensimon
Pull request: no
Labels: name: bug

### System Info

Python 3.9.7
Transformers 4.25.1

`microsoft/markuplm-base-finetuned-websrc` fails when used in a `question-answering` pipeline (see test script below).

```
Traceback (most recent call last):
  File "/Users/juliensimon/markuplm/app.py", line 24, in <module>
    result = pipe(question="What are the trending stocks?", context=page)
  File "/Users/juliensimon/Envs/vscodedemo/lib/python3.9/site-packages/transformers/pipelines/question_answering.py", line 392, in __call__
    return super().__call__(examples[0], **kwargs)
  File "/Users/juliensimon/Envs/vscodedemo/lib/python3.9/site-packages/transformers/pipelines/base.py", line 1074, in __call__
    return self.run_single(inputs, preprocess_params, forward_params, postprocess_params)
  File "/Users/juliensimon/Envs/vscodedemo/lib/python3.9/site-packages/transformers/pipelines/base.py", line 1095, in run_single
    for model_inputs in self.preprocess(inputs, **preprocess_params):
  File "/Users/juliensimon/Envs/vscodedemo/lib/python3.9/site-packages/transformers/pipelines/question_answering.py", line 403, in preprocess
    max_seq_len = min(self.tokenizer.model_max_length, 384)
AttributeError: 'MarkupLMProcessor' object has no attribute 'model_max_length'
```


Setting `max_seq_length` in the pipeline call solves the issue, but a similar one happens with the `is_fast` attribute. Both are indeed not defined in [MarkupLMProcessor](https://github.com/huggingface/transformers/blob/05b8e25fffd61feecb21928578ad39e63af21b4f/src/transformers/models/markuplm/processing_markuplm.py#L25).

### Who can help?

_No response_

### Information

- [ ] The official example scripts
- [ ] My own modified scripts

### Tasks

- [ ] An officially supported task in the `examples` folder (such as GLUE/SQuAD, ...)
- [ ] My own task or dataset (give details below)

### Reproduction

```
import requests
from transformers import (
    pipeline,
    AutoModelForQuestionAnswering,
    MarkupLMProcessor,
)


def get_page(url):
    response = requests.get(url)
    return response.text


model = "microsoft/markuplm-base-finetuned-websrc"

processor = MarkupLMProcessor.from_pretrained(model)
model = AutoModelForQuestionAnswering.from_pretrained(model)
pipe = pipeline("question-answering", model=model, tokenizer=processor)

url = "https://finance.yahoo.com"
page = get_page(url)

result = pipe(question="What are the trending stocks?", context=page)
```


### Expected behavior

I would expect the pipeline to work. If this model isn't supported, then we should make it clear in the [docs](https://huggingface.co/docs/transformers/model_doc/markuplm).

Comments:
Hi,

MarkupLM isn't supported by the QA pipeline, similar to how LayoutLM (and v2 and v3) aren't supported by it.

The reason for this is that MarkupLM requires additional inputs besides the ones that text models require, like `input_ids` and `attention_mask`. For LayoutLM, we created a separate `DocumentQuestionAnsweringPipeline` to account for this.

Thanks for the answer. Until we have a proper pipeline for this model, could we add your explanation to the docs? If I couldn't figure it out, I suspect many more users will hit the same issue :)

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md) are likely to be ignored.

@NielsRogge I would like to work on this issue if it is still available.

@NielsRogge  I can create a `MarkupQuestionAnsweingPipeline` for this.

This model is highly specific actually, not sure if a pipeline for it makes sense.

Will remove the good first issue from this, might be better to just overwrite the preprocess and postprocess steps of the QA pipeline to make it work for MarkupLM.