050Trainer
Trainer¶
Trainer 是 Transformers 库中实现的一个完整的 PyTorch 模型训练和评估循环。你只需要传递训练所需的各个部分(模型、分词器、数据集、评估函数、训练超参数等),Trainer 类会处理其余所有事情。这使得你可以更快地开始训练,而无需手动编写自己的训练循环。同时,Trainer 也非常可定制,提供了大量的训练选项,可以根据你的具体训练需求进行调整。
除了 Trainer 类,Transformers 还提供了 Seq2SeqTrainer 类,用于翻译或摘要等序列到序列任务。此外,TRL 库中的 SFTTrainer 类包装了 Trainer 类,并针对使用自回归技术训练像 Llama-2 和 Mistral 这样的语言模型进行了优化。SFTTrainer 还支持序列打包、LoRA、量化和 DeepSpeed 等功能,以便高效地扩展到任何模型大小。
你可以查看 API 参考 了解更多关于这些 Trainer 类型类的信息,了解何时使用哪一个。一般来说,Trainer 是最通用的选项,适用于广泛的多种任务。Seq2SeqTrainer 专为序列到序列任务设计,而 SFTTrainer 则专为训练语言模型设计。
在开始之前,请确保安装了 Accelerate 库,这是一个用于在分布式环境中启用和运行 PyTorch 训练的库。