添加 Special Tokens 训练模型
1 引言 本文使用 Ministral-3-3B-Instruct-2512 模型通过 SFT 一个图像分类任务为例来介绍如何添加新的 special tokens。实验的运行命令为: 1 2 3 4 # install newest transformers pip install git+https://github.com/huggingface/transformers DISABLE_VERSION_CHECK=1 CUDA_VISIBLE_DEVICES=7 python src/train.py examples/train_lora/ministral3_lora_sft.yaml 需要预先配置好 ministral3_lora_sft.yaml。 2 数据集加载和预处理 LLaMA-Factory/src/llamafactory/data/loader.py 这个文件下的 get_dataset 函数完成数据集的加载,并且使用 tokenizer 预处理数据。 2.1 数据加载 下面的代码是 LLaMA-Factory/src/llamafactory/data/loader.py:get_dataset 函数的一部分,完成数据的读取并且转换数据格式。 1 2 3 4 5 6 7 8 9 10 11 # Load and preprocess dataset with training_args.main_process_first(desc="load dataset", local=(not data_args.data_shared_file_system)): dataset = _get_merged_dataset(data_args.dataset, model_args, data_args, training_args, stage) eval_dataset = _get_merged_dataset( data_args.eval_dataset, model_args, data_args, training_args, stage, return_dict=data_args.eval_on_each_dataset, ) 加载的数据放在 dataset 里面,并且格式转变为如下,例如: ...