Thank you for your answer.
I’m relieved to hear that my usage didn’t cause an error.
I now understood that the original columns remain after preprocessing, then the preprocessed columns are used and the original columns are ignored as expected.
It seems the preprocessing of datasets is done in the function below, and I would like to read the documentation more thoroughly to better understand the behaviors of the tokenizer (and map function).
Thank you!
    def preprocess_function(examples):
        # Tokenize the texts
        args = (
            (examples[sentence1_key],) if sentence2_key is None else (examples[sentence1_key], examples[sentence2_key])
        )
        result = tokenizer(*args, padding=padding, max_length=max_length, truncation=True)

        # Map labels to IDs (not necessary for GLUE tasks)
        if label_to_id is not None and "label" in examples:
            result["label"] = [label_to_id[l] for l in examples["label"]]
        return result

    datasets = datasets.map(preprocess_function, batched=True, load_from_cache_file=not data_args.overwrite_cache)