项目简介
本项目是基于Python的自然语言处理(NLP)训练框架,借助多种预训练模型(如BERT、BART、MBart、T5等)达成文本分类、命名实体识别(NER)、文本摘要、文本翻译等任务。它提供了灵活的配置与训练方式,支持多种任务类型和模型优化策略,可用于不同的NLP应用场景。
项目的主要特性和功能
- 多任务支持:涵盖文本摘要、文本翻译、实体抽取、文本分类(单分类和多分类)等多种NLP任务。
- 多种预训练模型:支持NEZHA、HFL、MBart、mT5等多种预训练模型,满足不同任务需求。
- 灵活的配置:可通过YAML配置文件灵活设置训练参数,包含模型选择、优化器配置、数据路径等。
- 分布式训练:支持多GPU分布式训练,提高训练效率。
- PET训练模式:支持PET(Pattern - Exploiting Training)训练模式,适用于小样本学习场景。
- 多种评价标准:支持Rouge、BLEU、p - r - f等多种评价标准,用于评估模型性能。
安装使用步骤
1. 安装依赖库
确保已安装Python 3环境,然后使用以下命令安装项目所需的依赖库:
bash
python3 -m pip install -r requirements.txt --user
2. 配置训练参数
依据任务需求,编辑对应的YAML配置文件(如summary-template.yaml
、translation-template.yaml
等),设置模型、数据路径、优化器等参数。
3. 运行训练脚本
根据任务类型,运行相应的训练命令:
- 文本摘要:
bash
python3 train.py --config=/path/to/summary-template.yaml
- 文本翻译:
bash
python3 train.py --config=/path/to/translation-template.yaml
- 实体抽取:
bash
python3 train.py --config=/path/to/ner-template.yaml
- 文本分类(单分类):
bash
python3 train.py --config=/path/to/classification-template.yaml
- 文本标签分类(多分类):
bash
python3 train.py --config=/path/to/tag-template.yaml
4. 查看训练结果
训练完成后,模型输出和训练参数会保存在指定的输出目录中。可通过日志文件或WandB(如果启用)查看训练过程中的指标变化。
5. 使用PET训练模式(可选)
若需使用PET训练模式,要确保在训练数据目录下提供label_map
文件,并在配置文件中增加PET专用配置。
注意事项
- 环境配置:保证Python环境和依赖库版本与项目要求一致。
- 数据格式:确保输入数据的格式与任务要求一致,尤其是PET训练模式。
- 模型选择:根据任务需求选择合适的预训练模型和配置参数。
- 分布式训练:若使用多GPU训练,需正确设置
cuda_visible_devices
和distributed
参数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】