项目简介
本项目基于PaddlePaddle框架实现跨语言预训练模型(Cross-lingual Language Model, XLM)。XLM模型运用生成式预训练方法,将自然语言理解技术拓展到多种语言,展现了跨语言预训练的有效性。项目提供多种语言的预训练模型,支持跨语言分类、无监督和有监督机器翻译等任务。
项目的主要特性和功能
- 跨语言预训练:支持英语、法语、西班牙语等多种语言的预训练。
- 模型训练与评估:提供训练和评估脚本,支持自定义学习率、批次大小、训练轮数等参数。
- 模型推理部署:支持基于Inference的推理和基于Serving的服务化部署,便于在生产环境应用。
- 自动化测试:提供自动化测试脚本,保障模型在不同环境下的稳定性和性能。
- 数据处理:提供数据处理脚本,支持多种语言的数据预处理和格式转换。
安装使用步骤
1. 准备环境
确保已安装PaddlePaddle框架,版本要求为2.2.0或更高。安装依赖库:
bash
pip install -r requirements.txt
2. 准备数据
下载并解压处理好的数据集xnli.tar.gz
,将其放入xlm/data/XNLI
文件夹。
3. 准备模型
可以选择以下两种方式准备模型:
- 转换模型权重:
bash
cd xlm-mlm-tlm-xnli15-1024
wget https://huggingface.co/xlm-mlm-tlm-xnli15-1024/resolve/main/pytorch_model.bin
cd ../
python convert.py
- 直接下载模型:
python
from xlm_paddle import XLMForSequenceClassification, XLMTokenizer
model = XLMForSequenceClassification.from_pretrained("xlm-mlm-tlm-xnli15-1024-fintuned-on-xnli", num_classes=3, dropout=0.0)
tokenizer = XLMTokenizer.from_pretrained("xlm-mlm-tlm-xnli15-1024-fintuned-on-xnli")
4. 模型训练
使用提供的训练脚本进行模型训练:
bash
python train.py --output_dir facebook_xnli --pretrained_model_name_or_path xlm-mlm-tlm-xnli15-1024
5. 模型评估
使用提供的评估脚本对训练好的模型进行性能评估:
bash
python eval.py --output_dir eval_output --pretrained_model_name_or_path xlm-mlm-tlm-xnli15-1024-fintuned-on-xnli
6. 模型推理部署
参考项目中的test_tipc
文件夹,了解如何进行模型推理部署。
7. 自动化测试
参考项目中的test_tipc
文件夹,了解如何运行自动化测试脚本。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】