More on T5 pre-training objective
Each corrupted span is replaced by a unique sentinel token. . The
output sequence then consists of the dropped-out spans, delimited by the sentinel
tokens used to replace them in the input plus a final sentinel token.
T5 uses 100 extra ids as sentinel tokens (<extra_id_0> ... <extra_id_99>)
from HF docs

output sequence is formed as a concatenation of the same sentinel tokens and the  real  masked tokens

E.g.  the sentence “The cute dog walks in the park” with the masks put on “cute dog” and “the” should be processed as follows:
input_text = "The <extra_id_1> walks in <extra_id_2> park"
target_text = "<extra_id_1> cute dog <extra_id_2> the <extra_id_3> </s>"